From 4b44638566bb6646086d3048e3e43f7eed07139a Mon Sep 17 00:00:00 2001 From: lqzhgood Date: Mon, 4 Sep 2023 09:11:12 +0000 Subject: [PATCH] deploy: b625cb21e838c2ecfb79f0699acb621e02b8f91f --- 404.html | 16 +- assets/app.37d975e8.js | 1 + assets/app.b8bd6f45.js | 1 - assets/chunks/framework.1a8457a3.js | 2 - assets/chunks/framework.44ff8bb5.js | 2 + assets/chunks/theme.16457b53.js | 7 - assets/chunks/theme.986c5437.js | 1 + assets/guide_concept.md.cc7bd264.js | 19 ++ assets/guide_concept.md.cc7bd264.lean.js | 1 + assets/guide_concept.md.f545fd44.js | 10 - assets/guide_concept.md.f545fd44.lean.js | 1 - assets/guide_other_donation.md.41d60739.js | 1 + .../guide_other_donation.md.41d60739.lean.js | 1 + assets/guide_other_donation.md.bd8fbc0f.js | 1 - .../guide_other_donation.md.bd8fbc0f.lean.js | 1 - .../guide_other_donation_list.md.8873fd0e.js | 3 + ...de_other_donation_list.md.8873fd0e.lean.js | 1 + ...5.js => guide_other_thanks.md.5576a0cc.js} | 2 +- ...=> guide_other_thanks.md.5576a0cc.lean.js} | 2 +- ...guide_setup-runtime_docker.md.c2031dc1.js} | 2 +- ..._setup-runtime_docker.md.c2031dc1.lean.js} | 2 +- ...> guide_setup-runtime_java.md.ce41e452.js} | 2 +- ...de_setup-runtime_java.md.ce41e452.lean.js} | 2 +- .../guide_setup-runtime_nodejs.md.60388b26.js | 17 + ...e_setup-runtime_nodejs.md.60388b26.lean.js | 1 + .../guide_setup-runtime_nodejs.md.bf6f8050.js | 9 - ...e_setup-runtime_nodejs.md.bf6f8050.lean.js | 1 - ...=> guide_setup-runtime_php.md.a7a15db2.js} | 2 +- ...ide_setup-runtime_php.md.a7a15db2.lean.js} | 2 +- .../guide_setup-runtime_python.md.48e4644f.js | 1 + ...e_setup-runtime_python.md.48e4644f.lean.js | 1 + .../guide_setup-runtime_python.md.9cb9cf50.js | 1 - ...e_setup-runtime_python.md.9cb9cf50.lean.js | 1 - ...-runtime_snippets_open_cmd.md.f329d1fd.js} | 2 +- ...ime_snippets_open_cmd.md.f329d1fd.lean.js} | 2 +- ...09f42.js => guide_use_data.md.1611c3c1.js} | 2 +- ....js => guide_use_data.md.1611c3c1.lean.js} | 2 +- ...ac7957.js => guide_use_get.md.1f075dca.js} | 41 ++- assets/guide_use_get.md.1f075dca.lean.js | 1 + assets/guide_use_get.md.abac7957.lean.js | 1 - ...a58.js => guide_use_merger.md.6140bed0.js} | 2 +- ...s => guide_use_merger.md.6140bed0.lean.js} | 2 +- assets/guide_use_msg_custom.md.8c85cca7.js | 22 -- .../guide_use_msg_custom.md.8c85cca7.lean.js | 1 - assets/guide_use_msg_custom.md.b4fbd49e.js | 43 +++ .../guide_use_msg_custom.md.b4fbd49e.lean.js | 1 + ...guide_use_msg_other_emotion.md.4ebf6243.js | 19 -- ..._use_msg_other_emotion.md.4ebf6243.lean.js | 1 - ...guide_use_msg_other_emotion.md.5d48899d.js | 37 +++ ..._use_msg_other_emotion.md.5d48899d.lean.js | 1 + assets/guide_use_msg_schema.md.6c3e1ac8.js | 95 ------ .../guide_use_msg_schema.md.6c3e1ac8.lean.js | 1 - assets/guide_use_msg_schema.md.b6c77ac8.js | 189 +++++++++++ .../guide_use_msg_schema.md.b6c77ac8.lean.js | 1 + ...ide_use_msg_template_index.md.01c8b33d.js} | 12 +- ...se_msg_template_index.md.01c8b33d.lean.js} | 12 +- ...e3ad0.js => guide_use_show.md.08566203.js} | 2 +- ....js => guide_use_show.md.08566203.lean.js} | 2 +- ...704863.js => guide_what-is.md.bbd3e62f.js} | 2 +- ...n.js => guide_what-is.md.bbd3e62f.lean.js} | 2 +- ...ex.md.d7ce6d78.js => index.md.939a1e72.js} | 2 +- ...6d78.lean.js => index.md.939a1e72.lean.js} | 2 +- assets/style.6c1cdf69.css | 1 + assets/style.92ad1031.css | 1 - guide/concept.html | 49 +-- guide/other/donation.html | 22 +- guide/other/donation_list.html | 26 ++ guide/other/thanks.html | 22 +- guide/setup-runtime/docker.html | 22 +- guide/setup-runtime/java.html | 22 +- guide/setup-runtime/nodejs.html | 48 +-- guide/setup-runtime/php.html | 22 +- guide/setup-runtime/python.html | 24 +- guide/setup-runtime/snippets/open_cmd.html | 24 +- guide/use/data.html | 22 +- guide/use/get.html | 61 ++-- guide/use/merger.html | 22 +- guide/use/msg/custom.html | 81 +++-- guide/use/msg/other/emotion.html | 76 +++-- guide/use/msg/schema.html | 304 ++++++++++++------ guide/use/msg/template/index.html | 22 +- guide/use/show.html | 22 +- guide/what-is.html | 22 +- hashmap.json | 2 +- index.html | 22 +- 85 files changed, 954 insertions(+), 604 deletions(-) create mode 100644 assets/app.37d975e8.js delete mode 100644 assets/app.b8bd6f45.js delete mode 100644 assets/chunks/framework.1a8457a3.js create mode 100644 assets/chunks/framework.44ff8bb5.js delete mode 100644 assets/chunks/theme.16457b53.js create mode 100644 assets/chunks/theme.986c5437.js create mode 100644 assets/guide_concept.md.cc7bd264.js create mode 100644 assets/guide_concept.md.cc7bd264.lean.js delete mode 100644 assets/guide_concept.md.f545fd44.js delete mode 100644 assets/guide_concept.md.f545fd44.lean.js create mode 100644 assets/guide_other_donation.md.41d60739.js create mode 100644 assets/guide_other_donation.md.41d60739.lean.js delete mode 100644 assets/guide_other_donation.md.bd8fbc0f.js delete mode 100644 assets/guide_other_donation.md.bd8fbc0f.lean.js create mode 100644 assets/guide_other_donation_list.md.8873fd0e.js create mode 100644 assets/guide_other_donation_list.md.8873fd0e.lean.js rename assets/{guide_other_thanks.md.6c467a15.js => guide_other_thanks.md.5576a0cc.js} (93%) rename assets/{guide_other_thanks.md.6c467a15.lean.js => guide_other_thanks.md.5576a0cc.lean.js} (55%) rename assets/{guide_setup-runtime_docker.md.616fad4b.js => guide_setup-runtime_docker.md.c2031dc1.js} (70%) rename assets/{guide_setup-runtime_docker.md.616fad4b.lean.js => guide_setup-runtime_docker.md.c2031dc1.lean.js} (70%) rename assets/{guide_setup-runtime_java.md.247a8cd8.js => guide_setup-runtime_java.md.ce41e452.js} (82%) rename assets/{guide_setup-runtime_java.md.247a8cd8.lean.js => guide_setup-runtime_java.md.ce41e452.lean.js} (58%) create mode 100644 assets/guide_setup-runtime_nodejs.md.60388b26.js create mode 100644 assets/guide_setup-runtime_nodejs.md.60388b26.lean.js delete mode 100644 assets/guide_setup-runtime_nodejs.md.bf6f8050.js delete mode 100644 assets/guide_setup-runtime_nodejs.md.bf6f8050.lean.js rename assets/{guide_setup-runtime_php.md.73b9cd50.js => guide_setup-runtime_php.md.a7a15db2.js} (89%) rename assets/{guide_setup-runtime_php.md.73b9cd50.lean.js => guide_setup-runtime_php.md.a7a15db2.lean.js} (73%) create mode 100644 assets/guide_setup-runtime_python.md.48e4644f.js create mode 100644 assets/guide_setup-runtime_python.md.48e4644f.lean.js delete mode 100644 assets/guide_setup-runtime_python.md.9cb9cf50.js delete mode 100644 assets/guide_setup-runtime_python.md.9cb9cf50.lean.js rename assets/{guide_setup-runtime_snippets_open_cmd.md.14f8d406.js => guide_setup-runtime_snippets_open_cmd.md.f329d1fd.js} (82%) rename assets/{guide_setup-runtime_snippets_open_cmd.md.14f8d406.lean.js => guide_setup-runtime_snippets_open_cmd.md.f329d1fd.lean.js} (82%) rename assets/{guide_use_data.md.7f009f42.js => guide_use_data.md.1611c3c1.js} (88%) rename assets/{guide_use_data.md.7f009f42.lean.js => guide_use_data.md.1611c3c1.lean.js} (54%) rename assets/{guide_use_get.md.abac7957.js => guide_use_get.md.1f075dca.js} (66%) create mode 100644 assets/guide_use_get.md.1f075dca.lean.js delete mode 100644 assets/guide_use_get.md.abac7957.lean.js rename assets/{guide_use_merger.md.cde06a58.js => guide_use_merger.md.6140bed0.js} (84%) rename assets/{guide_use_merger.md.cde06a58.lean.js => guide_use_merger.md.6140bed0.lean.js} (54%) delete mode 100644 assets/guide_use_msg_custom.md.8c85cca7.js delete mode 100644 assets/guide_use_msg_custom.md.8c85cca7.lean.js create mode 100644 assets/guide_use_msg_custom.md.b4fbd49e.js create mode 100644 assets/guide_use_msg_custom.md.b4fbd49e.lean.js delete mode 100644 assets/guide_use_msg_other_emotion.md.4ebf6243.js delete mode 100644 assets/guide_use_msg_other_emotion.md.4ebf6243.lean.js create mode 100644 assets/guide_use_msg_other_emotion.md.5d48899d.js create mode 100644 assets/guide_use_msg_other_emotion.md.5d48899d.lean.js delete mode 100644 assets/guide_use_msg_schema.md.6c3e1ac8.js delete mode 100644 assets/guide_use_msg_schema.md.6c3e1ac8.lean.js create mode 100644 assets/guide_use_msg_schema.md.b6c77ac8.js create mode 100644 assets/guide_use_msg_schema.md.b6c77ac8.lean.js rename assets/{guide_use_msg_template_index.md.cc671afd.js => guide_use_msg_template_index.md.01c8b33d.js} (72%) rename assets/{guide_use_msg_template_index.md.cc671afd.lean.js => guide_use_msg_template_index.md.01c8b33d.lean.js} (73%) rename assets/{guide_use_show.md.e2be3ad0.js => guide_use_show.md.08566203.js} (89%) rename assets/{guide_use_show.md.e2be3ad0.lean.js => guide_use_show.md.08566203.lean.js} (68%) rename assets/{guide_what-is.md.e3704863.js => guide_what-is.md.bbd3e62f.js} (91%) rename assets/{guide_what-is.md.e3704863.lean.js => guide_what-is.md.bbd3e62f.lean.js} (53%) rename assets/{index.md.d7ce6d78.js => index.md.939a1e72.js} (85%) rename assets/{index.md.d7ce6d78.lean.js => index.md.939a1e72.lean.js} (85%) create mode 100644 assets/style.6c1cdf69.css delete mode 100644 assets/style.92ad1031.css create mode 100644 guide/other/donation_list.html diff --git a/404.html b/404.html index 6eeb495a..2aaf8cd2 100644 --- a/404.html +++ b/404.html @@ -5,17 +5,17 @@ 404 | Shmily - - + + + - - - + + + -
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

GPLv3 License.

- +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

GPLv3 License.

+ \ No newline at end of file diff --git a/assets/app.37d975e8.js b/assets/app.37d975e8.js new file mode 100644 index 00000000..bc05dff3 --- /dev/null +++ b/assets/app.37d975e8.js @@ -0,0 +1 @@ +import{s as o,a4 as i,a5 as p,a6 as u,a7 as c,a8 as l,a9 as f,aa as d,ab as m,ac as h,ad as A,ae as g,d as P,u as v,j as y,y as C,af as w,ag as _,ah as b,ai as E}from"./chunks/framework.44ff8bb5.js";import{t as R}from"./chunks/theme.986c5437.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=r(R),D=P({name:"VitePressApp",setup(){const{site:e}=v();return y(()=>{C(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),w(),_(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function j(){const e=S(),a=O();a.provide(p,e);const t=u(e.route);return a.provide(c,t),a.component("Content",l),a.component("ClientOnly",f),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:d}),{app:a,router:e,data:t}}function O(){return m(D)}function S(){let e=o,a;return h(t=>{let n=A(t);return n?(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),o&&(e=!1),g(()=>import(n),[])):null},s.NotFound)}o&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{j as createApp}; diff --git a/assets/app.b8bd6f45.js b/assets/app.b8bd6f45.js deleted file mode 100644 index 8f75f6c5..00000000 --- a/assets/app.b8bd6f45.js +++ /dev/null @@ -1 +0,0 @@ -import{d as p,K as s,a8 as i,u,p as c,k as l,a9 as d,aa as f,ab as m,ac as h,ad as A,ae as g,af as P,ag as v,ah as y,ai as C,aj as w,ak as _,al as b,am as E}from"./chunks/framework.1a8457a3.js";import{t as R}from"./chunks/theme.16457b53.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(R),D=p({name:"VitePressApp",setup(){const{site:e}=u();return c(()=>{l(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),d(),f(),m(),n.setup&&n.setup(),()=>h(n.Layout)}});async function j(){const e=S(),a=O();a.provide(A,e);const t=g(e.route);return a.provide(P,t),a.component("Content",v),a.component("ClientOnly",y),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:C}),{app:a,router:e,data:t}}function O(){return w(D)}function S(){let e=s,a;return _(t=>{let o=b(t);return e&&(a=o),(e||a===o)&&(o=o.replace(/\.js$/,".lean.js")),s&&(e=!1),E(()=>import(o),[])},n.NotFound)}s&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{j as createApp}; diff --git a/assets/chunks/framework.1a8457a3.js b/assets/chunks/framework.1a8457a3.js deleted file mode 100644 index b860283e..00000000 --- a/assets/chunks/framework.1a8457a3.js +++ /dev/null @@ -1,2 +0,0 @@ -function qn(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}function on(e){if(N(e)){const t={};for(let n=0;n{if(n){const s=n.split(bi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ln(e){let t="";if(se(e))t=e;else if(N(e))for(let n=0;nse(e)?e:e==null?"":N(e)||te(e)&&(e.toString===fr||!U(e.toString))?JSON.stringify(e,or,2):String(e),or=(e,t)=>t&&t.__v_isRef?or(e,t.value):ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:lr(t)?{[`Set(${t.size})`]:[...t.values()]}:te(t)&&!N(t)&&!ur(t)?String(t):t,ee={},ft=[],Ie=()=>{},Ei=()=>!1,vi=/^on[^a-z]/,Nt=e=>vi.test(e),zn=e=>e.startsWith("onUpdate:"),fe=Object.assign,Yn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ti=Object.prototype.hasOwnProperty,q=(e,t)=>Ti.call(e,t),N=Array.isArray,ut=e=>cn(e)==="[object Map]",lr=e=>cn(e)==="[object Set]",U=e=>typeof e=="function",se=e=>typeof e=="string",Jn=e=>typeof e=="symbol",te=e=>e!==null&&typeof e=="object",cr=e=>te(e)&&U(e.then)&&U(e.catch),fr=Object.prototype.toString,cn=e=>fr.call(e),Ai=e=>cn(e).slice(8,-1),ur=e=>cn(e)==="[object Object]",Xn=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,vt=qn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),fn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ri=/-(\w)/g,Se=fn(e=>e.replace(Ri,(t,n)=>n?n.toUpperCase():"")),Ii=/\B([A-Z])/g,ot=fn(e=>e.replace(Ii,"-$1").toLowerCase()),un=fn(e=>e.charAt(0).toUpperCase()+e.slice(1)),zt=fn(e=>e?`on${un(e)}`:""),Ot=(e,t)=>!Object.is(e,t),Tn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Oi=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Pi=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let bs;const Mi=()=>bs||(bs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let _e;class Fi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=_e,!t&&_e&&(this.index=(_e.scopes||(_e.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=_e;try{return _e=this,t()}finally{_e=n}}}on(){_e=this}off(){_e=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},ar=e=>(e.w&Ve)>0,dr=e=>(e.n&Ve)>0,Ni=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=f)&&l.push(a)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":N(e)?Xn(n)&&l.push(o.get("length")):(l.push(o.get(rt)),ut(e)&&l.push(o.get(Nn)));break;case"delete":N(e)||(l.push(o.get(rt)),ut(e)&&l.push(o.get(Nn)));break;case"set":ut(e)&&l.push(o.get(rt));break}if(l.length===1)l[0]&&Hn(l[0]);else{const f=[];for(const a of l)a&&f.push(...a);Hn(Zn(f))}}function Hn(e,t){const n=N(e)?e:[...e];for(const s of n)s.computed&&ws(s);for(const s of n)s.computed||ws(s)}function ws(e,t){(e!==Ae||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function $i(e,t){var n;return(n=Qt.get(e))===null||n===void 0?void 0:n.get(t)}const ji=qn("__proto__,__v_isRef,__isVue"),gr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Jn)),Ui=Gn(),Bi=Gn(!1,!0),Di=Gn(!0),Cs=Ki();function Ki(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=z(this);for(let i=0,o=this.length;i{e[t]=function(...n){bt();const s=z(this)[t].apply(this,n);return yt(),s}}),e}function ki(e){const t=z(this);return pe(t,"has",e),t.hasOwnProperty(e)}function Gn(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?io:wr:t?yr:br).get(s))return s;const o=N(s);if(!e){if(o&&q(Cs,r))return Reflect.get(Cs,r,i);if(r==="hasOwnProperty")return ki}const l=Reflect.get(s,r,i);return(Jn(r)?gr.has(r):ji(r))||(e||pe(s,"get",r),t)?l:oe(l)?o&&Xn(r)?l:l.value:te(l)?e?Cr(l):dn(l):l}}const Wi=mr(),Vi=mr(!0);function mr(e=!1){return function(n,s,r,i){let o=n[s];if(gt(o)&&oe(o)&&!oe(r))return!1;if(!e&&(!Gt(r)&&!gt(r)&&(o=z(o),r=z(r)),!N(n)&&oe(o)&&!oe(r)))return o.value=r,!0;const l=N(n)&&Xn(s)?Number(s)e,an=e=>Reflect.getPrototypeOf(e);function jt(e,t,n=!1,s=!1){e=e.__v_raw;const r=z(e),i=z(t);n||(t!==i&&pe(r,"get",t),pe(r,"get",i));const{has:o}=an(r),l=s?es:n?ss:Pt;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function Ut(e,t=!1){const n=this.__v_raw,s=z(n),r=z(e);return t||(e!==r&&pe(s,"has",e),pe(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Bt(e,t=!1){return e=e.__v_raw,!t&&pe(z(e),"iterate",rt),Reflect.get(e,"size",e)}function xs(e){e=z(e);const t=z(this);return an(t).has.call(t,e)||(t.add(e),He(t,"add",e,e)),this}function Es(e,t){t=z(t);const n=z(this),{has:s,get:r}=an(n);let i=s.call(n,e);i||(e=z(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?Ot(t,o)&&He(n,"set",e,t):He(n,"add",e,t),this}function vs(e){const t=z(this),{has:n,get:s}=an(t);let r=n.call(t,e);r||(e=z(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&He(t,"delete",e,void 0),i}function Ts(){const e=z(this),t=e.size!==0,n=e.clear();return t&&He(e,"clear",void 0,void 0),n}function Dt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=z(o),f=t?es:e?ss:Pt;return!e&&pe(l,"iterate",rt),o.forEach((a,d)=>s.call(r,f(a),f(d),i))}}function Kt(e,t,n){return function(...s){const r=this.__v_raw,i=z(r),o=ut(i),l=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,a=r[e](...s),d=n?es:t?ss:Pt;return!t&&pe(i,"iterate",f?Nn:rt),{next(){const{value:p,done:y}=a.next();return y?{value:p,done:y}:{value:l?[d(p[0]),d(p[1])]:d(p),done:y}},[Symbol.iterator](){return this}}}}function je(e){return function(...t){return e==="delete"?!1:this}}function Zi(){const e={get(i){return jt(this,i)},get size(){return Bt(this)},has:Ut,add:xs,set:Es,delete:vs,clear:Ts,forEach:Dt(!1,!1)},t={get(i){return jt(this,i,!1,!0)},get size(){return Bt(this)},has:Ut,add:xs,set:Es,delete:vs,clear:Ts,forEach:Dt(!1,!0)},n={get(i){return jt(this,i,!0)},get size(){return Bt(this,!0)},has(i){return Ut.call(this,i,!0)},add:je("add"),set:je("set"),delete:je("delete"),clear:je("clear"),forEach:Dt(!0,!1)},s={get(i){return jt(this,i,!0,!0)},get size(){return Bt(this,!0)},has(i){return Ut.call(this,i,!0)},add:je("add"),set:je("set"),delete:je("delete"),clear:je("clear"),forEach:Dt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Kt(i,!1,!1),n[i]=Kt(i,!0,!1),t[i]=Kt(i,!1,!0),s[i]=Kt(i,!0,!0)}),[e,n,t,s]}const[Qi,Gi,eo,to]=Zi();function ts(e,t){const n=t?e?to:eo:e?Gi:Qi;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(q(n,r)&&r in s?n:s,r,i)}const no={get:ts(!1,!1)},so={get:ts(!1,!0)},ro={get:ts(!0,!1)},br=new WeakMap,yr=new WeakMap,wr=new WeakMap,io=new WeakMap;function oo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function lo(e){return e.__v_skip||!Object.isExtensible(e)?0:oo(Ai(e))}function dn(e){return gt(e)?e:ns(e,!1,_r,no,br)}function co(e){return ns(e,!1,Xi,so,yr)}function Cr(e){return ns(e,!0,Ji,ro,wr)}function ns(e,t,n,s,r){if(!te(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=lo(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function at(e){return gt(e)?at(e.__v_raw):!!(e&&e.__v_isReactive)}function gt(e){return!!(e&&e.__v_isReadonly)}function Gt(e){return!!(e&&e.__v_isShallow)}function xr(e){return at(e)||gt(e)}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function Tt(e){return Zt(e,"__v_skip",!0),e}const Pt=e=>te(e)?dn(e):e,ss=e=>te(e)?Cr(e):e;function rs(e){ke&&Ae&&(e=z(e),pr(e.dep||(e.dep=Zn())))}function is(e,t){e=z(e);const n=e.dep;n&&Hn(n)}function oe(e){return!!(e&&e.__v_isRef===!0)}function Er(e){return vr(e,!1)}function fo(e){return vr(e,!0)}function vr(e,t){return oe(e)?e:new uo(e,t)}class uo{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:z(t),this._value=n?t:Pt(t)}get value(){return rs(this),this._value}set value(t){const n=this.__v_isShallow||Gt(t)||gt(t);t=n?t:z(t),Ot(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Pt(t),is(this))}}function ao(e){return oe(e)?e.value:e}const ho={get:(e,t,n)=>ao(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return oe(r)&&!oe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Tr(e){return at(e)?e:new Proxy(e,ho)}class po{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>rs(this),()=>is(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function Rc(e){return new po(e)}class go{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return $i(z(this._object),this._key)}}function Ic(e,t,n){const s=e[t];return oe(s)?s:new go(e,t,n)}var Ar;class mo{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[Ar]=!1,this._dirty=!0,this.effect=new Qn(t,()=>{this._dirty||(this._dirty=!0,is(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=z(this);return rs(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}Ar="__v_isReadonly";function _o(e,t,n=!1){let s,r;const i=U(e);return i?(s=e,r=Ie):(s=e.get,r=e.set),new mo(s,r,i||!r,n)}function We(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){hn(i,t,n)}return r}function xe(e,t,n,s){if(U(e)){const i=We(e,t,n,s);return i&&cr(i)&&i.catch(o=>{hn(o,t,n)}),i}const r=[];for(let i=0;i>>1;Ft(ue[s])Fe&&ue.splice(t,1)}function Co(e){N(e)?dt.push(...e):(!Ne||!Ne.includes(e,e.allowRecurse?Ge+1:Ge))&&dt.push(e),Or()}function As(e,t=Mt?Fe+1:0){for(;tFt(n)-Ft(s)),Ge=0;Gee.id==null?1/0:e.id,xo=(e,t)=>{const n=Ft(e)-Ft(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Pr(e){$n=!1,Mt=!0,ue.sort(xo);const t=Ie;try{for(Fe=0;Fese(R)?R.trim():R)),p&&(r=n.map(Oi))}let l,f=s[l=zt(t)]||s[l=zt(Se(t))];!f&&i&&(f=s[l=zt(ot(t))]),f&&xe(f,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,xe(a,e,6,r)}}function Mr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!U(e)){const f=a=>{const d=Mr(a,t,!0);d&&(l=!0,fe(o,d))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!l?(te(e)&&s.set(e,null),null):(N(i)?i.forEach(f=>o[f]=null):fe(o,i),te(e)&&s.set(e,o),o)}function pn(e,t){return!e||!Nt(t)?!1:(t=t.slice(2).replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,ot(t))||q(e,t))}let le=null,gn=null;function tn(e){const t=le;return le=e,gn=e&&e.type.__scopeId||null,t}function Oc(e){gn=e}function Pc(){gn=null}function vo(e,t=le,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Hs(-1);const i=tn(t);let o;try{o=e(...r)}finally{tn(i),s._d&&Hs(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function An(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:f,emit:a,render:d,renderCache:p,data:y,setupState:R,ctx:L,inheritAttrs:P}=e;let W,_;const E=tn(e);try{if(n.shapeFlag&4){const $=r||s;W=Te(d.call($,$,p,i,R,y,L)),_=f}else{const $=t;W=Te($.length>1?$(i,{attrs:f,slots:l,emit:a}):$(i,null)),_=t.props?f:To(f)}}catch($){It.length=0,hn($,e,1),W=ce(be)}let A=W;if(_&&P!==!1){const $=Object.keys(_),{shapeFlag:D}=A;$.length&&D&7&&(o&&$.some(zn)&&(_=Ao(_,o)),A=qe(A,_))}return n.dirs&&(A=qe(A),A.dirs=A.dirs?A.dirs.concat(n.dirs):n.dirs),n.transition&&(A.transition=n.transition),W=A,tn(E),W}const To=e=>{let t;for(const n in e)(n==="class"||n==="style"||Nt(n))&&((t||(t={}))[n]=e[n]);return t},Ao=(e,t)=>{const n={};for(const s in e)(!zn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ro(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:f}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?Rs(s,o,a):!!o;if(f&8){const d=t.dynamicProps;for(let p=0;pe.__isSuspense;function Fr(e,t){t&&t.pendingBranch?N(e)?t.effects.push(...e):t.effects.push(e):Co(e)}function Po(e,t){if(re){let n=re.provides;const s=re.parent&&re.parent.provides;s===n&&(n=re.provides=Object.create(s)),n[e]=t}}function ht(e,t,n=!1){const s=re||le;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&U(t)?t.call(s.proxy):t}}function Mo(e,t){return mn(e,null,t)}function Mc(e,t){return mn(e,null,{flush:"post"})}const kt={};function Yt(e,t,n){return mn(e,t,n)}function mn(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=ee){const l=Li()===(re==null?void 0:re.scope)?re:null;let f,a=!1,d=!1;if(oe(e)?(f=()=>e.value,a=Gt(e)):at(e)?(f=()=>e,s=!0):N(e)?(d=!0,a=e.some(A=>at(A)||Gt(A)),f=()=>e.map(A=>{if(oe(A))return A.value;if(at(A))return nt(A);if(U(A))return We(A,l,2)})):U(e)?t?f=()=>We(e,l,2):f=()=>{if(!(l&&l.isUnmounted))return p&&p(),xe(e,l,3,[y])}:f=Ie,t&&s){const A=f;f=()=>nt(A())}let p,y=A=>{p=_.onStop=()=>{We(A,l,4)}},R;if(Lt)if(y=Ie,t?n&&xe(t,l,3,[f(),d?[]:void 0,y]):f(),r==="sync"){const A=vl();R=A.__watcherHandles||(A.__watcherHandles=[])}else return Ie;let L=d?new Array(e.length).fill(kt):kt;const P=()=>{if(_.active)if(t){const A=_.run();(s||a||(d?A.some(($,D)=>Ot($,L[D])):Ot(A,L)))&&(p&&p(),xe(t,l,3,[A,L===kt?void 0:d&&L[0]===kt?[]:L,y]),L=A)}else _.run()};P.allowRecurse=!!t;let W;r==="sync"?W=P:r==="post"?W=()=>de(P,l&&l.suspense):(P.pre=!0,l&&(P.id=l.uid),W=()=>ls(P));const _=new Qn(f,W);t?n?P():L=_.run():r==="post"?de(_.run.bind(_),l&&l.suspense):_.run();const E=()=>{_.stop(),l&&l.scope&&Yn(l.scope.effects,_)};return R&&R.push(E),E}function Fo(e,t,n){const s=this.proxy,r=se(e)?e.includes(".")?Sr(s,e):()=>s[e]:e.bind(s,s);let i;U(t)?i=t:(i=t.handler,n=t);const o=re;_t(this);const l=mn(r,i.bind(s),n);return o?_t(o):it(),l}function Sr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{nt(n,t)});else if(ur(e))for(const n in e)nt(e[n],t);return e}function So(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return yn(()=>{e.isMounted=!0}),Ur(()=>{e.isUnmounting=!0}),e}const ye=[Function,Array],Lo={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ye,onEnter:ye,onAfterEnter:ye,onEnterCancelled:ye,onBeforeLeave:ye,onLeave:ye,onAfterLeave:ye,onLeaveCancelled:ye,onBeforeAppear:ye,onAppear:ye,onAfterAppear:ye,onAppearCancelled:ye},setup(e,{slots:t}){const n=ni(),s=So();let r;return()=>{const i=t.default&&Hr(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const P of i)if(P.type!==be){o=P;break}}const l=z(e),{mode:f}=l;if(s.isLeaving)return Rn(o);const a=Is(o);if(!a)return Rn(o);const d=jn(a,l,s,n);Un(a,d);const p=n.subTree,y=p&&Is(p);let R=!1;const{getTransitionKey:L}=a.type;if(L){const P=L();r===void 0?r=P:P!==r&&(r=P,R=!0)}if(y&&y.type!==be&&(!et(a,y)||R)){const P=jn(y,l,s,n);if(Un(y,P),f==="out-in")return s.isLeaving=!0,P.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},Rn(o);f==="in-out"&&a.type!==be&&(P.delayLeave=(W,_,E)=>{const A=Nr(s,y);A[String(y.key)]=y,W._leaveCb=()=>{_(),W._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=E})}return o}}},Lr=Lo;function Nr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function jn(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:f,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:p,onLeave:y,onAfterLeave:R,onLeaveCancelled:L,onBeforeAppear:P,onAppear:W,onAfterAppear:_,onAppearCancelled:E}=t,A=String(e.key),$=Nr(n,e),D=(T,B)=>{T&&xe(T,s,9,B)},Z=(T,B)=>{const j=B[1];D(T,B),N(T)?T.every(Y=>Y.length<=1)&&j():T.length<=1&&j()},V={mode:i,persisted:o,beforeEnter(T){let B=l;if(!n.isMounted)if(r)B=P||l;else return;T._leaveCb&&T._leaveCb(!0);const j=$[A];j&&et(e,j)&&j.el._leaveCb&&j.el._leaveCb(),D(B,[T])},enter(T){let B=f,j=a,Y=d;if(!n.isMounted)if(r)B=W||f,j=_||a,Y=E||d;else return;let I=!1;const K=T._enterCb=M=>{I||(I=!0,M?D(Y,[T]):D(j,[T]),V.delayedLeave&&V.delayedLeave(),T._enterCb=void 0)};B?Z(B,[T,K]):K()},leave(T,B){const j=String(e.key);if(T._enterCb&&T._enterCb(!0),n.isUnmounting)return B();D(p,[T]);let Y=!1;const I=T._leaveCb=K=>{Y||(Y=!0,B(),K?D(L,[T]):D(R,[T]),T._leaveCb=void 0,$[j]===e&&delete $[j])};$[j]=e,y?Z(y,[T,I]):I()},clone(T){return jn(T,t,n,s)}};return V}function Rn(e){if(_n(e))return e=qe(e),e.children=null,e}function Is(e){return _n(e)?e.children?e.children[0]:void 0:e}function Un(e,t){e.shapeFlag&6&&e.component?Un(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Hr(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader,_n=e=>e.type.__isKeepAlive;function No(e,t){jr(e,"a",t)}function Ho(e,t){jr(e,"da",t)}function jr(e,t,n=re){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(bn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)_n(r.parent.vnode)&&$o(s,t,n,r),r=r.parent}}function $o(e,t,n,s){const r=bn(t,e,s,!0);wn(()=>{Yn(s[t],r)},n)}function bn(e,t,n=re,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;bt(),_t(n);const l=xe(t,n,e,o);return it(),yt(),l});return s?r.unshift(i):r.push(i),i}}const $e=e=>(t,n=re)=>(!Lt||e==="sp")&&bn(e,(...s)=>t(...s),n),jo=$e("bm"),yn=$e("m"),Uo=$e("bu"),Bo=$e("u"),Ur=$e("bum"),wn=$e("um"),Do=$e("sp"),Ko=$e("rtg"),ko=$e("rtc");function Wo(e,t=re){bn("ec",e,t)}function Fc(e,t){const n=le;if(n===null)return e;const s=xn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;it(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,f=o.length;lrn(t)?!(t.type===be||t.type===he&&!Dr(t.children)):!0)?e:null}function jc(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:zt(s)]=e[s];return n}const Bn=e=>e?si(e)?xn(e)||e.proxy:Bn(e.parent):null,At=fe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Bn(e.parent),$root:e=>Bn(e.root),$emit:e=>e.emit,$options:e=>us(e),$forceUpdate:e=>e.f||(e.f=()=>ls(e.update)),$nextTick:e=>e.n||(e.n=Ir.bind(e.proxy)),$watch:e=>Fo.bind(e)}),In=(e,t)=>e!==ee&&!e.__isScriptSetup&&q(e,t),qo={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:f}=e;let a;if(t[0]!=="$"){const R=o[t];if(R!==void 0)switch(R){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(In(s,t))return o[t]=1,s[t];if(r!==ee&&q(r,t))return o[t]=2,r[t];if((a=e.propsOptions[0])&&q(a,t))return o[t]=3,i[t];if(n!==ee&&q(n,t))return o[t]=4,n[t];Dn&&(o[t]=0)}}const d=At[t];let p,y;if(d)return t==="$attrs"&&pe(e,"get",t),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==ee&&q(n,t))return o[t]=4,n[t];if(y=f.config.globalProperties,q(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return In(r,t)?(r[t]=n,!0):s!==ee&&q(s,t)?(s[t]=n,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==ee&&q(e,o)||In(t,o)||(l=i[0])&&q(l,o)||q(s,o)||q(At,o)||q(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:q(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let Dn=!0;function zo(e){const t=us(e),n=e.proxy,s=e.ctx;Dn=!1,t.beforeCreate&&Ps(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:f,inject:a,created:d,beforeMount:p,mounted:y,beforeUpdate:R,updated:L,activated:P,deactivated:W,beforeDestroy:_,beforeUnmount:E,destroyed:A,unmounted:$,render:D,renderTracked:Z,renderTriggered:V,errorCaptured:T,serverPrefetch:B,expose:j,inheritAttrs:Y,components:I,directives:K,filters:M}=t;if(a&&Yo(a,s,null,e.appContext.config.unwrapInjectedRef),o)for(const ne in o){const Q=o[ne];U(Q)&&(s[ne]=Q.bind(n))}if(r){const ne=r.call(n,n);te(ne)&&(e.data=dn(ne))}if(Dn=!0,i)for(const ne in i){const Q=i[ne],ze=U(Q)?Q.bind(n,n):U(Q.get)?Q.get.bind(n,n):Ie,Ht=!U(Q)&&U(Q.set)?Q.set.bind(n):Ie,Ye=ve({get:ze,set:Ht});Object.defineProperty(s,ne,{enumerable:!0,configurable:!0,get:()=>Ye.value,set:Oe=>Ye.value=Oe})}if(l)for(const ne in l)Kr(l[ne],s,n,ne);if(f){const ne=U(f)?f.call(n):f;Reflect.ownKeys(ne).forEach(Q=>{Po(Q,ne[Q])})}d&&Ps(d,e,"c");function J(ne,Q){N(Q)?Q.forEach(ze=>ne(ze.bind(n))):Q&&ne(Q.bind(n))}if(J(jo,p),J(yn,y),J(Uo,R),J(Bo,L),J(No,P),J(Ho,W),J(Wo,T),J(ko,Z),J(Ko,V),J(Ur,E),J(wn,$),J(Do,B),N(j))if(j.length){const ne=e.exposed||(e.exposed={});j.forEach(Q=>{Object.defineProperty(ne,Q,{get:()=>n[Q],set:ze=>n[Q]=ze})})}else e.exposed||(e.exposed={});D&&e.render===Ie&&(e.render=D),Y!=null&&(e.inheritAttrs=Y),I&&(e.components=I),K&&(e.directives=K)}function Yo(e,t,n=Ie,s=!1){N(e)&&(e=Kn(e));for(const r in e){const i=e[r];let o;te(i)?"default"in i?o=ht(i.from||r,i.default,!0):o=ht(i.from||r):o=ht(i),oe(o)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):t[r]=o}}function Ps(e,t,n){xe(N(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Kr(e,t,n,s){const r=s.includes(".")?Sr(n,s):()=>n[s];if(se(e)){const i=t[e];U(i)&&Yt(r,i)}else if(U(e))Yt(r,e.bind(n));else if(te(e))if(N(e))e.forEach(i=>Kr(i,t,n,s));else{const i=U(e.handler)?e.handler.bind(n):t[e.handler];U(i)&&Yt(r,i,e)}}function us(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let f;return l?f=l:!r.length&&!n&&!s?f=t:(f={},r.length&&r.forEach(a=>nn(f,a,o,!0)),nn(f,t,o)),te(t)&&i.set(t,f),f}function nn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&nn(e,i,n,!0),r&&r.forEach(o=>nn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Jo[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Jo={data:Ms,props:Qe,emits:Qe,methods:Qe,computed:Qe,beforeCreate:ae,created:ae,beforeMount:ae,mounted:ae,beforeUpdate:ae,updated:ae,beforeDestroy:ae,beforeUnmount:ae,destroyed:ae,unmounted:ae,activated:ae,deactivated:ae,errorCaptured:ae,serverPrefetch:ae,components:Qe,directives:Qe,watch:Zo,provide:Ms,inject:Xo};function Ms(e,t){return t?e?function(){return fe(U(e)?e.call(this,this):e,U(t)?t.call(this,this):t)}:t:e}function Xo(e,t){return Qe(Kn(e),Kn(t))}function Kn(e){if(N(e)){const t={};for(let n=0;n0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let p=0;p{f=!0;const[y,R]=Wr(p,t,!0);fe(o,y),R&&l.push(...R)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!f)return te(e)&&s.set(e,ft),ft;if(N(i))for(let d=0;d-1,R[1]=P<0||L-1||q(R,"default"))&&l.push(p)}}}const a=[o,l];return te(e)&&s.set(e,a),a}function Fs(e){return e[0]!=="$"}function Ss(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Ls(e,t){return Ss(e)===Ss(t)}function Ns(e,t){return N(t)?t.findIndex(n=>Ls(n,e)):U(t)&&Ls(t,e)?0:-1}const Vr=e=>e[0]==="_"||e==="$stable",as=e=>N(e)?e.map(Te):[Te(e)],el=(e,t,n)=>{if(t._n)return t;const s=vo((...r)=>as(t(...r)),n);return s._c=!1,s},qr=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Vr(r))continue;const i=e[r];if(U(i))t[r]=el(r,i,s);else if(i!=null){const o=as(i);t[r]=()=>o}}},zr=(e,t)=>{const n=as(t);e.slots.default=()=>n},tl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=z(t),Zt(t,"_",n)):qr(t,e.slots={})}else e.slots={},t&&zr(e,t);Zt(e.slots,Cn,1)},nl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=ee;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(fe(r,t),!n&&l===1&&delete r._):(i=!t.$stable,qr(t,r)),o=t}else t&&(zr(e,t),o={default:1});if(i)for(const l in r)!Vr(l)&&!(l in o)&&delete r[l]};function Yr(){return{app:null,config:{isNativeTag:Ei,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let sl=0;function rl(e,t){return function(s,r=null){U(s)||(s=Object.assign({},s)),r!=null&&!te(r)&&(r=null);const i=Yr(),o=new Set;let l=!1;const f=i.app={_uid:sl++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:Tl,get config(){return i.config},set config(a){},use(a,...d){return o.has(a)||(a&&U(a.install)?(o.add(a),a.install(f,...d)):U(a)&&(o.add(a),a(f,...d))),f},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),f},component(a,d){return d?(i.components[a]=d,f):i.components[a]},directive(a,d){return d?(i.directives[a]=d,f):i.directives[a]},mount(a,d,p){if(!l){const y=ce(s,r);return y.appContext=i,d&&t?t(y,a):e(y,a,p),l=!0,f._container=a,a.__vue_app__=f,xn(y.component)||y.component.proxy}},unmount(){l&&(e(null,f._container),delete f._container.__vue_app__)},provide(a,d){return i.provides[a]=d,f}};return f}}function sn(e,t,n,s,r=!1){if(N(e)){e.forEach((y,R)=>sn(y,t&&(N(t)?t[R]:t),n,s,r));return}if(pt(s)&&!r)return;const i=s.shapeFlag&4?xn(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:f}=e,a=t&&t.r,d=l.refs===ee?l.refs={}:l.refs,p=l.setupState;if(a!=null&&a!==f&&(se(a)?(d[a]=null,q(p,a)&&(p[a]=null)):oe(a)&&(a.value=null)),U(f))We(f,l,12,[o,d]);else{const y=se(f),R=oe(f);if(y||R){const L=()=>{if(e.f){const P=y?q(p,f)?p[f]:d[f]:f.value;r?N(P)&&Yn(P,i):N(P)?P.includes(i)||P.push(i):y?(d[f]=[i],q(p,f)&&(p[f]=d[f])):(f.value=[i],e.k&&(d[e.k]=f.value))}else y?(d[f]=o,q(p,f)&&(p[f]=o)):R&&(f.value=o,e.k&&(d[e.k]=o))};o?(L.id=-1,de(L,n)):L()}}}let Ue=!1;const Wt=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Vt=e=>e.nodeType===8;function il(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:f,createComment:a}}=e,d=(_,E)=>{if(!E.hasChildNodes()){n(null,_,E),en(),E._vnode=_;return}Ue=!1,p(E.firstChild,_,null,null,null),en(),E._vnode=_,Ue&&console.error("Hydration completed but contains mismatches.")},p=(_,E,A,$,D,Z=!1)=>{const V=Vt(_)&&_.data==="[",T=()=>P(_,E,A,$,D,V),{type:B,ref:j,shapeFlag:Y,patchFlag:I}=E;let K=_.nodeType;E.el=_,I===-2&&(Z=!1,E.dynamicChildren=null);let M=null;switch(B){case mt:K!==3?E.children===""?(f(E.el=r(""),o(_),_),M=_):M=T():(_.data!==E.children&&(Ue=!0,_.data=E.children),M=i(_));break;case be:K!==8||V?M=T():M=i(_);break;case Rt:if(V&&(_=i(_),K=_.nodeType),K===1||K===3){M=_;const ge=!E.children.length;for(let J=0;J{Z=Z||!!E.dynamicChildren;const{type:V,props:T,patchFlag:B,shapeFlag:j,dirs:Y}=E,I=V==="input"&&Y||V==="option";if(I||B!==-1){if(Y&&Me(E,null,A,"created"),T)if(I||!Z||B&48)for(const M in T)(I&&M.endsWith("value")||Nt(M)&&!vt(M))&&s(_,M,null,T[M],!1,void 0,A);else T.onClick&&s(_,"onClick",null,T.onClick,!1,void 0,A);let K;if((K=T&&T.onVnodeBeforeMount)&&we(K,A,E),Y&&Me(E,null,A,"beforeMount"),((K=T&&T.onVnodeMounted)||Y)&&Fr(()=>{K&&we(K,A,E),Y&&Me(E,null,A,"mounted")},$),j&16&&!(T&&(T.innerHTML||T.textContent))){let M=R(_.firstChild,E,_,A,$,D,Z);for(;M;){Ue=!0;const ge=M;M=M.nextSibling,l(ge)}}else j&8&&_.textContent!==E.children&&(Ue=!0,_.textContent=E.children)}return _.nextSibling},R=(_,E,A,$,D,Z,V)=>{V=V||!!E.dynamicChildren;const T=E.children,B=T.length;for(let j=0;j{const{slotScopeIds:V}=E;V&&(D=D?D.concat(V):V);const T=o(_),B=R(i(_),E,T,A,$,D,Z);return B&&Vt(B)&&B.data==="]"?i(E.anchor=B):(Ue=!0,f(E.anchor=a("]"),T,B),B)},P=(_,E,A,$,D,Z)=>{if(Ue=!0,E.el=null,Z){const B=W(_);for(;;){const j=i(_);if(j&&j!==B)l(j);else break}}const V=i(_),T=o(_);return l(_),n(null,E,T,V,A,$,Wt(T),D),V},W=_=>{let E=0;for(;_;)if(_=i(_),_&&Vt(_)&&(_.data==="["&&E++,_.data==="]")){if(E===0)return i(_);E--}return _};return[d,p]}const de=Fr;function ol(e){return ll(e,il)}function ll(e,t){const n=Mi();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:f,setText:a,setElementText:d,parentNode:p,nextSibling:y,setScopeId:R=Ie,insertStaticContent:L}=e,P=(c,u,h,m=null,g=null,C=null,v=!1,w=null,x=!!u.dynamicChildren)=>{if(c===u)return;c&&!et(c,u)&&(m=$t(c),Oe(c,g,C,!0),c=null),u.patchFlag===-2&&(x=!1,u.dynamicChildren=null);const{type:b,ref:F,shapeFlag:O}=u;switch(b){case mt:W(c,u,h,m);break;case be:_(c,u,h,m);break;case Rt:c==null&&E(u,h,m,v);break;case he:I(c,u,h,m,g,C,v,w,x);break;default:O&1?D(c,u,h,m,g,C,v,w,x):O&6?K(c,u,h,m,g,C,v,w,x):(O&64||O&128)&&b.process(c,u,h,m,g,C,v,w,x,lt)}F!=null&&g&&sn(F,c&&c.ref,C,u||c,!u)},W=(c,u,h,m)=>{if(c==null)s(u.el=l(u.children),h,m);else{const g=u.el=c.el;u.children!==c.children&&a(g,u.children)}},_=(c,u,h,m)=>{c==null?s(u.el=f(u.children||""),h,m):u.el=c.el},E=(c,u,h,m)=>{[c.el,c.anchor]=L(c.children,u,h,m,c.el,c.anchor)},A=({el:c,anchor:u},h,m)=>{let g;for(;c&&c!==u;)g=y(c),s(c,h,m),c=g;s(u,h,m)},$=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=y(c),r(c),c=h;r(u)},D=(c,u,h,m,g,C,v,w,x)=>{v=v||u.type==="svg",c==null?Z(u,h,m,g,C,v,w,x):B(c,u,g,C,v,w,x)},Z=(c,u,h,m,g,C,v,w)=>{let x,b;const{type:F,props:O,shapeFlag:S,transition:H,dirs:k}=c;if(x=c.el=o(c.type,C,O&&O.is,O),S&8?d(x,c.children):S&16&&T(c.children,x,null,m,g,C&&F!=="foreignObject",v,w),k&&Me(c,null,m,"created"),V(x,c,c.scopeId,v,m),O){for(const X in O)X!=="value"&&!vt(X)&&i(x,X,null,O[X],C,c.children,m,g,Le);"value"in O&&i(x,"value",null,O.value),(b=O.onVnodeBeforeMount)&&we(b,m,c)}k&&Me(c,null,m,"beforeMount");const G=(!g||g&&!g.pendingBranch)&&H&&!H.persisted;G&&H.beforeEnter(x),s(x,u,h),((b=O&&O.onVnodeMounted)||G||k)&&de(()=>{b&&we(b,m,c),G&&H.enter(x),k&&Me(c,null,m,"mounted")},g)},V=(c,u,h,m,g)=>{if(h&&R(c,h),m)for(let C=0;C{for(let b=x;b{const w=u.el=c.el;let{patchFlag:x,dynamicChildren:b,dirs:F}=u;x|=c.patchFlag&16;const O=c.props||ee,S=u.props||ee;let H;h&&Je(h,!1),(H=S.onVnodeBeforeUpdate)&&we(H,h,u,c),F&&Me(u,c,h,"beforeUpdate"),h&&Je(h,!0);const k=g&&u.type!=="foreignObject";if(b?j(c.dynamicChildren,b,w,h,m,k,C):v||Q(c,u,w,null,h,m,k,C,!1),x>0){if(x&16)Y(w,u,O,S,h,m,g);else if(x&2&&O.class!==S.class&&i(w,"class",null,S.class,g),x&4&&i(w,"style",O.style,S.style,g),x&8){const G=u.dynamicProps;for(let X=0;X{H&&we(H,h,u,c),F&&Me(u,c,h,"updated")},m)},j=(c,u,h,m,g,C,v)=>{for(let w=0;w{if(h!==m){if(h!==ee)for(const w in h)!vt(w)&&!(w in m)&&i(c,w,h[w],null,v,u.children,g,C,Le);for(const w in m){if(vt(w))continue;const x=m[w],b=h[w];x!==b&&w!=="value"&&i(c,w,b,x,v,u.children,g,C,Le)}"value"in m&&i(c,"value",h.value,m.value)}},I=(c,u,h,m,g,C,v,w,x)=>{const b=u.el=c?c.el:l(""),F=u.anchor=c?c.anchor:l("");let{patchFlag:O,dynamicChildren:S,slotScopeIds:H}=u;H&&(w=w?w.concat(H):H),c==null?(s(b,h,m),s(F,h,m),T(u.children,h,F,g,C,v,w,x)):O>0&&O&64&&S&&c.dynamicChildren?(j(c.dynamicChildren,S,h,g,C,v,w),(u.key!=null||g&&u===g.subTree)&&Jr(c,u,!0)):Q(c,u,h,F,g,C,v,w,x)},K=(c,u,h,m,g,C,v,w,x)=>{u.slotScopeIds=w,c==null?u.shapeFlag&512?g.ctx.activate(u,h,m,v,x):M(u,h,m,g,C,v,x):ge(c,u,x)},M=(c,u,h,m,g,C,v)=>{const w=c.component=ml(c,m,g);if(_n(c)&&(w.ctx.renderer=lt),_l(w),w.asyncDep){if(g&&g.registerDep(w,J),!c.el){const x=w.subTree=ce(be);_(null,x,u,h)}return}J(w,c,u,h,g,C,v)},ge=(c,u,h)=>{const m=u.component=c.component;if(Ro(c,u,h))if(m.asyncDep&&!m.asyncResolved){ne(m,u,h);return}else m.next=u,wo(m.update),m.update();else u.el=c.el,m.vnode=u},J=(c,u,h,m,g,C,v)=>{const w=()=>{if(c.isMounted){let{next:F,bu:O,u:S,parent:H,vnode:k}=c,G=F,X;Je(c,!1),F?(F.el=k.el,ne(c,F,v)):F=k,O&&Tn(O),(X=F.props&&F.props.onVnodeBeforeUpdate)&&we(X,H,F,k),Je(c,!0);const ie=An(c),Ee=c.subTree;c.subTree=ie,P(Ee,ie,p(Ee.el),$t(Ee),c,g,C),F.el=ie.el,G===null&&Io(c,ie.el),S&&de(S,g),(X=F.props&&F.props.onVnodeUpdated)&&de(()=>we(X,H,F,k),g)}else{let F;const{el:O,props:S}=u,{bm:H,m:k,parent:G}=c,X=pt(u);if(Je(c,!1),H&&Tn(H),!X&&(F=S&&S.onVnodeBeforeMount)&&we(F,G,u),Je(c,!0),O&&vn){const ie=()=>{c.subTree=An(c),vn(O,c.subTree,c,g,null)};X?u.type.__asyncLoader().then(()=>!c.isUnmounted&&ie()):ie()}else{const ie=c.subTree=An(c);P(null,ie,h,m,c,g,C),u.el=ie.el}if(k&&de(k,g),!X&&(F=S&&S.onVnodeMounted)){const ie=u;de(()=>we(F,G,ie),g)}(u.shapeFlag&256||G&&pt(G.vnode)&&G.vnode.shapeFlag&256)&&c.a&&de(c.a,g),c.isMounted=!0,u=h=m=null}},x=c.effect=new Qn(w,()=>ls(b),c.scope),b=c.update=()=>x.run();b.id=c.uid,Je(c,!0),b()},ne=(c,u,h)=>{u.component=c;const m=c.vnode.props;c.vnode=u,c.next=null,Go(c,u.props,m,h),nl(c,u.children,h),bt(),As(),yt()},Q=(c,u,h,m,g,C,v,w,x=!1)=>{const b=c&&c.children,F=c?c.shapeFlag:0,O=u.children,{patchFlag:S,shapeFlag:H}=u;if(S>0){if(S&128){Ht(b,O,h,m,g,C,v,w,x);return}else if(S&256){ze(b,O,h,m,g,C,v,w,x);return}}H&8?(F&16&&Le(b,g,C),O!==b&&d(h,O)):F&16?H&16?Ht(b,O,h,m,g,C,v,w,x):Le(b,g,C,!0):(F&8&&d(h,""),H&16&&T(O,h,m,g,C,v,w,x))},ze=(c,u,h,m,g,C,v,w,x)=>{c=c||ft,u=u||ft;const b=c.length,F=u.length,O=Math.min(b,F);let S;for(S=0;SF?Le(c,g,C,!0,!1,O):T(u,h,m,g,C,v,w,x,O)},Ht=(c,u,h,m,g,C,v,w,x)=>{let b=0;const F=u.length;let O=c.length-1,S=F-1;for(;b<=O&&b<=S;){const H=c[b],k=u[b]=x?Ke(u[b]):Te(u[b]);if(et(H,k))P(H,k,h,null,g,C,v,w,x);else break;b++}for(;b<=O&&b<=S;){const H=c[O],k=u[S]=x?Ke(u[S]):Te(u[S]);if(et(H,k))P(H,k,h,null,g,C,v,w,x);else break;O--,S--}if(b>O){if(b<=S){const H=S+1,k=HS)for(;b<=O;)Oe(c[b],g,C,!0),b++;else{const H=b,k=b,G=new Map;for(b=k;b<=S;b++){const me=u[b]=x?Ke(u[b]):Te(u[b]);me.key!=null&&G.set(me.key,b)}let X,ie=0;const Ee=S-k+1;let ct=!1,gs=0;const wt=new Array(Ee);for(b=0;b=Ee){Oe(me,g,C,!0);continue}let Pe;if(me.key!=null)Pe=G.get(me.key);else for(X=k;X<=S;X++)if(wt[X-k]===0&&et(me,u[X])){Pe=X;break}Pe===void 0?Oe(me,g,C,!0):(wt[Pe-k]=b+1,Pe>=gs?gs=Pe:ct=!0,P(me,u[Pe],h,null,g,C,v,w,x),ie++)}const ms=ct?cl(wt):ft;for(X=ms.length-1,b=Ee-1;b>=0;b--){const me=k+b,Pe=u[me],_s=me+1{const{el:C,type:v,transition:w,children:x,shapeFlag:b}=c;if(b&6){Ye(c.component.subTree,u,h,m);return}if(b&128){c.suspense.move(u,h,m);return}if(b&64){v.move(c,u,h,lt);return}if(v===he){s(C,u,h);for(let O=0;Ow.enter(C),g);else{const{leave:O,delayLeave:S,afterLeave:H}=w,k=()=>s(C,u,h),G=()=>{O(C,()=>{k(),H&&H()})};S?S(C,k,G):G()}else s(C,u,h)},Oe=(c,u,h,m=!1,g=!1)=>{const{type:C,props:v,ref:w,children:x,dynamicChildren:b,shapeFlag:F,patchFlag:O,dirs:S}=c;if(w!=null&&sn(w,null,h,c,!0),F&256){u.ctx.deactivate(c);return}const H=F&1&&S,k=!pt(c);let G;if(k&&(G=v&&v.onVnodeBeforeUnmount)&&we(G,u,c),F&6)mi(c.component,h,m);else{if(F&128){c.suspense.unmount(h,m);return}H&&Me(c,null,u,"beforeUnmount"),F&64?c.type.remove(c,u,h,g,lt,m):b&&(C!==he||O>0&&O&64)?Le(b,u,h,!1,!0):(C===he&&O&384||!g&&F&16)&&Le(x,u,h),m&&hs(c)}(k&&(G=v&&v.onVnodeUnmounted)||H)&&de(()=>{G&&we(G,u,c),H&&Me(c,null,u,"unmounted")},h)},hs=c=>{const{type:u,el:h,anchor:m,transition:g}=c;if(u===he){gi(h,m);return}if(u===Rt){$(c);return}const C=()=>{r(h),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(c.shapeFlag&1&&g&&!g.persisted){const{leave:v,delayLeave:w}=g,x=()=>v(h,C);w?w(c.el,C,x):x()}else C()},gi=(c,u)=>{let h;for(;c!==u;)h=y(c),r(c),c=h;r(u)},mi=(c,u,h)=>{const{bum:m,scope:g,update:C,subTree:v,um:w}=c;m&&Tn(m),g.stop(),C&&(C.active=!1,Oe(v,c,u,h)),w&&de(w,u),de(()=>{c.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&c.asyncDep&&!c.asyncResolved&&c.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Le=(c,u,h,m=!1,g=!1,C=0)=>{for(let v=C;vc.shapeFlag&6?$t(c.component.subTree):c.shapeFlag&128?c.suspense.next():y(c.anchor||c.el),ps=(c,u,h)=>{c==null?u._vnode&&Oe(u._vnode,null,null,!0):P(u._vnode||null,c,u,null,null,null,h),As(),en(),u._vnode=c},lt={p:P,um:Oe,m:Ye,r:hs,mt:M,mc:T,pc:Q,pbc:j,n:$t,o:e};let En,vn;return t&&([En,vn]=t(lt)),{render:ps,hydrate:En,createApp:rl(ps,En)}}function Je({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Jr(e,t,n=!1){const s=e.children,r=t.children;if(N(s)&&N(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const fl=e=>e.__isTeleport,he=Symbol(void 0),mt=Symbol(void 0),be=Symbol(void 0),Rt=Symbol(void 0),It=[];let Re=null;function Xr(e=!1){It.push(Re=e?null:[])}function ul(){It.pop(),Re=It[It.length-1]||null}let St=1;function Hs(e){St+=e}function Zr(e){return e.dynamicChildren=St>0?Re||ft:null,ul(),St>0&&Re&&Re.push(e),e}function Uc(e,t,n,s,r,i){return Zr(ei(e,t,n,s,r,i,!0))}function Qr(e,t,n,s,r){return Zr(ce(e,t,n,s,r,!0))}function rn(e){return e?e.__v_isVNode===!0:!1}function et(e,t){return e.type===t.type&&e.key===t.key}const Cn="__vInternal",Gr=({key:e})=>e??null,Jt=({ref:e,ref_key:t,ref_for:n})=>e!=null?se(e)||oe(e)||U(e)?{i:le,r:e,k:t,f:!!n}:e:null;function ei(e,t=null,n=null,s=0,r=null,i=e===he?0:1,o=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Gr(t),ref:t&&Jt(t),scopeId:gn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:le};return l?(ds(f,n),i&128&&e.normalize(f)):n&&(f.shapeFlag|=se(n)?8:16),St>0&&!o&&Re&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&Re.push(f),f}const ce=al;function al(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Br)&&(e=be),rn(e)){const l=qe(e,t,!0);return n&&ds(l,n),St>0&&!i&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(Cl(e)&&(e=e.__vccOpts),t){t=dl(t);let{class:l,style:f}=t;l&&!se(l)&&(t.class=ln(l)),te(f)&&(xr(f)&&!N(f)&&(f=fe({},f)),t.style=on(f))}const o=se(e)?1:Oo(e)?128:fl(e)?64:te(e)?4:U(e)?2:0;return ei(e,t,n,s,r,o,i,!0)}function dl(e){return e?xr(e)||Cn in e?fe({},e):e:null}function qe(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?hl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Gr(l),ref:t&&t.ref?n&&r?N(r)?r.concat(Jt(t)):[r,Jt(t)]:Jt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==he?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qe(e.ssContent),ssFallback:e.ssFallback&&qe(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function ti(e=" ",t=0){return ce(mt,null,e,t)}function Bc(e,t){const n=ce(Rt,null,e);return n.staticCount=t,n}function Dc(e="",t=!1){return t?(Xr(),Qr(be,null,e)):ce(be,null,e)}function Te(e){return e==null||typeof e=="boolean"?ce(be):N(e)?ce(he,null,e.slice()):typeof e=="object"?Ke(e):ce(mt,null,String(e))}function Ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qe(e)}function ds(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(N(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),ds(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Cn in t)?t._ctx=le:r===3&&le&&(le.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else U(t)?(t={default:t,_ctx:le},n=32):(t=String(t),s&64?(n=16,t=[ti(t)]):n=8);e.children=t,e.shapeFlag|=n}function hl(...e){const t={};for(let n=0;nre||le,_t=e=>{re=e,e.scope.on()},it=()=>{re&&re.scope.off(),re=null};function si(e){return e.vnode.shapeFlag&4}let Lt=!1;function _l(e,t=!1){Lt=t;const{props:n,children:s}=e.vnode,r=si(e);Qo(e,n,r,t),tl(e,s);const i=r?bl(e,t):void 0;return Lt=!1,i}function bl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Tt(new Proxy(e.ctx,qo));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?ii(e):null;_t(e),bt();const i=We(s,e,0,[e.props,r]);if(yt(),it(),cr(i)){if(i.then(it,it),t)return i.then(o=>{$s(e,o,t)}).catch(o=>{hn(o,e,0)});e.asyncDep=i}else $s(e,i,t)}else ri(e,t)}function $s(e,t,n){U(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:te(t)&&(e.setupState=Tr(t)),ri(e,n)}let js;function ri(e,t,n){const s=e.type;if(!e.render){if(!t&&js&&!s.render){const r=s.template||us(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:f}=s,a=fe(fe({isCustomElement:i,delimiters:l},o),f);s.render=js(r,a)}}e.render=s.render||Ie}_t(e),bt(),zo(e),yt(),it()}function yl(e){return new Proxy(e.attrs,{get(t,n){return pe(e,"get","$attrs"),t[n]}})}function ii(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=yl(e))},slots:e.slots,emit:e.emit,expose:t}}function xn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Tr(Tt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in At)return At[n](e)},has(t,n){return n in t||n in At}}))}function wl(e,t=!0){return U(e)?e.displayName||e.name:e.name||t&&e.__name}function Cl(e){return U(e)&&"__vccOpts"in e}const ve=(e,t)=>_o(e,t,Lt);function Kc(){return xl().slots}function xl(){const e=ni();return e.setupContext||(e.setupContext=ii(e))}function Wn(e,t,n){const s=arguments.length;return s===2?te(t)&&!N(t)?rn(t)?ce(e,null,[t]):ce(e,t):ce(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&rn(n)&&(n=[n]),ce(e,t,n))}const El=Symbol(""),vl=()=>ht(El),Tl="3.2.47",Al="http://www.w3.org/2000/svg",tt=typeof document<"u"?document:null,Us=tt&&tt.createElement("template"),Rl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?tt.createElementNS(Al,e):tt.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>tt.createTextNode(e),createComment:e=>tt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>tt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Us.innerHTML=s?`${e}`:e;const l=Us.content;if(s){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Il(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Ol(e,t,n){const s=e.style,r=se(n);if(n&&!r){if(t&&!se(t))for(const i in t)n[i]==null&&Vn(s,i,"");for(const i in n)Vn(s,i,n[i])}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const Bs=/\s*!important$/;function Vn(e,t,n){if(N(n))n.forEach(s=>Vn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Pl(e,t);Bs.test(n)?e.setProperty(ot(s),n.replace(Bs,""),"important"):e[s]=n}}const Ds=["Webkit","Moz","ms"],On={};function Pl(e,t){const n=On[t];if(n)return n;let s=Se(t);if(s!=="filter"&&s in e)return On[t]=s;s=un(s);for(let r=0;rPn||($l.then(()=>Pn=0),Pn=Date.now());function Ul(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;xe(Bl(s,n.value),t,5,[s])};return n.value=e,n.attached=jl(),n}function Bl(e,t){if(N(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Ws=/^on[a-z]/,Dl=(e,t,n,s,r=!1,i,o,l,f)=>{t==="class"?Il(e,s,r):t==="style"?Ol(e,n,s):Nt(t)?zn(t)||Nl(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Kl(e,t,s,r))?Fl(e,t,s,i,o,l,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ml(e,t,s,r))};function Kl(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Ws.test(t)&&U(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Ws.test(t)&&se(n)?!1:t in e}const Be="transition",Ct="animation",oi=(e,{slots:t})=>Wn(Lr,kl(e),t);oi.displayName="Transition";const li={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};oi.props=fe({},Lr.props,li);const Xe=(e,t=[])=>{N(e)?e.forEach(n=>n(...t)):e&&e(...t)},Vs=e=>e?N(e)?e.some(t=>t.length>1):e.length>1:!1;function kl(e){const t={};for(const I in e)I in li||(t[I]=e[I]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:f=i,appearActiveClass:a=o,appearToClass:d=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:y=`${n}-leave-active`,leaveToClass:R=`${n}-leave-to`}=e,L=Wl(r),P=L&&L[0],W=L&&L[1],{onBeforeEnter:_,onEnter:E,onEnterCancelled:A,onLeave:$,onLeaveCancelled:D,onBeforeAppear:Z=_,onAppear:V=E,onAppearCancelled:T=A}=t,B=(I,K,M)=>{Ze(I,K?d:l),Ze(I,K?a:o),M&&M()},j=(I,K)=>{I._isLeaving=!1,Ze(I,p),Ze(I,R),Ze(I,y),K&&K()},Y=I=>(K,M)=>{const ge=I?V:E,J=()=>B(K,I,M);Xe(ge,[K,J]),qs(()=>{Ze(K,I?f:i),De(K,I?d:l),Vs(ge)||zs(K,s,P,J)})};return fe(t,{onBeforeEnter(I){Xe(_,[I]),De(I,i),De(I,o)},onBeforeAppear(I){Xe(Z,[I]),De(I,f),De(I,a)},onEnter:Y(!1),onAppear:Y(!0),onLeave(I,K){I._isLeaving=!0;const M=()=>j(I,K);De(I,p),zl(),De(I,y),qs(()=>{I._isLeaving&&(Ze(I,p),De(I,R),Vs($)||zs(I,s,W,M))}),Xe($,[I,M])},onEnterCancelled(I){B(I,!1),Xe(A,[I])},onAppearCancelled(I){B(I,!0),Xe(T,[I])},onLeaveCancelled(I){j(I),Xe(D,[I])}})}function Wl(e){if(e==null)return null;if(te(e))return[Mn(e.enter),Mn(e.leave)];{const t=Mn(e);return[t,t]}}function Mn(e){return Pi(e)}function De(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Ze(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function qs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Vl=0;function zs(e,t,n,s){const r=e._endId=++Vl,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:f}=ql(e,t);if(!o)return s();const a=o+"end";let d=0;const p=()=>{e.removeEventListener(a,y),i()},y=R=>{R.target===e&&++d>=f&&p()};setTimeout(()=>{d(n[L]||"").split(", "),r=s(`${Be}Delay`),i=s(`${Be}Duration`),o=Ys(r,i),l=s(`${Ct}Delay`),f=s(`${Ct}Duration`),a=Ys(l,f);let d=null,p=0,y=0;t===Be?o>0&&(d=Be,p=o,y=i.length):t===Ct?a>0&&(d=Ct,p=a,y=f.length):(p=Math.max(o,a),d=p>0?o>a?Be:Ct:null,y=d?d===Be?i.length:f.length:0);const R=d===Be&&/\b(transform|all)(,|$)/.test(s(`${Be}Property`).toString());return{type:d,timeout:p,propCount:y,hasTransform:R}}function Ys(e,t){for(;e.lengthJs(n)+Js(e[s])))}function Js(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function zl(){return document.body.offsetHeight}const Yl=["ctrl","shift","alt","meta"],Jl={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Yl.some(n=>e[`${n}Key`]&&!t.includes(n))},kc=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=ot(n.key);if(t.some(r=>r===s||Xl[r]===s))return e(n)},Vc={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):xt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),xt(e,!0),s.enter(e)):s.leave(e,()=>{xt(e,!1)}):xt(e,t))},beforeUnmount(e,{value:t}){xt(e,t)}};function xt(e,t){e.style.display=t?e._vod:"none"}const Zl=fe({patchProp:Dl},Rl);let Fn,Xs=!1;function Ql(){return Fn=Xs?Fn:ol(Zl),Xs=!0,Fn}const qc=(...e)=>{const t=Ql().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Gl(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function Gl(e){return se(e)?document.querySelector(e):e}const zc=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},ec="modulepreload",tc=function(e){return"/Shmily/"+e},Zs={},Yc=function(t,n,s){if(!n||n.length===0)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=tc(i),i in Zs)return;Zs[i]=!0;const o=i.endsWith(".css"),l=o?'[rel="stylesheet"]':"";if(!!s)for(let d=r.length-1;d>=0;d--){const p=r[d];if(p.href===i&&(!o||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${l}`))return;const a=document.createElement("link");if(a.rel=o?"stylesheet":ec,o||(a.as="script",a.crossOrigin=""),a.href=i,document.head.appendChild(a),o)return new Promise((d,p)=>{a.addEventListener("load",d),a.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},nc=window.__VP_SITE_DATA__,ci=/^[a-z]+:/i,Jc=/^pathname:\/\//,Xc="vitepress-theme-appearance",fi=/#.*$/,sc=/(index)?\.(md|html)$/,Ce=typeof document<"u",ui={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function rc(e,t,n=!1){if(t===void 0)return!1;if(e=Qs(`/${e}`),n)return new RegExp(t).test(e);if(Qs(t)!==e)return!1;const s=t.match(fi);return s?(Ce?location.hash:"")===s[0]:!0}function Qs(e){return decodeURI(e).replace(fi,"").replace(sc,"")}function ic(e){return ci.test(e)}function oc(e,t){var s,r,i,o,l,f,a;const n=Object.keys(e.locales).find(d=>d!=="root"&&!ic(d)&&rc(t,`/${d}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:di(e.head,((f=e.locales[n])==null?void 0:f.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function ai(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=lc(e.title,s);return`${n}${r}`}function lc(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function cc(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function di(e,t){return[...e.filter(n=>!cc(t,n)),...t]}const fc=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,uc=/^[a-z]:/i;function Gs(e){const t=uc.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(fc,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const ac=Symbol(),st=fo(nc);function Zc(e){const t=ve(()=>oc(st.value,e.data.relativePath));return{site:t,theme:ve(()=>t.value.themeConfig),page:ve(()=>e.data),frontmatter:ve(()=>e.data.frontmatter),params:ve(()=>e.data.params),lang:ve(()=>t.value.lang),dir:ve(()=>t.value.dir),localeIndex:ve(()=>t.value.localeIndex||"root"),title:ve(()=>ai(t.value,e.data)),description:ve(()=>e.data.description||t.value.description),isDark:Er(!1)}}function Qc(){const e=ht(ac);if(!e)throw new Error("vitepress data not properly injected in app");return e}function dc(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function er(e){return ci.test(e)||e.startsWith(".")?e:dc(st.value.base,e)}function hc(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/Shmily/";t=Gs(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),t=`${n}assets/${t}.${s}.js`}else t=`./${Gs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let Xt=[];function Gc(e){Xt.push(e),wn(()=>{Xt=Xt.filter(t=>t!==e)})}const pc=Symbol(),tr="http://a.com",gc=()=>({path:"/",component:null,data:ui});function ef(e,t){const n=dn(gc()),s={route:n,go:r};async function r(l=Ce?location.href:"/"){var a,d;await((a=s.onBeforeRouteChange)==null?void 0:a.call(s,l));const f=new URL(l,tr);st.value.cleanUrls||!f.pathname.endsWith("/")&&!f.pathname.endsWith(".html")&&(f.pathname+=".html",l=f.pathname+f.search+f.hash),Ce&&l!==location.href&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",l)),await o(l),await((d=s.onAfterRouteChanged)==null?void 0:d.call(s,l))}let i=null;async function o(l,f=0,a=!1){const d=new URL(l,tr),p=i=d.pathname;try{let y=await e(p);if(i===p){i=null;const{default:R,__pageData:L}=y;if(!R)throw new Error(`Invalid route component: ${R}`);n.path=Ce?p:er(p),n.component=Tt(R),n.data=Tt(L),Ce&&Ir(()=>{let P=st.value.base+L.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!st.value.cleanUrls&&!P.endsWith("/")&&(P+=".html"),P!==d.pathname&&(d.pathname=P,l=P+d.search+d.hash,history.replaceState(null,"",l)),d.hash&&!f){let W=null;try{W=document.querySelector(decodeURIComponent(d.hash))}catch(_){console.warn(_)}if(W){nr(W,d.hash);return}}window.scrollTo(0,f)})}}catch(y){if(!/fetch/.test(y.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(y),!a)try{const R=await fetch(st.value.base+"hashmap.json");window.__VP_HASH_MAP__=await R.json(),await o(l,f,!0);return}catch{}i===p&&(i=null,n.path=Ce?p:er(p),n.component=t?Tt(t):null,n.data=ui)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:d}=a,{href:p,origin:y,pathname:R,hash:L,search:P}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),W=window.location,_=R.match(/\.\w+$/);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&d!=="_blank"&&y===W.origin&&!(_&&_[0]!==".html")&&(l.preventDefault(),R===W.pathname&&P===W.search?L&&(L!==W.hash&&(history.pushState(null,"",L),window.dispatchEvent(new Event("hashchange"))),nr(a,L,a.classList.contains("header-anchor"))):r(p))}},{capture:!0}),window.addEventListener("popstate",l=>{o(location.href,l.state&&l.state.scrollPosition||0)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function mc(){const e=ht(pc);if(!e)throw new Error("useRouter() is called without provider.");return e}function hi(){return mc().route}function nr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.querySelector(decodeURIComponent(t))}catch(r){console.warn(r)}if(s){const r=st.value.scrollOffset;let i=0;if(typeof r=="number")i=r;else if(typeof r=="string")i=sr(r);else if(Array.isArray(r))for(const f of r){const a=sr(f);if(a){i=a;break}}const o=parseInt(window.getComputedStyle(s).paddingTop,10),l=window.scrollY+s.getBoundingClientRect().top-i+o;!n||Math.abs(l-window.scrollY)>window.innerHeight?window.scrollTo(0,l):window.scrollTo({left:0,top:l,behavior:"smooth"})}}function sr(e){const t=document.querySelector(e);if(!t)return 0;const n=t.getBoundingClientRect().bottom;return n<0?0:n+24}const rr=()=>Xt.forEach(e=>e()),tf=$r({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=hi();return()=>Wn(e.as,{style:{position:"relative"}},[t.component?Wn(t.component,{onVnodeMounted:rr,onVnodeUpdated:rr}):"404 Page Not Found"])}});function nf(e,t){let n=[],s=!0;const r=i=>{if(s){s=!1;return}n.forEach(o=>document.head.removeChild(o)),n=[],i.forEach(o=>{const l=_c(o);document.head.appendChild(l),n.push(l)})};Mo(()=>{const i=e.data,o=t.value,l=i&&i.description,f=i&&i.frontmatter.head||[];document.title=ai(o,i),document.querySelector("meta[name=description]").setAttribute("content",l||o.description),r(di(o.head,yc(f)))})}function _c([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function bc(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function yc(e){return e.filter(t=>!bc(t))}const Sn=new Set,pi=()=>document.createElement("link"),wc=e=>{const t=pi();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Cc=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let qt;const xc=Ce&&(qt=pi())&&qt.relList&&qt.relList.supports&&qt.relList.supports("prefetch")?wc:Cc;function sf(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:f}=l;if(!Sn.has(f)){Sn.add(f);const a=hc(f);xc(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{target:o}=i,{hostname:l,pathname:f}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),a=f.match(/\.\w+$/);a&&a[0]!==".html"||o!=="_blank"&&l===location.hostname&&(f!==location.pathname?n.observe(i):Sn.add(f))})})};yn(s);const r=hi();Yt(()=>r.path,s),wn(()=>{n&&n.disconnect()})}const rf=$r({setup(e,{slots:t}){const n=Er(!1);return yn(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function of(){if(Ce){const e=new Map;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className);let l="";i.querySelectorAll("span.line:not(.diff.remove)").forEach(f=>l+=(f.textContent||"")+` -`),l=l.slice(0,-1),o&&(l=l.replace(/^ *(\$|>) /gm,"").trim()),Ec(l).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function Ec(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function lf(){Ce&&window.addEventListener("click",e=>{var n,s;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement,i=Array.from((r==null?void 0:r.querySelectorAll("input"))||[]).indexOf(t),o=r==null?void 0:r.querySelector('div[class*="language-"].active'),l=(s=r==null?void 0:r.querySelectorAll('div[class*="language-"]:not(.language-id)'))==null?void 0:s[i];o&&l&&o!==l&&(o.classList.remove("active"),l.classList.add("active"))}})}export{Mc as $,Qr as A,vo as B,Dc as C,hl as D,ce as E,he as F,Sc as G,on as H,ci as I,Lc as J,Ce as K,Hc as L,Oc as M,Pc as N,Bc as O,Jc as P,Xc as Q,ht as R,Po as S,oi as T,Bo as U,Gc as V,fo as W,Ir as X,Wc as Y,jc as Z,zc as _,ti as a,kc as a0,Kc as a1,Nc as a2,vc as a3,dl as a4,Fc as a5,Vc as a6,dn as a7,nf as a8,sf as a9,of as aa,lf as ab,Wn as ac,pc as ad,Zc as ae,ac as af,tf as ag,rf as ah,st as ai,qc as aj,ef as ak,hc as al,Yc as am,ao as b,Uc as c,$r as d,Ic as e,Cr as f,Rc as g,Er as h,Li as i,Ac as j,Mo as k,ve as l,ni as m,ln as n,Xr as o,yn as p,ic as q,$c as r,er as s,Tc as t,Qc as u,rc as v,Yt as w,hi as x,wn as y,ei as z}; diff --git a/assets/chunks/framework.44ff8bb5.js b/assets/chunks/framework.44ff8bb5.js new file mode 100644 index 00000000..8459e94e --- /dev/null +++ b/assets/chunks/framework.44ff8bb5.js @@ -0,0 +1,2 @@ +function is(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const te={},dt=[],Pe=()=>{},Vi=()=>!1,qi=/^on[^a-z]/,Ut=e=>qi.test(e),os=e=>e.startsWith("onUpdate:"),ie=Object.assign,ls=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},zi=Object.prototype.hasOwnProperty,z=(e,t)=>zi.call(e,t),D=Array.isArray,ht=e=>gn(e)==="[object Map]",Sr=e=>gn(e)==="[object Set]",K=e=>typeof e=="function",se=e=>typeof e=="string",cs=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",Or=e=>ee(e)&&K(e.then)&&K(e.catch),Pr=Object.prototype.toString,gn=e=>Pr.call(e),Yi=e=>gn(e).slice(8,-1),Ir=e=>gn(e)==="[object Object]",as=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,It=is(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),mn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ji=/-(\w)/g,Le=mn(e=>e.replace(Ji,(t,n)=>n?n.toUpperCase():"")),Xi=/\B([A-Z])/g,ct=mn(e=>e.replace(Xi,"-$1").toLowerCase()),_n=mn(e=>e.charAt(0).toUpperCase()+e.slice(1)),tn=mn(e=>e?`on${_n(e)}`:""),Nt=(e,t)=>!Object.is(e,t),Hn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Qi=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Zi=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let Ms;const qn=()=>Ms||(Ms=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function yn(e){if(D(e)){const t={};for(let n=0;n{if(n){const s=n.split(eo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function bn(e){let t="";if(se(e))t=e;else if(D(e))for(let n=0;nse(e)?e:e==null?"":D(e)||ee(e)&&(e.toString===Pr||!K(e.toString))?JSON.stringify(e,Fr,2):String(e),Fr=(e,t)=>t&&t.__v_isRef?Fr(e,t.value):ht(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:Sr(t)?{[`Set(${t.size})`]:[...t.values()]}:ee(t)&&!D(t)&&!Ir(t)?String(t):t;let ye;class io{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ye,!t&&ye&&(this.index=(ye.scopes||(ye.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ye;try{return ye=this,t()}finally{ye=n}}}on(){ye=this}off(){ye=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Lr=e=>(e.w&ze)>0,Nr=e=>(e.n&ze)>0,co=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=c)&&l.push(u)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":D(e)?as(n)&&l.push(o.get("length")):(l.push(o.get(it)),ht(e)&&l.push(o.get(Yn)));break;case"delete":D(e)||(l.push(o.get(it)),ht(e)&&l.push(o.get(Yn)));break;case"set":ht(e)&&l.push(o.get(it));break}if(l.length===1)l[0]&&Jn(l[0]);else{const c=[];for(const u of l)u&&c.push(...u);Jn(us(c))}}function Jn(e,t){const n=D(e)?e:[...e];for(const s of n)s.computed&&Ns(s);for(const s of n)s.computed||Ns(s)}function Ns(e,t){(e!==Se||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function uo(e,t){var n;return(n=on.get(e))==null?void 0:n.get(t)}const fo=is("__proto__,__v_isRef,__isVue"),Dr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(cs)),ho=ds(),po=ds(!1,!0),go=ds(!0),Hs=mo();function mo(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=Y(this);for(let i=0,o=this.length;i{e[t]=function(...n){Ct();const s=Y(this)[t].apply(this,n);return Et(),s}}),e}function _o(e){const t=Y(this);return ge(t,"has",e),t.hasOwnProperty(e)}function ds(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?Mo:Kr:t?kr:Ur).get(s))return s;const o=D(s);if(!e){if(o&&z(Hs,r))return Reflect.get(Hs,r,i);if(r==="hasOwnProperty")return _o}const l=Reflect.get(s,r,i);return(cs(r)?Dr.has(r):fo(r))||(e||ge(s,"get",r),t)?l:le(l)?o&&as(r)?l:l.value:ee(l)?e?Cn(l):wn(l):l}}const yo=jr(),bo=jr(!0);function jr(e=!1){return function(n,s,r,i){let o=n[s];if(yt(o)&&le(o)&&!le(r))return!1;if(!e&&(!ln(r)&&!yt(r)&&(o=Y(o),r=Y(r)),!D(n)&&le(o)&&!le(r)))return o.value=r,!0;const l=D(n)&&as(s)?Number(s)e,vn=e=>Reflect.getPrototypeOf(e);function Wt(e,t,n=!1,s=!1){e=e.__v_raw;const r=Y(e),i=Y(t);n||(t!==i&&ge(r,"get",t),ge(r,"get",i));const{has:o}=vn(r),l=s?hs:n?ms:Ht;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function Vt(e,t=!1){const n=this.__v_raw,s=Y(n),r=Y(e);return t||(e!==r&&ge(s,"has",e),ge(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function qt(e,t=!1){return e=e.__v_raw,!t&&ge(Y(e),"iterate",it),Reflect.get(e,"size",e)}function $s(e){e=Y(e);const t=Y(this);return vn(t).has.call(t,e)||(t.add(e),$e(t,"add",e,e)),this}function Ds(e,t){t=Y(t);const n=Y(this),{has:s,get:r}=vn(n);let i=s.call(n,e);i||(e=Y(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?Nt(t,o)&&$e(n,"set",e,t):$e(n,"add",e,t),this}function js(e){const t=Y(this),{has:n,get:s}=vn(t);let r=n.call(t,e);r||(e=Y(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&$e(t,"delete",e,void 0),i}function Bs(){const e=Y(this),t=e.size!==0,n=e.clear();return t&&$e(e,"clear",void 0,void 0),n}function zt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=Y(o),c=t?hs:e?ms:Ht;return!e&&ge(l,"iterate",it),o.forEach((u,d)=>s.call(r,c(u),c(d),i))}}function Yt(e,t,n){return function(...s){const r=this.__v_raw,i=Y(r),o=ht(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,u=r[e](...s),d=n?hs:t?ms:Ht;return!t&&ge(i,"iterate",c?Yn:it),{next(){const{value:h,done:b}=u.next();return b?{value:h,done:b}:{value:l?[d(h[0]),d(h[1])]:d(h),done:b}},[Symbol.iterator](){return this}}}}function je(e){return function(...t){return e==="delete"?!1:this}}function To(){const e={get(i){return Wt(this,i)},get size(){return qt(this)},has:Vt,add:$s,set:Ds,delete:js,clear:Bs,forEach:zt(!1,!1)},t={get(i){return Wt(this,i,!1,!0)},get size(){return qt(this)},has:Vt,add:$s,set:Ds,delete:js,clear:Bs,forEach:zt(!1,!0)},n={get(i){return Wt(this,i,!0)},get size(){return qt(this,!0)},has(i){return Vt.call(this,i,!0)},add:je("add"),set:je("set"),delete:je("delete"),clear:je("clear"),forEach:zt(!0,!1)},s={get(i){return Wt(this,i,!0,!0)},get size(){return qt(this,!0)},has(i){return Vt.call(this,i,!0)},add:je("add"),set:je("set"),delete:je("delete"),clear:je("clear"),forEach:zt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Yt(i,!1,!1),n[i]=Yt(i,!0,!1),t[i]=Yt(i,!1,!0),s[i]=Yt(i,!0,!0)}),[e,n,t,s]}const[Ao,So,Oo,Po]=To();function ps(e,t){const n=t?e?Po:Oo:e?So:Ao;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(z(n,r)&&r in s?n:s,r,i)}const Io={get:ps(!1,!1)},Ro={get:ps(!1,!0)},Fo={get:ps(!0,!1)},Ur=new WeakMap,kr=new WeakMap,Kr=new WeakMap,Mo=new WeakMap;function Lo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function No(e){return e.__v_skip||!Object.isExtensible(e)?0:Lo(Yi(e))}function wn(e){return yt(e)?e:gs(e,!1,Br,Io,Ur)}function Ho(e){return gs(e,!1,xo,Ro,kr)}function Cn(e){return gs(e,!0,Eo,Fo,Kr)}function gs(e,t,n,s,r){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=No(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function pt(e){return yt(e)?pt(e.__v_raw):!!(e&&e.__v_isReactive)}function yt(e){return!!(e&&e.__v_isReadonly)}function ln(e){return!!(e&&e.__v_isShallow)}function Wr(e){return pt(e)||yt(e)}function Y(e){const t=e&&e.__v_raw;return t?Y(t):e}function Rt(e){return rn(e,"__v_skip",!0),e}const Ht=e=>ee(e)?wn(e):e,ms=e=>ee(e)?Cn(e):e;function _s(e){We&&Se&&(e=Y(e),$r(e.dep||(e.dep=us())))}function ys(e,t){e=Y(e);const n=e.dep;n&&Jn(n)}function le(e){return!!(e&&e.__v_isRef===!0)}function be(e){return qr(e,!1)}function Vr(e){return qr(e,!0)}function qr(e,t){return le(e)?e:new $o(e,t)}class $o{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Y(t),this._value=n?t:Ht(t)}get value(){return _s(this),this._value}set value(t){const n=this.__v_isShallow||ln(t)||yt(t);t=n?t:Y(t),Nt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ht(t),ys(this))}}function zr(e){return le(e)?e.value:e}const Do={get:(e,t,n)=>zr(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return le(r)&&!le(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Yr(e){return pt(e)?e:new Proxy(e,Do)}class jo{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>_s(this),()=>ys(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function Bo(e){return new jo(e)}class Uo{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return uo(Y(this._object),this._key)}}class ko{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Ko(e,t,n){return le(e)?e:K(e)?new ko(e):ee(e)&&arguments.length>1?Wo(e,t,n):be(e)}function Wo(e,t,n){const s=e[t];return le(s)?s:new Uo(e,t,n)}class Vo{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new fs(t,()=>{this._dirty||(this._dirty=!0,ys(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=Y(this);return _s(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function qo(e,t,n=!1){let s,r;const i=K(e);return i?(s=e,r=Pe):(s=e.get,r=e.set),new Vo(s,r,i||!r,n)}function Ve(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){En(i,t,n)}return r}function xe(e,t,n,s){if(K(e)){const i=Ve(e,t,n,s);return i&&Or(i)&&i.catch(o=>{En(o,t,n)}),i}const r=[];for(let i=0;i>>1;Dt(fe[s])Me&&fe.splice(t,1)}function Xo(e){D(e)?gt.push(...e):(!He||!He.includes(e,e.allowRecurse?et+1:et))&>.push(e),Xr()}function Us(e,t=$t?Me+1:0){for(;tDt(n)-Dt(s)),et=0;ete.id==null?1/0:e.id,Qo=(e,t)=>{const n=Dt(e)-Dt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Qr(e){Xn=!1,$t=!0,fe.sort(Qo);const t=Pe;try{for(Me=0;Mese(A)?A.trim():A)),h&&(r=n.map(Qi))}let l,c=s[l=tn(t)]||s[l=tn(Le(t))];!c&&i&&(c=s[l=tn(ct(t))]),c&&xe(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,xe(u,e,6,r)}}function Zr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!K(e)){const c=u=>{const d=Zr(u,t,!0);d&&(l=!0,ie(o,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ee(e)&&s.set(e,null),null):(D(i)?i.forEach(c=>o[c]=null):ie(o,i),ee(e)&&s.set(e,o),o)}function Tn(e,t){return!e||!Ut(t)?!1:(t=t.slice(2).replace(/Once$/,""),z(e,t[0].toLowerCase()+t.slice(1))||z(e,ct(t))||z(e,t))}let ae=null,An=null;function an(e){const t=ae;return ae=e,An=e&&e.type.__scopeId||null,t}function Ca(e){An=e}function Ea(){An=null}function Go(e,t=ae,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Gs(-1);const i=an(t);let o;try{o=e(...r)}finally{an(i),s._d&&Gs(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function $n(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:c,emit:u,render:d,renderCache:h,data:b,setupState:A,ctx:P,inheritAttrs:O}=e;let B,g;const w=an(e);try{if(n.shapeFlag&4){const x=r||s;B=Ae(d.call(x,x,h,i,A,b,P)),g=c}else{const x=t;B=Ae(x.length>1?x(i,{attrs:c,slots:l,emit:u}):x(i,null)),g=t.props?c:el(c)}}catch(x){Lt.length=0,En(x,e,1),B=ue(ve)}let $=B;if(g&&O!==!1){const x=Object.keys(g),{shapeFlag:j}=$;x.length&&j&7&&(o&&x.some(os)&&(g=tl(g,o)),$=Ye($,g))}return n.dirs&&($=Ye($),$.dirs=$.dirs?$.dirs.concat(n.dirs):n.dirs),n.transition&&($.transition=n.transition),B=$,an(w),B}const el=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ut(n))&&((t||(t={}))[n]=e[n]);return t},tl=(e,t)=>{const n={};for(const s in e)(!os(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function nl(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?ks(s,o,u):!!o;if(c&8){const d=t.dynamicProps;for(let h=0;he.__isSuspense;function Gr(e,t){t&&t.pendingBranch?D(e)?t.effects.push(...e):t.effects.push(e):Xo(e)}function ei(e,t){return Sn(e,null,t)}function xa(e,t){return Sn(e,null,{flush:"post"})}const Jt={};function qe(e,t,n){return Sn(e,t,n)}function Sn(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=te){var l;const c=Mr()===((l=oe)==null?void 0:l.scope)?oe:null;let u,d=!1,h=!1;if(le(e)?(u=()=>e.value,d=ln(e)):pt(e)?(u=()=>e,s=!0):D(e)?(h=!0,d=e.some(x=>pt(x)||ln(x)),u=()=>e.map(x=>{if(le(x))return x.value;if(pt(x))return st(x);if(K(x))return Ve(x,c,2)})):K(e)?t?u=()=>Ve(e,c,2):u=()=>{if(!(c&&c.isUnmounted))return b&&b(),xe(e,c,3,[A])}:u=Pe,t&&s){const x=u;u=()=>st(x())}let b,A=x=>{b=w.onStop=()=>{Ve(x,c,4)}},P;if(Bt)if(A=Pe,t?n&&xe(t,c,3,[u(),h?[]:void 0,A]):u(),r==="sync"){const x=Gl();P=x.__watcherHandles||(x.__watcherHandles=[])}else return Pe;let O=h?new Array(e.length).fill(Jt):Jt;const B=()=>{if(w.active)if(t){const x=w.run();(s||d||(h?x.some((j,q)=>Nt(j,O[q])):Nt(x,O)))&&(b&&b(),xe(t,c,3,[x,O===Jt?void 0:h&&O[0]===Jt?[]:O,A]),O=x)}else w.run()};B.allowRecurse=!!t;let g;r==="sync"?g=B:r==="post"?g=()=>he(B,c&&c.suspense):(B.pre=!0,c&&(B.id=c.uid),g=()=>vs(B));const w=new fs(u,g);t?n?B():O=w.run():r==="post"?he(w.run.bind(w),c&&c.suspense):w.run();const $=()=>{w.stop(),c&&c.scope&&ls(c.scope.effects,w)};return P&&P.push($),$}function il(e,t,n){const s=this.proxy,r=se(e)?e.includes(".")?ti(s,e):()=>s[e]:e.bind(s,s);let i;K(t)?i=t:(i=t.handler,n=t);const o=oe;vt(this);const l=Sn(r,i.bind(s),n);return o?vt(o):ot(),l}function ti(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{st(n,t)});else if(Ir(e))for(const n in e)st(e[n],t);return e}function Ta(e,t){const n=ae;if(n===null)return e;const s=Mn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;i{e.isMounted=!0}),li(()=>{e.isUnmounting=!0}),e}const we=[Function,Array],ni={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:we,onEnter:we,onAfterEnter:we,onEnterCancelled:we,onBeforeLeave:we,onLeave:we,onAfterLeave:we,onLeaveCancelled:we,onBeforeAppear:we,onAppear:we,onAfterAppear:we,onAppearCancelled:we},ll={name:"BaseTransition",props:ni,setup(e,{slots:t}){const n=Fn(),s=ol();let r;return()=>{const i=t.default&&ri(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const O of i)if(O.type!==ve){o=O;break}}const l=Y(e),{mode:c}=l;if(s.isLeaving)return Dn(o);const u=Ks(o);if(!u)return Dn(o);const d=Qn(u,l,s,n);Zn(u,d);const h=n.subTree,b=h&&Ks(h);let A=!1;const{getTransitionKey:P}=u.type;if(P){const O=P();r===void 0?r=O:O!==r&&(r=O,A=!0)}if(b&&b.type!==ve&&(!tt(u,b)||A)){const O=Qn(b,l,s,n);if(Zn(b,O),c==="out-in")return s.isLeaving=!0,O.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},Dn(o);c==="in-out"&&u.type!==ve&&(O.delayLeave=(B,g,w)=>{const $=si(s,b);$[String(b.key)]=b,B._leaveCb=()=>{g(),B._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=w})}return o}}},cl=ll;function si(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Qn(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:h,onLeave:b,onAfterLeave:A,onLeaveCancelled:P,onBeforeAppear:O,onAppear:B,onAfterAppear:g,onAppearCancelled:w}=t,$=String(e.key),x=si(n,e),j=(m,F)=>{m&&xe(m,s,9,F)},q=(m,F)=>{const M=F[1];j(m,F),D(m)?m.every(J=>J.length<=1)&&M():m.length<=1&&M()},k={mode:i,persisted:o,beforeEnter(m){let F=l;if(!n.isMounted)if(r)F=O||l;else return;m._leaveCb&&m._leaveCb(!0);const M=x[$];M&&tt(e,M)&&M.el._leaveCb&&M.el._leaveCb(),j(F,[m])},enter(m){let F=c,M=u,J=d;if(!n.isMounted)if(r)F=B||c,M=g||u,J=w||d;else return;let I=!1;const W=m._enterCb=L=>{I||(I=!0,L?j(J,[m]):j(M,[m]),k.delayedLeave&&k.delayedLeave(),m._enterCb=void 0)};F?q(F,[m,W]):W()},leave(m,F){const M=String(e.key);if(m._enterCb&&m._enterCb(!0),n.isUnmounting)return F();j(h,[m]);let J=!1;const I=m._leaveCb=W=>{J||(J=!0,F(),W?j(P,[m]):j(A,[m]),m._leaveCb=void 0,x[M]===e&&delete x[M])};x[M]=e,b?q(b,[m,I]):I()},clone(m){return Qn(m,t,n,s)}};return k}function Dn(e){if(On(e))return e=Ye(e),e.children=null,e}function Ks(e){return On(e)?e.children?e.children[0]:void 0:e}function Zn(e,t){e.shapeFlag&6&&e.component?Zn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ri(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;iie({name:e.name},t,{setup:e}))():e}const mt=e=>!!e.type.__asyncLoader,On=e=>e.type.__isKeepAlive;function al(e,t){oi(e,"a",t)}function ul(e,t){oi(e,"da",t)}function oi(e,t,n=oe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Pn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)On(r.parent.vnode)&&fl(s,t,n,r),r=r.parent}}function fl(e,t,n,s){const r=Pn(t,e,s,!0);In(()=>{ls(s[t],r)},n)}function Pn(e,t,n=oe,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;Ct(),vt(n);const l=xe(t,n,e,o);return ot(),Et(),l});return s?r.unshift(i):r.push(i),i}}const De=e=>(t,n=oe)=>(!Bt||e==="sp")&&Pn(e,(...s)=>t(...s),n),dl=De("bm"),xt=De("m"),hl=De("bu"),pl=De("u"),li=De("bum"),In=De("um"),gl=De("sp"),ml=De("rtg"),_l=De("rtc");function yl(e,t=oe){Pn("ec",e,t)}const ws="components",bl="directives";function Aa(e,t){return Cs(ws,e,!0,t)||e}const ci=Symbol.for("v-ndc");function Sa(e){return se(e)?Cs(ws,e,!1)||e:e||ci}function Oa(e){return Cs(bl,e)}function Cs(e,t,n=!0,s=!1){const r=ae||oe;if(r){const i=r.type;if(e===ws){const l=Xl(i,!1);if(l&&(l===t||l===Le(t)||l===_n(Le(t))))return i}const o=Ws(r[e]||i[e],t)||Ws(r.appContext[e],t);return!o&&s?i:o}}function Ws(e,t){return e&&(e[t]||e[Le(t)]||e[_n(Le(t))])}function Pa(e,t,n,s){let r;const i=n&&n[s];if(D(e)||se(e)){r=new Array(e.length);for(let o=0,l=e.length;ot(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;lhn(t)?!(t.type===ve||t.type===pe&&!ai(t.children)):!0)?e:null}function Ra(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:tn(s)]=e[s];return n}const Gn=e=>e?xi(e)?Mn(e)||e.proxy:Gn(e.parent):null,Ft=ie(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Gn(e.parent),$root:e=>Gn(e.root),$emit:e=>e.emit,$options:e=>Es(e),$forceUpdate:e=>e.f||(e.f=()=>vs(e.update)),$nextTick:e=>e.n||(e.n=xn.bind(e.proxy)),$watch:e=>il.bind(e)}),jn=(e,t)=>e!==te&&!e.__isScriptSetup&&z(e,t),vl={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let u;if(t[0]!=="$"){const A=o[t];if(A!==void 0)switch(A){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(jn(s,t))return o[t]=1,s[t];if(r!==te&&z(r,t))return o[t]=2,r[t];if((u=e.propsOptions[0])&&z(u,t))return o[t]=3,i[t];if(n!==te&&z(n,t))return o[t]=4,n[t];es&&(o[t]=0)}}const d=Ft[t];let h,b;if(d)return t==="$attrs"&&ge(e,"get",t),d(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==te&&z(n,t))return o[t]=4,n[t];if(b=c.config.globalProperties,z(b,t))return b[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return jn(r,t)?(r[t]=n,!0):s!==te&&z(s,t)?(s[t]=n,!0):z(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==te&&z(e,o)||jn(t,o)||(l=i[0])&&z(l,o)||z(s,o)||z(Ft,o)||z(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:z(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Fa(){return wl().slots}function wl(){const e=Fn();return e.setupContext||(e.setupContext=Ai(e))}function Vs(e){return D(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let es=!0;function Cl(e){const t=Es(e),n=e.proxy,s=e.ctx;es=!1,t.beforeCreate&&qs(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:u,created:d,beforeMount:h,mounted:b,beforeUpdate:A,updated:P,activated:O,deactivated:B,beforeDestroy:g,beforeUnmount:w,destroyed:$,unmounted:x,render:j,renderTracked:q,renderTriggered:k,errorCaptured:m,serverPrefetch:F,expose:M,inheritAttrs:J,components:I,directives:W,filters:L}=t;if(u&&El(u,s,null),o)for(const ne in o){const Z=o[ne];K(Z)&&(s[ne]=Z.bind(n))}if(r){const ne=r.call(n,n);ee(ne)&&(e.data=wn(ne))}if(es=!0,i)for(const ne in i){const Z=i[ne],Je=K(Z)?Z.bind(n,n):K(Z.get)?Z.get.bind(n,n):Pe,kt=!K(Z)&&K(Z.set)?Z.set.bind(n):Pe,Xe=ce({get:Je,set:kt});Object.defineProperty(s,ne,{enumerable:!0,configurable:!0,get:()=>Xe.value,set:Ie=>Xe.value=Ie})}if(l)for(const ne in l)ui(l[ne],s,n,ne);if(c){const ne=K(c)?c.call(n):c;Reflect.ownKeys(ne).forEach(Z=>{Pl(Z,ne[Z])})}d&&qs(d,e,"c");function X(ne,Z){D(Z)?Z.forEach(Je=>ne(Je.bind(n))):Z&&ne(Z.bind(n))}if(X(dl,h),X(xt,b),X(hl,A),X(pl,P),X(al,O),X(ul,B),X(yl,m),X(_l,q),X(ml,k),X(li,w),X(In,x),X(gl,F),D(M))if(M.length){const ne=e.exposed||(e.exposed={});M.forEach(Z=>{Object.defineProperty(ne,Z,{get:()=>n[Z],set:Je=>n[Z]=Je})})}else e.exposed||(e.exposed={});j&&e.render===Pe&&(e.render=j),J!=null&&(e.inheritAttrs=J),I&&(e.components=I),W&&(e.directives=W)}function El(e,t,n=Pe){D(e)&&(e=ts(e));for(const s in e){const r=e[s];let i;ee(r)?"default"in r?i=_t(r.from||s,r.default,!0):i=_t(r.from||s):i=_t(r),le(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function qs(e,t,n){xe(D(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function ui(e,t,n,s){const r=s.includes(".")?ti(n,s):()=>n[s];if(se(e)){const i=t[e];K(i)&&qe(r,i)}else if(K(e))qe(r,e.bind(n));else if(ee(e))if(D(e))e.forEach(i=>ui(i,t,n,s));else{const i=K(e.handler)?e.handler.bind(n):t[e.handler];K(i)&&qe(r,i,e)}}function Es(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>un(c,u,o,!0)),un(c,t,o)),ee(t)&&i.set(t,c),c}function un(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&un(e,i,n,!0),r&&r.forEach(o=>un(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=xl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const xl={data:zs,props:Ys,emits:Ys,methods:Pt,computed:Pt,beforeCreate:de,created:de,beforeMount:de,mounted:de,beforeUpdate:de,updated:de,beforeDestroy:de,beforeUnmount:de,destroyed:de,unmounted:de,activated:de,deactivated:de,errorCaptured:de,serverPrefetch:de,components:Pt,directives:Pt,watch:Al,provide:zs,inject:Tl};function zs(e,t){return t?e?function(){return ie(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function Tl(e,t){return Pt(ts(e),ts(t))}function ts(e){if(D(e)){const t={};for(let n=0;n1)return n&&K(t)?t.call(s&&s.proxy):t}}function Il(e,t,n,s=!1){const r={},i={};rn(i,Rn,1),e.propsDefaults=Object.create(null),di(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Ho(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Rl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=Y(r),[c]=e.propsOptions;let u=!1;if((s||o>0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[b,A]=hi(h,t,!0);ie(o,b),A&&l.push(...A)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!c)return ee(e)&&s.set(e,dt),dt;if(D(i))for(let d=0;d-1,A[1]=O<0||P-1||z(A,"default"))&&l.push(h)}}}const u=[o,l];return ee(e)&&s.set(e,u),u}function Js(e){return e[0]!=="$"}function Xs(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Qs(e,t){return Xs(e)===Xs(t)}function Zs(e,t){return D(t)?t.findIndex(n=>Qs(n,e)):K(t)&&Qs(t,e)?0:-1}const pi=e=>e[0]==="_"||e==="$stable",xs=e=>D(e)?e.map(Ae):[Ae(e)],Fl=(e,t,n)=>{if(t._n)return t;const s=Go((...r)=>xs(t(...r)),n);return s._c=!1,s},gi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(pi(r))continue;const i=e[r];if(K(i))t[r]=Fl(r,i,s);else if(i!=null){const o=xs(i);t[r]=()=>o}}},mi=(e,t)=>{const n=xs(t);e.slots.default=()=>n},Ml=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=Y(t),rn(t,"_",n)):gi(t,e.slots={})}else e.slots={},t&&mi(e,t);rn(e.slots,Rn,1)},Ll=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=te;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(ie(r,t),!n&&l===1&&delete r._):(i=!t.$stable,gi(t,r)),o=t}else t&&(mi(e,t),o={default:1});if(i)for(const l in r)!pi(l)&&!(l in o)&&delete r[l]};function dn(e,t,n,s,r=!1){if(D(e)){e.forEach((b,A)=>dn(b,t&&(D(t)?t[A]:t),n,s,r));return}if(mt(s)&&!r)return;const i=s.shapeFlag&4?Mn(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:c}=e,u=t&&t.r,d=l.refs===te?l.refs={}:l.refs,h=l.setupState;if(u!=null&&u!==c&&(se(u)?(d[u]=null,z(h,u)&&(h[u]=null)):le(u)&&(u.value=null)),K(c))Ve(c,l,12,[o,d]);else{const b=se(c),A=le(c);if(b||A){const P=()=>{if(e.f){const O=b?z(h,c)?h[c]:d[c]:c.value;r?D(O)&&ls(O,i):D(O)?O.includes(i)||O.push(i):b?(d[c]=[i],z(h,c)&&(h[c]=d[c])):(c.value=[i],e.k&&(d[e.k]=c.value))}else b?(d[c]=o,z(h,c)&&(h[c]=o)):A&&(c.value=o,e.k&&(d[e.k]=o))};o?(P.id=-1,he(P,n)):P()}}}let Be=!1;const Xt=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Qt=e=>e.nodeType===8;function Nl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:u}}=e,d=(g,w)=>{if(!w.hasChildNodes()){n(null,g,w),cn(),w._vnode=g;return}Be=!1,h(w.firstChild,g,null,null,null),cn(),w._vnode=g,Be&&console.error("Hydration completed but contains mismatches.")},h=(g,w,$,x,j,q=!1)=>{const k=Qt(g)&&g.data==="[",m=()=>O(g,w,$,x,j,k),{type:F,ref:M,shapeFlag:J,patchFlag:I}=w;let W=g.nodeType;w.el=g,I===-2&&(q=!1,w.dynamicChildren=null);let L=null;switch(F){case bt:W!==3?w.children===""?(c(w.el=r(""),o(g),g),L=g):L=m():(g.data!==w.children&&(Be=!0,g.data=w.children),L=i(g));break;case ve:W!==8||k?L=m():L=i(g);break;case Mt:if(k&&(g=i(g),W=g.nodeType),W===1||W===3){L=g;const me=!w.children.length;for(let X=0;X{q=q||!!w.dynamicChildren;const{type:k,props:m,patchFlag:F,shapeFlag:M,dirs:J}=w,I=k==="input"&&J||k==="option";if(I||F!==-1){if(J&&Fe(w,null,$,"created"),m)if(I||!q||F&48)for(const L in m)(I&&L.endsWith("value")||Ut(L)&&!It(L))&&s(g,L,null,m[L],!1,void 0,$);else m.onClick&&s(g,"onClick",null,m.onClick,!1,void 0,$);let W;if((W=m&&m.onVnodeBeforeMount)&&Ce(W,$,w),J&&Fe(w,null,$,"beforeMount"),((W=m&&m.onVnodeMounted)||J)&&Gr(()=>{W&&Ce(W,$,w),J&&Fe(w,null,$,"mounted")},x),M&16&&!(m&&(m.innerHTML||m.textContent))){let L=A(g.firstChild,w,g,$,x,j,q);for(;L;){Be=!0;const me=L;L=L.nextSibling,l(me)}}else M&8&&g.textContent!==w.children&&(Be=!0,g.textContent=w.children)}return g.nextSibling},A=(g,w,$,x,j,q,k)=>{k=k||!!w.dynamicChildren;const m=w.children,F=m.length;for(let M=0;M{const{slotScopeIds:k}=w;k&&(j=j?j.concat(k):k);const m=o(g),F=A(i(g),w,m,$,x,j,q);return F&&Qt(F)&&F.data==="]"?i(w.anchor=F):(Be=!0,c(w.anchor=u("]"),m,F),F)},O=(g,w,$,x,j,q)=>{if(Be=!0,w.el=null,q){const F=B(g);for(;;){const M=i(g);if(M&&M!==F)l(M);else break}}const k=i(g),m=o(g);return l(g),n(null,w,m,k,$,x,Xt(m),j),k},B=g=>{let w=0;for(;g;)if(g=i(g),g&&Qt(g)&&(g.data==="["&&w++,g.data==="]")){if(w===0)return i(g);w--}return g};return[d,h]}const he=Gr;function Hl(e){return $l(e,Nl)}function $l(e,t){const n=qn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:u,setElementText:d,parentNode:h,nextSibling:b,setScopeId:A=Pe,insertStaticContent:P}=e,O=(a,f,p,y=null,_=null,E=null,S=!1,C=null,T=!!f.dynamicChildren)=>{if(a===f)return;a&&!tt(a,f)&&(y=Kt(a),Ie(a,_,E,!0),a=null),f.patchFlag===-2&&(T=!1,f.dynamicChildren=null);const{type:v,ref:N,shapeFlag:R}=f;switch(v){case bt:B(a,f,p,y);break;case ve:g(a,f,p,y);break;case Mt:a==null&&w(f,p,y,S);break;case pe:I(a,f,p,y,_,E,S,C,T);break;default:R&1?j(a,f,p,y,_,E,S,C,T):R&6?W(a,f,p,y,_,E,S,C,T):(R&64||R&128)&&v.process(a,f,p,y,_,E,S,C,T,at)}N!=null&&_&&dn(N,a&&a.ref,E,f||a,!f)},B=(a,f,p,y)=>{if(a==null)s(f.el=l(f.children),p,y);else{const _=f.el=a.el;f.children!==a.children&&u(_,f.children)}},g=(a,f,p,y)=>{a==null?s(f.el=c(f.children||""),p,y):f.el=a.el},w=(a,f,p,y)=>{[a.el,a.anchor]=P(a.children,f,p,y,a.el,a.anchor)},$=({el:a,anchor:f},p,y)=>{let _;for(;a&&a!==f;)_=b(a),s(a,p,y),a=_;s(f,p,y)},x=({el:a,anchor:f})=>{let p;for(;a&&a!==f;)p=b(a),r(a),a=p;r(f)},j=(a,f,p,y,_,E,S,C,T)=>{S=S||f.type==="svg",a==null?q(f,p,y,_,E,S,C,T):F(a,f,_,E,S,C,T)},q=(a,f,p,y,_,E,S,C)=>{let T,v;const{type:N,props:R,shapeFlag:H,transition:U,dirs:V}=a;if(T=a.el=o(a.type,E,R&&R.is,R),H&8?d(T,a.children):H&16&&m(a.children,T,null,y,_,E&&N!=="foreignObject",S,C),V&&Fe(a,null,y,"created"),k(T,a,a.scopeId,S,y),R){for(const Q in R)Q!=="value"&&!It(Q)&&i(T,Q,null,R[Q],E,a.children,y,_,Ne);"value"in R&&i(T,"value",null,R.value),(v=R.onVnodeBeforeMount)&&Ce(v,y,a)}V&&Fe(a,null,y,"beforeMount");const G=(!_||_&&!_.pendingBranch)&&U&&!U.persisted;G&&U.beforeEnter(T),s(T,f,p),((v=R&&R.onVnodeMounted)||G||V)&&he(()=>{v&&Ce(v,y,a),G&&U.enter(T),V&&Fe(a,null,y,"mounted")},_)},k=(a,f,p,y,_)=>{if(p&&A(a,p),y)for(let E=0;E{for(let v=T;v{const C=f.el=a.el;let{patchFlag:T,dynamicChildren:v,dirs:N}=f;T|=a.patchFlag&16;const R=a.props||te,H=f.props||te;let U;p&&Qe(p,!1),(U=H.onVnodeBeforeUpdate)&&Ce(U,p,f,a),N&&Fe(f,a,p,"beforeUpdate"),p&&Qe(p,!0);const V=_&&f.type!=="foreignObject";if(v?M(a.dynamicChildren,v,C,p,y,V,E):S||Z(a,f,C,null,p,y,V,E,!1),T>0){if(T&16)J(C,f,R,H,p,y,_);else if(T&2&&R.class!==H.class&&i(C,"class",null,H.class,_),T&4&&i(C,"style",R.style,H.style,_),T&8){const G=f.dynamicProps;for(let Q=0;Q{U&&Ce(U,p,f,a),N&&Fe(f,a,p,"updated")},y)},M=(a,f,p,y,_,E,S)=>{for(let C=0;C{if(p!==y){if(p!==te)for(const C in p)!It(C)&&!(C in y)&&i(a,C,p[C],null,S,f.children,_,E,Ne);for(const C in y){if(It(C))continue;const T=y[C],v=p[C];T!==v&&C!=="value"&&i(a,C,v,T,S,f.children,_,E,Ne)}"value"in y&&i(a,"value",p.value,y.value)}},I=(a,f,p,y,_,E,S,C,T)=>{const v=f.el=a?a.el:l(""),N=f.anchor=a?a.anchor:l("");let{patchFlag:R,dynamicChildren:H,slotScopeIds:U}=f;U&&(C=C?C.concat(U):U),a==null?(s(v,p,y),s(N,p,y),m(f.children,p,N,_,E,S,C,T)):R>0&&R&64&&H&&a.dynamicChildren?(M(a.dynamicChildren,H,p,_,E,S,C),(f.key!=null||_&&f===_.subTree)&&_i(a,f,!0)):Z(a,f,p,N,_,E,S,C,T)},W=(a,f,p,y,_,E,S,C,T)=>{f.slotScopeIds=C,a==null?f.shapeFlag&512?_.ctx.activate(f,p,y,S,T):L(f,p,y,_,E,S,T):me(a,f,T)},L=(a,f,p,y,_,E,S)=>{const C=a.component=ql(a,y,_);if(On(a)&&(C.ctx.renderer=at),zl(C),C.asyncDep){if(_&&_.registerDep(C,X),!a.el){const T=C.subTree=ue(ve);g(null,T,f,p)}return}X(C,a,f,p,_,E,S)},me=(a,f,p)=>{const y=f.component=a.component;if(nl(a,f,p))if(y.asyncDep&&!y.asyncResolved){ne(y,f,p);return}else y.next=f,Jo(y.update),y.update();else f.el=a.el,y.vnode=f},X=(a,f,p,y,_,E,S)=>{const C=()=>{if(a.isMounted){let{next:N,bu:R,u:H,parent:U,vnode:V}=a,G=N,Q;Qe(a,!1),N?(N.el=V.el,ne(a,N,S)):N=V,R&&Hn(R),(Q=N.props&&N.props.onVnodeBeforeUpdate)&&Ce(Q,U,N,V),Qe(a,!0);const re=$n(a),Te=a.subTree;a.subTree=re,O(Te,re,h(Te.el),Kt(Te),a,_,E),N.el=re.el,G===null&&sl(a,re.el),H&&he(H,_),(Q=N.props&&N.props.onVnodeUpdated)&&he(()=>Ce(Q,U,N,V),_)}else{let N;const{el:R,props:H}=f,{bm:U,m:V,parent:G}=a,Q=mt(f);if(Qe(a,!1),U&&Hn(U),!Q&&(N=H&&H.onVnodeBeforeMount)&&Ce(N,G,f),Qe(a,!0),R&&Nn){const re=()=>{a.subTree=$n(a),Nn(R,a.subTree,a,_,null)};Q?f.type.__asyncLoader().then(()=>!a.isUnmounted&&re()):re()}else{const re=a.subTree=$n(a);O(null,re,p,y,a,_,E),f.el=re.el}if(V&&he(V,_),!Q&&(N=H&&H.onVnodeMounted)){const re=f;he(()=>Ce(N,G,re),_)}(f.shapeFlag&256||G&&mt(G.vnode)&&G.vnode.shapeFlag&256)&&a.a&&he(a.a,_),a.isMounted=!0,f=p=y=null}},T=a.effect=new fs(C,()=>vs(v),a.scope),v=a.update=()=>T.run();v.id=a.uid,Qe(a,!0),v()},ne=(a,f,p)=>{f.component=a;const y=a.vnode.props;a.vnode=f,a.next=null,Rl(a,f.props,y,p),Ll(a,f.children,p),Ct(),Us(),Et()},Z=(a,f,p,y,_,E,S,C,T=!1)=>{const v=a&&a.children,N=a?a.shapeFlag:0,R=f.children,{patchFlag:H,shapeFlag:U}=f;if(H>0){if(H&128){kt(v,R,p,y,_,E,S,C,T);return}else if(H&256){Je(v,R,p,y,_,E,S,C,T);return}}U&8?(N&16&&Ne(v,_,E),R!==v&&d(p,R)):N&16?U&16?kt(v,R,p,y,_,E,S,C,T):Ne(v,_,E,!0):(N&8&&d(p,""),U&16&&m(R,p,y,_,E,S,C,T))},Je=(a,f,p,y,_,E,S,C,T)=>{a=a||dt,f=f||dt;const v=a.length,N=f.length,R=Math.min(v,N);let H;for(H=0;HN?Ne(a,_,E,!0,!1,R):m(f,p,y,_,E,S,C,T,R)},kt=(a,f,p,y,_,E,S,C,T)=>{let v=0;const N=f.length;let R=a.length-1,H=N-1;for(;v<=R&&v<=H;){const U=a[v],V=f[v]=T?Ke(f[v]):Ae(f[v]);if(tt(U,V))O(U,V,p,null,_,E,S,C,T);else break;v++}for(;v<=R&&v<=H;){const U=a[R],V=f[H]=T?Ke(f[H]):Ae(f[H]);if(tt(U,V))O(U,V,p,null,_,E,S,C,T);else break;R--,H--}if(v>R){if(v<=H){const U=H+1,V=UH)for(;v<=R;)Ie(a[v],_,E,!0),v++;else{const U=v,V=v,G=new Map;for(v=V;v<=H;v++){const _e=f[v]=T?Ke(f[v]):Ae(f[v]);_e.key!=null&&G.set(_e.key,v)}let Q,re=0;const Te=H-V+1;let ut=!1,Is=0;const Tt=new Array(Te);for(v=0;v=Te){Ie(_e,_,E,!0);continue}let Re;if(_e.key!=null)Re=G.get(_e.key);else for(Q=V;Q<=H;Q++)if(Tt[Q-V]===0&&tt(_e,f[Q])){Re=Q;break}Re===void 0?Ie(_e,_,E,!0):(Tt[Re-V]=v+1,Re>=Is?Is=Re:ut=!0,O(_e,f[Re],p,null,_,E,S,C,T),re++)}const Rs=ut?Dl(Tt):dt;for(Q=Rs.length-1,v=Te-1;v>=0;v--){const _e=V+v,Re=f[_e],Fs=_e+1{const{el:E,type:S,transition:C,children:T,shapeFlag:v}=a;if(v&6){Xe(a.component.subTree,f,p,y);return}if(v&128){a.suspense.move(f,p,y);return}if(v&64){S.move(a,f,p,at);return}if(S===pe){s(E,f,p);for(let R=0;RC.enter(E),_);else{const{leave:R,delayLeave:H,afterLeave:U}=C,V=()=>s(E,f,p),G=()=>{R(E,()=>{V(),U&&U()})};H?H(E,V,G):G()}else s(E,f,p)},Ie=(a,f,p,y=!1,_=!1)=>{const{type:E,props:S,ref:C,children:T,dynamicChildren:v,shapeFlag:N,patchFlag:R,dirs:H}=a;if(C!=null&&dn(C,null,p,a,!0),N&256){f.ctx.deactivate(a);return}const U=N&1&&H,V=!mt(a);let G;if(V&&(G=S&&S.onVnodeBeforeUnmount)&&Ce(G,f,a),N&6)Wi(a.component,p,y);else{if(N&128){a.suspense.unmount(p,y);return}U&&Fe(a,null,f,"beforeUnmount"),N&64?a.type.remove(a,f,p,_,at,y):v&&(E!==pe||R>0&&R&64)?Ne(v,f,p,!1,!0):(E===pe&&R&384||!_&&N&16)&&Ne(T,f,p),y&&Os(a)}(V&&(G=S&&S.onVnodeUnmounted)||U)&&he(()=>{G&&Ce(G,f,a),U&&Fe(a,null,f,"unmounted")},p)},Os=a=>{const{type:f,el:p,anchor:y,transition:_}=a;if(f===pe){Ki(p,y);return}if(f===Mt){x(a);return}const E=()=>{r(p),_&&!_.persisted&&_.afterLeave&&_.afterLeave()};if(a.shapeFlag&1&&_&&!_.persisted){const{leave:S,delayLeave:C}=_,T=()=>S(p,E);C?C(a.el,E,T):T()}else E()},Ki=(a,f)=>{let p;for(;a!==f;)p=b(a),r(a),a=p;r(f)},Wi=(a,f,p)=>{const{bum:y,scope:_,update:E,subTree:S,um:C}=a;y&&Hn(y),_.stop(),E&&(E.active=!1,Ie(S,a,f,p)),C&&he(C,f),he(()=>{a.isUnmounted=!0},f),f&&f.pendingBranch&&!f.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===f.pendingId&&(f.deps--,f.deps===0&&f.resolve())},Ne=(a,f,p,y=!1,_=!1,E=0)=>{for(let S=E;Sa.shapeFlag&6?Kt(a.component.subTree):a.shapeFlag&128?a.suspense.next():b(a.anchor||a.el),Ps=(a,f,p)=>{a==null?f._vnode&&Ie(f._vnode,null,null,!0):O(f._vnode||null,a,f,null,null,null,p),Us(),cn(),f._vnode=a},at={p:O,um:Ie,m:Xe,r:Os,mt:L,mc:m,pc:Z,pbc:M,n:Kt,o:e};let Ln,Nn;return t&&([Ln,Nn]=t(at)),{render:Ps,hydrate:Ln,createApp:Ol(Ps,Ln)}}function Qe({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function _i(e,t,n=!1){const s=e.children,r=t.children;if(D(s)&&D(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const jl=e=>e.__isTeleport,pe=Symbol.for("v-fgt"),bt=Symbol.for("v-txt"),ve=Symbol.for("v-cmt"),Mt=Symbol.for("v-stc"),Lt=[];let Oe=null;function yi(e=!1){Lt.push(Oe=e?null:[])}function Bl(){Lt.pop(),Oe=Lt[Lt.length-1]||null}let jt=1;function Gs(e){jt+=e}function bi(e){return e.dynamicChildren=jt>0?Oe||dt:null,Bl(),jt>0&&Oe&&Oe.push(e),e}function Ma(e,t,n,s,r,i){return bi(Ci(e,t,n,s,r,i,!0))}function vi(e,t,n,s,r){return bi(ue(e,t,n,s,r,!0))}function hn(e){return e?e.__v_isVNode===!0:!1}function tt(e,t){return e.type===t.type&&e.key===t.key}const Rn="__vInternal",wi=({key:e})=>e??null,nn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||le(e)||K(e)?{i:ae,r:e,k:t,f:!!n}:e:null);function Ci(e,t=null,n=null,s=0,r=null,i=e===pe?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&wi(t),ref:t&&nn(t),scopeId:An,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ae};return l?(Ts(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),jt>0&&!o&&Oe&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Oe.push(c),c}const ue=Ul;function Ul(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===ci)&&(e=ve),hn(e)){const l=Ye(e,t,!0);return n&&Ts(l,n),jt>0&&!i&&Oe&&(l.shapeFlag&6?Oe[Oe.indexOf(e)]=l:Oe.push(l)),l.patchFlag|=-2,l}if(Ql(e)&&(e=e.__vccOpts),t){t=kl(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=bn(l)),ee(c)&&(Wr(c)&&!D(c)&&(c=ie({},c)),t.style=yn(c))}const o=se(e)?1:rl(e)?128:jl(e)?64:ee(e)?4:K(e)?2:0;return Ci(e,t,n,s,r,o,i,!0)}function kl(e){return e?Wr(e)||Rn in e?ie({},e):e:null}function Ye(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?Kl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&wi(l),ref:t&&t.ref?n&&r?D(r)?r.concat(nn(t)):[r,nn(t)]:nn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==pe?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ye(e.ssContent),ssFallback:e.ssFallback&&Ye(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Ei(e=" ",t=0){return ue(bt,null,e,t)}function La(e,t){const n=ue(Mt,null,e);return n.staticCount=t,n}function Na(e="",t=!1){return t?(yi(),vi(ve,null,e)):ue(ve,null,e)}function Ae(e){return e==null||typeof e=="boolean"?ue(ve):D(e)?ue(pe,null,e.slice()):typeof e=="object"?Ke(e):ue(bt,null,String(e))}function Ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ye(e)}function Ts(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(D(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Ts(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Rn in t)?t._ctx=ae:r===3&&ae&&(ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:ae},n=32):(t=String(t),s&64?(n=16,t=[Ei(t)]):n=8);e.children=t,e.shapeFlag|=n}function Kl(...e){const t={};for(let n=0;noe||ae;let As,ft,er="__VUE_INSTANCE_SETTERS__";(ft=qn()[er])||(ft=qn()[er]=[]),ft.push(e=>oe=e),As=e=>{ft.length>1?ft.forEach(t=>t(e)):ft[0](e)};const vt=e=>{As(e),e.scope.on()},ot=()=>{oe&&oe.scope.off(),As(null)};function xi(e){return e.vnode.shapeFlag&4}let Bt=!1;function zl(e,t=!1){Bt=t;const{props:n,children:s}=e.vnode,r=xi(e);Il(e,n,r,t),Ml(e,s);const i=r?Yl(e,t):void 0;return Bt=!1,i}function Yl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Rt(new Proxy(e.ctx,vl));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Ai(e):null;vt(e),Ct();const i=Ve(s,e,0,[e.props,r]);if(Et(),ot(),Or(i)){if(i.then(ot,ot),t)return i.then(o=>{tr(e,o,t)}).catch(o=>{En(o,e,0)});e.asyncDep=i}else tr(e,i,t)}else Ti(e,t)}function tr(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=Yr(t)),Ti(e,n)}let nr;function Ti(e,t,n){const s=e.type;if(!e.render){if(!t&&nr&&!s.render){const r=s.template||Es(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,u=ie(ie({isCustomElement:i,delimiters:l},o),c);s.render=nr(r,u)}}e.render=s.render||Pe}vt(e),Ct(),Cl(e),Et(),ot()}function Jl(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return ge(e,"get","$attrs"),t[n]}}))}function Ai(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Jl(e)},slots:e.slots,emit:e.emit,expose:t}}function Mn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Yr(Rt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ft)return Ft[n](e)},has(t,n){return n in t||n in Ft}}))}function Xl(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function Ql(e){return K(e)&&"__vccOpts"in e}const ce=(e,t)=>qo(e,t,Bt);function ss(e,t,n){const s=arguments.length;return s===2?ee(t)&&!D(t)?hn(t)?ue(e,null,[t]):ue(e,t):ue(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&hn(n)&&(n=[n]),ue(e,t,n))}const Zl=Symbol.for("v-scx"),Gl=()=>_t(Zl),ec="3.3.4",tc="http://www.w3.org/2000/svg",nt=typeof document<"u"?document:null,sr=nt&&nt.createElement("template"),nc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?nt.createElementNS(tc,e):nt.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>nt.createTextNode(e),createComment:e=>nt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>nt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{sr.innerHTML=s?`${e}`:e;const l=sr.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function sc(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function rc(e,t,n){const s=e.style,r=se(n);if(n&&!r){if(t&&!se(t))for(const i in t)n[i]==null&&rs(s,i,"");for(const i in n)rs(s,i,n[i])}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const rr=/\s*!important$/;function rs(e,t,n){if(D(n))n.forEach(s=>rs(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=ic(e,t);rr.test(n)?e.setProperty(ct(s),n.replace(rr,""),"important"):e[s]=n}}const ir=["Webkit","Moz","ms"],Bn={};function ic(e,t){const n=Bn[t];if(n)return n;let s=Le(t);if(s!=="filter"&&s in e)return Bn[t]=s;s=_n(s);for(let r=0;rUn||(dc.then(()=>Un=0),Un=Date.now());function pc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;xe(gc(s,n.value),t,5,[s])};return n.value=e,n.attached=hc(),n}function gc(e,t){if(D(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const cr=/^on[a-z]/,mc=(e,t,n,s,r=!1,i,o,l,c)=>{t==="class"?sc(e,s,r):t==="style"?rc(e,n,s):Ut(t)?os(t)||uc(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):_c(e,t,s,r))?lc(e,t,s,i,o,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),oc(e,t,s,r))};function _c(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&cr.test(t)&&K(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||cr.test(t)&&se(n)?!1:t in e}const Ue="transition",At="animation",Si=(e,{slots:t})=>ss(cl,yc(e),t);Si.displayName="Transition";const Oi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};Si.props=ie({},ni,Oi);const Ze=(e,t=[])=>{D(e)?e.forEach(n=>n(...t)):e&&e(...t)},ar=e=>e?D(e)?e.some(t=>t.length>1):e.length>1:!1;function yc(e){const t={};for(const I in e)I in Oi||(t[I]=e[I]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:u=o,appearToClass:d=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:b=`${n}-leave-active`,leaveToClass:A=`${n}-leave-to`}=e,P=bc(r),O=P&&P[0],B=P&&P[1],{onBeforeEnter:g,onEnter:w,onEnterCancelled:$,onLeave:x,onLeaveCancelled:j,onBeforeAppear:q=g,onAppear:k=w,onAppearCancelled:m=$}=t,F=(I,W,L)=>{Ge(I,W?d:l),Ge(I,W?u:o),L&&L()},M=(I,W)=>{I._isLeaving=!1,Ge(I,h),Ge(I,A),Ge(I,b),W&&W()},J=I=>(W,L)=>{const me=I?k:w,X=()=>F(W,I,L);Ze(me,[W,X]),ur(()=>{Ge(W,I?c:i),ke(W,I?d:l),ar(me)||fr(W,s,O,X)})};return ie(t,{onBeforeEnter(I){Ze(g,[I]),ke(I,i),ke(I,o)},onBeforeAppear(I){Ze(q,[I]),ke(I,c),ke(I,u)},onEnter:J(!1),onAppear:J(!0),onLeave(I,W){I._isLeaving=!0;const L=()=>M(I,W);ke(I,h),Cc(),ke(I,b),ur(()=>{I._isLeaving&&(Ge(I,h),ke(I,A),ar(x)||fr(I,s,B,L))}),Ze(x,[I,L])},onEnterCancelled(I){F(I,!1),Ze($,[I])},onAppearCancelled(I){F(I,!0),Ze(m,[I])},onLeaveCancelled(I){M(I),Ze(j,[I])}})}function bc(e){if(e==null)return null;if(ee(e))return[kn(e.enter),kn(e.leave)];{const t=kn(e);return[t,t]}}function kn(e){return Zi(e)}function ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Ge(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function ur(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let vc=0;function fr(e,t,n,s){const r=e._endId=++vc,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=wc(e,t);if(!o)return s();const u=o+"end";let d=0;const h=()=>{e.removeEventListener(u,b),i()},b=A=>{A.target===e&&++d>=c&&h()};setTimeout(()=>{d(n[P]||"").split(", "),r=s(`${Ue}Delay`),i=s(`${Ue}Duration`),o=dr(r,i),l=s(`${At}Delay`),c=s(`${At}Duration`),u=dr(l,c);let d=null,h=0,b=0;t===Ue?o>0&&(d=Ue,h=o,b=i.length):t===At?u>0&&(d=At,h=u,b=c.length):(h=Math.max(o,u),d=h>0?o>u?Ue:At:null,b=d?d===Ue?i.length:c.length:0);const A=d===Ue&&/\b(transform|all)(,|$)/.test(s(`${Ue}Property`).toString());return{type:d,timeout:h,propCount:b,hasTransform:A}}function dr(e,t){for(;e.lengthhr(n)+hr(e[s])))}function hr(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function Cc(){return document.body.offsetHeight}const Ec=["ctrl","shift","alt","meta"],xc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Ec.some(n=>e[`${n}Key`]&&!t.includes(n))},Ha=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=ct(n.key);if(t.some(r=>r===s||Tc[r]===s))return e(n)},Da={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):St(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),St(e,!0),s.enter(e)):s.leave(e,()=>{St(e,!1)}):St(e,t))},beforeUnmount(e,{value:t}){St(e,t)}};function St(e,t){e.style.display=t?e._vod:"none"}const Ac=ie({patchProp:mc},nc);let Kn,pr=!1;function Sc(){return Kn=pr?Kn:Hl(Ac),pr=!0,Kn}const ja=(...e)=>{const t=Sc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Oc(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function Oc(e){return se(e)?document.querySelector(e):e}const Ba=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Pc="modulepreload",Ic=function(e){return"/Shmily/"+e},gr={},Ua=function(t,n,s){if(!n||n.length===0)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=Ic(i),i in gr)return;gr[i]=!0;const o=i.endsWith(".css"),l=o?'[rel="stylesheet"]':"";if(!!s)for(let d=r.length-1;d>=0;d--){const h=r[d];if(h.href===i&&(!o||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${l}`))return;const u=document.createElement("link");if(u.rel=o?"stylesheet":Pc,o||(u.as="script",u.crossOrigin=""),u.href=i,document.head.appendChild(u),o)return new Promise((d,h)=>{u.addEventListener("load",d),u.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t()).catch(i=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=i,window.dispatchEvent(o),!o.defaultPrevented)throw i})},Rc=window.__VP_SITE_DATA__;function Ss(e){return Mr()?(lo(e),!0):!1}function lt(e){return typeof e=="function"?e():zr(e)}const Pi=typeof window<"u"&&typeof document<"u",Fc=Object.prototype.toString,Mc=e=>Fc.call(e)==="[object Object]",Ii=()=>{},mr=Lc();function Lc(){var e;return Pi&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function Nc(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const Ri=e=>e();function Hc(e=Ri){const t=be(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...i)=>{t.value&&e(...i)};return{isActive:Cn(t),pause:n,resume:s,eventFilter:r}}function Fi(...e){if(e.length!==1)return Ko(...e);const t=e[0];return typeof t=="function"?Cn(Bo(()=>({get:t,set:Ii}))):be(t)}function $c(e,t,n={}){const{eventFilter:s=Ri,...r}=n;return qe(e,Nc(s,t),r)}function Dc(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:i,pause:o,resume:l,isActive:c}=Hc(s);return{stop:$c(e,t,{...r,eventFilter:i}),pause:o,resume:l,isActive:c}}function jc(e,t=!0){Fn()?xt(e):t?e():xn(e)}function Mi(e){var t;const n=lt(e);return(t=n==null?void 0:n.$el)!=null?t:n}const wt=Pi?window:void 0;function pn(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=wt):[t,n,s,r]=e,!t)return Ii;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const i=[],o=()=>{i.forEach(d=>d()),i.length=0},l=(d,h,b,A)=>(d.addEventListener(h,b,A),()=>d.removeEventListener(h,b,A)),c=qe(()=>[Mi(t),lt(r)],([d,h])=>{if(o(),!d)return;const b=Mc(h)?{...h}:h;i.push(...n.flatMap(A=>s.map(P=>l(d,A,P,b))))},{immediate:!0,flush:"post"}),u=()=>{c(),o()};return Ss(u),u}function Bc(){const e=be(!1);return Fn()&&xt(()=>{e.value=!0}),e}function Uc(e){const t=Bc();return ce(()=>(t.value,!!e()))}function kc(e,t={}){const{window:n=wt}=t,s=Uc(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const i=be(!1),o=u=>{i.value=u.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o))},c=ei(()=>{s.value&&(l(),r=n.matchMedia(lt(e)),"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),i.value=r.matches)});return Ss(()=>{c(),l(),r=void 0}),i}const Zt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Gt="__vueuse_ssr_handlers__",Kc=Wc();function Wc(){return Gt in Zt||(Zt[Gt]=Zt[Gt]||{}),Zt[Gt]}function Li(e,t){return Kc[e]||t}function Vc(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const qc={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},_r="vueuse-storage";function zc(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:d,window:h=wt,eventFilter:b,onError:A=m=>{console.error(m)}}=s,P=(d?Vr:be)(t);if(!n)try{n=Li("getDefaultStorage",()=>{var m;return(m=wt)==null?void 0:m.localStorage})()}catch(m){A(m)}if(!n)return P;const O=lt(t),B=Vc(O),g=(r=s.serializer)!=null?r:qc[B],{pause:w,resume:$}=Dc(P,()=>x(P.value),{flush:i,deep:o,eventFilter:b});return h&&l&&(pn(h,"storage",k),pn(h,_r,q)),k(),P;function x(m){try{if(m==null)n.removeItem(e);else{const F=g.write(m),M=n.getItem(e);M!==F&&(n.setItem(e,F),h&&h.dispatchEvent(new CustomEvent(_r,{detail:{key:e,oldValue:M,newValue:F,storageArea:n}})))}}catch(F){A(F)}}function j(m){const F=m?m.newValue:n.getItem(e);if(F==null)return c&&O!==null&&n.setItem(e,g.write(O)),O;if(!m&&u){const M=g.read(F);return typeof u=="function"?u(M,O):B==="object"&&!Array.isArray(M)?{...O,...M}:M}else return typeof F!="string"?F:g.read(F)}function q(m){k(m.detail)}function k(m){if(!(m&&m.storageArea!==n)){if(m&&m.key==null){P.value=O;return}if(!(m&&m.key!==e)){w();try{(m==null?void 0:m.newValue)!==g.write(P.value)&&(P.value=j(m))}catch(F){A(F)}finally{m?xn($):$()}}}}}function Yc(e){return kc("(prefers-color-scheme: dark)",e)}function Jc(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=wt,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:u,disableTransition:d=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},b=Yc({window:r}),A=ce(()=>b.value?"dark":"light"),P=c||(o==null?Fi(s):zc(o,s,i,{window:r,listenToStorageChanges:l})),O=ce(()=>P.value==="auto"?A.value:P.value),B=Li("updateHTMLAttrs",(x,j,q)=>{const k=typeof x=="string"?r==null?void 0:r.document.querySelector(x):Mi(x);if(!k)return;let m;if(d){m=r.document.createElement("style");const F="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";m.appendChild(document.createTextNode(F)),r.document.head.appendChild(m)}if(j==="class"){const F=q.split(/\s/g);Object.values(h).flatMap(M=>(M||"").split(/\s/g)).filter(Boolean).forEach(M=>{F.includes(M)?k.classList.add(M):k.classList.remove(M)})}else k.setAttribute(j,q);d&&(r.getComputedStyle(m).opacity,document.head.removeChild(m))});function g(x){var j;B(t,n,(j=h[x])!=null?j:x)}function w(x){e.onChanged?e.onChanged(x,g):g(x)}qe(O,w,{flush:"post",immediate:!0}),jc(()=>w(O.value));const $=ce({get(){return u?P.value:O.value},set(x){P.value=x}});try{return Object.assign($,{store:P,system:A,state:O})}catch{return $}}function Xc(e={}){const{valueDark:t="dark",valueLight:n=""}=e,s=Jc({...e,onChanged:(i,o)=>{var l;e.onChanged?(l=e.onChanged)==null||l.call(e,i==="dark",o,i):o(i)},modes:{dark:t,light:n}});return ce({get(){return s.value==="dark"},set(i){const o=i?"dark":"light";s.system.value===o?s.value="auto":s.value=o}})}function Wn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Ni(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}function ka(e,t=!1){const n=be(t);let s=null,r;qe(Fi(e),l=>{const c=Wn(lt(l));if(c){const u=c;r=u.style.overflow,n.value&&(u.style.overflow="hidden")}},{immediate:!0});const i=()=>{const l=Wn(lt(e));!l||n.value||(mr&&(s=pn(l,"touchmove",c=>{Qc(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},o=()=>{const l=Wn(lt(e));!l||!n.value||(mr&&(s==null||s()),l.style.overflow=r,n.value=!1)};return Ss(o),ce({get(){return n.value},set(l){l?i():o()}})}function Ka({window:e=wt}={}){if(!e)return{x:be(0),y:be(0)};const t=be(e.scrollX),n=be(e.scrollY);return pn(e,"scroll",()=>{t.value=e.scrollX,n.value=e.scrollY},{capture:!1,passive:!0}),{x:t,y:n}}const Hi=/^[a-z]+:/i,Zc="vitepress-theme-appearance",$i=/#.*$/,Gc=/(index)?\.(md|html)$/,Ee=typeof document<"u",Di={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function ea(e,t,n=!1){if(t===void 0)return!1;if(e=yr(`/${e}`),n)return new RegExp(t).test(e);if(yr(t)!==e)return!1;const s=t.match($i);return s?(Ee?location.hash:"")===s[0]:!0}function yr(e){return decodeURI(e).replace($i,"").replace(Gc,"")}function ta(e){return Hi.test(e)}function na(e,t){var s,r,i,o,l,c,u;const n=Object.keys(e.locales).find(d=>d!=="root"&&!ta(d)&&ea(t,`/${d}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:Bi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function ji(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=sa(e.title,s);return`${n}${r}`}function sa(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function ra(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function Bi(e,t){return[...e.filter(n=>!ra(t,n)),...t]}const ia=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,oa=/^[a-z]:/i;function br(e){const t=oa.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(ia,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const la=Symbol(),rt=Vr(Rc);function Wa(e){const t=ce(()=>na(rt.value,e.data.relativePath)),n=t.value.appearance?Xc({storageKey:Zc,initialValue:()=>typeof t.value.appearance=="string"?t.value.appearance:"auto",...typeof t.value.appearance=="object"?t.value.appearance:{}}):be(!1);return{site:t,theme:ce(()=>t.value.themeConfig),page:ce(()=>e.data),frontmatter:ce(()=>e.data.frontmatter),params:ce(()=>e.data.params),lang:ce(()=>t.value.lang),dir:ce(()=>t.value.dir),localeIndex:ce(()=>t.value.localeIndex||"root"),title:ce(()=>ji(t.value,e.data)),description:ce(()=>e.data.description||t.value.description),isDark:n}}function ca(){const e=_t(la);if(!e)throw new Error("vitepress data not properly injected in app");return e}function aa(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function vr(e){return Hi.test(e)||!e.startsWith("/")?e:aa(rt.value.base,e)}function ua(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ee){const n="/Shmily/";t=br(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${br(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let sn=[];function Va(e){sn.push(e),In(()=>{sn=sn.filter(t=>t!==e)})}const fa=Symbol(),wr="http://a.com",da=()=>({path:"/",component:null,data:Di});function qa(e,t){const n=wn(da()),s={route:n,go:r};async function r(l=Ee?location.href:"/"){var u,d;if(await((u=s.onBeforeRouteChange)==null?void 0:u.call(s,l))===!1)return;const c=new URL(l,wr);rt.value.cleanUrls||!c.pathname.endsWith("/")&&!c.pathname.endsWith(".html")&&(c.pathname+=".html",l=c.pathname+c.search+c.hash),xr(l),await o(l),await((d=s.onAfterRouteChanged)==null?void 0:d.call(s,l))}let i=null;async function o(l,c=0,u=!1){var b;if(await((b=s.onBeforePageLoad)==null?void 0:b.call(s,l))===!1)return;const d=new URL(l,wr),h=i=d.pathname;try{let A=await e(h);if(!A)throw new Error(`Page not found: ${h}`);if(i===h){i=null;const{default:P,__pageData:O}=A;if(!P)throw new Error(`Invalid route component: ${P}`);n.path=Ee?h:vr(h),n.component=Rt(P),n.data=Rt(O),Ee&&xn(()=>{let B=rt.value.base+O.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!rt.value.cleanUrls&&!B.endsWith("/")&&(B+=".html"),B!==d.pathname&&(d.pathname=B,l=B+d.search+d.hash,history.replaceState(null,"",l)),d.hash&&!c){let g=null;try{g=document.getElementById(decodeURIComponent(d.hash).slice(1))}catch(w){console.warn(w)}if(g){Cr(g,d.hash);return}}window.scrollTo(0,c)})}}catch(A){if(!/fetch|Page not found/.test(A.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(A),!u)try{const P=await fetch(rt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await P.json(),await o(l,c,!0);return}catch{}i===h&&(i=null,n.path=Ee?h:vr(h),n.component=t?Rt(t):null,n.data=Di)}}return Ee&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const u=l.target.closest("a");if(u&&!u.closest(".vp-raw")&&(u instanceof SVGElement||!u.download)){const{target:d}=u,{href:h,origin:b,pathname:A,hash:P,search:O}=new URL(u.href instanceof SVGAnimatedString?u.href.animVal:u.href,u.baseURI),B=window.location,g=A.match(/\.\w+$/);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!d&&b===B.origin&&!(g&&g[0]!==".html")&&(l.preventDefault(),A===B.pathname&&O===B.search?(P!==B.hash&&(history.pushState(null,"",P),window.dispatchEvent(new Event("hashchange"))),P?Cr(u,P,u.classList.contains("header-anchor")):(xr(h),window.scrollTo(0,0))):r(h))}},{capture:!0}),window.addEventListener("popstate",l=>{o(location.href,l.state&&l.state.scrollPosition||0)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function ha(){const e=_t(fa);if(!e)throw new Error("useRouter() is called without provider.");return e}function Ui(){return ha().route}function Cr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let u=function(){!n||Math.abs(c-window.scrollY)>window.innerHeight?window.scrollTo(0,c):window.scrollTo({left:0,top:c,behavior:"smooth"})},r=rt.value.scrollOffset,i=0,o=24;if(typeof r=="object"&&"padding"in r&&(o=r.padding,r=r.selector),typeof r=="number")i=r;else if(typeof r=="string")i=Er(r,o);else if(Array.isArray(r))for(const d of r){const h=Er(d,o);if(h){i=h;break}}const l=parseInt(window.getComputedStyle(s).paddingTop,10),c=window.scrollY+s.getBoundingClientRect().top-i+l;requestAnimationFrame(u)}}function Er(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}function xr(e){Ee&&e!==location.href&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e))}const Tr=()=>sn.forEach(e=>e()),za=ii({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Ui(),{site:n}=ca();return()=>ss(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?ss(t.component,{onVnodeMounted:Tr,onVnodeUpdated:Tr}):"404 Page Not Found"])}}),Ya=ii({setup(e,{slots:t}){const n=be(!1);return xt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Ja(){Ee&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(u=>u.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function Xa(){if(Ee){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className);let l="";i.querySelectorAll("span.line:not(.diff.remove)").forEach(c=>l+=(c.textContent||"")+` +`),l=l.slice(0,-1),o&&(l=l.replace(/^ *(\$|>) /gm,"").trim()),pa(l).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const c=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,c)})}})}}async function pa(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function Qa(e,t){let n=[],s=!0;const r=i=>{if(s){s=!1;return}n.forEach(o=>document.head.removeChild(o)),n=[],i.forEach(o=>{const l=Ar(o);document.head.appendChild(l),n.push(l)})};ei(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[];document.title=ji(o,i);const u=l||o.description;let d=document.querySelector("meta[name=description]");d?d.setAttribute("content",u):Ar(["meta",{name:"description",content:u}]),r(Bi(o.head,ma(c)))})}function Ar([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function ga(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function ma(e){return e.filter(t=>!ga(t))}const Vn=new Set,ki=()=>document.createElement("link"),_a=e=>{const t=ki();t.rel="prefetch",t.href=e,document.head.appendChild(t)},ya=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let en;const ba=Ee&&(en=ki())&&en.relList&&en.relList.supports&&en.relList.supports("prefetch")?_a:ya;function Za(){if(!Ee||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!Vn.has(c)){Vn.add(c);const u=ua(c);u&&ba(u)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):Vn.add(l))})})};xt(s);const r=Ui();qe(()=>r.path,s),In(()=>{n&&n.disconnect()})}export{va as $,xa as A,pl as B,Aa as C,Pa as D,Vr as E,pe as F,Va as G,ue as H,Hi as I,Sa as J,Ui as K,Kl as L,_t as M,yn as N,xn as O,Ka as P,La as Q,Cn as R,ka as S,Si as T,Pl as U,$a as V,Ra as W,Ha as X,Fa as Y,Oa as Z,Ba as _,Ei as a,kl as a0,Ta as a1,Da as a2,wn as a3,Qa as a4,fa as a5,Wa as a6,la as a7,za as a8,Ya as a9,rt as aa,ja as ab,qa as ac,ua as ad,Ua as ae,Za as af,Xa as ag,Ja as ah,ss as ai,vi as b,Ma as c,ii as d,Na as e,vr as f,ce as g,be as h,ta as i,xt as j,Ci as k,zr as l,Ea as m,bn as n,yi as o,Ca as p,ea as q,Ia as r,Ee as s,wa as t,ca as u,kc as v,Go as w,qe as x,ei as y,In as z}; diff --git a/assets/chunks/theme.16457b53.js b/assets/chunks/theme.16457b53.js deleted file mode 100644 index 7a9010fa..00000000 --- a/assets/chunks/theme.16457b53.js +++ /dev/null @@ -1,7 +0,0 @@ -import{d as g,o as a,c as i,r,n as M,a as I,t as P,_ as p,u as Qe,b as c,e as Je,f as Ae,g as Ze,h as x,i as et,j as tt,w as q,k as Q,l as k,m as nt,p as F,q as st,P as ot,s as he,v as K,x as ee,y as fe,z as u,F as S,A as y,B as v,T as pe,C as m,D as se,E as h,G as R,H as He,I as Ee,J as U,K as at,L as N,M as H,N as E,O as ct,Q as Be,R as me,S as oe,U as lt,V as J,W as ge,X as it,Y as rt,Z as ut,$ as dt,a0 as _t,a1 as vt}from"./framework.1a8457a3.js";const ht=g({__name:"VPBadge",props:{text:null,type:null},setup(e){return(t,n)=>(a(),i("span",{class:M(["VPBadge",e.type??"tip"])},[r(t.$slots,"default",{},()=>[I(P(e.text),1)],!0)],2))}});const ft=p(ht,[["__scopeId","data-v-350d3852"]]),V=Qe;function ze(e){return et()?(tt(e),!0):!1}function De(e){return typeof e=="function"?e():c(e)}const pt=typeof window<"u",Fe=()=>{};function mt(...e){if(e.length!==1)return Je(...e);const t=e[0];return typeof t=="function"?Ae(Ze(()=>({get:t,set:Fe}))):x(t)}function gt(e){var t;const n=De(e);return(t=n==null?void 0:n.$el)!=null?t:n}const ye=pt?window:void 0;function yt(...e){let t,n,s,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,o]=e,t=ye):[t,n,s,o]=e,!t)return Fe;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const l=[],d=()=>{l.forEach(L=>L()),l.length=0},f=(L,C,w,$)=>(L.addEventListener(C,w,$),()=>L.removeEventListener(C,w,$)),_=q(()=>[gt(t),De(o)],([L,C])=>{d(),L&&l.push(...n.flatMap(w=>s.map($=>f(L,w,$,C))))},{immediate:!0,flush:"post"}),b=()=>{_(),d()};return ze(b),b}function bt(){const e=x(!1);return nt()&&F(()=>{e.value=!0}),e}function kt(e){const t=bt();return k(()=>(t.value,!!e()))}function de(e,t={}){const{window:n=ye}=t,s=kt(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const l=x(!1),d=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",f):o.removeListener(f))},f=()=>{s.value&&(d(),o=n.matchMedia(mt(e).value),l.value=!!(o!=null&&o.matches),o&&("addEventListener"in o?o.addEventListener("change",f):o.addListener(f)))};return Q(f),ze(()=>d()),l}function $t({window:e=ye}={}){if(!e)return{x:x(0),y:x(0)};const t=x(e.scrollX),n=x(e.scrollY);return yt(e,"scroll",()=>{t.value=e.scrollX,n.value=e.scrollY},{capture:!1,passive:!0}),{x:t,y:n}}function Pt(e,t){let n,s=!1;return()=>{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),s=!0,setTimeout(()=>{s=!1},t))}}function _e(e){return/^\//.test(e)?e:`/${e}`}function Z(e){if(st(e))return e.replace(ot,"");const{site:t}=V(),{pathname:n,search:s,hash:o}=new URL(e,"http://example.com"),l=n.endsWith("/")||n.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${n.replace(/(\.md)?$/,t.value.cleanUrls?"":".html")}${s}${o}`);return he(l)}function Oe(e,t){if(Array.isArray(e))return e;if(e==null)return[];t=_e(t);const n=Object.keys(e).sort((s,o)=>o.split("/").length-s.split("/").length).find(s=>t.startsWith(_e(s)));return n?e[n]:[]}function Vt(e){const t=[];let n=0;for(const s in e){const o=e[s];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function wt(e){const t=[];function n(s){for(const o of s)o.text&&o.link&&t.push({text:o.text,link:o.link}),o.items&&n(o.items)}return n(e),t}function ve(e,t){return Array.isArray(t)?t.some(n=>ve(e,n)):K(e,t.link)?!0:t.items?ve(e,t.items):!1}function z(){const e=ee(),{theme:t,frontmatter:n}=V(),s=de("(min-width: 960px)"),o=x(!1),l=k(()=>{const B=t.value.sidebar,T=e.data.relativePath;return B?Oe(B,T):[]}),d=k(()=>n.value.sidebar!==!1&&l.value.length>0&&n.value.layout!=="home"),f=k(()=>_?n.value.aside==null?t.value.aside==="left":n.value.aside==="left":!1),_=k(()=>n.value.layout==="home"?!1:n.value.aside!=null?!!n.value.aside:t.value.aside!==!1),b=k(()=>d.value&&s.value),L=k(()=>d.value?Vt(l.value):[]);function C(){o.value=!0}function w(){o.value=!1}function $(){o.value?w():C()}return{isOpen:o,sidebar:l,sidebarGroups:L,hasSidebar:d,hasAside:_,leftAside:f,isSidebarEnabled:b,open:C,close:w,toggle:$}}function xt(e,t){let n;Q(()=>{n=e.value?document.activeElement:void 0}),F(()=>{window.addEventListener("keyup",s)}),fe(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function St(e){const{page:t}=V(),n=x(!1),s=k(()=>e.value.collapsed!=null),o=k(()=>!!e.value.link),l=k(()=>K(t.value.relativePath,e.value.link)),d=k(()=>l.value?!0:e.value.items?ve(t.value.relativePath,e.value.items):!1),f=k(()=>!!(e.value.items&&e.value.items.length));Q(()=>{n.value=!!(s.value&&e.value.collapsed)}),Q(()=>{(l.value||d.value)&&(n.value=!1)});function _(){s.value&&(n.value=!n.value)}return{collapsed:n,collapsible:s,isLink:o,isActiveLink:l,hasActiveLink:d,hasChildren:f,toggle:_}}const Lt=g({__name:"VPSkipLink",setup(e){const t=ee(),n=x();q(()=>t.path,()=>n.value.focus());function s({target:o}){const l=document.querySelector(decodeURIComponent(o.hash));if(l){const d=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",d)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",d),l.focus(),window.scrollTo(0,0)}}return(o,l)=>(a(),i(S,null,[u("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),u("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}});const Mt=p(Lt,[["__scopeId","data-v-c8616af1"]]),Ct={key:0,class:"VPBackdrop"},Bt=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(a(),y(pe,{name:"fade"},{default:v(()=>[e.show?(a(),i("div",Ct)):m("",!0)]),_:1}))}});const It=p(Bt,[["__scopeId","data-v-c79a1216"]]);function Nt(){const e=x(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function s(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const l=ee();return q(()=>l.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:s}}function te({removeCurrent:e=!0,correspondingLink:t=!1}={}){const{site:n,localeIndex:s,page:o,theme:l}=V(),d=k(()=>{var _,b;return{label:(_=n.value.locales[s.value])==null?void 0:_.label,link:((b=n.value.locales[s.value])==null?void 0:b.link)||(s.value==="root"?"/":`/${s.value}/`)}});return{localeLinks:k(()=>Object.entries(n.value.locales).flatMap(([_,b])=>e&&d.value.label===b.label?[]:{text:b.label,link:Tt(b.link||(_==="root"?"/":`/${_}/`),l.value.i18nRouting!==!1&&t,o.value.relativePath.slice(d.value.link.length-1),!n.value.cleanUrls)})),currentLang:d}}function Tt(e,t,n,s){return t?e.replace(/\/$/,"")+_e(n.replace(/(^|\/)?index.md$/,"$1").replace(/\.md$/,s?".html":"")):e}const At=["src","alt"],Ht={inheritAttrs:!1},Et=g({...Ht,__name:"VPImage",props:{image:null,alt:null},setup(e){return(t,n)=>{const s=R("VPImage",!0);return e.image?(a(),i(S,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),i("img",se({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:c(he)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,At)):(a(),i(S,{key:1},[h(s,se({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),h(s,se({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}});const be=p(Et,[["__scopeId","data-v-6db2186b"]]),zt=["href"],Dt=g({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=V(),{hasSidebar:s}=z(),{currentLang:o}=te();return(l,d)=>(a(),i("div",{class:M(["VPNavBarTitle",{"has-sidebar":c(s)}])},[u("a",{class:"title",href:c(Z)(c(o).link)},[r(l.$slots,"nav-bar-title-before",{},void 0,!0),c(n).logo?(a(),y(be,{key:0,class:"logo",image:c(n).logo},null,8,["image"])):m("",!0),c(n).siteTitle?(a(),i(S,{key:1},[I(P(c(n).siteTitle),1)],64)):c(n).siteTitle===void 0?(a(),i(S,{key:2},[I(P(c(t).title),1)],64)):m("",!0),r(l.$slots,"nav-bar-title-after",{},void 0,!0)],8,zt)],2))}});const Ft=p(Dt,[["__scopeId","data-v-f4ef19a3"]]);const Ot={type:"button",class:"DocSearch DocSearch-Button","aria-label":"Search"},Gt={class:"DocSearch-Button-Container"},Rt=u("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[u("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Ut={class:"DocSearch-Button-Placeholder"},jt=u("span",{class:"DocSearch-Button-Keys"},[u("kbd",{class:"DocSearch-Button-Key"}),u("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Ie=g({__name:"VPNavBarSearchButton",props:{placeholder:null},setup(e){return(t,n)=>(a(),i("button",Ot,[u("span",Gt,[Rt,u("span",Ut,P(e.placeholder),1)]),jt]))}});const qt={id:"local-search"},Kt={key:1,id:"docsearch"},Wt=g({__name:"VPNavBarSearch",setup(e){const t=()=>null,n=()=>null,{theme:s,localeIndex:o}=V(),l=x(!1),d=k(()=>{var $,B,T,A,D,ne,W;const w=(($=s.value.search)==null?void 0:$.options)??s.value.algolia;return((D=(A=(T=(B=w==null?void 0:w.locales)==null?void 0:B[o.value])==null?void 0:T.translations)==null?void 0:A.button)==null?void 0:D.buttonText)||((W=(ne=w==null?void 0:w.translations)==null?void 0:ne.button)==null?void 0:W.buttonText)||"Search"});F(()=>{});function f(){l.value||(l.value=!0,setTimeout(_,16))}function _(){const w=new Event("keydown");w.key="k",w.metaKey=!0,window.dispatchEvent(w),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||_()},16)}const b=x(!1),L=x("'Meta'");F(()=>{L.value=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"'⌘'":"'Ctrl'"});const C="";return(w,$)=>{var B;return a(),i("div",{class:"VPNavBarSearch",style:He({"--vp-meta-key":L.value})},[c(C)==="local"?(a(),i(S,{key:0},[b.value?(a(),y(c(t),{key:0,placeholder:c(d),onClose:$[0]||($[0]=T=>b.value=!1)},null,8,["placeholder"])):m("",!0),u("div",qt,[h(Ie,{placeholder:c(d),onClick:$[1]||($[1]=T=>b.value=!0)},null,8,["placeholder"])])],64)):c(C)==="algolia"?(a(),i(S,{key:1},[l.value?(a(),y(c(n),{key:0,algolia:((B=c(s).search)==null?void 0:B.options)??c(s).algolia},null,8,["algolia"])):(a(),i("div",Kt,[h(Ie,{placeholder:c(d),onClick:f},null,8,["placeholder"])]))],64)):m("",!0)],4)}}});const Yt={},Xt={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",height:"24px",viewBox:"0 0 24 24",width:"24px"},Qt=u("path",{d:"M0 0h24v24H0V0z",fill:"none"},null,-1),Jt=u("path",{d:"M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"},null,-1),Zt=[Qt,Jt];function en(e,t){return a(),i("svg",Xt,Zt)}const tn=p(Yt,[["render",en]]),nn=g({__name:"VPLink",props:{tag:null,href:null,noIcon:{type:Boolean},target:null,rel:null},setup(e){const t=e,n=k(()=>t.tag??t.href?"a":"span"),s=k(()=>t.href&&Ee.test(t.href));return(o,l)=>(a(),y(U(c(n)),{class:M(["VPLink",{link:e.href}]),href:e.href?c(Z)(e.href):void 0,target:e.target||(c(s)?"_blank":void 0),rel:e.rel||(c(s)?"noreferrer":void 0)},{default:v(()=>[r(o.$slots,"default",{},void 0,!0),c(s)&&!e.noIcon?(a(),y(tn,{key:0,class:"icon"})):m("",!0)]),_:3},8,["class","href","target","rel"]))}});const O=p(nn,[["__scopeId","data-v-8f4dc553"]]),sn=g({__name:"VPNavBarMenuLink",props:{item:null},setup(e){const{page:t}=V();return(n,s)=>(a(),y(O,{class:M({VPNavBarMenuLink:!0,active:c(K)(c(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,tabindex:"0"},{default:v(()=>[I(P(e.item.text),1)]),_:1},8,["class","href","target","rel"]))}});const on=p(sn,[["__scopeId","data-v-37adc828"]]),ke=x();let Ge=!1,ue=0;function an(e){const t=x(!1);if(at){!Ge&&cn(),ue++;const n=q(ke,s=>{var o,l,d;s===e.el.value||(o=e.el.value)!=null&&o.contains(s)?(t.value=!0,(l=e.onFocus)==null||l.call(e)):(t.value=!1,(d=e.onBlur)==null||d.call(e))});fe(()=>{n(),ue--,ue||ln()})}return Ae(t)}function cn(){document.addEventListener("focusin",Re),Ge=!0,ke.value=document.activeElement}function ln(){document.removeEventListener("focusin",Re)}function Re(){ke.value=document.activeElement}const rn={},un={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},dn=u("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),_n=[dn];function vn(e,t){return a(),i("svg",un,_n)}const Ue=p(rn,[["render",vn]]),hn={},fn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},pn=u("circle",{cx:"12",cy:"12",r:"2"},null,-1),mn=u("circle",{cx:"19",cy:"12",r:"2"},null,-1),gn=u("circle",{cx:"5",cy:"12",r:"2"},null,-1),yn=[pn,mn,gn];function bn(e,t){return a(),i("svg",fn,yn)}const kn=p(hn,[["render",bn]]),$n={class:"VPMenuLink"},Pn=g({__name:"VPMenuLink",props:{item:null},setup(e){const{page:t}=V();return(n,s)=>(a(),i("div",$n,[h(O,{class:M({active:c(K)(c(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel},{default:v(()=>[I(P(e.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const ie=p(Pn,[["__scopeId","data-v-d2c93bab"]]),Vn={class:"VPMenuGroup"},wn={key:0,class:"title"},xn=g({__name:"VPMenuGroup",props:{text:null,items:null},setup(e){return(t,n)=>(a(),i("div",Vn,[e.text?(a(),i("p",wn,P(e.text),1)):m("",!0),(a(!0),i(S,null,N(e.items,s=>(a(),i(S,null,["link"in s?(a(),y(ie,{key:0,item:s},null,8,["item"])):m("",!0)],64))),256))]))}});const Sn=p(xn,[["__scopeId","data-v-69e747b5"]]),Ln={class:"VPMenu"},Mn={key:0,class:"items"},Cn=g({__name:"VPMenu",props:{items:null},setup(e){return(t,n)=>(a(),i("div",Ln,[e.items?(a(),i("div",Mn,[(a(!0),i(S,null,N(e.items,s=>(a(),i(S,{key:s.text},["link"in s?(a(),y(ie,{key:0,item:s},null,8,["item"])):(a(),y(Sn,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):m("",!0),r(t.$slots,"default",{},void 0,!0)]))}});const Bn=p(Cn,[["__scopeId","data-v-e7ea1737"]]),In=["aria-expanded","aria-label"],Nn={key:0,class:"text"},Tn={class:"menu"},An=g({__name:"VPFlyout",props:{icon:null,button:null,label:null,items:null},setup(e){const t=x(!1),n=x();an({el:n,onBlur:s});function s(){t.value=!1}return(o,l)=>(a(),i("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:l[1]||(l[1]=d=>t.value=!0),onMouseleave:l[2]||(l[2]=d=>t.value=!1)},[u("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:l[0]||(l[0]=d=>t.value=!t.value)},[e.button||e.icon?(a(),i("span",Nn,[e.icon?(a(),y(U(e.icon),{key:0,class:"option-icon"})):m("",!0),I(" "+P(e.button)+" ",1),h(Ue,{class:"text-icon"})])):(a(),y(kn,{key:1,class:"icon"}))],8,In),u("div",Tn,[h(Bn,{items:e.items},{default:v(()=>[r(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const $e=p(An,[["__scopeId","data-v-764effdf"]]),Hn=g({__name:"VPNavBarMenuGroup",props:{item:null},setup(e){const{page:t}=V();return(n,s)=>(a(),y($e,{class:M({VPNavBarMenuGroup:!0,active:c(K)(c(t).relativePath,e.item.activeMatch,!!e.item.activeMatch)}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),En=e=>(H("data-v-7f418b0f"),e=e(),E(),e),zn={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Dn=En(()=>u("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Fn=g({__name:"VPNavBarMenu",setup(e){const{theme:t}=V();return(n,s)=>c(t).nav?(a(),i("nav",zn,[Dn,(a(!0),i(S,null,N(c(t).nav,o=>(a(),i(S,{key:o.text},["link"in o?(a(),y(on,{key:0,item:o},null,8,["item"])):(a(),y(Hn,{key:1,item:o},null,8,["item"]))],64))),128))])):m("",!0)}});const On=p(Fn,[["__scopeId","data-v-7f418b0f"]]),Gn={},Rn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Un=u("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),jn=u("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),qn=[Un,jn];function Kn(e,t){return a(),i("svg",Rn,qn)}const je=p(Gn,[["render",Kn]]),Wn={class:"items"},Yn={class:"title"},Xn=g({__name:"VPNavBarTranslations",setup(e){const{theme:t}=V(),{localeLinks:n,currentLang:s}=te({correspondingLink:!0});return(o,l)=>c(n).length&&c(s).label?(a(),y($e,{key:0,class:"VPNavBarTranslations",icon:je,label:c(t).langMenuLabel||"Change language"},{default:v(()=>[u("div",Wn,[u("p",Yn,P(c(s).label),1),(a(!0),i(S,null,N(c(n),d=>(a(),y(ie,{key:d.link,item:d},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}});const Qn=p(Xn,[["__scopeId","data-v-74abcbb9"]]);const Jn={},Zn={class:"VPSwitch",type:"button",role:"switch"},es={class:"check"},ts={key:0,class:"icon"};function ns(e,t){return a(),i("button",Zn,[u("span",es,[e.$slots.default?(a(),i("span",ts,[r(e.$slots,"default",{},void 0,!0)])):m("",!0)])])}const ss=p(Jn,[["render",ns],["__scopeId","data-v-f3c41672"]]),os={},as={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},cs=ct('',9),ls=[cs];function is(e,t){return a(),i("svg",as,ls)}const rs=p(os,[["render",is]]),us={},ds={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},_s=u("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),vs=[_s];function hs(e,t){return a(),i("svg",ds,vs)}const fs=p(us,[["render",hs]]),ps={title:"toggle dark mode"},ms=g({__name:"VPSwitchAppearance",setup(e){const{site:t,isDark:n}=V(),s=x(!1),o=typeof localStorage<"u"?l():()=>{};F(()=>{s.value=document.documentElement.classList.contains("dark")});function l(){const d=window.matchMedia("(prefers-color-scheme: dark)"),f=document.documentElement.classList;let _=localStorage.getItem(Be),b=t.value.appearance==="dark"&&_==null||(_==="auto"||_==null?d.matches:_==="dark");d.onchange=w=>{_==="auto"&&C(b=w.matches)};function L(){C(b=!b),_=b?d.matches?"auto":"dark":d.matches?"light":"auto",localStorage.setItem(Be,_)}function C(w){const $=document.createElement("style");$.type="text/css",$.appendChild(document.createTextNode(`:not(.VPSwitchAppearance):not(.VPSwitchAppearance *) { - -webkit-transition: none !important; - -moz-transition: none !important; - -o-transition: none !important; - -ms-transition: none !important; - transition: none !important; -}`)),document.head.appendChild($),s.value=w,f[w?"add":"remove"]("dark"),window.getComputedStyle($).opacity,document.head.removeChild($)}return L}return q(s,d=>{n.value=d}),(d,f)=>(a(),i("label",ps,[h(ss,{class:"VPSwitchAppearance","aria-checked":s.value,onClick:c(o)},{default:v(()=>[h(rs,{class:"sun"}),h(fs,{class:"moon"})]),_:1},8,["aria-checked","onClick"])]))}});const Pe=p(ms,[["__scopeId","data-v-a9c8afb8"]]),gs={key:0,class:"VPNavBarAppearance"},ys=g({__name:"VPNavBarAppearance",setup(e){const{site:t}=V();return(n,s)=>c(t).appearance?(a(),i("div",gs,[h(Pe)])):m("",!0)}});const bs=p(ys,[["__scopeId","data-v-f6a63727"]]),ks={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',youtube:'YouTube'},$s=["href","aria-label","innerHTML"],Ps=g({__name:"VPSocialLink",props:{icon:null,link:null},setup(e){const t=e,n=k(()=>typeof t.icon=="object"?t.icon.svg:ks[t.icon]);return(s,o)=>(a(),i("a",{class:"VPSocialLink",href:e.link,"aria-label":typeof e.icon=="string"?e.icon:"",target:"_blank",rel:"noopener",innerHTML:c(n)},null,8,$s))}});const Vs=p(Ps,[["__scopeId","data-v-c530cc0a"]]),ws={class:"VPSocialLinks"},xs=g({__name:"VPSocialLinks",props:{links:null},setup(e){return(t,n)=>(a(),i("div",ws,[(a(!0),i(S,null,N(e.links,({link:s,icon:o})=>(a(),y(Vs,{key:s,icon:o,link:s},null,8,["icon","link"]))),128))]))}});const Ve=p(xs,[["__scopeId","data-v-f6988cfb"]]),Ss=g({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=V();return(n,s)=>c(t).socialLinks?(a(),y(Ve,{key:0,class:"VPNavBarSocialLinks",links:c(t).socialLinks},null,8,["links"])):m("",!0)}});const Ls=p(Ss,[["__scopeId","data-v-0394ad82"]]),Ms={key:0,class:"group translations"},Cs={class:"trans-title"},Bs={key:1,class:"group"},Is={class:"item appearance"},Ns={class:"label"},Ts={class:"appearance-action"},As={key:2,class:"group"},Hs={class:"item social-links"},Es=g({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=V(),{localeLinks:s,currentLang:o}=te({correspondingLink:!0}),l=k(()=>s.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(d,f)=>c(l)?(a(),y($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[c(s).length&&c(o).label?(a(),i("div",Ms,[u("p",Cs,P(c(o).label),1),(a(!0),i(S,null,N(c(s),_=>(a(),y(ie,{key:_.link,item:_},null,8,["item"]))),128))])):m("",!0),c(t).appearance?(a(),i("div",Bs,[u("div",Is,[u("p",Ns,P(c(n).darkModeSwitchLabel||"Appearance"),1),u("div",Ts,[h(Pe)])])])):m("",!0),c(n).socialLinks?(a(),i("div",As,[u("div",Hs,[h(Ve,{class:"social-links-list",links:c(n).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}});const zs=p(Es,[["__scopeId","data-v-40855f84"]]),Ds=e=>(H("data-v-e5dd9c1c"),e=e(),E(),e),Fs=["aria-expanded"],Os=Ds(()=>u("span",{class:"container"},[u("span",{class:"top"}),u("span",{class:"middle"}),u("span",{class:"bottom"})],-1)),Gs=[Os],Rs=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(a(),i("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=s=>t.$emit("click"))},Gs,10,Fs))}});const Us=p(Rs,[["__scopeId","data-v-e5dd9c1c"]]),js=e=>(H("data-v-94c81dcc"),e=e(),E(),e),qs={class:"container"},Ks={class:"title"},Ws={class:"content"},Ys=js(()=>u("div",{class:"curtain"},null,-1)),Xs={class:"content-body"},Qs=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const{y:t}=$t(),{hasSidebar:n}=z(),s=k(()=>({"has-sidebar":n.value,fill:t.value>0}));return(o,l)=>(a(),i("div",{class:M(["VPNavBar",c(s)])},[u("div",qs,[u("div",Ks,[h(Ft,null,{"nav-bar-title-before":v(()=>[r(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[r(o.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),u("div",Ws,[Ys,u("div",Xs,[r(o.$slots,"nav-bar-content-before",{},void 0,!0),h(Wt,{class:"search"}),h(On,{class:"menu"}),h(Qn,{class:"translations"}),h(bs,{class:"appearance"}),h(Ls,{class:"social-links"}),h(zs,{class:"extra"}),r(o.$slots,"nav-bar-content-after",{},void 0,!0),h(Us,{class:"hamburger",active:e.isScreenOpen,onClick:l[0]||(l[0]=d=>o.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const Js=p(Qs,[["__scopeId","data-v-94c81dcc"]]);function Zs(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1),j=[],ce=!1,xe=-1,Y=void 0,G=void 0,X=void 0,qe=function(t){return j.some(function(n){return!!(n.options.allowTouchMove&&n.options.allowTouchMove(t))})},le=function(t){var n=t||window.event;return qe(n.target)||n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)},eo=function(t){if(X===void 0){var n=!!t&&t.reserveScrollBarGap===!0,s=window.innerWidth-document.documentElement.clientWidth;if(n&&s>0){var o=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);X=document.body.style.paddingRight,document.body.style.paddingRight=o+s+"px"}}Y===void 0&&(Y=document.body.style.overflow,document.body.style.overflow="hidden")},to=function(){X!==void 0&&(document.body.style.paddingRight=X,X=void 0),Y!==void 0&&(document.body.style.overflow=Y,Y=void 0)},no=function(){return window.requestAnimationFrame(function(){if(G===void 0){G={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,n=t.scrollY,s=t.scrollX,o=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-n,document.body.style.left=-s,setTimeout(function(){return window.requestAnimationFrame(function(){var l=o-window.innerHeight;l&&n>=o&&(document.body.style.top=-(n+l))})},300)}})},so=function(){if(G!==void 0){var t=-parseInt(document.body.style.top,10),n=-parseInt(document.body.style.left,10);document.body.style.position=G.position,document.body.style.top=G.top,document.body.style.left=G.left,window.scrollTo(n,t),G=void 0}},oo=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},ao=function(t,n){var s=t.targetTouches[0].clientY-xe;return qe(t.target)?!1:n&&n.scrollTop===0&&s>0||oo(n)&&s<0?le(t):(t.stopPropagation(),!0)},Ke=function(t,n){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!j.some(function(o){return o.targetElement===t})){var s={targetElement:t,options:n||{}};j=[].concat(Zs(j),[s]),ae?no():eo(n),ae&&(t.ontouchstart=function(o){o.targetTouches.length===1&&(xe=o.targetTouches[0].clientY)},t.ontouchmove=function(o){o.targetTouches.length===1&&ao(o,t)},ce||(document.addEventListener("touchmove",le,we?{passive:!1}:void 0),ce=!0))}},We=function(){ae&&(j.forEach(function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null}),ce&&(document.removeEventListener("touchmove",le,we?{passive:!1}:void 0),ce=!1),xe=-1),ae?so():to(),j=[]};const co=g({__name:"VPNavScreenMenuLink",props:{text:null,link:null},setup(e){const t=me("close-screen");return(n,s)=>(a(),y(O,{class:"VPNavScreenMenuLink",href:e.link,onClick:c(t)},{default:v(()=>[I(P(e.text),1)]),_:1},8,["href","onClick"]))}});const lo=p(co,[["__scopeId","data-v-c328f34f"]]),io={},ro={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},uo=u("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),_o=[uo];function vo(e,t){return a(),i("svg",ro,_o)}const ho=p(io,[["render",vo]]),fo=g({__name:"VPNavScreenMenuGroupLink",props:{text:null,link:null},setup(e){const t=me("close-screen");return(n,s)=>(a(),y(O,{class:"VPNavScreenMenuGroupLink",href:e.link,onClick:c(t)},{default:v(()=>[I(P(e.text),1)]),_:1},8,["href","onClick"]))}});const Ye=p(fo,[["__scopeId","data-v-3d20956d"]]),po={class:"VPNavScreenMenuGroupSection"},mo={key:0,class:"title"},go=g({__name:"VPNavScreenMenuGroupSection",props:{text:null,items:null},setup(e){return(t,n)=>(a(),i("div",po,[e.text?(a(),i("p",mo,P(e.text),1)):m("",!0),(a(!0),i(S,null,N(e.items,s=>(a(),y(Ye,{key:s.text,text:s.text,link:s.link},null,8,["text","link"]))),128))]))}});const yo=p(go,[["__scopeId","data-v-7478538b"]]),bo=["aria-controls","aria-expanded"],ko={class:"button-text"},$o=["id"],Po={key:1,class:"group"},Vo=g({__name:"VPNavScreenMenuGroup",props:{text:null,items:null},setup(e){const t=e,n=x(!1),s=k(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(l,d)=>(a(),i("div",{class:M(["VPNavScreenMenuGroup",{open:n.value}])},[u("button",{class:"button","aria-controls":c(s),"aria-expanded":n.value,onClick:o},[u("span",ko,P(e.text),1),h(ho,{class:"button-icon"})],8,bo),u("div",{id:c(s),class:"items"},[(a(!0),i(S,null,N(e.items,f=>(a(),i(S,{key:f.text},["link"in f?(a(),i("div",{key:f.text,class:"item"},[h(Ye,{text:f.text,link:f.link},null,8,["text","link"])])):(a(),i("div",Po,[h(yo,{text:f.text,items:f.items},null,8,["text","items"])]))],64))),128))],8,$o)],2))}});const wo=p(Vo,[["__scopeId","data-v-a9a19324"]]),xo={key:0,class:"VPNavScreenMenu"},So=g({__name:"VPNavScreenMenu",setup(e){const{theme:t}=V();return(n,s)=>c(t).nav?(a(),i("nav",xo,[(a(!0),i(S,null,N(c(t).nav,o=>(a(),i(S,{key:o.text},["link"in o?(a(),y(lo,{key:0,text:o.text,link:o.link},null,8,["text","link"])):(a(),y(wo,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),Lo={key:0,class:"VPNavScreenAppearance"},Mo={class:"text"},Co=g({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=V();return(s,o)=>c(t).appearance?(a(),i("div",Lo,[u("p",Mo,P(c(n).darkModeSwitchLabel||"Appearance"),1),h(Pe)])):m("",!0)}});const Bo=p(Co,[["__scopeId","data-v-add8f686"]]),Io={class:"list"},No=g({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=te({correspondingLink:!0}),s=x(!1);function o(){s.value=!s.value}return(l,d)=>c(t).length&&c(n).label?(a(),i("div",{key:0,class:M(["VPNavScreenTranslations",{open:s.value}])},[u("button",{class:"title",onClick:o},[h(je,{class:"icon lang"}),I(" "+P(c(n).label)+" ",1),h(Ue,{class:"icon chevron"})]),u("ul",Io,[(a(!0),i(S,null,N(c(t),f=>(a(),i("li",{key:f.link,class:"item"},[h(O,{class:"link",href:f.link},{default:v(()=>[I(P(f.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}});const To=p(No,[["__scopeId","data-v-d72aa483"]]),Ao=g({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=V();return(n,s)=>c(t).socialLinks?(a(),y(Ve,{key:0,class:"VPNavScreenSocialLinks",links:c(t).socialLinks},null,8,["links"])):m("",!0)}}),Ho={class:"container"},Eo=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=x(null);function n(){Ke(t.value,{reserveScrollBarGap:!0})}function s(){We()}return(o,l)=>(a(),y(pe,{name:"fade",onEnter:n,onAfterLeave:s},{default:v(()=>[e.open?(a(),i("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t},[u("div",Ho,[r(o.$slots,"nav-screen-content-before",{},void 0,!0),h(So,{class:"menu"}),h(To,{class:"translations"}),h(Bo,{class:"appearance"}),h(Ao,{class:"social-links"}),r(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}});const zo=p(Eo,[["__scopeId","data-v-724636ae"]]),Do={class:"VPNav"},Fo=g({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:s}=Nt();return oe("close-screen",n),(o,l)=>(a(),i("header",Do,[h(Js,{"is-screen-open":c(t),onToggleScreen:c(s)},{"nav-bar-title-before":v(()=>[r(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[r(o.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[r(o.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[r(o.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),h(zo,{open:c(t)},{"nav-screen-content-before":v(()=>[r(o.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[r(o.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])]))}});const Oo=p(Fo,[["__scopeId","data-v-7e5bc4a5"]]),Go={},Ro={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Uo=u("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),jo=u("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),qo=u("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Ko=u("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),Wo=[Uo,jo,qo,Ko];function Yo(e,t){return a(),i("svg",Ro,Wo)}const Xo=p(Go,[["render",Yo]]);function Qo(){const{hasSidebar:e}=z(),t=de("(min-width: 960px)"),n=de("(min-width: 1280px)");return{isAsideEnabled:k(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const Jo=71;function Se(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function Le(e){const t=[...document.querySelectorAll(".VPDoc h2,h3,h4,h5,h6")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const s=Number(n.tagName[1]);return{title:Zo(n),link:"#"+n.id,level:s}});return ea(t,e)}function Zo(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(n.classList.contains("VPBadge")||n.classList.contains("header-anchor"))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function ea(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[s,o]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;e=e.filter(d=>d.level>=s&&d.level<=o);const l=[];e:for(let d=0;d=0;_--){const b=e[_];if(b.level{requestAnimationFrame(l),window.addEventListener("scroll",s)}),lt(()=>{d(location.hash)}),fe(()=>{window.removeEventListener("scroll",s)});function l(){if(!n.value)return;const f=[].slice.call(e.value.querySelectorAll(".outline-link")),_=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter($=>f.some(B=>B.hash===$.hash&&$.offsetParent!==null)),b=window.scrollY,L=window.innerHeight,C=document.body.offsetHeight,w=Math.abs(b+L-C)<1;if(_.length&&w){d(_[_.length-1].hash);return}for(let $=0;$<_.length;$++){const B=_[$],T=_[$+1],[A,D]=na($,B,T);if(A){d(D);return}}}function d(f){o&&o.classList.remove("active"),f!==null&&(o=e.value.querySelector(`a[href="${decodeURIComponent(f)}"]`));const _=o;_?(_.classList.add("active"),t.value.style.top=_.offsetTop+33+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function Te(e){return e.parentElement.offsetTop-Jo}function na(e,t,n){const s=window.scrollY;return e===0&&s===0?[!0,null]:s{const o=R("VPDocOutlineItem",!0);return a(),i("ul",{class:M(e.root?"root":"nested")},[(a(!0),i(S,null,N(e.headers,({children:l,link:d,title:f})=>(a(),i("li",null,[u("a",{class:"outline-link",href:d,onClick:t,title:f},P(f),9,sa),l!=null&&l.length?(a(),y(o,{key:0,headers:l},null,8,["headers"])):m("",!0)]))),256))],2)}}});const Me=p(oa,[["__scopeId","data-v-9a431c33"]]),aa={},ca={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},la=u("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),ia=[la];function ra(e,t){return a(),i("svg",ca,ia)}const Ce=p(aa,[["render",ra]]),ua=g({__name:"VPLocalNavOutlineDropdown",setup(e){const{frontmatter:t,theme:n}=V(),s=x(!1),o=x(0),l=x();J(()=>{s.value=!1});function d(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-64,0)}function f(L){L.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),it(()=>{s.value=!1}))}function _(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}const b=ge([]);return J(()=>{b.value=Le(t.value.outline??n.value.outline)}),(L,C)=>(a(),i("div",{class:"VPLocalNavOutlineDropdown",style:He({"--vp-vh":o.value+"px"})},[c(b).length>0?(a(),i("button",{key:0,onClick:d,class:M({open:s.value})},[I(P(c(Se)(c(n)))+" ",1),h(Ce,{class:"icon"})],2)):(a(),i("button",{key:1,onClick:_},P(c(n).returnToTopLabel||"Return to top"),1)),h(pe,{name:"flyout"},{default:v(()=>[s.value?(a(),i("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:f},[u("a",{class:"top-link",href:"#",onClick:_},P(c(n).returnToTopLabel||"Return to top"),1),h(Me,{headers:c(b)},null,8,["headers"])],512)):m("",!0)]),_:1})],4))}});const da=p(ua,[["__scopeId","data-v-079b16a8"]]),_a={key:0,class:"VPLocalNav"},va=["aria-expanded"],ha={class:"menu-text"},fa=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=V(),{hasSidebar:s}=z();return(o,l)=>c(n).layout!=="home"?(a(),i("div",_a,[c(s)?(a(),i("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:l[0]||(l[0]=d=>o.$emit("open-menu"))},[h(Xo,{class:"menu-icon"}),u("span",ha,P(c(t).sidebarMenuLabel||"Menu"),1)],8,va)):m("",!0),h(da)])):m("",!0)}});const pa=p(fa,[["__scopeId","data-v-392e1bf8"]]),ma=e=>(H("data-v-c4656e6d"),e=e(),E(),e),ga=["role","tabindex"],ya=ma(()=>u("div",{class:"indicator"},null,-1)),ba=["onKeydown"],ka={key:1,class:"items"},$a=g({__name:"VPSidebarItem",props:{item:null,depth:null},setup(e){const t=e,{collapsed:n,collapsible:s,isLink:o,isActiveLink:l,hasActiveLink:d,hasChildren:f,toggle:_}=St(k(()=>t.item)),b=k(()=>f.value?"section":"div"),L=k(()=>o.value?"a":"div"),C=k(()=>f.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),w=k(()=>o.value?void 0:"button"),$=k(()=>[[`level-${t.depth}`],{collapsible:s.value},{collapsed:n.value},{"is-link":o.value},{"is-active":l.value},{"has-active":d.value}]);function B(A){"key"in A&&A.key!=="Enter"||!t.item.link&&_()}function T(){t.item.link&&_()}return(A,D)=>{const ne=R("VPSidebarItem",!0);return a(),y(U(c(b)),{class:M(["VPSidebarItem",c($)])},{default:v(()=>[e.item.text?(a(),i("div",se({key:0,class:"item",role:c(w)},ut(e.item.items?{click:B,keydown:B}:{},!0),{tabindex:e.item.items&&0}),[ya,e.item.link?(a(),y(O,{key:0,tag:c(L),class:"link",href:e.item.link},{default:v(()=>[(a(),y(U(c(C)),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href"])):(a(),y(U(c(C)),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null?(a(),i("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:T,onKeydown:rt(T,["enter"]),tabindex:"0"},[h(Ce,{class:"caret-icon"})],40,ba)):m("",!0)],16,ga)):m("",!0),e.item.items&&e.item.items.length?(a(),i("div",ka,[e.depth<5?(a(!0),i(S,{key:0},N(e.item.items,W=>(a(),y(ne,{key:W.text,item:W,depth:e.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}});const Pa=p($a,[["__scopeId","data-v-c4656e6d"]]),Xe=e=>(H("data-v-af16598e"),e=e(),E(),e),Va=Xe(()=>u("div",{class:"curtain"},null,-1)),wa={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},xa=Xe(()=>u("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Sa=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const t=e,{sidebarGroups:n,hasSidebar:s}=z();let o=x(null);function l(){Ke(o.value,{reserveScrollBarGap:!0})}function d(){We()}return dt(async()=>{var f;t.open?(l(),(f=o.value)==null||f.focus()):d()}),(f,_)=>c(s)?(a(),i("aside",{key:0,class:M(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:_[0]||(_[0]=_t(()=>{},["stop"]))},[Va,u("nav",wa,[xa,r(f.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),i(S,null,N(c(n),b=>(a(),i("div",{key:b.text,class:"group"},[h(Pa,{item:b,depth:0},null,8,["item"])]))),128)),r(f.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}});const La=p(Sa,[["__scopeId","data-v-af16598e"]]),Ma={},Ca={class:"VPPage"};function Ba(e,t){const n=R("Content");return a(),i("div",Ca,[r(e.$slots,"page-top"),h(n),r(e.$slots,"page-bottom")])}const Ia=p(Ma,[["render",Ba]]),Na=g({__name:"VPButton",props:{tag:null,size:null,theme:null,text:null,href:null},setup(e){const t=e,n=k(()=>[t.size??"medium",t.theme??"brand"]),s=k(()=>t.href&&Ee.test(t.href)),o=k(()=>t.tag?t.tag:t.href?"a":"button");return(l,d)=>(a(),y(U(c(o)),{class:M(["VPButton",c(n)]),href:e.href?c(Z)(e.href):void 0,target:c(s)?"_blank":void 0,rel:c(s)?"noreferrer":void 0},{default:v(()=>[I(P(e.text),1)]),_:1},8,["class","href","target","rel"]))}});const Ta=p(Na,[["__scopeId","data-v-567ba664"]]),Aa=e=>(H("data-v-fd2650d5"),e=e(),E(),e),Ha={class:"container"},Ea={class:"main"},za={key:0,class:"name"},Da={class:"clip"},Fa={key:1,class:"text"},Oa={key:2,class:"tagline"},Ga={key:0,class:"actions"},Ra={key:0,class:"image"},Ua={class:"image-container"},ja=Aa(()=>u("div",{class:"image-bg"},null,-1)),qa=g({__name:"VPHero",props:{name:null,text:null,tagline:null,image:null,actions:null},setup(e){const t=me("hero-image-slot-exists");return(n,s)=>(a(),i("div",{class:M(["VPHero",{"has-image":e.image||c(t)}])},[u("div",Ha,[u("div",Ea,[r(n.$slots,"home-hero-info",{},()=>[e.name?(a(),i("h1",za,[u("span",Da,P(e.name),1)])):m("",!0),e.text?(a(),i("p",Fa,P(e.text),1)):m("",!0),e.tagline?(a(),i("p",Oa,P(e.tagline),1)):m("",!0)],!0),e.actions?(a(),i("div",Ga,[(a(!0),i(S,null,N(e.actions,o=>(a(),i("div",{key:o.link,class:"action"},[h(Ta,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):m("",!0)]),e.image||c(t)?(a(),i("div",Ra,[u("div",Ua,[ja,r(n.$slots,"home-hero-image",{},()=>[e.image?(a(),y(be,{key:0,class:"image-src",image:e.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}});const Ka=p(qa,[["__scopeId","data-v-fd2650d5"]]),Wa=g({__name:"VPHomeHero",setup(e){const{frontmatter:t}=V();return(n,s)=>c(t).hero?(a(),y(Ka,{key:0,class:"VPHomeHero",name:c(t).hero.name,text:c(t).hero.text,tagline:c(t).hero.tagline,image:c(t).hero.image,actions:c(t).hero.actions},{"home-hero-info":v(()=>[r(n.$slots,"home-hero-info")]),"home-hero-image":v(()=>[r(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),Ya={},Xa={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Qa=u("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Ja=[Qa];function Za(e,t){return a(),i("svg",Xa,Ja)}const ec=p(Ya,[["render",Za]]),tc={class:"box"},nc=["innerHTML"],sc=["innerHTML"],oc=["innerHTML"],ac={key:3,class:"link-text"},cc={class:"link-text-value"},lc=g({__name:"VPFeature",props:{icon:null,title:null,details:null,link:null,linkText:null},setup(e){return(t,n)=>(a(),y(O,{class:"VPFeature",href:e.link,"no-icon":!0},{default:v(()=>[u("article",tc,[typeof e.icon=="object"?(a(),y(be,{key:0,image:e.icon,alt:e.icon.alt,height:e.icon.height,width:e.icon.width},null,8,["image","alt","height","width"])):e.icon?(a(),i("div",{key:1,class:"icon",innerHTML:e.icon},null,8,nc)):m("",!0),u("h2",{class:"title",innerHTML:e.title},null,8,sc),e.details?(a(),i("p",{key:2,class:"details",innerHTML:e.details},null,8,oc)):m("",!0),e.linkText?(a(),i("div",ac,[u("p",cc,[I(P(e.linkText)+" ",1),h(ec,{class:"link-text-icon"})])])):m("",!0)])]),_:1},8,["href"]))}});const ic=p(lc,[["__scopeId","data-v-837f6cca"]]),rc={key:0,class:"VPFeatures"},uc={class:"container"},dc={class:"items"},_c=g({__name:"VPFeatures",props:{features:null},setup(e){const t=e,n=k(()=>{const s=t.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s%2===0)return"grid-4"}else return});return(s,o)=>e.features?(a(),i("div",rc,[u("div",uc,[u("div",dc,[(a(!0),i(S,null,N(e.features,l=>(a(),i("div",{key:l.title,class:M(["item",[c(n)]])},[h(ic,{icon:l.icon,title:l.title,details:l.details,link:l.link,"link-text":l.linkText},null,8,["icon","title","details","link","link-text"])],2))),128))])])])):m("",!0)}});const vc=p(_c,[["__scopeId","data-v-6816157f"]]),hc=g({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=V();return(n,s)=>c(t).features?(a(),y(vc,{key:0,class:"VPHomeFeatures",features:c(t).features},null,8,["features"])):m("",!0)}}),fc={class:"VPHome"},pc=g({__name:"VPHome",setup(e){return(t,n)=>{const s=R("Content");return a(),i("div",fc,[r(t.$slots,"home-hero-before",{},void 0,!0),h(Wa,null,{"home-hero-info":v(()=>[r(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[r(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),r(t.$slots,"home-hero-after",{},void 0,!0),r(t.$slots,"home-features-before",{},void 0,!0),h(hc),r(t.$slots,"home-features-after",{},void 0,!0),h(s)])}}});const mc=p(pc,[["__scopeId","data-v-d82743a8"]]),gc=e=>(H("data-v-ff0f39c8"),e=e(),E(),e),yc={class:"content"},bc={class:"outline-title"},kc={"aria-labelledby":"doc-outline-aria-label"},$c=gc(()=>u("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Pc=g({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=V(),s=ge([]);J(()=>{s.value=Le(t.value.outline??n.value.outline)});const o=x(),l=x();return ta(o,l),(d,f)=>(a(),i("div",{class:M(["VPDocAsideOutline",{"has-outline":c(s).length>0}]),ref_key:"container",ref:o},[u("div",yc,[u("div",{class:"outline-marker",ref_key:"marker",ref:l},null,512),u("div",bc,P(c(Se)(c(n))),1),u("nav",kc,[$c,h(Me,{headers:c(s),root:!0},null,8,["headers"])])])],2))}});const Vc=p(Pc,[["__scopeId","data-v-ff0f39c8"]]),wc={class:"VPDocAsideCarbonAds"},xc=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:null},setup(e){const t=()=>null;return(n,s)=>(a(),i("div",wc,[h(c(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),Sc=e=>(H("data-v-3f215769"),e=e(),E(),e),Lc={class:"VPDocAside"},Mc=Sc(()=>u("div",{class:"spacer"},null,-1)),Cc=g({__name:"VPDocAside",setup(e){const{theme:t}=V();return(n,s)=>(a(),i("div",Lc,[r(n.$slots,"aside-top",{},void 0,!0),r(n.$slots,"aside-outline-before",{},void 0,!0),h(Vc),r(n.$slots,"aside-outline-after",{},void 0,!0),Mc,r(n.$slots,"aside-ads-before",{},void 0,!0),c(t).carbonAds?(a(),y(xc,{key:0,"carbon-ads":c(t).carbonAds},null,8,["carbon-ads"])):m("",!0),r(n.$slots,"aside-ads-after",{},void 0,!0),r(n.$slots,"aside-bottom",{},void 0,!0)]))}});const Bc=p(Cc,[["__scopeId","data-v-3f215769"]]);function Ic(){const{theme:e,page:t}=V();return k(()=>{const{text:n="Edit this page",pattern:s=""}=e.value.editLink||{};let o;return typeof s=="function"?o=s(t.value):o=s.replace(/:path/g,t.value.filePath),{url:o,text:n}})}function Nc(){const{page:e,theme:t,frontmatter:n}=V();return k(()=>{var d,f,_,b;const s=Oe(t.value.sidebar,e.value.relativePath),o=wt(s),l=o.findIndex(L=>K(e.value.relativePath,L.link));return{prev:n.value.prev===!1?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((d=o[l-1])==null?void 0:d.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((f=o[l-1])==null?void 0:f.link)},next:n.value.next===!1?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((_=o[l+1])==null?void 0:_.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((b=o[l+1])==null?void 0:b.link)}}})}const Tc={},Ac={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Hc=u("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Ec=u("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),zc=[Hc,Ec];function Dc(e,t){return a(),i("svg",Ac,zc)}const Fc=p(Tc,[["render",Dc]]),Oc={class:"VPLastUpdated"},Gc=["datetime"],Rc=g({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:s}=V(),o=k(()=>new Date(n.value.lastUpdated)),l=k(()=>o.value.toISOString()),d=x("");return F(()=>{Q(()=>{d.value=o.value.toLocaleString(s.value)})}),(f,_)=>(a(),i("p",Oc,[I(P(c(t).lastUpdatedText||"Last updated")+": ",1),u("time",{datetime:c(l)},P(d.value),9,Gc)]))}});const Uc=p(Rc,[["__scopeId","data-v-7b3ebfe1"]]),jc={key:0,class:"VPDocFooter"},qc={key:0,class:"edit-info"},Kc={key:0,class:"edit-link"},Wc={key:1,class:"last-updated"},Yc={key:1,class:"prev-next"},Xc={class:"pager"},Qc=["href"],Jc=["innerHTML"],Zc=["innerHTML"],el=["href"],tl=["innerHTML"],nl=["innerHTML"],sl=g({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:s}=V(),o=Ic(),l=Nc(),d=k(()=>t.value.editLink&&s.value.editLink!==!1),f=k(()=>n.value.lastUpdated&&s.value.lastUpdated!==!1),_=k(()=>d.value||f.value||l.value.prev||l.value.next);return(b,L)=>{var C,w,$,B,T,A,D;return c(_)?(a(),i("footer",jc,[r(b.$slots,"doc-footer-before",{},void 0,!0),c(d)||c(f)?(a(),i("div",qc,[c(d)?(a(),i("div",Kc,[h(O,{class:"edit-link-button",href:c(o).url,"no-icon":!0},{default:v(()=>[h(Fc,{class:"edit-link-icon","aria-label":"edit icon"}),I(" "+P(c(o).text),1)]),_:1},8,["href"])])):m("",!0),c(f)?(a(),i("div",Wc,[h(Uc)])):m("",!0)])):m("",!0),(C=c(l).prev)!=null&&C.link||(w=c(l).next)!=null&&w.link?(a(),i("div",Yc,[u("div",Xc,[($=c(l).prev)!=null&&$.link?(a(),i("a",{key:0,class:"pager-link prev",href:c(Z)(c(l).prev.link)},[u("span",{class:"desc",innerHTML:((B=c(t).docFooter)==null?void 0:B.prev)||"Previous page"},null,8,Jc),u("span",{class:"title",innerHTML:c(l).prev.text},null,8,Zc)],8,Qc)):m("",!0)]),u("div",{class:M(["pager",{"has-prev":(T=c(l).prev)==null?void 0:T.link}])},[(A=c(l).next)!=null&&A.link?(a(),i("a",{key:0,class:"pager-link next",href:c(Z)(c(l).next.link)},[u("span",{class:"desc",innerHTML:((D=c(t).docFooter)==null?void 0:D.next)||"Next page"},null,8,tl),u("span",{class:"title",innerHTML:c(l).next.text},null,8,nl)],8,el)):m("",!0)],2)])):m("",!0)])):m("",!0)}}});const ol=p(sl,[["__scopeId","data-v-face870a"]]),al={key:0,class:"VPDocOutlineDropdown"},cl={key:0,class:"items"},ll=g({__name:"VPDocOutlineDropdown",setup(e){const{frontmatter:t,theme:n}=V(),s=x(!1);J(()=>{s.value=!1});const o=ge([]);return J(()=>{o.value=Le(t.value.outline??n.value.outline)}),(l,d)=>c(o).length>0?(a(),i("div",al,[u("button",{onClick:d[0]||(d[0]=f=>s.value=!s.value),class:M({open:s.value})},[I(P(c(Se)(c(n)))+" ",1),h(Ce,{class:"icon"})],2),s.value?(a(),i("div",cl,[h(Me,{headers:c(o)},null,8,["headers"])])):m("",!0)])):m("",!0)}});const il=p(ll,[["__scopeId","data-v-2edece88"]]),rl=e=>(H("data-v-c4b0d3cf"),e=e(),E(),e),ul={class:"container"},dl=rl(()=>u("div",{class:"aside-curtain"},null,-1)),_l={class:"aside-container"},vl={class:"aside-content"},hl={class:"content"},fl={class:"content-container"},pl={class:"main"},ml=g({__name:"VPDoc",setup(e){const t=ee(),{hasSidebar:n,hasAside:s,leftAside:o}=z(),l=k(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,f)=>{const _=R("Content");return a(),i("div",{class:M(["VPDoc",{"has-sidebar":c(n),"has-aside":c(s)}])},[r(d.$slots,"doc-top",{},void 0,!0),u("div",ul,[c(s)?(a(),i("div",{key:0,class:M(["aside",{"left-aside":c(o)}])},[dl,u("div",_l,[u("div",vl,[h(Bc,null,{"aside-top":v(()=>[r(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[r(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[r(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[r(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[r(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[r(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),u("div",hl,[u("div",fl,[r(d.$slots,"doc-before",{},void 0,!0),h(il),u("main",pl,[h(_,{class:M(["vp-doc",c(l)])},null,8,["class"])]),h(ol,null,{"doc-footer-before":v(()=>[r(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),r(d.$slots,"doc-after",{},void 0,!0)])])]),r(d.$slots,"doc-bottom",{},void 0,!0)],2)}}});const gl=p(ml,[["__scopeId","data-v-c4b0d3cf"]]),re=e=>(H("data-v-c70503b8"),e=e(),E(),e),yl={class:"NotFound"},bl=re(()=>u("p",{class:"code"},"404",-1)),kl=re(()=>u("h1",{class:"title"},"PAGE NOT FOUND",-1)),$l=re(()=>u("div",{class:"divider"},null,-1)),Pl=re(()=>u("blockquote",{class:"quote"}," But if you don't change your direction, and if you keep looking, you may end up where you are heading. ",-1)),Vl={class:"action"},wl=["href"],xl=g({__name:"NotFound",setup(e){const{site:t}=V(),{localeLinks:n}=te({removeCurrent:!1}),s=x("/");return F(()=>{var l;const o=window.location.pathname.replace(t.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(s.value=((l=n.value.find(({link:d})=>d.startsWith(o)))==null?void 0:l.link)||n.value[0].link)}),(o,l)=>(a(),i("div",yl,[bl,kl,$l,Pl,u("div",Vl,[u("a",{class:"link",href:c(he)(s.value),"aria-label":"go to home"}," Take me home ",8,wl)])]))}});const Sl=p(xl,[["__scopeId","data-v-c70503b8"]]),Ll=g({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=V(),{hasSidebar:s}=z();return(o,l)=>(a(),i("div",{class:M(["VPContent",{"has-sidebar":c(s),"is-home":c(n).layout==="home"}]),id:"VPContent"},[c(t).isNotFound?r(o.$slots,"not-found",{key:0},()=>[h(Sl)],!0):c(n).layout==="page"?(a(),y(Ia,{key:1},{"page-top":v(()=>[r(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[r(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):c(n).layout==="home"?(a(),y(mc,{key:2},{"home-hero-before":v(()=>[r(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[r(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[r(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[r(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[r(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[r(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):(a(),y(gl,{key:3},{"doc-top":v(()=>[r(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[r(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[r(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[r(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[r(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[r(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[r(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[r(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[r(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[r(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[r(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const Ml=p(Ll,[["__scopeId","data-v-a494bd1d"]]),Cl={class:"container"},Bl=["innerHTML"],Il=["innerHTML"],Nl=g({__name:"VPFooter",setup(e){const{theme:t}=V(),{hasSidebar:n}=z();return(s,o)=>c(t).footer?(a(),i("footer",{key:0,class:M(["VPFooter",{"has-sidebar":c(n)}])},[u("div",Cl,[c(t).footer.message?(a(),i("p",{key:0,class:"message",innerHTML:c(t).footer.message},null,8,Bl)):m("",!0),c(t).footer.copyright?(a(),i("p",{key:1,class:"copyright",innerHTML:c(t).footer.copyright},null,8,Il)):m("",!0)])],2)):m("",!0)}});const Tl=p(Nl,[["__scopeId","data-v-2f86ebd2"]]),Al={key:0,class:"Layout"},Hl=g({__name:"Layout",setup(e){const{isOpen:t,open:n,close:s}=z(),o=ee();q(()=>o.path,s),xt(t,s),oe("close-sidebar",s),oe("is-sidebar-open",t);const{frontmatter:l}=V(),d=vt(),f=k(()=>!!d["home-hero-image"]);return oe("hero-image-slot-exists",f),(_,b)=>{const L=R("Content");return c(l).layout!==!1?(a(),i("div",Al,[r(_.$slots,"layout-top",{},void 0,!0),h(Mt),h(It,{class:"backdrop",show:c(t),onClick:c(s)},null,8,["show","onClick"]),h(Oo,null,{"nav-bar-title-before":v(()=>[r(_.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[r(_.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[r(_.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[r(_.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[r(_.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[r(_.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),h(pa,{open:c(t),onOpenMenu:c(n)},null,8,["open","onOpenMenu"]),h(La,{open:c(t)},{"sidebar-nav-before":v(()=>[r(_.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[r(_.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),h(Ml,null,{"page-top":v(()=>[r(_.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[r(_.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[r(_.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[r(_.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[r(_.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[r(_.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[r(_.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[r(_.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[r(_.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[r(_.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[r(_.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[r(_.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[r(_.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[r(_.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[r(_.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[r(_.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[r(_.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[r(_.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[r(_.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[r(_.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),h(Tl),r(_.$slots,"layout-bottom",{},void 0,!0)])):(a(),y(L,{key:1}))}}});const El=p(Hl,[["__scopeId","data-v-b2cf3e0b"]]);const Dl={Layout:El,enhanceApp:({app:e})=>{e.component("Badge",ft)}};export{Dl as t}; diff --git a/assets/chunks/theme.986c5437.js b/assets/chunks/theme.986c5437.js new file mode 100644 index 00000000..3679306f --- /dev/null +++ b/assets/chunks/theme.986c5437.js @@ -0,0 +1 @@ +import{d as g,o as a,c as i,r as u,n as M,a as A,t as V,_ as m,b as $,w as _,T as re,e as f,u as De,i as Fe,f as ie,g as k,h as L,j as F,k as c,l,p as H,m as z,q as R,s as Y,v as oe,x as G,y as ce,z as ue,A as Ve,B as Ee,C as U,F as S,D as x,E as de,G as K,H as h,I as we,J as O,K as ee,L as X,M as te,N as Le,O as Oe,P as Se,Q as Ge,R as Ue,S as Me,U as Ne,V as Re,W as je,X as qe,Y as Ke}from"./framework.44ff8bb5.js";const We=g({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),i("span",{class:M(["VPBadge",e.type])},[u(e.$slots,"default",{},()=>[A(V(e.text),1)],!0)],2))}});const Ye=m(We,[["__scopeId","data-v-9613cc9f"]]),Je={key:0,class:"VPBackdrop"},Qe=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),$(re,{name:"fade"},{default:_(()=>[e.show?(a(),i("div",Je)):f("",!0)]),_:1}))}});const Xe=m(Qe,[["__scopeId","data-v-c79a1216"]]),P=De;function Ze(s,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(s,e):(s(),(n=!0)&&setTimeout(()=>n=!1,e))}}function ae(s){return/^\//.test(s)?s:`/${s}`}function W(s){if(Fe(s))return s;const{site:e}=P(),{pathname:t,search:n,hash:o}=new URL(s,"http://a.com"),r=t.endsWith("/")||t.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,e.value.cleanUrls?"":".html")}${n}${o}`);return ie(r)}function J({removeCurrent:s=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:r}=P(),d=k(()=>{var v,b;return{label:(v=t.value.locales[n.value])==null?void 0:v.label,link:((b=t.value.locales[n.value])==null?void 0:b.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:k(()=>Object.entries(t.value.locales).flatMap(([v,b])=>s&&d.value.label===b.label?[]:{text:b.label,link:et(b.link||(v==="root"?"/":`/${v}/`),r.value.i18nRouting!==!1&&e,o.value.relativePath.slice(d.value.link.length-1),!t.value.cleanUrls)})),currentLang:d}}function et(s,e,t,n){return e?s.replace(/\/$/,"")+ae(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):s}const tt=s=>(H("data-v-f87ff6e4"),s=s(),z(),s),st={class:"NotFound"},nt={class:"code"},ot={class:"title"},at=tt(()=>c("div",{class:"divider"},null,-1)),lt={class:"quote"},rt={class:"action"},it=["href","aria-label"],ct=g({__name:"NotFound",setup(s){const{site:e,theme:t}=P(),{localeLinks:n}=J({removeCurrent:!1}),o=L("/");return F(()=>{var d;const r=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(o.value=((d=n.value.find(({link:p})=>p.startsWith(r)))==null?void 0:d.link)||n.value[0].link)}),(r,d)=>{var p,v,b,I,B;return a(),i("div",st,[c("p",nt,V(((p=l(t).notFound)==null?void 0:p.code)??"404"),1),c("h1",ot,V(((v=l(t).notFound)==null?void 0:v.title)??"PAGE NOT FOUND"),1),at,c("blockquote",lt,V(((b=l(t).notFound)==null?void 0:b.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),c("div",rt,[c("a",{class:"link",href:l(ie)(o.value),"aria-label":((I=l(t).notFound)==null?void 0:I.linkLabel)??"go to home"},V(((B=l(t).notFound)==null?void 0:B.linkText)??"Take me home"),9,it)])])}}});const ut=m(ct,[["__scopeId","data-v-f87ff6e4"]]);function Ie(s,e){if(Array.isArray(s))return Z(s);if(s==null)return[];e=ae(e);const t=Object.keys(s).sort((o,r)=>r.split("/").length-o.split("/").length).find(o=>e.startsWith(ae(o))),n=t?s[t]:[];return Array.isArray(n)?Z(n):Z(n.items,n.base)}function dt(s){const e=[];let t=0;for(const n in s){const o=s[n];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function _t(s){const e=[];function t(n){for(const o of n)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(s),e}function le(s,e){return Array.isArray(e)?e.some(t=>le(s,t)):R(s,e.link)?!0:e.items?le(s,e.items):!1}function Z(s,e){return[...s].map(t=>{const n={...t},o=n.base||e;return o&&n.link&&(n.link=o+n.link),n.items&&(n.items=Z(n.items,o)),n})}function D(){const{frontmatter:s,page:e,theme:t}=P(),n=oe("(min-width: 960px)"),o=L(!1),r=k(()=>{const C=t.value.sidebar,y=e.value.relativePath;return C?Ie(C,y):[]}),d=L(r.value);G(r,(C,y)=>{JSON.stringify(C)!==JSON.stringify(y)&&(d.value=r.value)});const p=k(()=>s.value.sidebar!==!1&&d.value.length>0&&s.value.layout!=="home"),v=k(()=>b?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),b=k(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),I=k(()=>p.value&&n.value),B=k(()=>p.value?dt(d.value):[]);function T(){o.value=!0}function w(){o.value=!1}function N(){o.value?w():T()}return{isOpen:o,sidebar:d,sidebarGroups:B,hasSidebar:p,hasAside:b,leftAside:v,isSidebarEnabled:I,open:T,close:w,toggle:N}}function vt(s,e){let t;ce(()=>{t=s.value?document.activeElement:void 0}),F(()=>{window.addEventListener("keyup",n)}),ue(()=>{window.removeEventListener("keyup",n)});function n(o){o.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}const Ce=L(Y?location.hash:"");Y&&window.addEventListener("hashchange",()=>{Ce.value=location.hash});function pt(s){const{page:e}=P(),t=L(!1),n=k(()=>s.value.collapsed!=null),o=k(()=>!!s.value.link),r=L(!1),d=()=>{r.value=R(e.value.relativePath,s.value.link)};G([e,s,Ce],d),F(d);const p=k(()=>r.value?!0:s.value.items?le(e.value.relativePath,s.value.items):!1),v=k(()=>!!(s.value.items&&s.value.items.length));ce(()=>{t.value=!!(n.value&&s.value.collapsed)}),Ve(()=>{(r.value||p.value)&&(t.value=!1)});function b(){n.value&&(t.value=!t.value)}return{collapsed:t,collapsible:n,isLink:o,isActiveLink:r,hasActiveLink:p,hasChildren:v,toggle:b}}function ht(){const{hasSidebar:s}=D(),e=oe("(min-width: 960px)"),t=oe("(min-width: 1280px)");return{isAsideEnabled:k(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const ft=71;function _e(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function ve(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{title:mt(t),link:"#"+t.id,level:n}});return gt(e,s)}function mt(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function gt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;s=s.filter(d=>d.level>=n&&d.level<=o);const r=[];e:for(let d=0;d=0;v--){const b=s[v];if(b.level{requestAnimationFrame(r),window.addEventListener("scroll",n)}),Ee(()=>{d(location.hash)}),ue(()=>{window.removeEventListener("scroll",n)});function r(){if(!t.value)return;const p=[].slice.call(s.value.querySelectorAll(".outline-link")),v=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(w=>p.some(N=>N.hash===w.hash&&w.offsetParent!==null)),b=window.scrollY,I=window.innerHeight,B=document.body.offsetHeight,T=Math.abs(b+I-B)<1;if(v.length&&T){d(v[v.length-1].hash);return}for(let w=0;w{const o=U("VPDocOutlineItem",!0);return a(),i("ul",{class:M(t.root?"root":"nested")},[(a(!0),i(S,null,x(t.headers,({children:r,link:d,title:p})=>(a(),i("li",null,[c("a",{class:"outline-link",href:d,onClick:e,title:p},V(p),9,kt),r!=null&&r.length?(a(),$(o,{key:0,headers:r},null,8,["headers"])):f("",!0)]))),256))],2)}}});const pe=m(yt,[["__scopeId","data-v-d0ee3533"]]),Pt=s=>(H("data-v-6ae8e080"),s=s(),z(),s),Vt={class:"content"},wt={class:"outline-title",role:"heading"},Lt={"aria-labelledby":"doc-outline-aria-label"},St=Pt(()=>c("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Mt=g({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=P(),n=de([]);K(()=>{n.value=ve(e.value.outline??t.value.outline)});const o=L(),r=L();return $t(o,r),(d,p)=>(a(),i("div",{class:M(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:o,role:"navigation"},[c("div",Vt,[c("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),c("div",wt,V(l(_e)(l(t))),1),c("nav",Lt,[St,h(pe,{headers:n.value,root:!0},null,8,["headers"])])])],2))}});const Nt=m(Mt,[["__scopeId","data-v-6ae8e080"]]),It={class:"VPDocAsideCarbonAds"},Ct=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,n)=>(a(),i("div",It,[h(l(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Bt=s=>(H("data-v-3f215769"),s=s(),z(),s),Tt={class:"VPDocAside"},xt=Bt(()=>c("div",{class:"spacer"},null,-1)),At=g({__name:"VPDocAside",setup(s){const{theme:e}=P();return(t,n)=>(a(),i("div",Tt,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),h(Nt),u(t.$slots,"aside-outline-after",{},void 0,!0),xt,u(t.$slots,"aside-ads-before",{},void 0,!0),l(e).carbonAds?(a(),$(Ct,{key:0,"carbon-ads":l(e).carbonAds},null,8,["carbon-ads"])):f("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}});const Ht=m(At,[["__scopeId","data-v-3f215769"]]);function zt(){const{theme:s,page:e}=P();return k(()=>{const{text:t="Edit this page",pattern:n=""}=s.value.editLink||{};let o;return typeof n=="function"?o=n(e.value):o=n.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function Dt(){const{page:s,theme:e,frontmatter:t}=P();return k(()=>{var v,b,I,B,T,w,N,C;const n=Ie(e.value.sidebar,s.value.relativePath),o=_t(n),r=o.findIndex(y=>R(s.value.relativePath,y.link)),d=((v=e.value.docFooter)==null?void 0:v.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((b=e.value.docFooter)==null?void 0:b.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((I=o[r-1])==null?void 0:I.docFooterText)??((B=o[r-1])==null?void 0:B.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((T=o[r-1])==null?void 0:T.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((w=o[r+1])==null?void 0:w.docFooterText)??((N=o[r+1])==null?void 0:N.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((C=o[r+1])==null?void 0:C.link)}}})}const Ft={},Et={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Ot=c("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Gt=c("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),Ut=[Ot,Gt];function Rt(s,e){return a(),i("svg",Et,Ut)}const jt=m(Ft,[["render",Rt]]),E=g({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=k(()=>e.tag??(e.href?"a":"span")),n=k(()=>e.href&&we.test(e.href));return(o,r)=>(a(),$(O(t.value),{class:M(["VPLink",{link:o.href,"vp-external-link-icon":n.value,"no-icon":o.noIcon}]),href:o.href?l(W)(o.href):void 0,target:o.target??(n.value?"_blank":void 0),rel:o.rel??(n.value?"noreferrer":void 0)},{default:_(()=>[u(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),qt={class:"VPLastUpdated"},Kt=["datetime"],Wt=g({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,frontmatter:n}=P(),o=k(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),r=k(()=>o.value.toISOString()),d=L("");return F(()=>{ce(()=>{var p;d.value=new Intl.DateTimeFormat(void 0,((p=e.value.lastUpdated)==null?void 0:p.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(o.value)})}),(p,v)=>{var b;return a(),i("p",qt,[A(V(((b=l(e).lastUpdated)==null?void 0:b.text)||l(e).lastUpdatedText||"Last updated")+": ",1),c("time",{datetime:r.value},V(d.value),9,Kt)])}}});const Yt=m(Wt,[["__scopeId","data-v-7de715c0"]]),Jt={key:0,class:"VPDocFooter"},Qt={key:0,class:"edit-info"},Xt={key:0,class:"edit-link"},Zt={key:1,class:"last-updated"},es={key:1,class:"prev-next"},ts={class:"pager"},ss=["href"],ns=["innerHTML"],os=["innerHTML"],as={class:"pager"},ls=["href"],rs=["innerHTML"],is=["innerHTML"],cs=g({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:n}=P(),o=zt(),r=Dt(),d=k(()=>e.value.editLink&&n.value.editLink!==!1),p=k(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),v=k(()=>d.value||p.value||r.value.prev||r.value.next);return(b,I)=>{var B,T,w,N,C,y;return v.value?(a(),i("footer",Jt,[u(b.$slots,"doc-footer-before",{},void 0,!0),d.value||p.value?(a(),i("div",Qt,[d.value?(a(),i("div",Xt,[h(E,{class:"edit-link-button",href:l(o).url,"no-icon":!0},{default:_(()=>[h(jt,{class:"edit-link-icon","aria-label":"edit icon"}),A(" "+V(l(o).text),1)]),_:1},8,["href"])])):f("",!0),p.value?(a(),i("div",Zt,[h(Yt)])):f("",!0)])):f("",!0),(B=l(r).prev)!=null&&B.link||(T=l(r).next)!=null&&T.link?(a(),i("nav",es,[c("div",ts,[(w=l(r).prev)!=null&&w.link?(a(),i("a",{key:0,class:"pager-link prev",href:l(W)(l(r).prev.link)},[c("span",{class:"desc",innerHTML:((N=l(e).docFooter)==null?void 0:N.prev)||"Previous page"},null,8,ns),c("span",{class:"title",innerHTML:l(r).prev.text},null,8,os)],8,ss)):f("",!0)]),c("div",as,[(C=l(r).next)!=null&&C.link?(a(),i("a",{key:0,class:"pager-link next",href:l(W)(l(r).next.link)},[c("span",{class:"desc",innerHTML:((y=l(e).docFooter)==null?void 0:y.next)||"Next page"},null,8,rs),c("span",{class:"title",innerHTML:l(r).next.text},null,8,is)],8,ls)):f("",!0)])])):f("",!0)])):f("",!0)}}});const us=m(cs,[["__scopeId","data-v-ef5dee53"]]),ds={},_s={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},vs=c("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),ps=[vs];function hs(s,e){return a(),i("svg",_s,ps)}const he=m(ds,[["render",hs]]),fs={key:0,class:"VPDocOutlineDropdown"},ms={key:0,class:"items"},gs=g({__name:"VPDocOutlineDropdown",setup(s){const{frontmatter:e,theme:t}=P(),n=L(!1);K(()=>{n.value=!1});const o=de([]);return K(()=>{o.value=ve(e.value.outline??t.value.outline)}),(r,d)=>o.value.length>0?(a(),i("div",fs,[c("button",{onClick:d[0]||(d[0]=p=>n.value=!n.value),class:M({open:n.value})},[A(V(l(_e)(l(t)))+" ",1),h(he,{class:"icon"})],2),n.value?(a(),i("div",ms,[h(pe,{headers:o.value},null,8,["headers"])])):f("",!0)])):f("",!0)}});const $s=m(gs,[["__scopeId","data-v-eadfb36b"]]),bs=s=>(H("data-v-6b87e69f"),s=s(),z(),s),ks={class:"container"},ys=bs(()=>c("div",{class:"aside-curtain"},null,-1)),Ps={class:"aside-container"},Vs={class:"aside-content"},ws={class:"content"},Ls={class:"content-container"},Ss={class:"main"},Ms=g({__name:"VPDoc",setup(s){const{theme:e}=P(),t=ee(),{hasSidebar:n,hasAside:o,leftAside:r}=D(),d=k(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(p,v)=>{const b=U("Content");return a(),i("div",{class:M(["VPDoc",{"has-sidebar":l(n),"has-aside":l(o)}])},[u(p.$slots,"doc-top",{},void 0,!0),c("div",ks,[l(o)?(a(),i("div",{key:0,class:M(["aside",{"left-aside":l(r)}])},[ys,c("div",Ps,[c("div",Vs,[h(Ht,null,{"aside-top":_(()=>[u(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":_(()=>[u(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":_(()=>[u(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":_(()=>[u(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":_(()=>[u(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":_(()=>[u(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),c("div",ws,[c("div",Ls,[u(p.$slots,"doc-before",{},void 0,!0),h($s),c("main",Ss,[h(b,{class:M(["vp-doc",[d.value,l(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),h(us,null,{"doc-footer-before":_(()=>[u(p.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(p.$slots,"doc-after",{},void 0,!0)])])]),u(p.$slots,"doc-bottom",{},void 0,!0)],2)}}});const Ns=m(Ms,[["__scopeId","data-v-6b87e69f"]]),Is=g({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{}},setup(s){const e=s,t=k(()=>e.href&&we.test(e.href)),n=k(()=>e.tag||e.href?"a":"button");return(o,r)=>(a(),$(O(n.value),{class:M(["VPButton",[o.size,o.theme]]),href:o.href?l(W)(o.href):void 0,target:t.value?"_blank":void 0,rel:t.value?"noreferrer":void 0},{default:_(()=>[A(V(o.text),1)]),_:1},8,["class","href","target","rel"]))}});const Cs=m(Is,[["__scopeId","data-v-c1c5efc1"]]),Bs=["src","alt"],Ts=g({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const n=U("VPImage",!0);return e.image?(a(),i(S,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),i("img",X({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:l(ie)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Bs)):(a(),i(S,{key:1},[h(n,X({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),h(n,X({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}});const fe=m(Ts,[["__scopeId","data-v-8426fc1a"]]),xs=s=>(H("data-v-da5d1713"),s=s(),z(),s),As={class:"container"},Hs={class:"main"},zs={key:0,class:"name"},Ds=["innerHTML"],Fs=["innerHTML"],Es=["innerHTML"],Os={key:0,class:"actions"},Gs={key:0,class:"image"},Us={class:"image-container"},Rs=xs(()=>c("div",{class:"image-bg"},null,-1)),js=g({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=te("hero-image-slot-exists");return(t,n)=>(a(),i("div",{class:M(["VPHero",{"has-image":t.image||l(e)}])},[c("div",As,[c("div",Hs,[u(t.$slots,"home-hero-info",{},()=>[t.name?(a(),i("h1",zs,[c("span",{innerHTML:t.name,class:"clip"},null,8,Ds)])):f("",!0),t.text?(a(),i("p",{key:1,innerHTML:t.text,class:"text"},null,8,Fs)):f("",!0),t.tagline?(a(),i("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Es)):f("",!0)],!0),t.actions?(a(),i("div",Os,[(a(!0),i(S,null,x(t.actions,o=>(a(),i("div",{key:o.link,class:"action"},[h(Cs,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):f("",!0)]),t.image||l(e)?(a(),i("div",Gs,[c("div",Us,[Rs,u(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(fe,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}});const qs=m(js,[["__scopeId","data-v-da5d1713"]]),Ks=g({__name:"VPHomeHero",setup(s){const{frontmatter:e}=P();return(t,n)=>l(e).hero?(a(),$(qs,{key:0,class:"VPHomeHero",name:l(e).hero.name,text:l(e).hero.text,tagline:l(e).hero.tagline,image:l(e).hero.image,actions:l(e).hero.actions},{"home-hero-info":_(()=>[u(t.$slots,"home-hero-info")]),"home-hero-image":_(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Ws={},Ys={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Js=c("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Qs=[Js];function Xs(s,e){return a(),i("svg",Ys,Qs)}const Zs=m(Ws,[["render",Xs]]),en={class:"box"},tn=["innerHTML"],sn=["innerHTML"],nn=["innerHTML"],on={key:3,class:"link-text"},an={class:"link-text-value"},ln=g({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{}},setup(s){return(e,t)=>(a(),$(E,{class:"VPFeature",href:e.link,rel:e.rel,"no-icon":!0,tag:e.link?"a":"div"},{default:_(()=>[c("article",en,[typeof e.icon=="object"?(a(),$(fe,{key:0,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),i("div",{key:1,class:"icon",innerHTML:e.icon},null,8,tn)):f("",!0),c("h2",{class:"title",innerHTML:e.title},null,8,sn),e.details?(a(),i("p",{key:2,class:"details",innerHTML:e.details},null,8,nn)):f("",!0),e.linkText?(a(),i("div",on,[c("p",an,[A(V(e.linkText)+" ",1),h(Zs,{class:"link-text-icon"})])])):f("",!0)])]),_:1},8,["href","rel","tag"]))}});const rn=m(ln,[["__scopeId","data-v-3e216711"]]),cn={key:0,class:"VPFeatures"},un={class:"container"},dn={class:"items"},_n=g({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=k(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,o)=>n.features?(a(),i("div",cn,[c("div",un,[c("div",dn,[(a(!0),i(S,null,x(n.features,r=>(a(),i("div",{key:r.title,class:M(["item",[t.value]])},[h(rn,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel},null,8,["icon","title","details","link","link-text","rel"])],2))),128))])])])):f("",!0)}});const vn=m(_n,[["__scopeId","data-v-39646fad"]]),pn=g({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=P();return(t,n)=>l(e).features?(a(),$(vn,{key:0,class:"VPHomeFeatures",features:l(e).features},null,8,["features"])):f("",!0)}}),hn={class:"VPHome"},fn=g({__name:"VPHome",setup(s){return(e,t)=>{const n=U("Content");return a(),i("div",hn,[u(e.$slots,"home-hero-before",{},void 0,!0),h(Ks,null,{"home-hero-info":_(()=>[u(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":_(()=>[u(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(e.$slots,"home-hero-after",{},void 0,!0),u(e.$slots,"home-features-before",{},void 0,!0),h(pn),u(e.$slots,"home-features-after",{},void 0,!0),h(n)])}}});const mn=m(fn,[["__scopeId","data-v-d82743a8"]]),gn={},$n={class:"VPPage"};function bn(s,e){const t=U("Content");return a(),i("div",$n,[u(s.$slots,"page-top"),h(t),u(s.$slots,"page-bottom")])}const kn=m(gn,[["render",bn]]),yn=g({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=P(),{hasSidebar:n}=D();return(o,r)=>(a(),i("div",{class:M(["VPContent",{"has-sidebar":l(n),"is-home":l(t).layout==="home"}]),id:"VPContent"},[l(e).isNotFound?u(o.$slots,"not-found",{key:0},()=>[h(ut)],!0):l(t).layout==="page"?(a(),$(kn,{key:1},{"page-top":_(()=>[u(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":_(()=>[u(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):l(t).layout==="home"?(a(),$(mn,{key:2},{"home-hero-before":_(()=>[u(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":_(()=>[u(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":_(()=>[u(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":_(()=>[u(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":_(()=>[u(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":_(()=>[u(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):l(t).layout&&l(t).layout!=="doc"?(a(),$(O(l(t).layout),{key:3})):(a(),$(Ns,{key:4},{"doc-top":_(()=>[u(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":_(()=>[u(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":_(()=>[u(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":_(()=>[u(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":_(()=>[u(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":_(()=>[u(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":_(()=>[u(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":_(()=>[u(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":_(()=>[u(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":_(()=>[u(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":_(()=>[u(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const Pn=m(yn,[["__scopeId","data-v-669faec9"]]),Vn={class:"container"},wn=["innerHTML"],Ln=["innerHTML"],Sn=g({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=D();return(o,r)=>l(e).footer&&l(t).footer!==!1?(a(),i("footer",{key:0,class:M(["VPFooter",{"has-sidebar":l(n)}])},[c("div",Vn,[l(e).footer.message?(a(),i("p",{key:0,class:"message",innerHTML:l(e).footer.message},null,8,wn)):f("",!0),l(e).footer.copyright?(a(),i("p",{key:1,class:"copyright",innerHTML:l(e).footer.copyright},null,8,Ln)):f("",!0)])],2)):f("",!0)}});const Mn=m(Sn,[["__scopeId","data-v-e03eb2e1"]]),Nn={class:"header"},In={class:"outline"},Cn=g({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=P(),n=L(!1),o=L(0),r=L();K(()=>{n.value=!1});function d(){n.value=!n.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function p(b){b.target.classList.contains("outline-link")&&(r.value&&(r.value.style.transition="none"),Oe(()=>{n.value=!1}))}function v(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,I)=>(a(),i("div",{class:"VPLocalNavOutlineDropdown",style:Le({"--vp-vh":o.value+"px"})},[b.headers.length>0?(a(),i("button",{key:0,onClick:d,class:M({open:n.value})},[A(V(l(_e)(l(t)))+" ",1),h(he,{class:"icon"})],2)):(a(),i("button",{key:1,onClick:v},V(l(t).returnToTopLabel||"Return to top"),1)),h(re,{name:"flyout"},{default:_(()=>[n.value?(a(),i("div",{key:0,ref_key:"items",ref:r,class:"items",onClick:p},[c("div",Nn,[c("a",{class:"top-link",href:"#",onClick:v},V(l(t).returnToTopLabel||"Return to top"),1)]),c("div",In,[h(pe,{headers:b.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}});const Bn=m(Cn,[["__scopeId","data-v-1c15a60a"]]),Tn={},xn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},An=c("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),Hn=c("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),zn=c("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Dn=c("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),Fn=[An,Hn,zn,Dn];function En(s,e){return a(),i("svg",xn,Fn)}const On=m(Tn,[["render",En]]),Gn=["aria-expanded"],Un={class:"menu-text"},Rn=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=D(),{y:o}=Se(),r=de([]),d=L(0);F(()=>{d.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),K(()=>{r.value=ve(t.value.outline??e.value.outline)});const p=k(()=>r.value.length===0&&!n.value),v=k(()=>({VPLocalNav:!0,fixed:p.value,"reached-top":o.value>=d.value}));return(b,I)=>l(t).layout!=="home"&&(!p.value||l(o)>=d.value)?(a(),i("div",{key:0,class:M(v.value)},[l(n)?(a(),i("button",{key:0,class:"menu","aria-expanded":b.open,"aria-controls":"VPSidebarNav",onClick:I[0]||(I[0]=B=>b.$emit("open-menu"))},[h(On,{class:"menu-icon"}),c("span",Un,V(l(e).sidebarMenuLabel||"Menu"),1)],8,Gn)):f("",!0),h(Bn,{headers:r.value,navHeight:d.value},null,8,["headers","navHeight"])],2)):f("",!0)}});const jn=m(Rn,[["__scopeId","data-v-79c8c1df"]]);function qn(){const s=L(!1);function e(){s.value=!0,window.addEventListener("resize",o)}function t(){s.value=!1,window.removeEventListener("resize",o)}function n(){s.value?t():e()}function o(){window.outerWidth>=768&&t()}const r=ee();return G(()=>r.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:n}}const Kn={},Wn={class:"VPSwitch",type:"button",role:"switch"},Yn={class:"check"},Jn={key:0,class:"icon"};function Qn(s,e){return a(),i("button",Wn,[c("span",Yn,[s.$slots.default?(a(),i("span",Jn,[u(s.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Xn=m(Kn,[["render",Qn],["__scopeId","data-v-b1685198"]]),Zn={},eo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},to=c("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),so=[to];function no(s,e){return a(),i("svg",eo,so)}const oo=m(Zn,[["render",no]]),ao={},lo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ro=Ge('',9),io=[ro];function co(s,e){return a(),i("svg",lo,io)}const uo=m(ao,[["render",co]]),_o=g({__name:"VPSwitchAppearance",setup(s){const{isDark:e}=P(),t=te("toggle-appearance",()=>{e.value=!e.value});return(n,o)=>(a(),$(Xn,{title:"toggle dark mode",class:"VPSwitchAppearance","aria-checked":l(e),onClick:l(t)},{default:_(()=>[h(uo,{class:"sun"}),h(oo,{class:"moon"})]),_:1},8,["aria-checked","onClick"]))}});const me=m(_o,[["__scopeId","data-v-ce54a7d1"]]),vo={key:0,class:"VPNavBarAppearance"},po=g({__name:"VPNavBarAppearance",setup(s){const{site:e}=P();return(t,n)=>l(e).appearance?(a(),i("div",vo,[h(me)])):f("",!0)}});const ho=m(po,[["__scopeId","data-v-f6a63727"]]),ge=L();let Be=!1,ne=0;function fo(s){const e=L(!1);if(Y){!Be&&mo(),ne++;const t=G(ge,n=>{var o,r,d;n===s.el.value||(o=s.el.value)!=null&&o.contains(n)?(e.value=!0,(r=s.onFocus)==null||r.call(s)):(e.value=!1,(d=s.onBlur)==null||d.call(s))});ue(()=>{t(),ne--,ne||go()})}return Ue(e)}function mo(){document.addEventListener("focusin",Te),Be=!0,ge.value=document.activeElement}function go(){document.removeEventListener("focusin",Te)}function Te(){ge.value=document.activeElement}const $o={},bo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ko=c("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),yo=[ko];function Po(s,e){return a(),i("svg",bo,yo)}const xe=m($o,[["render",Po]]),Vo={},wo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Lo=c("circle",{cx:"12",cy:"12",r:"2"},null,-1),So=c("circle",{cx:"19",cy:"12",r:"2"},null,-1),Mo=c("circle",{cx:"5",cy:"12",r:"2"},null,-1),No=[Lo,So,Mo];function Io(s,e){return a(),i("svg",wo,No)}const Co=m(Vo,[["render",Io]]),Bo={class:"VPMenuLink"},To=g({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),i("div",Bo,[h(E,{class:M({active:l(R)(l(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:_(()=>[A(V(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const se=m(To,[["__scopeId","data-v-43f1e123"]]),xo={class:"VPMenuGroup"},Ao={key:0,class:"title"},Ho=g({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),i("div",xo,[e.text?(a(),i("p",Ao,V(e.text),1)):f("",!0),(a(!0),i(S,null,x(e.items,n=>(a(),i(S,null,["link"in n?(a(),$(se,{key:0,item:n},null,8,["item"])):f("",!0)],64))),256))]))}});const zo=m(Ho,[["__scopeId","data-v-69e747b5"]]),Do={class:"VPMenu"},Fo={key:0,class:"items"},Eo=g({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),i("div",Do,[e.items?(a(),i("div",Fo,[(a(!0),i(S,null,x(e.items,n=>(a(),i(S,{key:n.text},["link"in n?(a(),$(se,{key:0,item:n},null,8,["item"])):(a(),$(zo,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0),u(e.$slots,"default",{},void 0,!0)]))}});const Oo=m(Eo,[["__scopeId","data-v-e7ea1737"]]),Go=["aria-expanded","aria-label"],Uo={key:0,class:"text"},Ro=["innerHTML"],jo={class:"menu"},qo=g({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=L(!1),t=L();fo({el:t,onBlur:n});function n(){e.value=!1}return(o,r)=>(a(),i("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=d=>e.value=!0),onMouseleave:r[2]||(r[2]=d=>e.value=!1)},[c("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:r[0]||(r[0]=d=>e.value=!e.value)},[o.button||o.icon?(a(),i("span",Uo,[o.icon?(a(),$(O(o.icon),{key:0,class:"option-icon"})):f("",!0),o.button?(a(),i("span",{key:1,innerHTML:o.button},null,8,Ro)):f("",!0),h(xe,{class:"text-icon"})])):(a(),$(Co,{key:1,class:"icon"}))],8,Go),c("div",jo,[h(Oo,{items:o.items},{default:_(()=>[u(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const $e=m(qo,[["__scopeId","data-v-9c007e85"]]),Ko={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',x:'X',youtube:'YouTube'},Wo=["href","aria-label","innerHTML"],Yo=g({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=k(()=>typeof e.icon=="object"?e.icon.svg:Ko[e.icon]);return(n,o)=>(a(),i("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Wo))}});const Jo=m(Yo,[["__scopeId","data-v-f80f8133"]]),Qo={class:"VPSocialLinks"},Xo=g({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),i("div",Qo,[(a(!0),i(S,null,x(e.links,({link:n,icon:o,ariaLabel:r})=>(a(),$(Jo,{key:n,icon:o,link:n,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}});const be=m(Xo,[["__scopeId","data-v-7bc22406"]]),Zo={key:0,class:"group translations"},ea={class:"trans-title"},ta={key:1,class:"group"},sa={class:"item appearance"},na={class:"label"},oa={class:"appearance-action"},aa={key:2,class:"group"},la={class:"item social-links"},ra=g({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=P(),{localeLinks:n,currentLang:o}=J({correspondingLink:!0}),r=k(()=>n.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(d,p)=>r.value?(a(),$($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:_(()=>[l(n).length&&l(o).label?(a(),i("div",Zo,[c("p",ea,V(l(o).label),1),(a(!0),i(S,null,x(l(n),v=>(a(),$(se,{key:v.link,item:v},null,8,["item"]))),128))])):f("",!0),l(e).appearance?(a(),i("div",ta,[c("div",sa,[c("p",na,V(l(t).darkModeSwitchLabel||"Appearance"),1),c("div",oa,[h(me)])])])):f("",!0),l(t).socialLinks?(a(),i("div",aa,[c("div",la,[h(be,{class:"social-links-list",links:l(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}});const ia=m(ra,[["__scopeId","data-v-40855f84"]]),ca=s=>(H("data-v-e5dd9c1c"),s=s(),z(),s),ua=["aria-expanded"],da=ca(()=>c("span",{class:"container"},[c("span",{class:"top"}),c("span",{class:"middle"}),c("span",{class:"bottom"})],-1)),_a=[da],va=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),i("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},_a,10,ua))}});const pa=m(va,[["__scopeId","data-v-e5dd9c1c"]]),ha=["innerHTML"],fa=g({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),$(E,{class:M({VPNavBarMenuLink:!0,active:l(R)(l(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:_(()=>[c("span",{innerHTML:t.item.text},null,8,ha)]),_:1},8,["class","href","target","rel"]))}});const ma=m(fa,[["__scopeId","data-v-42ef59de"]]),ga=g({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),$($e,{class:M({VPNavBarMenuGroup:!0,active:l(R)(l(e).relativePath,t.item.activeMatch,!!t.item.activeMatch)}),button:t.item.text,items:t.item.items},null,8,["class","button","items"]))}}),$a=s=>(H("data-v-7f418b0f"),s=s(),z(),s),ba={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},ka=$a(()=>c("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),ya=g({__name:"VPNavBarMenu",setup(s){const{theme:e}=P();return(t,n)=>l(e).nav?(a(),i("nav",ba,[ka,(a(!0),i(S,null,x(l(e).nav,o=>(a(),i(S,{key:o.text},["link"in o?(a(),$(ma,{key:0,item:o},null,8,["item"])):(a(),$(ga,{key:1,item:o},null,8,["item"]))],64))),128))])):f("",!0)}});const Pa=m(ya,[["__scopeId","data-v-7f418b0f"]]);const Va={type:"button",class:"DocSearch DocSearch-Button","aria-label":"Search"},wa={class:"DocSearch-Button-Container"},La=c("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[c("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Sa={class:"DocSearch-Button-Placeholder"},Ma=c("span",{class:"DocSearch-Button-Keys"},[c("kbd",{class:"DocSearch-Button-Key"}),c("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Pe=g({__name:"VPNavBarSearchButton",props:{placeholder:{}},setup(s){return(e,t)=>(a(),i("button",Va,[c("span",wa,[La,c("span",Sa,V(e.placeholder),1)]),Ma]))}});const Na={id:"local-search"},Ia={key:1,id:"docsearch"},Ca=g({__name:"VPNavBarSearch",setup(s){const e=()=>null,t=()=>null,{theme:n,localeIndex:o}=P(),r=L(!1),d=L(!1),p=k(()=>{var N,C,y,j,Q,q,ke;const w=((N=n.value.search)==null?void 0:N.options)??n.value.algolia;return((Q=(j=(y=(C=w==null?void 0:w.locales)==null?void 0:C[o.value])==null?void 0:y.translations)==null?void 0:j.button)==null?void 0:Q.buttonText)||((ke=(q=w==null?void 0:w.translations)==null?void 0:q.button)==null?void 0:ke.buttonText)||"Search"});F(()=>{});function v(){r.value||(r.value=!0,setTimeout(b,16))}function b(){const w=new Event("keydown");w.key="k",w.metaKey=!0,window.dispatchEvent(w),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||b()},16)}const I=L(!1),B=L("'Meta'");F(()=>{B.value=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"'⌘'":"'Ctrl'"});const T="";return(w,N)=>{var C;return a(),i("div",{class:"VPNavBarSearch",style:Le({"--vp-meta-key":B.value})},[l(T)==="local"?(a(),i(S,{key:0},[I.value?(a(),$(l(e),{key:0,placeholder:p.value,onClose:N[0]||(N[0]=y=>I.value=!1)},null,8,["placeholder"])):f("",!0),c("div",Na,[h(Pe,{placeholder:p.value,onClick:N[1]||(N[1]=y=>I.value=!0)},null,8,["placeholder"])])],64)):l(T)==="algolia"?(a(),i(S,{key:1},[r.value?(a(),$(l(t),{key:0,algolia:((C=l(n).search)==null?void 0:C.options)??l(n).algolia,onVnodeBeforeMount:N[2]||(N[2]=y=>d.value=!0)},null,8,["algolia"])):f("",!0),d.value?f("",!0):(a(),i("div",Ia,[h(Pe,{placeholder:p.value,onClick:v},null,8,["placeholder"])]))],64)):f("",!0)],4)}}});const Ba=g({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>l(e).socialLinks?(a(),$(be,{key:0,class:"VPNavBarSocialLinks",links:l(e).socialLinks},null,8,["links"])):f("",!0)}});const Ta=m(Ba,[["__scopeId","data-v-0394ad82"]]),xa=["href"],Aa=g({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=P(),{hasSidebar:n}=D(),{currentLang:o}=J();return(r,d)=>(a(),i("div",{class:M(["VPNavBarTitle",{"has-sidebar":l(n)}])},[c("a",{class:"title",href:l(t).logoLink??l(W)(l(o).link)},[u(r.$slots,"nav-bar-title-before",{},void 0,!0),l(t).logo?(a(),$(fe,{key:0,class:"logo",image:l(t).logo},null,8,["image"])):f("",!0),l(t).siteTitle?(a(),i(S,{key:1},[A(V(l(t).siteTitle),1)],64)):l(t).siteTitle===void 0?(a(),i(S,{key:2},[A(V(l(e).title),1)],64)):f("",!0),u(r.$slots,"nav-bar-title-after",{},void 0,!0)],8,xa)],2))}});const Ha=m(Aa,[["__scopeId","data-v-86d1bed8"]]),za={},Da={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Fa=c("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),Ea=c("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),Oa=[Fa,Ea];function Ga(s,e){return a(),i("svg",Da,Oa)}const Ae=m(za,[["render",Ga]]),Ua={class:"items"},Ra={class:"title"},ja=g({__name:"VPNavBarTranslations",setup(s){const{theme:e}=P(),{localeLinks:t,currentLang:n}=J({correspondingLink:!0});return(o,r)=>l(t).length&&l(n).label?(a(),$($e,{key:0,class:"VPNavBarTranslations",icon:Ae,label:l(e).langMenuLabel||"Change language"},{default:_(()=>[c("div",Ua,[c("p",Ra,V(l(n).label),1),(a(!0),i(S,null,x(l(t),d=>(a(),$(se,{key:d.link,item:d},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}});const qa=m(ja,[["__scopeId","data-v-74abcbb9"]]),Ka=s=>(H("data-v-a0fd61f4"),s=s(),z(),s),Wa={class:"container"},Ya={class:"title"},Ja={class:"content"},Qa=Ka(()=>c("div",{class:"curtain"},null,-1)),Xa={class:"content-body"},Za=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const{y:e}=Se(),{hasSidebar:t}=D(),{frontmatter:n}=P(),o=L({});return Ve(()=>{o.value={"has-sidebar":t.value,top:n.value.layout==="home"&&e.value===0}}),(r,d)=>(a(),i("div",{class:M(["VPNavBar",o.value])},[c("div",Wa,[c("div",Ya,[h(Ha,null,{"nav-bar-title-before":_(()=>[u(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":_(()=>[u(r.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),c("div",Ja,[Qa,c("div",Xa,[u(r.$slots,"nav-bar-content-before",{},void 0,!0),h(Ca,{class:"search"}),h(Pa,{class:"menu"}),h(qa,{class:"translations"}),h(ho,{class:"appearance"}),h(Ta,{class:"social-links"}),h(ia,{class:"extra"}),u(r.$slots,"nav-bar-content-after",{},void 0,!0),h(pa,{class:"hamburger",active:r.isScreenOpen,onClick:d[0]||(d[0]=p=>r.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const el=m(Za,[["__scopeId","data-v-a0fd61f4"]]),tl={key:0,class:"VPNavScreenAppearance"},sl={class:"text"},nl=g({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=P();return(n,o)=>l(e).appearance?(a(),i("div",tl,[c("p",sl,V(l(t).darkModeSwitchLabel||"Appearance"),1),h(me)])):f("",!0)}});const ol=m(nl,[["__scopeId","data-v-add8f686"]]),al=g({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=te("close-screen");return(t,n)=>(a(),$(E,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:l(e)},{default:_(()=>[A(V(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const ll=m(al,[["__scopeId","data-v-05f27b2a"]]),rl={},il={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},cl=c("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),ul=[cl];function dl(s,e){return a(),i("svg",il,ul)}const _l=m(rl,[["render",dl]]),vl=g({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=te("close-screen");return(t,n)=>(a(),$(E,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:l(e)},{default:_(()=>[A(V(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const He=m(vl,[["__scopeId","data-v-19976ae1"]]),pl={class:"VPNavScreenMenuGroupSection"},hl={key:0,class:"title"},fl=g({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),i("div",pl,[e.text?(a(),i("p",hl,V(e.text),1)):f("",!0),(a(!0),i(S,null,x(e.items,n=>(a(),$(He,{key:n.text,item:n},null,8,["item"]))),128))]))}});const ml=m(fl,[["__scopeId","data-v-8133b170"]]),gl=["aria-controls","aria-expanded"],$l={class:"button-text"},bl=["id"],kl={key:1,class:"group"},yl=g({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=L(!1),n=k(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(r,d)=>(a(),i("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[c("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:o},[c("span",$l,V(r.text),1),h(_l,{class:"button-icon"})],8,gl),c("div",{id:n.value,class:"items"},[(a(!0),i(S,null,x(r.items,p=>(a(),i(S,{key:p.text},["link"in p?(a(),i("div",{key:p.text,class:"item"},[h(He,{item:p},null,8,["item"])])):(a(),i("div",kl,[h(ml,{text:p.text,items:p.items},null,8,["text","items"])]))],64))),128))],8,bl)],2))}});const Pl=m(yl,[["__scopeId","data-v-1ecb84e7"]]),Vl={key:0,class:"VPNavScreenMenu"},wl=g({__name:"VPNavScreenMenu",setup(s){const{theme:e}=P();return(t,n)=>l(e).nav?(a(),i("nav",Vl,[(a(!0),i(S,null,x(l(e).nav,o=>(a(),i(S,{key:o.text},["link"in o?(a(),$(ll,{key:0,item:o},null,8,["item"])):(a(),$(Pl,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Ll=g({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>l(e).socialLinks?(a(),$(be,{key:0,class:"VPNavScreenSocialLinks",links:l(e).socialLinks},null,8,["links"])):f("",!0)}}),Sl={class:"list"},Ml=g({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=J({correspondingLink:!0}),n=L(!1);function o(){n.value=!n.value}return(r,d)=>l(e).length&&l(t).label?(a(),i("div",{key:0,class:M(["VPNavScreenTranslations",{open:n.value}])},[c("button",{class:"title",onClick:o},[h(Ae,{class:"icon lang"}),A(" "+V(l(t).label)+" ",1),h(xe,{class:"icon chevron"})]),c("ul",Sl,[(a(!0),i(S,null,x(l(e),p=>(a(),i("li",{key:p.link,class:"item"},[h(E,{class:"link",href:p.link},{default:_(()=>[A(V(p.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}});const Nl=m(Ml,[["__scopeId","data-v-d72aa483"]]),Il={class:"container"},Cl=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=L(null),t=Me(Y?document.body:null);return(n,o)=>(a(),$(re,{name:"fade",onEnter:o[0]||(o[0]=r=>t.value=!0),onAfterLeave:o[1]||(o[1]=r=>t.value=!1)},{default:_(()=>[n.open?(a(),i("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[c("div",Il,[u(n.$slots,"nav-screen-content-before",{},void 0,!0),h(wl,{class:"menu"}),h(Nl,{class:"translations"}),h(ol,{class:"appearance"}),h(Ll,{class:"social-links"}),u(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}});const Bl=m(Cl,[["__scopeId","data-v-cc5739dd"]]),Tl={class:"VPNav"},xl=g({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=qn();return Ne("close-screen",t),(o,r)=>(a(),i("header",Tl,[h(el,{"is-screen-open":l(e),onToggleScreen:l(n)},{"nav-bar-title-before":_(()=>[u(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":_(()=>[u(o.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":_(()=>[u(o.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":_(()=>[u(o.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),h(Bl,{open:l(e)},{"nav-screen-content-before":_(()=>[u(o.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":_(()=>[u(o.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])]))}});const Al=m(xl,[["__scopeId","data-v-7e5bc4a5"]]),Hl=s=>(H("data-v-e31bd47b"),s=s(),z(),s),zl=["role","tabindex"],Dl=Hl(()=>c("div",{class:"indicator"},null,-1)),Fl=["onKeydown"],El={key:1,class:"items"},Ol=g({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:n,isLink:o,isActiveLink:r,hasActiveLink:d,hasChildren:p,toggle:v}=pt(k(()=>e.item)),b=k(()=>p.value?"section":"div"),I=k(()=>o.value?"a":"div"),B=k(()=>p.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),T=k(()=>o.value?void 0:"button"),w=k(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":o.value},{"is-active":r.value},{"has-active":d.value}]);function N(y){"key"in y&&y.key!=="Enter"||!e.item.link&&v()}function C(){e.item.link&&v()}return(y,j)=>{const Q=U("VPSidebarItem",!0);return a(),$(O(b.value),{class:M(["VPSidebarItem",w.value])},{default:_(()=>[y.item.text?(a(),i("div",X({key:0,class:"item",role:T.value},je(y.item.items?{click:N,keydown:N}:{},!0),{tabindex:y.item.items&&0}),[Dl,y.item.link?(a(),$(E,{key:0,tag:I.value,class:"link",href:y.item.link,rel:y.item.rel,target:y.item.target},{default:_(()=>[(a(),$(O(B.value),{class:"text",innerHTML:y.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(O(B.value),{key:1,class:"text",innerHTML:y.item.text},null,8,["innerHTML"])),y.item.collapsed!=null?(a(),i("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:Re(C,["enter"]),tabindex:"0"},[h(he,{class:"caret-icon"})],40,Fl)):f("",!0)],16,zl)):f("",!0),y.item.items&&y.item.items.length?(a(),i("div",El,[y.depth<5?(a(!0),i(S,{key:0},x(y.item.items,q=>(a(),$(Q,{key:q.text,item:q,depth:y.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}});const Gl=m(Ol,[["__scopeId","data-v-e31bd47b"]]),ze=s=>(H("data-v-b00e2fdd"),s=s(),z(),s),Ul=ze(()=>c("div",{class:"curtain"},null,-1)),Rl={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},jl=ze(()=>c("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),ql=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const e=s,{sidebarGroups:t,hasSidebar:n}=D(),o=L(null),r=Me(Y?document.body:null);return G([e,o],()=>{var d;e.open?(r.value=!0,(d=o.value)==null||d.focus()):r.value=!1},{immediate:!0,flush:"post"}),(d,p)=>l(n)?(a(),i("aside",{key:0,class:M(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:o,onClick:p[0]||(p[0]=qe(()=>{},["stop"]))},[Ul,c("nav",Rl,[jl,u(d.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),i(S,null,x(l(t),v=>(a(),i("div",{key:v.text,class:"group"},[h(Gl,{item:v,depth:0},null,8,["item"])]))),128)),u(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}});const Kl=m(ql,[["__scopeId","data-v-b00e2fdd"]]),Wl=g({__name:"VPSkipLink",setup(s){const e=ee(),t=L();G(()=>e.path,()=>t.value.focus());function n({target:o}){const r=document.getElementById(decodeURIComponent(o.hash).slice(1));if(r){const d=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",d)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",d),r.focus(),window.scrollTo(0,0)}}return(o,r)=>(a(),i(S,null,[c("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),c("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}});const Yl=m(Wl,[["__scopeId","data-v-0f60ec36"]]),Jl=g({__name:"Layout",setup(s){const{isOpen:e,open:t,close:n}=D(),o=ee();G(()=>o.path,n),vt(e,n);const{frontmatter:r}=P(),d=Ke(),p=k(()=>!!d["home-hero-image"]);return Ne("hero-image-slot-exists",p),(v,b)=>{const I=U("Content");return l(r).layout!==!1?(a(),i("div",{key:0,class:M(["Layout",l(r).pageClass])},[u(v.$slots,"layout-top",{},void 0,!0),h(Yl),h(Xe,{class:"backdrop",show:l(e),onClick:l(n)},null,8,["show","onClick"]),l(r).navbar!==!1?(a(),$(Al,{key:0},{"nav-bar-title-before":_(()=>[u(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":_(()=>[u(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":_(()=>[u(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":_(()=>[u(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":_(()=>[u(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":_(()=>[u(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3})):f("",!0),h(jn,{open:l(e),onOpenMenu:l(t)},null,8,["open","onOpenMenu"]),h(Kl,{open:l(e)},{"sidebar-nav-before":_(()=>[u(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":_(()=>[u(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),h(Pn,null,{"page-top":_(()=>[u(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":_(()=>[u(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":_(()=>[u(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":_(()=>[u(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":_(()=>[u(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":_(()=>[u(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":_(()=>[u(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":_(()=>[u(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":_(()=>[u(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":_(()=>[u(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":_(()=>[u(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":_(()=>[u(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":_(()=>[u(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":_(()=>[u(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":_(()=>[u(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":_(()=>[u(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":_(()=>[u(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":_(()=>[u(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":_(()=>[u(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":_(()=>[u(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),h(Mn),u(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(I,{key:1}))}}});const Ql=m(Jl,[["__scopeId","data-v-1919c326"]]);const Zl={Layout:Ql,enhanceApp:({app:s})=>{s.component("Badge",Ye)}};export{Zl as t}; diff --git a/assets/guide_concept.md.cc7bd264.js b/assets/guide_concept.md.cc7bd264.js new file mode 100644 index 00000000..e0ff865b --- /dev/null +++ b/assets/guide_concept.md.cc7bd264.js @@ -0,0 +1,19 @@ +import{_ as e,o as a,c as s,Q as l}from"./chunks/framework.44ff8bb5.js";const m=JSON.parse('{"title":"理念","description":"","frontmatter":{},"headers":[],"relativePath":"guide/concept.md","filePath":"guide/concept.md","lastUpdated":1693818631000}'),n={name:"guide/concept.md"},o=l(`

理念

why

现有的聊天记录导出归档项目主要分为以下几步, 以 Wechat 为例

导出数据库 --> 解密数据库 --> 解密资源(图片等) --> 生成 HTML (多为模板直出)
导出数据库 --> 解密数据库 --> 解密资源(图片等) --> 生成 HTML (多为模板直出)

在此流程中有很多弊端

  • 使用上
    • 大都为 HTML 模板直出,无分页,几百兆的 HTML 不可用
    • 导出的归档数据无法查询, 筛选、评论等. 失去了归档数据的意义
    • 没有图表统计,数据未体现额外价值
    • 显示数据单一, 无法多项目如 QQ Wechat 按时间线合并查看
    • 多次导出的数据 (如 2020 年导出的数据和 2021 年导出的数据) 不能累计查看并分析
  • 程序上
    • 获取数据不完整,只能拿到当前 HTML 所需导出的数据, 无法拿到数据库中完整的额外字段
    • 全流程耦合,如果对产物不满意, 只能从头开始造轮子, 难以从中间(如解密后的数据库)开始
基于以上问题,Shimly 的亮点在于
基于以上问题,Shimly 的亮点在于
  • 使用上

    • Show 基于 Vue 组件化开发,纯前端实现,240M 数据文件浏览搜索无压力
    • 支持筛选、搜索(支持正则)、评论(支持双向引用链接且显示)
    • 支持我能想到所有维度的数据图表统计
    • 支持多种类、多批次数据合并显示与统计
  • 程序上

    • 完整的数据导出、不管是否 Show 有使用,能导尽导,万一别人需要呢
    • 架构上 (见下)

架构

基于以上问题, 我提出以下架构进行 "前后端" "功能化" 拆分, 减少后人的 轮子

|---------|----------------------- Get -----------------------|------------------------ Show -------------------------|
+|---------|------- ExportDB ------|----------- ToMsg ---------|------- ModifyServer ------|---------- Web ------------|
+
+Wechat:   导出数据库 -> 解密数据库 -> 解密资源(图片等)                       添加评论                  消息/评论 筛选查询
+                                              \\                        /            \\            /
+SMS:      导出数据   ->                       导出为标准数据 -> 合并处理->  -修改错误-  -> 存档显示 ->  时间线合并显示
+                                              /                        \\            /            \\
+MobileQQ: 导出数据库 ->              解密资源(图片等)                       数据预处理                 大数据图表
+
+更多来源...
|---------|----------------------- Get -----------------------|------------------------ Show -------------------------|
+|---------|------- ExportDB ------|----------- ToMsg ---------|------- ModifyServer ------|---------- Web ------------|
+
+Wechat:   导出数据库 -> 解密数据库 -> 解密资源(图片等)                       添加评论                  消息/评论 筛选查询
+                                              \\                        /            \\            /
+SMS:      导出数据   ->                       导出为标准数据 -> 合并处理->  -修改错误-  -> 存档显示 ->  时间线合并显示
+                                              /                        \\            /            \\
+MobileQQ: 导出数据库 ->              解密资源(图片等)                       数据预处理                 大数据图表
+
+更多来源...

将过程分为 Get(后端采集) 和 Show(前端展示), 并细化为 4 个部分(库), 中间使用 Shimly-Msg 标准格式进行融合

  • Get
    • ExportDB 从设备导出原始数据(库)并解密
    • ToMsg 从解密数据库导出为标准数据 \${Shmily-Msg}, 并解密资源(图片等)
      • 导出的数据为 json 格式, 并尽可能导出所有数据, 不管用没用,历史不嫌多
  • Show
    • ModifyServer 用于手动修改 数据文件添加评论
    • Web 用于最终显示 时间线大数据图表

让过程变为 4 个部分后

  • 完全解耦, 便于各种二开造轮子, 便于各个阶段变为轮子
  • 使用现代 Web 框架组件化开发,展示上有了更多可能性. 更多 Show 的问答参考 Shmily-Show/docs/Q_A.md
  • 多种类、多批次的 Get 都可以融合在一个 Show 中时间线展示

问题

拆分后势必增加运行成本, 我希望通过批处理等脚本方式粘合各个库之间的运行, 尽量做到开箱即用. 也会完善文档让非程序员也能阅读明白, 如有不懂之处, 欢迎 Github 提 issues.

感想

花了近 3 年用 JS 写了一大堆的 Get, 我发现还是原生语言开发最方便, 如 MobileQQ 中 Java Serializable问题JS 太难了, 所以以后我还是希望由开源社区贡献与维护 Get, 我会尽力维护 Show 部分.

数据本身就归属用户, 不提供数据导出的都是耍流氓.

`,21),t=[o];function i(p,c,r,h,d,u){return a(),s("div",null,t)}const b=e(n,[["render",i]]);export{m as __pageData,b as default}; diff --git a/assets/guide_concept.md.cc7bd264.lean.js b/assets/guide_concept.md.cc7bd264.lean.js new file mode 100644 index 00000000..3054511e --- /dev/null +++ b/assets/guide_concept.md.cc7bd264.lean.js @@ -0,0 +1 @@ +import{_ as e,o as a,c as s,Q as l}from"./chunks/framework.44ff8bb5.js";const m=JSON.parse('{"title":"理念","description":"","frontmatter":{},"headers":[],"relativePath":"guide/concept.md","filePath":"guide/concept.md","lastUpdated":1693818631000}'),n={name:"guide/concept.md"},o=l("",21),t=[o];function i(p,c,r,h,d,u){return a(),s("div",null,t)}const b=e(n,[["render",i]]);export{m as __pageData,b as default}; diff --git a/assets/guide_concept.md.f545fd44.js b/assets/guide_concept.md.f545fd44.js deleted file mode 100644 index 91d9b47b..00000000 --- a/assets/guide_concept.md.f545fd44.js +++ /dev/null @@ -1,10 +0,0 @@ -import{_ as l,o as e,c as a,O as s}from"./chunks/framework.1a8457a3.js";const m=JSON.parse('{"title":"理念","description":"","frontmatter":{},"headers":[],"relativePath":"guide/concept.md","filePath":"guide/concept.md","lastUpdated":1693793714000}'),t={name:"guide/concept.md"},o=s(`

理念

why

现有的聊天记录导出归档项目主要分为以下几步, 以 Wechat 为例

导出数据库 --> 解密数据库 --> 解密资源(图片等) --> 生成 HTML (多为模板直出)

在此流程中有很多弊端

  • 使用上
    • 大都为 HTML 模板直出,无分页,几百兆的 HTML 不可用
    • 导出的归档数据无法查询, 筛选、评论等. 失去了归档数据的意义
    • 没有图表统计,数据未体现额外价值
    • 显示数据单一, 无法多项目如 QQ Wechat 按时间线合并查看
    • 多次导出的数据 (如 2020 年导出的数据和 2021 年导出的数据) 不能累计查看并分析
  • 程序上
    • 获取数据不完整,只能拿到当前 HTML 所需导出的数据, 无法拿到数据库中完整的额外字段
    • 全流程耦合,如果对产物不满意, 只能从头开始造轮子, 难以从中间(如解密后的数据库)开始
基于以上问题,Shimly 的亮点在于
  • 使用上

    • Show 基于 Vue 组件化开发,纯前端实现,240M 数据文件浏览搜索无压力
    • 支持筛选、搜索(支持正则)、评论(支持双向引用链接且显示)
    • 支持我能想到所有维度的数据图表统计
    • 支持多种类、多批次数据合并显示与统计
  • 程序上

    • 完整的数据导出、不管是否 Show 有使用,能导尽导,万一别人需要呢
    • 架构上 (见下)

架构

基于以上问题, 我提出以下架构进行 "前后端" "功能化" 拆分, 减少后人的 轮子

|---------|----------------------- Get -----------------------|------------------------ Show -------------------------|
-|---------|------- ExportDB ------|----------- ToMsg ---------|------- ModifyServer ------|---------- Web ------------|
-
-Wechat:   导出数据库 -> 解密数据库 -> 解密资源(图片等)                       添加评论                  消息/评论 筛选查询
-                                              \\                        /            \\            /
-SMS:      导出数据   ->                       导出为标准数据 -> 合并处理->  -修改错误-  -> 存档显示 ->  时间线合并显示
-                                              /                        \\            /            \\
-MobileQQ: 导出数据库 ->              解密资源(图片等)                       数据预处理                 大数据图表
-
-更多来源...

将过程分为 Get(后端采集) 和 Show(前端展示), 并细化为 4 个部分(库), 中间使用 Shimly-Msg 标准格式进行融合

  • Get
    • ExportDB 从设备导出原始数据(库)并解密
    • ToMsg 从解密数据库导出为标准数据 \${Shmily-Msg}, 并解密资源(图片等)
      • 导出的数据为 json 格式, 并尽可能导出所有数据, 不管用没用,历史不嫌多
  • Show
    • ModifyServer 用于手动修改 数据文件添加评论
    • Web 用于最终显示 时间线大数据图表

让过程变为 4 个部分后

  • 完全解耦, 便于各种二开造轮子, 便于各个阶段变为轮子
  • 使用现代 Web 框架组件化开发,展示上有了更多可能性. 更多 Show 的问答参考 Shmily-Show/docs/Q_A.md
  • 多种类、多批次的 Get 都可以融合在一个 Show 中时间线展示

问题

拆分后势必增加运行成本, 我希望通过批处理等脚本方式粘合各个库之间的运行, 尽量做到开箱即用. 也会完善文档让非程序员也能阅读明白, 如有不懂之处, 欢迎 Github 提 issues.

感想

花了近 3 年用 JS 写了一大堆的 Get, 我发现还是原生语言开发最方便, 如 MobileQQ 中 Java Serializable问题JS 太难了, 所以以后我还是希望由开源社区贡献与维护 Get, 我会尽力维护 Show 部分.

数据本身就归属用户, 不提供数据导出的都是耍流氓.

`,21),i=[o];function n(r,p,c,h,d,u){return e(),a("div",null,i)}const b=l(t,[["render",n]]);export{m as __pageData,b as default}; diff --git a/assets/guide_concept.md.f545fd44.lean.js b/assets/guide_concept.md.f545fd44.lean.js deleted file mode 100644 index b50b19af..00000000 --- a/assets/guide_concept.md.f545fd44.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as l,o as e,c as a,O as s}from"./chunks/framework.1a8457a3.js";const m=JSON.parse('{"title":"理念","description":"","frontmatter":{},"headers":[],"relativePath":"guide/concept.md","filePath":"guide/concept.md","lastUpdated":1693793714000}'),t={name:"guide/concept.md"},o=s("",21),i=[o];function n(r,p,c,h,d,u){return e(),a("div",null,i)}const b=l(t,[["render",n]]);export{m as __pageData,b as default}; diff --git a/assets/guide_other_donation.md.41d60739.js b/assets/guide_other_donation.md.41d60739.js new file mode 100644 index 00000000..6c3b97ec --- /dev/null +++ b/assets/guide_other_donation.md.41d60739.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as i,k as e,a as t,Q as o}from"./chunks/framework.44ff8bb5.js";const r="/Shmily/assets/Ailurus.f1a6d4cf.mp4",n="/Shmily/assets/pay_al.57b7af03.png",d="/Shmily/assets/pay_wx.25a14746.png",c="/Shmily/assets/taobao.25c415fc.svg",l="/Shmily/assets/red-panda.a1b2237a.jpg",E=JSON.parse('{"title":"捐赠","description":"","frontmatter":{},"headers":[],"relativePath":"guide/other/donation.md","filePath":"guide/other/donation.md","lastUpdated":1693818631000}'),_={name:"guide/other/donation.md"},p=e("h1",{id:"捐赠",tabindex:"-1"},[t("捐赠 "),e("a",{class:"header-anchor",href:"#捐赠","aria-label":'Permalink to "捐赠"'},"​")],-1),m={align:"center"},h=e("p",null,[t("!!! "),e("a",{href:"https://baike.baidu.com/item/%E5%B0%8F%E7%86%8A%E7%8C%AB/22379",target:"_blank",rel:"noreferrer"},[e("em",null,"小熊猫")]),t(" 是世界上最可爱的动物 !!! XD")],-1),b={key:0},f=e("video",{src:r,controls:""},null,-1),g=[f],y=o('

https://www.bilibili.com/video/BV1qy4y1s7SJ/


如果您觉得这个项目对你有帮助, 欢迎投币请我去动物园看 小熊猫

请在备注内包含 Shmily 字样
门票公示

                            

如果觉得太麻烦,可以付费代劳。淘宝店地址

贱的那个是 小浣熊, 萌的那个是 小熊猫

red-panda

',10);function u(v,S,k,x,B,w){return a(),i("div",null,[p,e("div",m,[h,(a(),i("div",b,g)),y])])}const T=s(_,[["render",u]]);export{E as __pageData,T as default}; diff --git a/assets/guide_other_donation.md.41d60739.lean.js b/assets/guide_other_donation.md.41d60739.lean.js new file mode 100644 index 00000000..7df7660e --- /dev/null +++ b/assets/guide_other_donation.md.41d60739.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as i,k as e,a as t,Q as o}from"./chunks/framework.44ff8bb5.js";const r="/Shmily/assets/Ailurus.f1a6d4cf.mp4",n="/Shmily/assets/pay_al.57b7af03.png",d="/Shmily/assets/pay_wx.25a14746.png",c="/Shmily/assets/taobao.25c415fc.svg",l="/Shmily/assets/red-panda.a1b2237a.jpg",E=JSON.parse('{"title":"捐赠","description":"","frontmatter":{},"headers":[],"relativePath":"guide/other/donation.md","filePath":"guide/other/donation.md","lastUpdated":1693818631000}'),_={name:"guide/other/donation.md"},p=e("h1",{id:"捐赠",tabindex:"-1"},[t("捐赠 "),e("a",{class:"header-anchor",href:"#捐赠","aria-label":'Permalink to "捐赠"'},"​")],-1),m={align:"center"},h=e("p",null,[t("!!! "),e("a",{href:"https://baike.baidu.com/item/%E5%B0%8F%E7%86%8A%E7%8C%AB/22379",target:"_blank",rel:"noreferrer"},[e("em",null,"小熊猫")]),t(" 是世界上最可爱的动物 !!! XD")],-1),b={key:0},f=e("video",{src:r,controls:""},null,-1),g=[f],y=o("",10);function u(v,S,k,x,B,w){return a(),i("div",null,[p,e("div",m,[h,(a(),i("div",b,g)),y])])}const T=s(_,[["render",u]]);export{E as __pageData,T as default}; diff --git a/assets/guide_other_donation.md.bd8fbc0f.js b/assets/guide_other_donation.md.bd8fbc0f.js deleted file mode 100644 index 90277214..00000000 --- a/assets/guide_other_donation.md.bd8fbc0f.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,o as a,c as i,z as t,a as e,O as s}from"./chunks/framework.1a8457a3.js";const o="/Shmily/assets/Ailurus.f1a6d4cf.mp4",n="/Shmily/assets/pay_al.57b7af03.png",d="/Shmily/assets/pay_wx.25a14746.png",_="/Shmily/assets/taobao.25c415fc.svg",c="/Shmily/assets/red-panda.a1b2237a.jpg",V=JSON.parse('{"title":"捐赠","description":"","frontmatter":{},"headers":[],"relativePath":"guide/other/donation.md","filePath":"guide/other/donation.md","lastUpdated":1693793714000}'),l={name:"guide/other/donation.md"},h=t("h1",{id:"捐赠",tabindex:"-1"},[e("捐赠 "),t("a",{class:"header-anchor",href:"#捐赠","aria-label":'Permalink to "捐赠"'},"​")],-1),p={align:"center"},m=t("p",null,[e("!!! "),t("a",{href:"https://baike.baidu.com/item/%E5%B0%8F%E7%86%8A%E7%8C%AB/22379",target:"_blank",rel:"noreferrer"},[t("em",null,"小熊猫")]),e(" 是世界上最可爱的动物 !!! XD")],-1),b={key:0},g=t("video",{src:o,controls:""},null,-1),f=[g],y=s('

https://www.bilibili.com/video/BV1qy4y1s7SJ/


如果您觉得这个项目对你有帮助, 欢迎投币请我去动物园看 小熊猫

请在备注内包含 Shmily 字样

                            

如果觉得太麻烦,可以付费代劳。淘宝店地址

贱的那个是 小浣熊, 萌的那个是 小熊猫

red-panda

',10),v=s('

门票公示

时间 姓名 金额 来源
2023/09/03 17:12:36 *门 10 Wechat
',2);function u(S,T,x,A,k,B){return a(),i("div",null,[h,t("div",p,[m,(a(),i("div",b,f)),y]),v])}const w=r(l,[["render",u]]);export{V as __pageData,w as default}; diff --git a/assets/guide_other_donation.md.bd8fbc0f.lean.js b/assets/guide_other_donation.md.bd8fbc0f.lean.js deleted file mode 100644 index 8f159512..00000000 --- a/assets/guide_other_donation.md.bd8fbc0f.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,o as a,c as i,z as t,a as e,O as s}from"./chunks/framework.1a8457a3.js";const o="/Shmily/assets/Ailurus.f1a6d4cf.mp4",n="/Shmily/assets/pay_al.57b7af03.png",d="/Shmily/assets/pay_wx.25a14746.png",_="/Shmily/assets/taobao.25c415fc.svg",c="/Shmily/assets/red-panda.a1b2237a.jpg",V=JSON.parse('{"title":"捐赠","description":"","frontmatter":{},"headers":[],"relativePath":"guide/other/donation.md","filePath":"guide/other/donation.md","lastUpdated":1693793714000}'),l={name:"guide/other/donation.md"},h=t("h1",{id:"捐赠",tabindex:"-1"},[e("捐赠 "),t("a",{class:"header-anchor",href:"#捐赠","aria-label":'Permalink to "捐赠"'},"​")],-1),p={align:"center"},m=t("p",null,[e("!!! "),t("a",{href:"https://baike.baidu.com/item/%E5%B0%8F%E7%86%8A%E7%8C%AB/22379",target:"_blank",rel:"noreferrer"},[t("em",null,"小熊猫")]),e(" 是世界上最可爱的动物 !!! XD")],-1),b={key:0},g=t("video",{src:o,controls:""},null,-1),f=[g],y=s("",10),v=s("",2);function u(S,T,x,A,k,B){return a(),i("div",null,[h,t("div",p,[m,(a(),i("div",b,f)),y]),v])}const w=r(l,[["render",u]]);export{V as __pageData,w as default}; diff --git a/assets/guide_other_donation_list.md.8873fd0e.js b/assets/guide_other_donation_list.md.8873fd0e.js new file mode 100644 index 00000000..62862e71 --- /dev/null +++ b/assets/guide_other_donation_list.md.8873fd0e.js @@ -0,0 +1,3 @@ +import{_ as t,o as e,c as a,Q as s}from"./chunks/framework.44ff8bb5.js";const y=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/other/donation_list.md","filePath":"guide/other/donation_list.md","lastUpdated":1693818631000}'),n={name:"guide/other/donation_list.md"},l=s(`
门票公示
请在备注内包含 Shmily 字样
+如有遗漏,请发送截图至 i@lqzh.me
请在备注内包含 Shmily 字样
+如有遗漏,请发送截图至 i@lqzh.me

时间姓名金额来源
2023/09/03 17:12:36*门10Wechat
`,4),o=[l];function i(c,r,d,p,h,_){return e(),a("div",null,o)}const m=t(n,[["render",i]]);export{y as __pageData,m as default}; diff --git a/assets/guide_other_donation_list.md.8873fd0e.lean.js b/assets/guide_other_donation_list.md.8873fd0e.lean.js new file mode 100644 index 00000000..05f68a58 --- /dev/null +++ b/assets/guide_other_donation_list.md.8873fd0e.lean.js @@ -0,0 +1 @@ +import{_ as t,o as e,c as a,Q as s}from"./chunks/framework.44ff8bb5.js";const y=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/other/donation_list.md","filePath":"guide/other/donation_list.md","lastUpdated":1693818631000}'),n={name:"guide/other/donation_list.md"},l=s("",4),o=[l];function i(c,r,d,p,h,_){return e(),a("div",null,o)}const m=t(n,[["render",i]]);export{y as __pageData,m as default}; diff --git a/assets/guide_other_thanks.md.6c467a15.js b/assets/guide_other_thanks.md.5576a0cc.js similarity index 93% rename from assets/guide_other_thanks.md.6c467a15.js rename to assets/guide_other_thanks.md.5576a0cc.js index 87604924..52c9a37d 100644 --- a/assets/guide_other_thanks.md.6c467a15.js +++ b/assets/guide_other_thanks.md.5576a0cc.js @@ -1 +1 @@ -import{_ as e,o as t,c as r,O as a}from"./chunks/framework.1a8457a3.js";const m=JSON.parse('{"title":"感谢","description":"","frontmatter":{},"headers":[],"relativePath":"guide/other/thanks.md","filePath":"guide/other/thanks.md","lastUpdated":1693793714000}'),o={name:"guide/other/thanks.md"},h=a('

感谢

这 3 年的开发中受到了各种开源库的启发与帮助, 在此感谢

Adun toridas

神圣的 Ctrl_C 连接着我们每个人的思想!让我们在绝望之中团结一致。

恩人

开发周期有点长, 名单不完整, 会逐步补充

',6),i=[h];function l(s,c,n,p,u,g){return t(),r("div",null,i)}const d=e(o,[["render",l]]);export{m as __pageData,d as default}; +import{_ as e,o as t,c as r,Q as a}from"./chunks/framework.44ff8bb5.js";const m=JSON.parse('{"title":"感谢","description":"","frontmatter":{},"headers":[],"relativePath":"guide/other/thanks.md","filePath":"guide/other/thanks.md","lastUpdated":1693818631000}'),o={name:"guide/other/thanks.md"},h=a('

感谢

这 3 年的开发中受到了各种开源库的启发与帮助, 在此感谢

Adun toridas

神圣的 Ctrl_C 连接着我们每个人的思想!让我们在绝望之中团结一致。

恩人

开发周期有点长, 名单不完整, 会逐步补充

',6),i=[h];function l(s,c,n,p,u,g){return t(),r("div",null,i)}const d=e(o,[["render",l]]);export{m as __pageData,d as default}; diff --git a/assets/guide_other_thanks.md.6c467a15.lean.js b/assets/guide_other_thanks.md.5576a0cc.lean.js similarity index 55% rename from assets/guide_other_thanks.md.6c467a15.lean.js rename to assets/guide_other_thanks.md.5576a0cc.lean.js index 2a59cf1c..2e51245f 100644 --- a/assets/guide_other_thanks.md.6c467a15.lean.js +++ b/assets/guide_other_thanks.md.5576a0cc.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as r,O as a}from"./chunks/framework.1a8457a3.js";const m=JSON.parse('{"title":"感谢","description":"","frontmatter":{},"headers":[],"relativePath":"guide/other/thanks.md","filePath":"guide/other/thanks.md","lastUpdated":1693793714000}'),o={name:"guide/other/thanks.md"},h=a("",6),i=[h];function l(s,c,n,p,u,g){return t(),r("div",null,i)}const d=e(o,[["render",l]]);export{m as __pageData,d as default}; +import{_ as e,o as t,c as r,Q as a}from"./chunks/framework.44ff8bb5.js";const m=JSON.parse('{"title":"感谢","description":"","frontmatter":{},"headers":[],"relativePath":"guide/other/thanks.md","filePath":"guide/other/thanks.md","lastUpdated":1693818631000}'),o={name:"guide/other/thanks.md"},h=a("",6),i=[h];function l(s,c,n,p,u,g){return t(),r("div",null,i)}const d=e(o,[["render",l]]);export{m as __pageData,d as default}; diff --git a/assets/guide_setup-runtime_docker.md.616fad4b.js b/assets/guide_setup-runtime_docker.md.c2031dc1.js similarity index 70% rename from assets/guide_setup-runtime_docker.md.616fad4b.js rename to assets/guide_setup-runtime_docker.md.c2031dc1.js index 25a21911..26b33bfb 100644 --- a/assets/guide_setup-runtime_docker.md.616fad4b.js +++ b/assets/guide_setup-runtime_docker.md.c2031dc1.js @@ -1 +1 @@ -import{_ as r,o,c as a,z as e,a as t}from"./chunks/framework.1a8457a3.js";const f=JSON.parse('{"title":"开始 docker","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/docker.md","filePath":"guide/setup-runtime/docker.md","lastUpdated":1693793714000}'),d={name:"guide/setup-runtime/docker.md"},s=e("h1",{id:"开始-docker",tabindex:"-1"},[t("开始 docker "),e("a",{class:"header-anchor",href:"#开始-docker","aria-label":'Permalink to "开始 docker"'},"​")],-1),c=e("ul",null,[e("li",null,[e("a",{href:"https://docs.docker.com/desktop/install/windows-install/",target:"_blank",rel:"noreferrer"},"官网"),t("下载 "),e("code",null,"docker desktop")]),e("li",null,"全默认下一步完成")],-1),n=[s,c];function l(i,u,p,_,k,m){return o(),a("div",null,n)}const g=r(d,[["render",l]]);export{f as __pageData,g as default}; +import{_ as r,o,c as a,k as e,a as t}from"./chunks/framework.44ff8bb5.js";const f=JSON.parse('{"title":"开始 docker","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/docker.md","filePath":"guide/setup-runtime/docker.md","lastUpdated":1693818631000}'),d={name:"guide/setup-runtime/docker.md"},s=e("h1",{id:"开始-docker",tabindex:"-1"},[t("开始 docker "),e("a",{class:"header-anchor",href:"#开始-docker","aria-label":'Permalink to "开始 docker"'},"​")],-1),c=e("ul",null,[e("li",null,[e("a",{href:"https://docs.docker.com/desktop/install/windows-install/",target:"_blank",rel:"noreferrer"},"官网"),t("下载 "),e("code",null,"docker desktop")]),e("li",null,"全默认下一步完成")],-1),n=[s,c];function l(i,u,k,p,_,m){return o(),a("div",null,n)}const g=r(d,[["render",l]]);export{f as __pageData,g as default}; diff --git a/assets/guide_setup-runtime_docker.md.616fad4b.lean.js b/assets/guide_setup-runtime_docker.md.c2031dc1.lean.js similarity index 70% rename from assets/guide_setup-runtime_docker.md.616fad4b.lean.js rename to assets/guide_setup-runtime_docker.md.c2031dc1.lean.js index 25a21911..26b33bfb 100644 --- a/assets/guide_setup-runtime_docker.md.616fad4b.lean.js +++ b/assets/guide_setup-runtime_docker.md.c2031dc1.lean.js @@ -1 +1 @@ -import{_ as r,o,c as a,z as e,a as t}from"./chunks/framework.1a8457a3.js";const f=JSON.parse('{"title":"开始 docker","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/docker.md","filePath":"guide/setup-runtime/docker.md","lastUpdated":1693793714000}'),d={name:"guide/setup-runtime/docker.md"},s=e("h1",{id:"开始-docker",tabindex:"-1"},[t("开始 docker "),e("a",{class:"header-anchor",href:"#开始-docker","aria-label":'Permalink to "开始 docker"'},"​")],-1),c=e("ul",null,[e("li",null,[e("a",{href:"https://docs.docker.com/desktop/install/windows-install/",target:"_blank",rel:"noreferrer"},"官网"),t("下载 "),e("code",null,"docker desktop")]),e("li",null,"全默认下一步完成")],-1),n=[s,c];function l(i,u,p,_,k,m){return o(),a("div",null,n)}const g=r(d,[["render",l]]);export{f as __pageData,g as default}; +import{_ as r,o,c as a,k as e,a as t}from"./chunks/framework.44ff8bb5.js";const f=JSON.parse('{"title":"开始 docker","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/docker.md","filePath":"guide/setup-runtime/docker.md","lastUpdated":1693818631000}'),d={name:"guide/setup-runtime/docker.md"},s=e("h1",{id:"开始-docker",tabindex:"-1"},[t("开始 docker "),e("a",{class:"header-anchor",href:"#开始-docker","aria-label":'Permalink to "开始 docker"'},"​")],-1),c=e("ul",null,[e("li",null,[e("a",{href:"https://docs.docker.com/desktop/install/windows-install/",target:"_blank",rel:"noreferrer"},"官网"),t("下载 "),e("code",null,"docker desktop")]),e("li",null,"全默认下一步完成")],-1),n=[s,c];function l(i,u,k,p,_,m){return o(),a("div",null,n)}const g=r(d,[["render",l]]);export{f as __pageData,g as default}; diff --git a/assets/guide_setup-runtime_java.md.247a8cd8.js b/assets/guide_setup-runtime_java.md.ce41e452.js similarity index 82% rename from assets/guide_setup-runtime_java.md.247a8cd8.js rename to assets/guide_setup-runtime_java.md.ce41e452.js index 9f9e6591..710fcb0f 100644 --- a/assets/guide_setup-runtime_java.md.247a8cd8.js +++ b/assets/guide_setup-runtime_java.md.ce41e452.js @@ -1 +1 @@ -import{_ as a,o as e,c as t,O as o}from"./chunks/framework.1a8457a3.js";const m=JSON.parse('{"title":"开始 java 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/java.md","filePath":"guide/setup-runtime/java.md","lastUpdated":1693793714000}'),r={name:"guide/setup-runtime/java.md"},l=o('

开始 java 项目

  1. 官方下载安装 JDK
  2. 全默认下一步安装完成

FAQ

  • Java heap space

    添加环境变量 JAVA_OPTS=-Xmx4096m // 最大允许 JVM 使用 4G 内存

',4),i=[l];function c(s,n,d,_,u,h){return e(),t("div",null,i)}const f=a(r,[["render",c]]);export{m as __pageData,f as default}; +import{_ as a,o as e,c as t,Q as o}from"./chunks/framework.44ff8bb5.js";const m=JSON.parse('{"title":"开始 java 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/java.md","filePath":"guide/setup-runtime/java.md","lastUpdated":1693818631000}'),r={name:"guide/setup-runtime/java.md"},l=o('

开始 java 项目

  1. 官方下载安装 JDK
  2. 全默认下一步安装完成

FAQ

  • Java heap space

    添加环境变量 JAVA_OPTS=-Xmx4096m // 最大允许 JVM 使用 4G 内存

',4),i=[l];function c(s,n,d,_,u,h){return e(),t("div",null,i)}const f=a(r,[["render",c]]);export{m as __pageData,f as default}; diff --git a/assets/guide_setup-runtime_java.md.247a8cd8.lean.js b/assets/guide_setup-runtime_java.md.ce41e452.lean.js similarity index 58% rename from assets/guide_setup-runtime_java.md.247a8cd8.lean.js rename to assets/guide_setup-runtime_java.md.ce41e452.lean.js index 12e655a9..6c063b24 100644 --- a/assets/guide_setup-runtime_java.md.247a8cd8.lean.js +++ b/assets/guide_setup-runtime_java.md.ce41e452.lean.js @@ -1 +1 @@ -import{_ as a,o as e,c as t,O as o}from"./chunks/framework.1a8457a3.js";const m=JSON.parse('{"title":"开始 java 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/java.md","filePath":"guide/setup-runtime/java.md","lastUpdated":1693793714000}'),r={name:"guide/setup-runtime/java.md"},l=o("",4),i=[l];function c(s,n,d,_,u,h){return e(),t("div",null,i)}const f=a(r,[["render",c]]);export{m as __pageData,f as default}; +import{_ as a,o as e,c as t,Q as o}from"./chunks/framework.44ff8bb5.js";const m=JSON.parse('{"title":"开始 java 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/java.md","filePath":"guide/setup-runtime/java.md","lastUpdated":1693818631000}'),r={name:"guide/setup-runtime/java.md"},l=o("",4),i=[l];function c(s,n,d,_,u,h){return e(),t("div",null,i)}const f=a(r,[["render",c]]);export{m as __pageData,f as default}; diff --git a/assets/guide_setup-runtime_nodejs.md.60388b26.js b/assets/guide_setup-runtime_nodejs.md.60388b26.js new file mode 100644 index 00000000..a80f79d2 --- /dev/null +++ b/assets/guide_setup-runtime_nodejs.md.60388b26.js @@ -0,0 +1,17 @@ +import{_ as s}from"./chunks/open_cmd.52acdeda.js";import{_ as o,o as a,c as e,Q as n}from"./chunks/framework.44ff8bb5.js";const _=JSON.parse('{"title":"开始 Nodejs 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/nodejs.md","filePath":"guide/setup-runtime/nodejs.md","lastUpdated":1693818631000}'),l={name:"guide/setup-runtime/nodejs.md"},p=n('

开始 Nodejs 项目

1. 安装 nodejs

  • 查看 package.jsonengines 字段获取项目所需 nodejs 版本
  • https://nodejs.org/dist/ 下载相应版本的 nodejs
    • 如果没有 engines 字段,从官网 https://nodejs.org/ 下载 LTS 版本
  • 安装过程,选项全部默认

2. 安装项目依赖

  • 命令行打开项目目录

    • Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 open cmd
  • 执行命令安装依赖

    shell
    npm i
    npm i

WARNING

如果安装以来过程中大量报错,特别是有 node-gyp 字样的,可以查看项目是否有 node_modules 分支, 如果有可以解压到项目目录 .\\node_modules 下, 可以解决依赖问题

其他的参考报错提示处理

3. 启动程序

WARNING

项目启动方式并不唯一, 下面为常用的项目启动方式, 仅供参考

  • 按照项目说明启动程序

  • 若项目无说明, 从 package.json 文件中的 scripts 字段获取执行脚本名称, 通过 npm run {script} 启动程序

    json
    {
    +    ...
    +    "scripts": {
    +        "dev": "vitepress dev docs",
    +        "build": "vitepress build docs",
    +        "serve": "vitepress serve docs"
    +    },
    +    ...
    +}
    {
    +    ...
    +    "scripts": {
    +        "dev": "vitepress dev docs",
    +        "build": "vitepress build docs",
    +        "serve": "vitepress serve docs"
    +    },
    +    ...
    +}

    INFO

    script 中有多个脚本名称(如上图), 一般来说,build 代表生产(正式),dev 代表测试, 执行 npm run build 即可

  • 若项目 package.json 中没有 script 字段, 则大多数情况下, index.js 为入口文件

    shell
    node index.js
    node index.js
`,9),c=[p];function t(i,d,r,u,E,y){return a(),e("div",null,c)}const m=o(l,[["render",t]]);export{_ as __pageData,m as default}; diff --git a/assets/guide_setup-runtime_nodejs.md.60388b26.lean.js b/assets/guide_setup-runtime_nodejs.md.60388b26.lean.js new file mode 100644 index 00000000..d4cc2e1b --- /dev/null +++ b/assets/guide_setup-runtime_nodejs.md.60388b26.lean.js @@ -0,0 +1 @@ +import{_ as s}from"./chunks/open_cmd.52acdeda.js";import{_ as o,o as a,c as e,Q as n}from"./chunks/framework.44ff8bb5.js";const _=JSON.parse('{"title":"开始 Nodejs 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/nodejs.md","filePath":"guide/setup-runtime/nodejs.md","lastUpdated":1693818631000}'),l={name:"guide/setup-runtime/nodejs.md"},p=n("",9),c=[p];function t(i,d,r,u,E,y){return a(),e("div",null,c)}const m=o(l,[["render",t]]);export{_ as __pageData,m as default}; diff --git a/assets/guide_setup-runtime_nodejs.md.bf6f8050.js b/assets/guide_setup-runtime_nodejs.md.bf6f8050.js deleted file mode 100644 index f1c774e2..00000000 --- a/assets/guide_setup-runtime_nodejs.md.bf6f8050.js +++ /dev/null @@ -1,9 +0,0 @@ -import{_ as s}from"./chunks/open_cmd.52acdeda.js";import{_ as o,o as e,c as a,O as n}from"./chunks/framework.1a8457a3.js";const h=JSON.parse('{"title":"开始 Nodejs 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/nodejs.md","filePath":"guide/setup-runtime/nodejs.md","lastUpdated":1693793714000}'),l={name:"guide/setup-runtime/nodejs.md"},p=n('

开始 Nodejs 项目

1. 安装 nodejs

  • 查看 package.jsonengines 字段获取项目所需 nodejs 版本
  • https://nodejs.org/dist/ 下载相应版本的 nodejs
    • 如果没有 engines 字段,从官网 https://nodejs.org/ 下载 LTS 版本
  • 安装过程,选项全部默认

2. 安装项目依赖

  • 命令行打开项目目录

    • Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 open cmd
  • 执行命令安装依赖

    shell
    npm i

WARNING

如果安装以来过程中大量报错,特别是有 node-gyp 字样的,可以查看项目是否有 node_modules 分支, 如果有可以解压到项目目录 .\\node_modules 下, 可以解决依赖问题

其他的参考报错提示处理

3. 启动程序

WARNING

项目启动方式并不唯一, 下面为常用的项目启动方式, 仅供参考

  • 按照项目说明启动程序

  • 若项目无说明, 从 package.json 文件中的 scripts 字段获取执行脚本名称, 通过 npm run {script} 启动程序

    json
    {
    -    ...
    -    "scripts": {
    -        "dev": "vitepress dev docs",
    -        "build": "vitepress build docs",
    -        "serve": "vitepress serve docs"
    -    },
    -    ...
    -}

    INFO

    script 中有多个脚本名称(如上图), 一般来说,build 代表生产(正式),dev 代表测试, 执行 npm run build 即可

  • 若项目 package.json 中没有 script 字段, 则大多数情况下, index.js 为入口文件

    shell
    node index.js
`,9),c=[p];function t(d,i,r,u,D,F){return e(),a("div",null,c)}const m=o(l,[["render",t]]);export{h as __pageData,m as default}; diff --git a/assets/guide_setup-runtime_nodejs.md.bf6f8050.lean.js b/assets/guide_setup-runtime_nodejs.md.bf6f8050.lean.js deleted file mode 100644 index 43cc8de4..00000000 --- a/assets/guide_setup-runtime_nodejs.md.bf6f8050.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s}from"./chunks/open_cmd.52acdeda.js";import{_ as o,o as e,c as a,O as n}from"./chunks/framework.1a8457a3.js";const h=JSON.parse('{"title":"开始 Nodejs 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/nodejs.md","filePath":"guide/setup-runtime/nodejs.md","lastUpdated":1693793714000}'),l={name:"guide/setup-runtime/nodejs.md"},p=n("",9),c=[p];function t(d,i,r,u,D,F){return e(),a("div",null,c)}const m=o(l,[["render",t]]);export{h as __pageData,m as default}; diff --git a/assets/guide_setup-runtime_php.md.73b9cd50.js b/assets/guide_setup-runtime_php.md.a7a15db2.js similarity index 89% rename from assets/guide_setup-runtime_php.md.73b9cd50.js rename to assets/guide_setup-runtime_php.md.a7a15db2.js index 9561f203..a16ba11d 100644 --- a/assets/guide_setup-runtime_php.md.73b9cd50.js +++ b/assets/guide_setup-runtime_php.md.a7a15db2.js @@ -1 +1 @@ -import{_ as e,o,c as t,O as p}from"./chunks/framework.1a8457a3.js";const c="/Shmily/assets/php.1c35a55a.png",P=JSON.parse('{"title":"开始 PHP 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/php.md","filePath":"guide/setup-runtime/php.md","lastUpdated":1693793714000}'),d={name:"guide/setup-runtime/php.md"},a=p('

开始 PHP 项目

  1. 官网 下载 PHP

    Windows 下载 VS16 x64 Thread Safe .zip 就行了

  2. 解压 .zipD:\\php
  3. 确认 D:\\php\\php.exe 存在
  4. 开始 运行 sysdm.cpl
  5. 选择 高级 环境变量
  6. 选择 Path,新增一行 D:\\php
  7. 确认关闭窗口

php

',3),i=[a];function l(s,r,n,_,h,u){return o(),t("div",null,i)}const f=e(d,[["render",l]]);export{P as __pageData,f as default}; +import{_ as e,o,c as t,Q as p}from"./chunks/framework.44ff8bb5.js";const c="/Shmily/assets/php.1c35a55a.png",P=JSON.parse('{"title":"开始 PHP 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/php.md","filePath":"guide/setup-runtime/php.md","lastUpdated":1693818631000}'),d={name:"guide/setup-runtime/php.md"},a=p('

开始 PHP 项目

  1. 官网 下载 PHP

    Windows 下载 VS16 x64 Thread Safe .zip 就行了

  2. 解压 .zipD:\\php
  3. 确认 D:\\php\\php.exe 存在
  4. 开始 运行 sysdm.cpl
  5. 选择 高级 环境变量
  6. 选择 Path,新增一行 D:\\php
  7. 确认关闭窗口

php

',3),i=[a];function l(s,r,n,_,h,u){return o(),t("div",null,i)}const f=e(d,[["render",l]]);export{P as __pageData,f as default}; diff --git a/assets/guide_setup-runtime_php.md.73b9cd50.lean.js b/assets/guide_setup-runtime_php.md.a7a15db2.lean.js similarity index 73% rename from assets/guide_setup-runtime_php.md.73b9cd50.lean.js rename to assets/guide_setup-runtime_php.md.a7a15db2.lean.js index bf41aefb..56d17de0 100644 --- a/assets/guide_setup-runtime_php.md.73b9cd50.lean.js +++ b/assets/guide_setup-runtime_php.md.a7a15db2.lean.js @@ -1 +1 @@ -import{_ as e,o,c as t,O as p}from"./chunks/framework.1a8457a3.js";const c="/Shmily/assets/php.1c35a55a.png",P=JSON.parse('{"title":"开始 PHP 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/php.md","filePath":"guide/setup-runtime/php.md","lastUpdated":1693793714000}'),d={name:"guide/setup-runtime/php.md"},a=p("",3),i=[a];function l(s,r,n,_,h,u){return o(),t("div",null,i)}const f=e(d,[["render",l]]);export{P as __pageData,f as default}; +import{_ as e,o,c as t,Q as p}from"./chunks/framework.44ff8bb5.js";const c="/Shmily/assets/php.1c35a55a.png",P=JSON.parse('{"title":"开始 PHP 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/php.md","filePath":"guide/setup-runtime/php.md","lastUpdated":1693818631000}'),d={name:"guide/setup-runtime/php.md"},a=p("",3),i=[a];function l(s,r,n,_,h,u){return o(),t("div",null,i)}const f=e(d,[["render",l]]);export{P as __pageData,f as default}; diff --git a/assets/guide_setup-runtime_python.md.48e4644f.js b/assets/guide_setup-runtime_python.md.48e4644f.js new file mode 100644 index 00000000..145ab846 --- /dev/null +++ b/assets/guide_setup-runtime_python.md.48e4644f.js @@ -0,0 +1 @@ +import{_ as a}from"./chunks/open_cmd.52acdeda.js";import{_ as s,o as e,c as t,Q as l}from"./chunks/framework.44ff8bb5.js";const o="/Shmily/assets/python-setup.47b985d5.png",E=JSON.parse('{"title":"开始 Python 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/python.md","filePath":"guide/setup-runtime/python.md","lastUpdated":1693818631000}'),p={name:"guide/setup-runtime/python.md"},n=l('

开始 Python 项目

1. 安装 python

  • 进入官网下载

  • 勾选 Add python.exe to PATH

    python add path

  • 全默认 下一步 完成

2. 安装项目依赖

  • 命令行打开项目目录
    • Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 open cmd

    • 执行命令安装依赖

    shell
    pip install -r requirements.txt
    pip install -r requirements.txt

3.启动程序

WARNING

项目启动方式并不唯一, 下面为常用的项目启动方式, 仅供参考

  • 按照项目说明启动程序

  • 若无说明, 一般 main.py 为入口文件

    shell
    python main.py
    python main.py
',8),i=[n];function r(c,d,h,y,u,_){return e(),t("div",null,i)}const b=s(p,[["render",r]]);export{E as __pageData,b as default}; diff --git a/assets/guide_setup-runtime_python.md.48e4644f.lean.js b/assets/guide_setup-runtime_python.md.48e4644f.lean.js new file mode 100644 index 00000000..29e00646 --- /dev/null +++ b/assets/guide_setup-runtime_python.md.48e4644f.lean.js @@ -0,0 +1 @@ +import{_ as a}from"./chunks/open_cmd.52acdeda.js";import{_ as s,o as e,c as t,Q as l}from"./chunks/framework.44ff8bb5.js";const o="/Shmily/assets/python-setup.47b985d5.png",E=JSON.parse('{"title":"开始 Python 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/python.md","filePath":"guide/setup-runtime/python.md","lastUpdated":1693818631000}'),p={name:"guide/setup-runtime/python.md"},n=l("",8),i=[n];function r(c,d,h,y,u,_){return e(),t("div",null,i)}const b=s(p,[["render",r]]);export{E as __pageData,b as default}; diff --git a/assets/guide_setup-runtime_python.md.9cb9cf50.js b/assets/guide_setup-runtime_python.md.9cb9cf50.js deleted file mode 100644 index 10f425ff..00000000 --- a/assets/guide_setup-runtime_python.md.9cb9cf50.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a}from"./chunks/open_cmd.52acdeda.js";import{_ as t,o as e,c as s,O as l}from"./chunks/framework.1a8457a3.js";const o="/Shmily/assets/python-setup.47b985d5.png",g=JSON.parse('{"title":"开始 Python 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/python.md","filePath":"guide/setup-runtime/python.md","lastUpdated":1693793714000}'),n={name:"guide/setup-runtime/python.md"},p=l('

开始 Python 项目

1. 安装 python

  • 进入官网下载

  • 勾选 Add python.exe to PATH

    python add path

  • 全默认 下一步 完成

2. 安装项目依赖

  • 命令行打开项目目录
    • Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 open cmd

    • 执行命令安装依赖

    shell
    pip install -r requirements.txt

3.启动程序

WARNING

项目启动方式并不唯一, 下面为常用的项目启动方式, 仅供参考

  • 按照项目说明启动程序

  • 若无说明, 一般 main.py 为入口文件

    shell
    python main.py
',8),i=[p];function r(c,h,d,u,_,y){return e(),s("div",null,i)}const b=t(n,[["render",r]]);export{g as __pageData,b as default}; diff --git a/assets/guide_setup-runtime_python.md.9cb9cf50.lean.js b/assets/guide_setup-runtime_python.md.9cb9cf50.lean.js deleted file mode 100644 index d8e5f4bd..00000000 --- a/assets/guide_setup-runtime_python.md.9cb9cf50.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a}from"./chunks/open_cmd.52acdeda.js";import{_ as t,o as e,c as s,O as l}from"./chunks/framework.1a8457a3.js";const o="/Shmily/assets/python-setup.47b985d5.png",g=JSON.parse('{"title":"开始 Python 项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/python.md","filePath":"guide/setup-runtime/python.md","lastUpdated":1693793714000}'),n={name:"guide/setup-runtime/python.md"},p=l("",8),i=[p];function r(c,h,d,u,_,y){return e(),s("div",null,i)}const b=t(n,[["render",r]]);export{g as __pageData,b as default}; diff --git a/assets/guide_setup-runtime_snippets_open_cmd.md.14f8d406.js b/assets/guide_setup-runtime_snippets_open_cmd.md.f329d1fd.js similarity index 82% rename from assets/guide_setup-runtime_snippets_open_cmd.md.14f8d406.js rename to assets/guide_setup-runtime_snippets_open_cmd.md.f329d1fd.js index f127249b..cf8182ed 100644 --- a/assets/guide_setup-runtime_snippets_open_cmd.md.14f8d406.js +++ b/assets/guide_setup-runtime_snippets_open_cmd.md.f329d1fd.js @@ -1 +1 @@ -import{_ as s}from"./chunks/open_cmd.52acdeda.js";import{_ as n,o,c as a,z as e,a as t}from"./chunks/framework.1a8457a3.js";const x=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/snippets/open_cmd.md","filePath":"guide/setup-runtime/snippets/open_cmd.md","lastUpdated":1693793714000}'),p={name:"guide/setup-runtime/snippets/open_cmd.md"},i=e("ul",null,[e("li",null,[t("命令行打开项目目录 "),e("ul",null,[e("li",null,[t("Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 "),e("img",{src:s,alt:"open cmd"})])])])],-1),r=[i];function c(d,l,m,_,u,f){return o(),a("div",null,r)}const $=n(p,[["render",c]]);export{x as __pageData,$ as default}; +import{_ as s}from"./chunks/open_cmd.52acdeda.js";import{_ as n,o,c as a,k as e,a as t}from"./chunks/framework.44ff8bb5.js";const x=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/snippets/open_cmd.md","filePath":"guide/setup-runtime/snippets/open_cmd.md","lastUpdated":1693818631000}'),p={name:"guide/setup-runtime/snippets/open_cmd.md"},i=e("ul",null,[e("li",null,[t("命令行打开项目目录 "),e("ul",null,[e("li",null,[t("Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 "),e("img",{src:s,alt:"open cmd"})])])])],-1),r=[i];function c(d,l,m,_,u,f){return o(),a("div",null,r)}const $=n(p,[["render",c]]);export{x as __pageData,$ as default}; diff --git a/assets/guide_setup-runtime_snippets_open_cmd.md.14f8d406.lean.js b/assets/guide_setup-runtime_snippets_open_cmd.md.f329d1fd.lean.js similarity index 82% rename from assets/guide_setup-runtime_snippets_open_cmd.md.14f8d406.lean.js rename to assets/guide_setup-runtime_snippets_open_cmd.md.f329d1fd.lean.js index f127249b..cf8182ed 100644 --- a/assets/guide_setup-runtime_snippets_open_cmd.md.14f8d406.lean.js +++ b/assets/guide_setup-runtime_snippets_open_cmd.md.f329d1fd.lean.js @@ -1 +1 @@ -import{_ as s}from"./chunks/open_cmd.52acdeda.js";import{_ as n,o,c as a,z as e,a as t}from"./chunks/framework.1a8457a3.js";const x=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/snippets/open_cmd.md","filePath":"guide/setup-runtime/snippets/open_cmd.md","lastUpdated":1693793714000}'),p={name:"guide/setup-runtime/snippets/open_cmd.md"},i=e("ul",null,[e("li",null,[t("命令行打开项目目录 "),e("ul",null,[e("li",null,[t("Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 "),e("img",{src:s,alt:"open cmd"})])])])],-1),r=[i];function c(d,l,m,_,u,f){return o(),a("div",null,r)}const $=n(p,[["render",c]]);export{x as __pageData,$ as default}; +import{_ as s}from"./chunks/open_cmd.52acdeda.js";import{_ as n,o,c as a,k as e,a as t}from"./chunks/framework.44ff8bb5.js";const x=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/setup-runtime/snippets/open_cmd.md","filePath":"guide/setup-runtime/snippets/open_cmd.md","lastUpdated":1693818631000}'),p={name:"guide/setup-runtime/snippets/open_cmd.md"},i=e("ul",null,[e("li",null,[t("命令行打开项目目录 "),e("ul",null,[e("li",null,[t("Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 "),e("img",{src:s,alt:"open cmd"})])])])],-1),r=[i];function c(d,l,m,_,u,f){return o(),a("div",null,r)}const $=n(p,[["render",c]]);export{x as __pageData,$ as default}; diff --git a/assets/guide_use_data.md.7f009f42.js b/assets/guide_use_data.md.1611c3c1.js similarity index 88% rename from assets/guide_use_data.md.7f009f42.js rename to assets/guide_use_data.md.1611c3c1.js index 81531dce..5f185ecd 100644 --- a/assets/guide_use_data.md.7f009f42.js +++ b/assets/guide_use_data.md.1611c3c1.js @@ -1 +1 @@ -import{_ as e,o as a,c as t,O as o}from"./chunks/framework.1a8457a3.js";const u=JSON.parse('{"title":"资源文件","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/data.md","filePath":"guide/use/data.md","lastUpdated":1693793714000}'),d={name:"guide/use/data.md"},c=o('

资源文件

路径说明

资源文件路径为 /data/$rootPath/$type/$file, 例如 /data/Wechat-20200101/img/123.jpg

其中 $rootPath 可以在 Get 项目的 config.js 配置.

修改补充

如资源错误或补充, 可以通过 Web ModifyServer 手动修改, 上传的文件会放置到 manual 下, 如 /data/Wechat-20200101/img/manual/123.jpg

评论资源

评论资源会通过 Web ModifyServer 上传到 /data/comment/$msgId/123.jpg

',8),r=[c];function i(s,n,h,l,_,p){return a(),t("div",null,r)}const f=e(d,[["render",i]]);export{u as __pageData,f as default}; +import{_ as e,o as a,c as t,Q as o}from"./chunks/framework.44ff8bb5.js";const u=JSON.parse('{"title":"资源文件","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/data.md","filePath":"guide/use/data.md","lastUpdated":1693818631000}'),d={name:"guide/use/data.md"},c=o('

资源文件

路径说明

资源文件路径为 /data/$rootPath/$type/$file, 例如 /data/Wechat-20200101/img/123.jpg

其中 $rootPath 可以在 Get 项目的 config.js 配置.

修改补充

如资源错误或补充, 可以通过 Web ModifyServer 手动修改, 上传的文件会放置到 manual 下, 如 /data/Wechat-20200101/img/manual/123.jpg

评论资源

评论资源会通过 Web ModifyServer 上传到 /data/comment/$msgId/123.jpg

',8),r=[c];function i(s,n,h,l,_,p){return a(),t("div",null,r)}const f=e(d,[["render",i]]);export{u as __pageData,f as default}; diff --git a/assets/guide_use_data.md.7f009f42.lean.js b/assets/guide_use_data.md.1611c3c1.lean.js similarity index 54% rename from assets/guide_use_data.md.7f009f42.lean.js rename to assets/guide_use_data.md.1611c3c1.lean.js index 346f1d3a..271d4c95 100644 --- a/assets/guide_use_data.md.7f009f42.lean.js +++ b/assets/guide_use_data.md.1611c3c1.lean.js @@ -1 +1 @@ -import{_ as e,o as a,c as t,O as o}from"./chunks/framework.1a8457a3.js";const u=JSON.parse('{"title":"资源文件","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/data.md","filePath":"guide/use/data.md","lastUpdated":1693793714000}'),d={name:"guide/use/data.md"},c=o("",8),r=[c];function i(s,n,h,l,_,p){return a(),t("div",null,r)}const f=e(d,[["render",i]]);export{u as __pageData,f as default}; +import{_ as e,o as a,c as t,Q as o}from"./chunks/framework.44ff8bb5.js";const u=JSON.parse('{"title":"资源文件","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/data.md","filePath":"guide/use/data.md","lastUpdated":1693818631000}'),d={name:"guide/use/data.md"},c=o("",8),r=[c];function i(s,n,h,l,_,p){return a(),t("div",null,r)}const f=e(d,[["render",i]]);export{u as __pageData,f as default}; diff --git a/assets/guide_use_get.md.abac7957.js b/assets/guide_use_get.md.1f075dca.js similarity index 66% rename from assets/guide_use_get.md.abac7957.js rename to assets/guide_use_get.md.1f075dca.js index 14e9711d..9af51f86 100644 --- a/assets/guide_use_get.md.abac7957.js +++ b/assets/guide_use_get.md.1f075dca.js @@ -1,14 +1,27 @@ -import{_ as e,o as a,c as l,O as t}from"./chunks/framework.1a8457a3.js";const o="/Shmily/assets/down_repo.b4697182.png",s="/Shmily/assets/what-languages.f969dab5.png",b=JSON.parse('{"title":"Get","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/get.md","filePath":"guide/use/get.md","lastUpdated":1693793714000}'),r={name:"guide/use/get.md"},n=t('

Get

支持列表

下面列出现有已知的 Get 项目, 更多项目可在 Github 搜索 Shmily-Get-

如何启动项目

项目中可能并不会 明确 说明如何启动项目, 并且大部分项目并不会打包为开箱即用的 "exe".

如果您非程序员, 下面将简单讲解 常见 启动方式

1. 下载项目

Github 为例, 点击下图中 Download ZIP 即可下载当前项目源码 down repo

2. 安装项目运行时环境

根据不同的项目语言安装不同的运行时环境, Github 会自动标注主要语言 what-languages

也可以按照下面列出的特性, 安装对应语言的运行时

  • nodejs (项目中有 package.json 文件)

  • python (大量 .py 后缀文件)

  • java (大量 .java 后缀文件)

3. 根据项目说明执行 Get

4. 获取数据

执行相应的 Get 项目, 可以在输出目录(一般是 dist)获得

// 结构示例 
-// 由于历史原因,可能有部分 Get 输出并未遵循此规则,慢慢重构吧
-
-- data                        <---  资源文件
-  - MobilqQQ-lqzh-20230101
-    - images
-    - videos
-       ...
-
-- MobileQQ-lqzh-20230101.json  <--- 数据文件
-
-- _temp                        <--- 输出过程中的一些信息,如下载错误的文件等
-  - DOWN_ERROR.json
-  - XXXX.json
  • 数据文件

    Shmily-Msg 格式的 JSON 文件,内容是从数据(库)导出的消息内容。

    • 尽量导出消息相关的所有数据而非所需数据, 这样会给其他人带来帮助, 也便于丰富更多信息
    • 尽量补充完整信息, 如 自定义表情, 补充 表情包名称 与 描述, 对于统计来说更准确全面
  • 资源文件

    消息相关的静态资源文件,如图片、表情、视频等

    • 对于外链的资源,建议能爬下来的资源(如图片)都本地化, 过个几年这些 URL 都打不开了

5. 展示

参考 Show 文档

`,20),i=[n];function p(h,c,d,u,m,g){return a(),l("div",null,i)}const f=e(r,[["render",p]]);export{b as __pageData,f as default}; +import{_ as e,o as a,c as l,Q as s}from"./chunks/framework.44ff8bb5.js";const n="/Shmily/assets/down_repo.b4697182.png",o="/Shmily/assets/what-languages.f969dab5.png",b=JSON.parse('{"title":"Get","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/get.md","filePath":"guide/use/get.md","lastUpdated":1693818631000}'),t={name:"guide/use/get.md"},r=s('

Get

支持列表

下面列出现有已知的 Get 项目, 更多项目可在 Github 搜索 Shmily-Get-

如何启动项目

项目中可能并不会 明确 说明如何启动项目, 并且大部分项目并不会打包为开箱即用的 "exe".

如果您非程序员, 下面将简单讲解 常见 启动方式

1. 下载项目

Github 为例, 点击下图中 Download ZIP 即可下载当前项目源码 down repo

2. 安装项目运行时环境

根据不同的项目语言安装不同的运行时环境, Github 会自动标注主要语言 what-languages

也可以按照下面列出的特性, 安装对应语言的运行时

  • nodejs (项目中有 package.json 文件)

  • python (大量 .py 后缀文件)

  • java (大量 .java 后缀文件)

3. 根据项目说明执行 Get

4. 获取数据

执行相应的 Get 项目, 可以在输出目录(一般是 dist)获得

// 结构示例 
+// 由于历史原因,可能有部分 Get 输出并未遵循此规则,慢慢重构吧
+
+- data                        <---  资源文件
+  - MobilqQQ-lqzh-20230101
+    - images
+    - videos
+       ...
+
+- MobileQQ-lqzh-20230101.json  <--- 数据文件
+
+- _temp                        <--- 输出过程中的一些信息,如下载错误的文件等
+  - DOWN_ERROR.json
+  - XXXX.json
// 结构示例 
+// 由于历史原因,可能有部分 Get 输出并未遵循此规则,慢慢重构吧
+
+- data                        <---  资源文件
+  - MobilqQQ-lqzh-20230101
+    - images
+    - videos
+       ...
+
+- MobileQQ-lqzh-20230101.json  <--- 数据文件
+
+- _temp                        <--- 输出过程中的一些信息,如下载错误的文件等
+  - DOWN_ERROR.json
+  - XXXX.json
  • 数据文件

    Shmily-Msg 格式的 JSON 文件,内容是从数据(库)导出的消息内容。

    • 尽量导出消息相关的所有数据而非所需数据, 这样会给其他人带来帮助, 也便于丰富更多信息
    • 尽量补充完整信息, 如 自定义表情, 补充 表情包名称 与 描述, 对于统计来说更准确全面
  • 资源文件

    消息相关的静态资源文件,如图片、表情、视频等

    • 对于外链的资源,建议能爬下来的资源(如图片)都本地化, 过个几年这些 URL 都打不开了

5. 展示

参考 Show 文档

`,20),p=[r];function i(c,h,d,u,g,m){return a(),l("div",null,p)}const y=e(t,[["render",i]]);export{b as __pageData,y as default}; diff --git a/assets/guide_use_get.md.1f075dca.lean.js b/assets/guide_use_get.md.1f075dca.lean.js new file mode 100644 index 00000000..1f3fe7a4 --- /dev/null +++ b/assets/guide_use_get.md.1f075dca.lean.js @@ -0,0 +1 @@ +import{_ as e,o as a,c as l,Q as s}from"./chunks/framework.44ff8bb5.js";const n="/Shmily/assets/down_repo.b4697182.png",o="/Shmily/assets/what-languages.f969dab5.png",b=JSON.parse('{"title":"Get","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/get.md","filePath":"guide/use/get.md","lastUpdated":1693818631000}'),t={name:"guide/use/get.md"},r=s("",20),p=[r];function i(c,h,d,u,g,m){return a(),l("div",null,p)}const y=e(t,[["render",i]]);export{b as __pageData,y as default}; diff --git a/assets/guide_use_get.md.abac7957.lean.js b/assets/guide_use_get.md.abac7957.lean.js deleted file mode 100644 index 6eb1672e..00000000 --- a/assets/guide_use_get.md.abac7957.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as a,c as l,O as t}from"./chunks/framework.1a8457a3.js";const o="/Shmily/assets/down_repo.b4697182.png",s="/Shmily/assets/what-languages.f969dab5.png",b=JSON.parse('{"title":"Get","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/get.md","filePath":"guide/use/get.md","lastUpdated":1693793714000}'),r={name:"guide/use/get.md"},n=t("",20),i=[n];function p(h,c,d,u,m,g){return a(),l("div",null,i)}const f=e(r,[["render",p]]);export{b as __pageData,f as default}; diff --git a/assets/guide_use_merger.md.cde06a58.js b/assets/guide_use_merger.md.6140bed0.js similarity index 84% rename from assets/guide_use_merger.md.cde06a58.js rename to assets/guide_use_merger.md.6140bed0.js index 7ada2159..5e31273f 100644 --- a/assets/guide_use_merger.md.cde06a58.js +++ b/assets/guide_use_merger.md.6140bed0.js @@ -1 +1 @@ -import{_ as e,o as r,c as a,O as t}from"./chunks/framework.1a8457a3.js";const h=JSON.parse('{"title":"Merger","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/merger.md","filePath":"guide/use/merger.md","lastUpdated":1693793714000}'),o={name:"guide/use/merger.md"},l=t('

Merger

用来合并去重 不同来源含相同内容 ${msg}.json 的项目

DANGER

!!! 如可以接受重复内容, 或多个 数据文件 不含重复内容, 不需要运行此项目 !!!

支持列表

  • SMS CallLog 短信与通话记录
',5),s=[l];function c(d,i,n,_,g,m){return r(),a("div",null,s)}const p=e(o,[["render",c]]);export{h as __pageData,p as default}; +import{_ as e,o as r,c as a,Q as t}from"./chunks/framework.44ff8bb5.js";const h=JSON.parse('{"title":"Merger","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/merger.md","filePath":"guide/use/merger.md","lastUpdated":1693818631000}'),o={name:"guide/use/merger.md"},l=t('

Merger

用来合并去重 不同来源含相同内容 ${msg}.json 的项目

DANGER

!!! 如可以接受重复内容, 或多个 数据文件 不含重复内容, 不需要运行此项目 !!!

支持列表

  • SMS CallLog 短信与通话记录
',5),s=[l];function c(d,i,n,_,g,m){return r(),a("div",null,s)}const p=e(o,[["render",c]]);export{h as __pageData,p as default}; diff --git a/assets/guide_use_merger.md.cde06a58.lean.js b/assets/guide_use_merger.md.6140bed0.lean.js similarity index 54% rename from assets/guide_use_merger.md.cde06a58.lean.js rename to assets/guide_use_merger.md.6140bed0.lean.js index d74915b8..4244e434 100644 --- a/assets/guide_use_merger.md.cde06a58.lean.js +++ b/assets/guide_use_merger.md.6140bed0.lean.js @@ -1 +1 @@ -import{_ as e,o as r,c as a,O as t}from"./chunks/framework.1a8457a3.js";const h=JSON.parse('{"title":"Merger","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/merger.md","filePath":"guide/use/merger.md","lastUpdated":1693793714000}'),o={name:"guide/use/merger.md"},l=t("",5),s=[l];function c(d,i,n,_,g,m){return r(),a("div",null,s)}const p=e(o,[["render",c]]);export{h as __pageData,p as default}; +import{_ as e,o as r,c as a,Q as t}from"./chunks/framework.44ff8bb5.js";const h=JSON.parse('{"title":"Merger","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/merger.md","filePath":"guide/use/merger.md","lastUpdated":1693818631000}'),o={name:"guide/use/merger.md"},l=t("",5),s=[l];function c(d,i,n,_,g,m){return r(),a("div",null,s)}const p=e(o,[["render",c]]);export{h as __pageData,p as default}; diff --git a/assets/guide_use_msg_custom.md.8c85cca7.js b/assets/guide_use_msg_custom.md.8c85cca7.js deleted file mode 100644 index f661638f..00000000 --- a/assets/guide_use_msg_custom.md.8c85cca7.js +++ /dev/null @@ -1,22 +0,0 @@ -import{_ as s,o as a,c as n,O as l}from"./chunks/framework.1a8457a3.js";const h=JSON.parse('{"title":"自定义","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/custom.md","filePath":"guide/use/msg/custom.md","lastUpdated":1693793714000}'),o={name:"guide/use/msg/custom.md"},p=l(`

自定义

  • Q: 如果我想新增 Msg 类型,如 钉钉 怎么办?

  • A: 按以下步骤即可

    简单模式

    适用于和 短信 一样的简单数据,html 就够了,不需要用到复杂组件,只需要提供 html 即可

    此方式不利于数据统计

    js
    {
    -        // 通用字段都是必填 参考 [标准]
    -        "source": "SMS",
    -        "content": "你好,钉钉", // 用于搜索
    -        "html": "<b>你好,钉钉</b>" // 用于显示
    -        ...
    -    }

    Shmily-Show 不用添加组件,可直接使用

    组件模式(推荐)

    js
    {
    -    // 通用字段都是必填 参考 [标准]
    -    "source": "DingTalk",
    -    ....
    -
    -    $DingTalk: {
    -        "os":    "Android",
    -        "raw": { } // 数据的原始样貌
    -        "key": {} // 解密过程中有帮助的值或备注
    -        "res": {} // 和 raw  key一一对应, value 为解密后的数据   如未加密则  raw =res
    -        "data": {} // 前端组件显示所需要的数据
    -        "rootPath" ///  /data/ $rootPath /img/123.png 资源文件夹名称
    -    }
    -
    -    $Dev: {} // 开发中需要用到的数据,Show 生成数据时会被删除
    -}
    1. 标准 格式之外,将数据放入 $source
    2. Shmily-Show 项目 memoryweb/src/components/Msg/source 下新增前端组件用于显示数据
      • 如果您对前端不熟悉,可以在 issue 中提出并提供样本 Msg 我来代劳~

`,3),t=[p];function e(c,r,F,y,D,i){return a(),n("div",null,t)}const d=s(o,[["render",e]]);export{h as __pageData,d as default}; diff --git a/assets/guide_use_msg_custom.md.8c85cca7.lean.js b/assets/guide_use_msg_custom.md.8c85cca7.lean.js deleted file mode 100644 index ddc335ad..00000000 --- a/assets/guide_use_msg_custom.md.8c85cca7.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as n,O as l}from"./chunks/framework.1a8457a3.js";const h=JSON.parse('{"title":"自定义","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/custom.md","filePath":"guide/use/msg/custom.md","lastUpdated":1693793714000}'),o={name:"guide/use/msg/custom.md"},p=l("",3),t=[p];function e(c,r,F,y,D,i){return a(),n("div",null,t)}const d=s(o,[["render",e]]);export{h as __pageData,d as default}; diff --git a/assets/guide_use_msg_custom.md.b4fbd49e.js b/assets/guide_use_msg_custom.md.b4fbd49e.js new file mode 100644 index 00000000..302ebd10 --- /dev/null +++ b/assets/guide_use_msg_custom.md.b4fbd49e.js @@ -0,0 +1,43 @@ +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.44ff8bb5.js";const q=JSON.parse('{"title":"自定义","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/custom.md","filePath":"guide/use/msg/custom.md","lastUpdated":1693818631000}'),o={name:"guide/use/msg/custom.md"},p=l(`

自定义

  • Q: 如果我想新增 Msg 类型,如 钉钉 怎么办?

  • A: 按以下步骤即可

    简单模式

    适用于和 短信 一样的简单数据,html 就够了,不需要用到复杂组件,只需要提供 html 即可

    此方式不利于数据统计

    js
    {
    +        // 通用字段都是必填 参考 [标准]
    +        "source": "SMS",
    +        "content": "你好,钉钉", // 用于搜索
    +        "html": "<b>你好,钉钉</b>" // 用于显示
    +        ...
    +    }
    {
    +        // 通用字段都是必填 参考 [标准]
    +        "source": "SMS",
    +        "content": "你好,钉钉", // 用于搜索
    +        "html": "<b>你好,钉钉</b>" // 用于显示
    +        ...
    +    }

    Shmily-Show 不用添加组件,可直接使用

    组件模式(推荐)

    js
    {
    +    // 通用字段都是必填 参考 [标准]
    +    "source": "DingTalk",
    +    ....
    +
    +    $DingTalk: {
    +        "os":    "Android",
    +        "raw": { } // 数据的原始样貌
    +        "key": {} // 解密过程中有帮助的值或备注
    +        "res": {} // 和 raw  key一一对应, value 为解密后的数据   如未加密则  raw =res
    +        "data": {} // 前端组件显示所需要的数据
    +        "rootPath" ///  /data/ $rootPath /img/123.png 资源文件夹名称
    +    }
    +
    +    $Dev: {} // 开发中需要用到的数据,Show 生成数据时会被删除
    +}
    {
    +    // 通用字段都是必填 参考 [标准]
    +    "source": "DingTalk",
    +    ....
    +
    +    $DingTalk: {
    +        "os":    "Android",
    +        "raw": { } // 数据的原始样貌
    +        "key": {} // 解密过程中有帮助的值或备注
    +        "res": {} // 和 raw  key一一对应, value 为解密后的数据   如未加密则  raw =res
    +        "data": {} // 前端组件显示所需要的数据
    +        "rootPath" ///  /data/ $rootPath /img/123.png 资源文件夹名称
    +    }
    +
    +    $Dev: {} // 开发中需要用到的数据,Show 生成数据时会被删除
    +}
    1. 标准 格式之外,将数据放入 $source
    2. Shmily-Show 项目 memoryweb/src/components/Msg/source 下新增前端组件用于显示数据
      • 如果您对前端不熟悉,可以在 issue 中提出并提供样本 Msg 我来代劳~

`,3),e=[p];function t(c,r,E,y,i,u){return a(),n("div",null,e)}const d=s(o,[["render",t]]);export{q as __pageData,d as default}; diff --git a/assets/guide_use_msg_custom.md.b4fbd49e.lean.js b/assets/guide_use_msg_custom.md.b4fbd49e.lean.js new file mode 100644 index 00000000..6cbe711e --- /dev/null +++ b/assets/guide_use_msg_custom.md.b4fbd49e.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.44ff8bb5.js";const q=JSON.parse('{"title":"自定义","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/custom.md","filePath":"guide/use/msg/custom.md","lastUpdated":1693818631000}'),o={name:"guide/use/msg/custom.md"},p=l("",3),e=[p];function t(c,r,E,y,i,u){return a(),n("div",null,e)}const d=s(o,[["render",t]]);export{q as __pageData,d as default}; diff --git a/assets/guide_use_msg_other_emotion.md.4ebf6243.js b/assets/guide_use_msg_other_emotion.md.4ebf6243.js deleted file mode 100644 index 25c765f9..00000000 --- a/assets/guide_use_msg_other_emotion.md.4ebf6243.js +++ /dev/null @@ -1,19 +0,0 @@ -import{_ as s,o as a,c as o,O as n}from"./chunks/framework.1a8457a3.js";const D=JSON.parse('{"title":"表情","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/other/emotion.md","filePath":"guide/use/msg/other/emotion.md","lastUpdated":1693793714000}'),t={name:"guide/use/msg/other/emotion.md"},l=n(`

表情

如果您要对表情进行统计,根据数据模式不同,需要遵循以下规则

约定

keyvalue举例备注
packName表情包 名称阿狸过新年如果不知道或不想写,需要硬编码为 "其他"
desc表情 名称饺子如果不知道或不想写,需要硬编码为 "未知"
mark表情包 描述温暖可爱的阿狸新年新装扮,让我们一起把春节、情人节和元宵节都变得萌萌哒可选, MobileQQ 官方提供这个值

文件名使用 MD5 小写,这样可以减少重复文件占用的空间,而且如果消息类型是图片,也可以通过 md5 修正类型为表情

./data/qq-android-lqzh-20230101/emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif

简单模式 (从 HTML 字段统计)

js
{
-    ...
-    html: "我是简单的一个表情,<img title='[阿狸过新年-饺子]' alt='[阿狸过新年-饺子]' src='./data/qq-android/emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif' />"
-    content: "我是简单的一个表情,[阿狸过新年-饺子]"
-}

Show 会使用 countEmotionByHtml 函数进行统计

组件模式 (从特定字段进行统计)

js
// 仅为示例
-{
-    ...
-     "$source": {
-        "data": {
-            "webUrl": "./emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif",
-            "packName": "阿狸过新年",
-            "desc": "饺子",
-            "mark": "温暖可爱的阿狸新年新装扮,让我们一起把春节、情人节和元宵节都变得萌萌哒!"
-            ...
-        },
-        "rootPath": 'qq-android-lqzh-20230101'
-        ...
-     }
-}

可以参考 wechat 的函数进行统计

新类型

如果是新的 Get 类型,需要在 这里 补充统计函数

表情数据的一些说明

正向导出

Wechat、MobileQQ 可以直接从数据库中获取表情的 packNamedesc 等值,这样的就很简单,直接导出即可。

反向匹配

如 PC-QQ 无法导出表情类型的消息,更无法获取 packNamedesc,所以所有表情都被视为图片类型被导出

这种情况可以自己收集表情包,根据表情的 MD5 去匹配导出的图片,从而修正图片类型并补充 packNamedesc

这是个苦力活,可以参考 Shmily-Get-QQ-PC-MHT 的表情文件集合,和 Show-Modify-msg 辅助的实现。

`,21),e=[l];function p(r,c,i,F,d,h){return a(),o("div",null,e)}const m=s(t,[["render",p]]);export{D as __pageData,m as default}; diff --git a/assets/guide_use_msg_other_emotion.md.4ebf6243.lean.js b/assets/guide_use_msg_other_emotion.md.4ebf6243.lean.js deleted file mode 100644 index 57e0c389..00000000 --- a/assets/guide_use_msg_other_emotion.md.4ebf6243.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as o,O as n}from"./chunks/framework.1a8457a3.js";const D=JSON.parse('{"title":"表情","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/other/emotion.md","filePath":"guide/use/msg/other/emotion.md","lastUpdated":1693793714000}'),t={name:"guide/use/msg/other/emotion.md"},l=n("",21),e=[l];function p(r,c,i,F,d,h){return a(),o("div",null,e)}const m=s(t,[["render",p]]);export{D as __pageData,m as default}; diff --git a/assets/guide_use_msg_other_emotion.md.5d48899d.js b/assets/guide_use_msg_other_emotion.md.5d48899d.js new file mode 100644 index 00000000..acff4ae6 --- /dev/null +++ b/assets/guide_use_msg_other_emotion.md.5d48899d.js @@ -0,0 +1,37 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.44ff8bb5.js";const u=JSON.parse('{"title":"表情","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/other/emotion.md","filePath":"guide/use/msg/other/emotion.md","lastUpdated":1693818631000}'),l={name:"guide/use/msg/other/emotion.md"},e=o(`

表情

如果您要对表情进行统计,根据数据模式不同,需要遵循以下规则

约定

keyvalue举例备注
packName表情包 名称阿狸过新年如果不知道或不想写,需要硬编码为 "其他"
desc表情 名称饺子如果不知道或不想写,需要硬编码为 "未知"
mark表情包 描述温暖可爱的阿狸新年新装扮,让我们一起把春节、情人节和元宵节都变得萌萌哒可选, MobileQQ 官方提供这个值

文件名使用 MD5 小写,这样可以减少重复文件占用的空间,而且如果消息类型是图片,也可以通过 md5 修正类型为表情

./data/qq-android-lqzh-20230101/emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif
./data/qq-android-lqzh-20230101/emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif

简单模式 (从 HTML 字段统计)

js
{
+    ...
+    html: "我是简单的一个表情,<img title='[阿狸过新年-饺子]' alt='[阿狸过新年-饺子]' src='./data/qq-android/emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif' />"
+    content: "我是简单的一个表情,[阿狸过新年-饺子]"
+}
{
+    ...
+    html: "我是简单的一个表情,<img title='[阿狸过新年-饺子]' alt='[阿狸过新年-饺子]' src='./data/qq-android/emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif' />"
+    content: "我是简单的一个表情,[阿狸过新年-饺子]"
+}

Show 会使用 countEmotionByHtml 函数进行统计

组件模式 (从特定字段进行统计)

js
// 仅为示例
+{
+    ...
+     "$source": {
+        "data": {
+            "webUrl": "./emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif",
+            "packName": "阿狸过新年",
+            "desc": "饺子",
+            "mark": "温暖可爱的阿狸新年新装扮,让我们一起把春节、情人节和元宵节都变得萌萌哒!"
+            ...
+        },
+        "rootPath": 'qq-android-lqzh-20230101'
+        ...
+     }
+}
// 仅为示例
+{
+    ...
+     "$source": {
+        "data": {
+            "webUrl": "./emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif",
+            "packName": "阿狸过新年",
+            "desc": "饺子",
+            "mark": "温暖可爱的阿狸新年新装扮,让我们一起把春节、情人节和元宵节都变得萌萌哒!"
+            ...
+        },
+        "rootPath": 'qq-android-lqzh-20230101'
+        ...
+     }
+}

可以参考 wechat 的函数进行统计

新类型

如果是新的 Get 类型,需要在 这里 补充统计函数

表情数据的一些说明

正向导出

Wechat、MobileQQ 可以直接从数据库中获取表情的 packNamedesc 等值,这样的就很简单,直接导出即可。

反向匹配

如 PC-QQ 无法导出表情类型的消息,更无法获取 packNamedesc,所以所有表情都被视为图片类型被导出

这种情况可以自己收集表情包,根据表情的 MD5 去匹配导出的图片,从而修正图片类型并补充 packNamedesc

这是个苦力活,可以参考 Shmily-Get-QQ-PC-MHT 的表情文件集合,和 Show-Modify-msg 辅助的实现。

`,21),t=[e];function p(c,r,i,d,E,h){return a(),n("div",null,t)}const q=s(l,[["render",p]]);export{u as __pageData,q as default}; diff --git a/assets/guide_use_msg_other_emotion.md.5d48899d.lean.js b/assets/guide_use_msg_other_emotion.md.5d48899d.lean.js new file mode 100644 index 00000000..fa0bc965 --- /dev/null +++ b/assets/guide_use_msg_other_emotion.md.5d48899d.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.44ff8bb5.js";const u=JSON.parse('{"title":"表情","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/other/emotion.md","filePath":"guide/use/msg/other/emotion.md","lastUpdated":1693818631000}'),l={name:"guide/use/msg/other/emotion.md"},e=o("",21),t=[e];function p(c,r,i,d,E,h){return a(),n("div",null,t)}const q=s(l,[["render",p]]);export{u as __pageData,q as default}; diff --git a/assets/guide_use_msg_schema.md.6c3e1ac8.js b/assets/guide_use_msg_schema.md.6c3e1ac8.js deleted file mode 100644 index 023049b6..00000000 --- a/assets/guide_use_msg_schema.md.6c3e1ac8.js +++ /dev/null @@ -1,95 +0,0 @@ -import{_ as s,o as n,c as a,O as l}from"./chunks/framework.1a8457a3.js";const i=JSON.parse('{"title":"数据文件-Msg","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/schema.md","filePath":"guide/use/msg/schema.md","lastUpdated":1693793714000}'),o={name:"guide/use/msg/schema.md"},p=l(`

数据文件-Msg

为了 GetShow 的良好沟通, 所以需要标准化数据格式

建议开发 Get 时按以下数据标准导出.

  • 可导尽导,为以后的历史留下余量。冗余数据在 Show 中再选择性删除

v2.0

json
[{
-
-    ⬇⬇⬇⬇⬇⬇  通用字段 ⬇⬇⬇⬇⬇⬇⬇
-
-    "source": "MobileQQ",    // 数据来源
-    "device": "OnePlus 3T",  // 设备名称
-    "type": "自定义表情",     // 消息类型
-    "direction": "come",     // (以自己为基准的)发送方向  go 代表自己发出,在右边   come 代表对方发出,在左边
-    "sender": "1111111111",  // 发送方号码  direction=go 为自己 direction=come 为对方
-    "senderName": "fish",    // 发送方名称  direction=go 为对方 direction=come 为自己
-    "receiver": "00000000",  // 接受发号码
-    "receiverName": "null",  // 接收方名称
-    "day": "2017-12-22",     // 发送日期 由 ms 计算得出, 仅为降低运行时计算
-    "time": "08:53:33",      // 发送时间 由 ms 计算得出, 仅为降低运行时计算
-    "ms": 1513904013000,     // 发送时间戳 精确到 ms, 时间以 ms 字段为准,
-    "content": "[甜橙少女新年系列-吃饺子]", // 内容纯文本, 用于 搜索 及 数据分析 , 因此可以和 html 字段不一致
-    "html": "[甜橙少女新年系列-吃饺子]",    // 内容HTML富文本. 用于展示. 简单的内容可以直接用 html 在 Show 中表示,
-                                          // 如果内容复杂, 建议在 Show 中使用组件读取 $Source.data 数据
-                                          // 参与生成 ID
-
-    ⬇⬇⬇⬇⬇⬇  补充字段 ⬇⬇⬇⬇⬇⬇⬇
-    // 如数据复杂, 可以放在补充数据中
-    // 字段名约定使用  $source, 如本例 source='MobileQQ', 此字段名则为 $MobileQQ  (本来想统一成 $Extend, 但是太多项目耦合broken, 没法改了)
-
-    "$MobileQQ": {
-        // !!! 必须 !!! 细分类型, 如 Android 和 IOS 可能数据不一致, Show 通过此字段进行区分表达
-        "os": "Android",
-
-         // 特殊类型标识
-        "type": "_混合消息"
-
-        // 数据库原始数据导出
-        // 保留所有相关的数据,不要进行删减, 给他人留下'其他'可能性
-        // 也给完整解密留下空间
-        // 导出时不差这么点空间
-        "raw": {
-            "msgData": {"type": "Buffer"},
-            ...
-        },
-
-        // 解密过程中有帮助的值或备注
-        "key":{
-            "key": "123123",
-            "offset": 10,
-            ...
-        }
-
-        // 最终数据
-        "res": {
-            "msgData":{} // 相应解密字段
-            "$msgDataLength": 123, // 过程中人为新增的数据使用 $ 开头
-            ...
-        }
-
-        // 前端展示需要的数据
-        // 简单的数据可以直接写 html 字段
-        // 复杂的如 微信分享卡片 建议在 Show 中写好组件, 然后读取下面数据填充
-        "data":{
-            "webUrl": "./emoticon/甜橙少女新年系列/5e671f8149d1b094c44aa0f5232f9cfd.gif",
-            "packName": "甜橙少女新年系列",
-            "desc": "吃饺子",
-            "mark": "过年喽,想要的祝福全在这里"
-        },
-
-        //  资源文件 根文件夹   资源路径
-        //  /data/  $rootPath  ./emoticon/5e671f8149d1b094c44aa0f5232f9cfd.gif
-        // 建议加上时间,便于和以后导出的数据合并
-        "rootPath": \`qq-android-lqzh-20230101\`, 
-    },
-
-    // 开发过程相关值,
-    // 此处赋值可以随意, 在 Show 的预处理中 $Dev 将被删除
-    "$Dev": {
-        msAccuracy: false // 如 QQ-PC 时间无法精确到 ms ,不能去重时当 ID 使用
-        numberIsTrue: true // 我借同学号码发的短信, 虽然不是我的号码, 但我确定此条消息不被过滤
-        ...
-    }
-
-    ⬇⬇⬇⬇⬇⬇  自动生成字段 ⬇⬇⬇⬇⬇⬇⬇
-
-    // ID 需确保每条消息的唯一性
-    // Show 里的评论和修改都依靠ID才能定位消息
-    // ID 结构由  $filename_YYYY-MM-DD_HH-mm-ss_$direction_$md5_$num 组成
-
-    // 1. $filename 为当前消息所在的文件名
-    // 2. 消息的 $day_$time
-    // 3. 消息的 $direction g(o) 或者 c(ome)
-    // 4. html字段的 MD5值前 6 位
-    // 5. 重复消息的出现次数 (同一个人同一时间发送同样内容刷屏时,1-4并不能保证ID唯一, 所以$num值用来标记前4个拼接相同情况下的第几条 )
-
-    // 使用下划线拼接以上, 组成了当前消息的 ID
-    "id": "camera.json_2009-09-25_10-33-02_g_11e351_1",
-    // 所有消息合并后, 按时间线排序第几条消息
-    "index": 123
-}]

因为项目持续了近 3 年, 所以我写的很多早期 Get 并未遵循以上标准, 我会慢慢重构的.

`,7),t=[p];function e(c,D,r,y,F,C){return n(),a("div",null,t)}const u=s(o,[["render",e]]);export{i as __pageData,u as default}; diff --git a/assets/guide_use_msg_schema.md.6c3e1ac8.lean.js b/assets/guide_use_msg_schema.md.6c3e1ac8.lean.js deleted file mode 100644 index 54c93452..00000000 --- a/assets/guide_use_msg_schema.md.6c3e1ac8.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as n,c as a,O as l}from"./chunks/framework.1a8457a3.js";const i=JSON.parse('{"title":"数据文件-Msg","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/schema.md","filePath":"guide/use/msg/schema.md","lastUpdated":1693793714000}'),o={name:"guide/use/msg/schema.md"},p=l("",7),t=[p];function e(c,D,r,y,F,C){return n(),a("div",null,t)}const u=s(o,[["render",e]]);export{i as __pageData,u as default}; diff --git a/assets/guide_use_msg_schema.md.b6c77ac8.js b/assets/guide_use_msg_schema.md.b6c77ac8.js new file mode 100644 index 00000000..c41fd526 --- /dev/null +++ b/assets/guide_use_msg_schema.md.b6c77ac8.js @@ -0,0 +1,189 @@ +import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.44ff8bb5.js";const F=JSON.parse('{"title":"数据文件-Msg","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/schema.md","filePath":"guide/use/msg/schema.md","lastUpdated":1693818631000}'),p={name:"guide/use/msg/schema.md"},o=l(`

数据文件-Msg

为了 GetShow 的良好沟通, 所以需要标准化数据格式

建议开发 Get 时按以下数据标准导出.

  • 可导尽导,为以后的历史留下余量。冗余数据在 Show 中再选择性删除

v2.0

json
[{
+
+    ⬇⬇⬇⬇⬇⬇  通用字段 ⬇⬇⬇⬇⬇⬇⬇
+
+    "source": "MobileQQ",    // 数据来源
+    "device": "OnePlus 3T",  // 设备名称
+    "type": "自定义表情",     // 消息类型
+    "direction": "come",     // (以自己为基准的)发送方向  go 代表自己发出,在右边   come 代表对方发出,在左边
+    "sender": "1111111111",  // 发送方号码  direction=go 为自己 direction=come 为对方
+    "senderName": "fish",    // 发送方名称  direction=go 为对方 direction=come 为自己
+    "receiver": "00000000",  // 接受发号码
+    "receiverName": "null",  // 接收方名称
+    "day": "2017-12-22",     // 发送日期 由 ms 计算得出, 仅为降低运行时计算
+    "time": "08:53:33",      // 发送时间 由 ms 计算得出, 仅为降低运行时计算
+    "ms": 1513904013000,     // 发送时间戳 精确到 ms, 时间以 ms 字段为准,
+    "content": "[甜橙少女新年系列-吃饺子]", // 内容纯文本, 用于 搜索 及 数据分析 , 因此可以和 html 字段不一致
+    "html": "[甜橙少女新年系列-吃饺子]",    // 内容HTML富文本. 用于展示. 简单的内容可以直接用 html 在 Show 中表示,
+                                          // 如果内容复杂, 建议在 Show 中使用组件读取 $Source.data 数据
+                                          // 参与生成 ID
+
+    ⬇⬇⬇⬇⬇⬇  补充字段 ⬇⬇⬇⬇⬇⬇⬇
+    // 如数据复杂, 可以放在补充数据中
+    // 字段名约定使用  $source, 如本例 source='MobileQQ', 此字段名则为 $MobileQQ  (本来想统一成 $Extend, 但是太多项目耦合broken, 没法改了)
+
+    "$MobileQQ": {
+        // !!! 必须 !!! 细分类型, 如 Android 和 IOS 可能数据不一致, Show 通过此字段进行区分表达
+        "os": "Android",
+
+         // 特殊类型标识
+        "type": "_混合消息"
+
+        // 数据库原始数据导出
+        // 保留所有相关的数据,不要进行删减, 给他人留下'其他'可能性
+        // 也给完整解密留下空间
+        // 导出时不差这么点空间
+        "raw": {
+            "msgData": {"type": "Buffer"},
+            ...
+        },
+
+        // 解密过程中有帮助的值或备注
+        "key":{
+            "key": "123123",
+            "offset": 10,
+            ...
+        }
+
+        // 最终数据
+        "res": {
+            "msgData":{} // 相应解密字段
+            "$msgDataLength": 123, // 过程中人为新增的数据使用 $ 开头
+            ...
+        }
+
+        // 前端展示需要的数据
+        // 简单的数据可以直接写 html 字段
+        // 复杂的如 微信分享卡片 建议在 Show 中写好组件, 然后读取下面数据填充
+        "data":{
+            "webUrl": "./emoticon/甜橙少女新年系列/5e671f8149d1b094c44aa0f5232f9cfd.gif",
+            "packName": "甜橙少女新年系列",
+            "desc": "吃饺子",
+            "mark": "过年喽,想要的祝福全在这里"
+        },
+
+        //  资源文件 根文件夹   资源路径
+        //  /data/  $rootPath  ./emoticon/5e671f8149d1b094c44aa0f5232f9cfd.gif
+        // 建议加上时间,便于和以后导出的数据合并
+        "rootPath": \`qq-android-lqzh-20230101\`, 
+    },
+
+    // 开发过程相关值,
+    // 此处赋值可以随意, 在 Show 的预处理中 $Dev 将被删除
+    "$Dev": {
+        msAccuracy: false // 如 QQ-PC 时间无法精确到 ms ,不能去重时当 ID 使用
+        numberIsTrue: true // 我借同学号码发的短信, 虽然不是我的号码, 但我确定此条消息不被过滤
+        ...
+    }
+
+    ⬇⬇⬇⬇⬇⬇  自动生成字段 ⬇⬇⬇⬇⬇⬇⬇
+
+    // ID 需确保每条消息的唯一性
+    // Show 里的评论和修改都依靠ID才能定位消息
+    // ID 结构由  $filename_YYYY-MM-DD_HH-mm-ss_$direction_$md5_$num 组成
+
+    // 1. $filename 为当前消息所在的文件名
+    // 2. 消息的 $day_$time
+    // 3. 消息的 $direction g(o) 或者 c(ome)
+    // 4. html字段的 MD5值前 6 位
+    // 5. 重复消息的出现次数 (同一个人同一时间发送同样内容刷屏时,1-4并不能保证ID唯一, 所以$num值用来标记前4个拼接相同情况下的第几条 )
+
+    // 使用下划线拼接以上, 组成了当前消息的 ID
+    "id": "camera.json_2009-09-25_10-33-02_g_11e351_1",
+    // 所有消息合并后, 按时间线排序第几条消息
+    "index": 123
+}]
[{
+
+    ⬇⬇⬇⬇⬇⬇  通用字段 ⬇⬇⬇⬇⬇⬇⬇
+
+    "source": "MobileQQ",    // 数据来源
+    "device": "OnePlus 3T",  // 设备名称
+    "type": "自定义表情",     // 消息类型
+    "direction": "come",     // (以自己为基准的)发送方向  go 代表自己发出,在右边   come 代表对方发出,在左边
+    "sender": "1111111111",  // 发送方号码  direction=go 为自己 direction=come 为对方
+    "senderName": "fish",    // 发送方名称  direction=go 为对方 direction=come 为自己
+    "receiver": "00000000",  // 接受发号码
+    "receiverName": "null",  // 接收方名称
+    "day": "2017-12-22",     // 发送日期 由 ms 计算得出, 仅为降低运行时计算
+    "time": "08:53:33",      // 发送时间 由 ms 计算得出, 仅为降低运行时计算
+    "ms": 1513904013000,     // 发送时间戳 精确到 ms, 时间以 ms 字段为准,
+    "content": "[甜橙少女新年系列-吃饺子]", // 内容纯文本, 用于 搜索 及 数据分析 , 因此可以和 html 字段不一致
+    "html": "[甜橙少女新年系列-吃饺子]",    // 内容HTML富文本. 用于展示. 简单的内容可以直接用 html 在 Show 中表示,
+                                          // 如果内容复杂, 建议在 Show 中使用组件读取 $Source.data 数据
+                                          // 参与生成 ID
+
+    ⬇⬇⬇⬇⬇⬇  补充字段 ⬇⬇⬇⬇⬇⬇⬇
+    // 如数据复杂, 可以放在补充数据中
+    // 字段名约定使用  $source, 如本例 source='MobileQQ', 此字段名则为 $MobileQQ  (本来想统一成 $Extend, 但是太多项目耦合broken, 没法改了)
+
+    "$MobileQQ": {
+        // !!! 必须 !!! 细分类型, 如 Android 和 IOS 可能数据不一致, Show 通过此字段进行区分表达
+        "os": "Android",
+
+         // 特殊类型标识
+        "type": "_混合消息"
+
+        // 数据库原始数据导出
+        // 保留所有相关的数据,不要进行删减, 给他人留下'其他'可能性
+        // 也给完整解密留下空间
+        // 导出时不差这么点空间
+        "raw": {
+            "msgData": {"type": "Buffer"},
+            ...
+        },
+
+        // 解密过程中有帮助的值或备注
+        "key":{
+            "key": "123123",
+            "offset": 10,
+            ...
+        }
+
+        // 最终数据
+        "res": {
+            "msgData":{} // 相应解密字段
+            "$msgDataLength": 123, // 过程中人为新增的数据使用 $ 开头
+            ...
+        }
+
+        // 前端展示需要的数据
+        // 简单的数据可以直接写 html 字段
+        // 复杂的如 微信分享卡片 建议在 Show 中写好组件, 然后读取下面数据填充
+        "data":{
+            "webUrl": "./emoticon/甜橙少女新年系列/5e671f8149d1b094c44aa0f5232f9cfd.gif",
+            "packName": "甜橙少女新年系列",
+            "desc": "吃饺子",
+            "mark": "过年喽,想要的祝福全在这里"
+        },
+
+        //  资源文件 根文件夹   资源路径
+        //  /data/  $rootPath  ./emoticon/5e671f8149d1b094c44aa0f5232f9cfd.gif
+        // 建议加上时间,便于和以后导出的数据合并
+        "rootPath": \`qq-android-lqzh-20230101\`, 
+    },
+
+    // 开发过程相关值,
+    // 此处赋值可以随意, 在 Show 的预处理中 $Dev 将被删除
+    "$Dev": {
+        msAccuracy: false // 如 QQ-PC 时间无法精确到 ms ,不能去重时当 ID 使用
+        numberIsTrue: true // 我借同学号码发的短信, 虽然不是我的号码, 但我确定此条消息不被过滤
+        ...
+    }
+
+    ⬇⬇⬇⬇⬇⬇  自动生成字段 ⬇⬇⬇⬇⬇⬇⬇
+
+    // ID 需确保每条消息的唯一性
+    // Show 里的评论和修改都依靠ID才能定位消息
+    // ID 结构由  $filename_YYYY-MM-DD_HH-mm-ss_$direction_$md5_$num 组成
+
+    // 1. $filename 为当前消息所在的文件名
+    // 2. 消息的 $day_$time
+    // 3. 消息的 $direction g(o) 或者 c(ome)
+    // 4. html字段的 MD5值前 6 位
+    // 5. 重复消息的出现次数 (同一个人同一时间发送同样内容刷屏时,1-4并不能保证ID唯一, 所以$num值用来标记前4个拼接相同情况下的第几条 )
+
+    // 使用下划线拼接以上, 组成了当前消息的 ID
+    "id": "camera.json_2009-09-25_10-33-02_g_11e351_1",
+    // 所有消息合并后, 按时间线排序第几条消息
+    "index": 123
+}]

因为项目持续了近 3 年, 所以我写的很多早期 Get 并未遵循以上标准, 我会慢慢重构的.

`,7),t=[o];function e(c,r,E,y,i,u){return n(),a("div",null,t)}const D=s(p,[["render",e]]);export{F as __pageData,D as default}; diff --git a/assets/guide_use_msg_schema.md.b6c77ac8.lean.js b/assets/guide_use_msg_schema.md.b6c77ac8.lean.js new file mode 100644 index 00000000..e24c85cf --- /dev/null +++ b/assets/guide_use_msg_schema.md.b6c77ac8.lean.js @@ -0,0 +1 @@ +import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.44ff8bb5.js";const F=JSON.parse('{"title":"数据文件-Msg","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/schema.md","filePath":"guide/use/msg/schema.md","lastUpdated":1693818631000}'),p={name:"guide/use/msg/schema.md"},o=l("",7),t=[o];function e(c,r,E,y,i,u){return n(),a("div",null,t)}const D=s(p,[["render",e]]);export{F as __pageData,D as default}; diff --git a/assets/guide_use_msg_template_index.md.cc671afd.js b/assets/guide_use_msg_template_index.md.01c8b33d.js similarity index 72% rename from assets/guide_use_msg_template_index.md.cc671afd.js rename to assets/guide_use_msg_template_index.md.01c8b33d.js index 8f2777ab..af999974 100644 --- a/assets/guide_use_msg_template_index.md.cc671afd.js +++ b/assets/guide_use_msg_template_index.md.01c8b33d.js @@ -1,13 +1,13 @@ -import{o as fn,c as Rn,a2 as Rg,r as Un,a3 as $n,a4 as zn,z as N,F as Ss,L as Cs,a as vt,t as Hi,A as Wi,J as Ui,C as $i,D as Ts,Z as Pg,a5 as Ni,a6 as Ls,E as pr,B as Bg,a0 as Is,n as Ki,T as Dg,p as Fg,a7 as Es,l as Mg,b as hr,O as Wg}from"./chunks/framework.1a8457a3.js";const Ug="/Shmily/assets/from-demo-web.d214fcc9.png";var _t=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function $g(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var dr={exports:{}};/** +import{o as fn,c as Rn,Z as Rg,r as $n,$ as Un,a0 as zn,k as M,F as Ss,D as Cs,a as vt,t as pr,b as Wi,J as $i,e as Ui,L as Ts,W as Pg,a1 as Ni,a2 as Ls,H as hr,w as Bg,X as Es,n as Ki,T as Dg,j as Fg,a3 as Is,g as Mg,l as Gi,Q as Wg}from"./chunks/framework.44ff8bb5.js";const $g="/Shmily/assets/from-demo-web.d214fcc9.png";var _t=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ug(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var dr={exports:{}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */dr.exports;(function(a,w){(function(){var s,A="4.17.21",H=200,T="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",q="Expected a function",C="Invalid `variable` option passed into `_.template`",U="__lodash_hash_undefined__",xn=500,ze="__lodash_placeholder__",an=1,ue=2,Yn=4,tn=1,wt=2,bn=1,_e=2,Vi=4,Nn=8,Te=16,Gn=32,Le=64,Zn=128,Ye=256,gr=512,Fs=30,Ms="...",Ws=800,Us=16,zi=1,$s=2,Ns=3,ve=1/0,oe=9007199254740991,Gs=17976931348623157e292,mt=0/0,Hn=4294967295,Hs=Hn-1,Ks=Hn>>>1,qs=[["ary",Zn],["bind",bn],["bindKey",_e],["curry",Nn],["curryRight",Te],["flip",gr],["partial",Gn],["partialRight",Le],["rearg",Ye]],Ie="[object Arguments]",yt="[object Array]",Vs="[object AsyncFunction]",Ze="[object Boolean]",Je="[object Date]",zs="[object DOMException]",xt="[object Error]",bt="[object Function]",Yi="[object GeneratorFunction]",Pn="[object Map]",Xe="[object Number]",Ys="[object Null]",Jn="[object Object]",Zi="[object Promise]",Zs="[object Proxy]",Qe="[object RegExp]",Bn="[object Set]",ke="[object String]",At="[object Symbol]",Js="[object Undefined]",je="[object WeakMap]",Xs="[object WeakSet]",nt="[object ArrayBuffer]",Ee="[object DataView]",_r="[object Float32Array]",vr="[object Float64Array]",wr="[object Int8Array]",mr="[object Int16Array]",yr="[object Int32Array]",xr="[object Uint8Array]",br="[object Uint8ClampedArray]",Ar="[object Uint16Array]",Or="[object Uint32Array]",Qs=/\b__p \+= '';/g,ks=/\b(__p \+=) '' \+/g,js=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ji=/&(?:amp|lt|gt|quot|#39);/g,Xi=/[&<>"']/g,nl=RegExp(Ji.source),el=RegExp(Xi.source),tl=/<%-([\s\S]+?)%>/g,rl=/<%([\s\S]+?)%>/g,Qi=/<%=([\s\S]+?)%>/g,il=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ul=/^\w*$/,ol=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Sr=/[\\^$.*+?()[\]{}|]/g,sl=RegExp(Sr.source),Cr=/^\s+/,ll=/\s/,fl=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,al=/\{\n\/\* \[wrapped with (.+)\] \*/,cl=/,? & /,hl=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,pl=/[()=,{}\[\]\/\s]/,dl=/\\(\\)?/g,gl=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ki=/\w*$/,_l=/^[-+]0x[0-9a-f]+$/i,vl=/^0b[01]+$/i,wl=/^\[object .+?Constructor\]$/,ml=/^0o[0-7]+$/i,yl=/^(?:0|[1-9]\d*)$/,xl=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ot=/($^)/,bl=/['\n\r\u2028\u2029\\]/g,St="\\ud800-\\udfff",Al="\\u0300-\\u036f",Ol="\\ufe20-\\ufe2f",Sl="\\u20d0-\\u20ff",ji=Al+Ol+Sl,nu="\\u2700-\\u27bf",eu="a-z\\xdf-\\xf6\\xf8-\\xff",Cl="\\xac\\xb1\\xd7\\xf7",Tl="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ll="\\u2000-\\u206f",Il=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",tu="A-Z\\xc0-\\xd6\\xd8-\\xde",ru="\\ufe0e\\ufe0f",iu=Cl+Tl+Ll+Il,Tr="['’]",El="["+St+"]",uu="["+iu+"]",Ct="["+ji+"]",ou="\\d+",Rl="["+nu+"]",su="["+eu+"]",lu="[^"+St+iu+ou+nu+eu+tu+"]",Lr="\\ud83c[\\udffb-\\udfff]",Pl="(?:"+Ct+"|"+Lr+")",fu="[^"+St+"]",Ir="(?:\\ud83c[\\udde6-\\uddff]){2}",Er="[\\ud800-\\udbff][\\udc00-\\udfff]",Re="["+tu+"]",au="\\u200d",cu="(?:"+su+"|"+lu+")",Bl="(?:"+Re+"|"+lu+")",hu="(?:"+Tr+"(?:d|ll|m|re|s|t|ve))?",pu="(?:"+Tr+"(?:D|LL|M|RE|S|T|VE))?",du=Pl+"?",gu="["+ru+"]?",Dl="(?:"+au+"(?:"+[fu,Ir,Er].join("|")+")"+gu+du+")*",Fl="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ml="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",_u=gu+du+Dl,Wl="(?:"+[Rl,Ir,Er].join("|")+")"+_u,Ul="(?:"+[fu+Ct+"?",Ct,Ir,Er,El].join("|")+")",$l=RegExp(Tr,"g"),Nl=RegExp(Ct,"g"),Rr=RegExp(Lr+"(?="+Lr+")|"+Ul+_u,"g"),Gl=RegExp([Re+"?"+su+"+"+hu+"(?="+[uu,Re,"$"].join("|")+")",Bl+"+"+pu+"(?="+[uu,Re+cu,"$"].join("|")+")",Re+"?"+cu+"+"+hu,Re+"+"+pu,Ml,Fl,ou,Wl].join("|"),"g"),Hl=RegExp("["+au+St+ji+ru+"]"),Kl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ql=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Vl=-1,V={};V[_r]=V[vr]=V[wr]=V[mr]=V[yr]=V[xr]=V[br]=V[Ar]=V[Or]=!0,V[Ie]=V[yt]=V[nt]=V[Ze]=V[Ee]=V[Je]=V[xt]=V[bt]=V[Pn]=V[Xe]=V[Jn]=V[Qe]=V[Bn]=V[ke]=V[je]=!1;var K={};K[Ie]=K[yt]=K[nt]=K[Ee]=K[Ze]=K[Je]=K[_r]=K[vr]=K[wr]=K[mr]=K[yr]=K[Pn]=K[Xe]=K[Jn]=K[Qe]=K[Bn]=K[ke]=K[At]=K[xr]=K[br]=K[Ar]=K[Or]=!0,K[xt]=K[bt]=K[je]=!1;var zl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Yl={"&":"&","<":"<",">":">",'"':""","'":"'"},Zl={"&":"&","<":"<",">":">",""":'"',"'":"'"},Jl={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xl=parseFloat,Ql=parseInt,vu=typeof _t=="object"&&_t&&_t.Object===Object&&_t,kl=typeof self=="object"&&self&&self.Object===Object&&self,nn=vu||kl||Function("return this")(),Pr=w&&!w.nodeType&&w,we=Pr&&!0&&a&&!a.nodeType&&a,wu=we&&we.exports===Pr,Br=wu&&vu.process,An=function(){try{var c=we&&we.require&&we.require("util").types;return c||Br&&Br.binding&&Br.binding("util")}catch{}}(),mu=An&&An.isArrayBuffer,yu=An&&An.isDate,xu=An&&An.isMap,bu=An&&An.isRegExp,Au=An&&An.isSet,Ou=An&&An.isTypedArray;function gn(c,d,p){switch(p.length){case 0:return c.call(d);case 1:return c.call(d,p[0]);case 2:return c.call(d,p[0],p[1]);case 3:return c.call(d,p[0],p[1],p[2])}return c.apply(d,p)}function jl(c,d,p,y){for(var L=-1,M=c==null?0:c.length;++L-1}function Dr(c,d,p){for(var y=-1,L=c==null?0:c.length;++y-1;);return p}function Pu(c,d){for(var p=c.length;p--&&Pe(d,c[p],0)>-1;);return p}function ff(c,d){for(var p=c.length,y=0;p--;)c[p]===d&&++y;return y}var af=Ur(zl),cf=Ur(Yl);function hf(c){return"\\"+Jl[c]}function pf(c,d){return c==null?s:c[d]}function Be(c){return Hl.test(c)}function df(c){return Kl.test(c)}function gf(c){for(var d,p=[];!(d=c.next()).done;)p.push(d.value);return p}function Hr(c){var d=-1,p=Array(c.size);return c.forEach(function(y,L){p[++d]=[L,y]}),p}function Bu(c,d){return function(p){return c(d(p))}}function fe(c,d){for(var p=-1,y=c.length,L=0,M=[];++p-1}function ta(n,e){var t=this.__data__,r=qt(t,n);return r<0?(++this.size,t.push([n,e])):t[r][1]=e,this}Xn.prototype.clear=kf,Xn.prototype.delete=jf,Xn.prototype.get=na,Xn.prototype.has=ea,Xn.prototype.set=ta;function Qn(n){var e=-1,t=n==null?0:n.length;for(this.clear();++e=e?n:e)),n}function Tn(n,e,t,r,i,o){var l,f=e&an,h=e&ue,g=e&Yn;if(t&&(l=i?t(n,r,i,o):t(n)),l!==s)return l;if(!Y(n))return n;var _=I(n);if(_){if(l=oc(n),!f)return cn(n,l)}else{var v=un(n),m=v==bt||v==Yi;if(ge(n))return _o(n,f);if(v==Jn||v==Ie||m&&!i){if(l=h||m?{}:Fo(n),!f)return h?Ja(n,wa(l,n)):Za(n,Vu(l,n))}else{if(!K[v])return i?n:{};l=sc(n,v,f)}}o||(o=new Fn);var x=o.get(n);if(x)return x;o.set(n,l),as(n)?n.forEach(function(S){l.add(Tn(S,e,t,S,n,o))}):ls(n)&&n.forEach(function(S,B){l.set(B,Tn(S,e,t,B,n,o))});var O=g?h?di:pi:h?pn:j,R=_?s:O(n);return On(R||n,function(S,B){R&&(B=S,S=n[B]),st(l,B,Tn(S,e,t,B,n,o))}),l}function ma(n){var e=j(n);return function(t){return zu(t,n,e)}}function zu(n,e,t){var r=t.length;if(n==null)return!r;for(n=G(n);r--;){var i=t[r],o=e[i],l=n[i];if(l===s&&!(i in n)||!o(l))return!1}return!0}function Yu(n,e,t){if(typeof n!="function")throw new Sn(q);return dt(function(){n.apply(s,t)},e)}function lt(n,e,t,r){var i=-1,o=Tt,l=!0,f=n.length,h=[],g=e.length;if(!f)return h;t&&(e=z(e,_n(t))),r?(o=Dr,l=!1):e.length>=H&&(o=et,l=!1,e=new xe(e));n:for(;++ii?0:i+t),r=r===s||r>i?i:E(r),r<0&&(r+=i),r=t>r?0:hs(r);t0&&t(f)?e>1?en(f,e-1,t,r,i):le(i,f):r||(i[i.length]=f)}return i}var Jr=bo(),Xu=bo(!0);function Kn(n,e){return n&&Jr(n,e,j)}function Xr(n,e){return n&&Xu(n,e,j)}function zt(n,e){return se(e,function(t){return te(n[t])})}function Ae(n,e){e=pe(e,n);for(var t=0,r=e.length;n!=null&&te}function ba(n,e){return n!=null&&$.call(n,e)}function Aa(n,e){return n!=null&&e in G(n)}function Oa(n,e,t){return n>=rn(e,t)&&n=120&&_.length>=120)?new xe(l&&_):s}_=n[0];var v=-1,m=f[0];n:for(;++v-1;)f!==n&&Wt.call(f,h,1),Wt.call(n,h,1);return n}function so(n,e){for(var t=n?e.length:0,r=t-1;t--;){var i=e[t];if(t==r||i!==o){var o=i;ee(i)?Wt.call(n,i,1):oi(n,i)}}return n}function ri(n,e){return n+Nt(Gu()*(e-n+1))}function Wa(n,e,t,r){for(var i=-1,o=k($t((e-n)/(t||1)),0),l=p(o);o--;)l[r?o:++i]=n,n+=t;return l}function ii(n,e){var t="";if(!n||e<1||e>oe)return t;do e%2&&(t+=n),e=Nt(e/2),e&&(n+=n);while(e);return t}function P(n,e){return xi(Uo(n,e,dn),n+"")}function Ua(n){return qu(qe(n))}function $a(n,e){var t=qe(n);return rr(t,be(e,0,t.length))}function ct(n,e,t,r){if(!Y(n))return n;e=pe(e,n);for(var i=-1,o=e.length,l=o-1,f=n;f!=null&&++ii?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var o=p(i);++r>>1,l=n[o];l!==null&&!wn(l)&&(t?l<=e:l=H){var g=e?null:ja(n);if(g)return It(g);l=!1,i=et,h=new xe}else h=e?[]:f;n:for(;++r=r?n:Ln(n,e,t)}var go=Ef||function(n){return nn.clearTimeout(n)};function _o(n,e){if(e)return n.slice();var t=n.length,r=Mu?Mu(t):new n.constructor(t);return n.copy(r),r}function ai(n){var e=new n.constructor(n.byteLength);return new Ft(e).set(new Ft(n)),e}function qa(n,e){var t=e?ai(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.byteLength)}function Va(n){var e=new n.constructor(n.source,ki.exec(n));return e.lastIndex=n.lastIndex,e}function za(n){return ot?G(ot.call(n)):{}}function vo(n,e){var t=e?ai(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.length)}function wo(n,e){if(n!==e){var t=n!==s,r=n===null,i=n===n,o=wn(n),l=e!==s,f=e===null,h=e===e,g=wn(e);if(!f&&!g&&!o&&n>e||o&&l&&h&&!f&&!g||r&&l&&h||!t&&h||!i)return 1;if(!r&&!o&&!g&&n=f)return h;var g=t[r];return h*(g=="desc"?-1:1)}}return n.index-e.index}function mo(n,e,t,r){for(var i=-1,o=n.length,l=t.length,f=-1,h=e.length,g=k(o-l,0),_=p(h+g),v=!r;++f1?t[i-1]:s,l=i>2?t[2]:s;for(o=n.length>3&&typeof o=="function"?(i--,o):s,l&&sn(t[0],t[1],l)&&(o=i<3?s:o,i=1),e=G(e);++r-1?i[o?e[l]:l]:s}}function So(n){return ne(function(e){var t=e.length,r=t,i=Cn.prototype.thru;for(n&&e.reverse();r--;){var o=e[r];if(typeof o!="function")throw new Sn(q);if(i&&!l&&er(o)=="wrapper")var l=new Cn([],!0)}for(r=l?r:t;++r1&&F.reverse(),_&&hf))return!1;var g=o.get(n),_=o.get(e);if(g&&_)return g==e&&_==n;var v=-1,m=!0,x=t&wt?new xe:s;for(o.set(n,e),o.set(e,n);++v1?"& ":"")+e[r],e=e.join(t>2?", ":" "),n.replace(fl,`{ + */dr.exports;(function(a,w){(function(){var s,A="4.17.21",G=200,T="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",q="Expected a function",C="Invalid `variable` option passed into `_.template`",U="__lodash_hash_undefined__",xn=500,ze="__lodash_placeholder__",an=1,ue=2,Yn=4,tn=1,wt=2,bn=1,_e=2,Vi=4,Nn=8,Te=16,Gn=32,Le=64,Zn=128,Ye=256,gr=512,Fs=30,Ms="...",Ws=800,$s=16,zi=1,Us=2,Ns=3,ve=1/0,oe=9007199254740991,Gs=17976931348623157e292,mt=0/0,Hn=4294967295,Hs=Hn-1,Ks=Hn>>>1,qs=[["ary",Zn],["bind",bn],["bindKey",_e],["curry",Nn],["curryRight",Te],["flip",gr],["partial",Gn],["partialRight",Le],["rearg",Ye]],Ee="[object Arguments]",yt="[object Array]",Vs="[object AsyncFunction]",Ze="[object Boolean]",Je="[object Date]",zs="[object DOMException]",xt="[object Error]",bt="[object Function]",Yi="[object GeneratorFunction]",Pn="[object Map]",Xe="[object Number]",Ys="[object Null]",Jn="[object Object]",Zi="[object Promise]",Zs="[object Proxy]",Qe="[object RegExp]",Bn="[object Set]",ke="[object String]",At="[object Symbol]",Js="[object Undefined]",je="[object WeakMap]",Xs="[object WeakSet]",nt="[object ArrayBuffer]",Ie="[object DataView]",_r="[object Float32Array]",vr="[object Float64Array]",wr="[object Int8Array]",mr="[object Int16Array]",yr="[object Int32Array]",xr="[object Uint8Array]",br="[object Uint8ClampedArray]",Ar="[object Uint16Array]",Or="[object Uint32Array]",Qs=/\b__p \+= '';/g,ks=/\b(__p \+=) '' \+/g,js=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ji=/&(?:amp|lt|gt|quot|#39);/g,Xi=/[&<>"']/g,nl=RegExp(Ji.source),el=RegExp(Xi.source),tl=/<%-([\s\S]+?)%>/g,rl=/<%([\s\S]+?)%>/g,Qi=/<%=([\s\S]+?)%>/g,il=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ul=/^\w*$/,ol=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Sr=/[\\^$.*+?()[\]{}|]/g,sl=RegExp(Sr.source),Cr=/^\s+/,ll=/\s/,fl=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,al=/\{\n\/\* \[wrapped with (.+)\] \*/,cl=/,? & /,hl=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,pl=/[()=,{}\[\]\/\s]/,dl=/\\(\\)?/g,gl=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ki=/\w*$/,_l=/^[-+]0x[0-9a-f]+$/i,vl=/^0b[01]+$/i,wl=/^\[object .+?Constructor\]$/,ml=/^0o[0-7]+$/i,yl=/^(?:0|[1-9]\d*)$/,xl=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ot=/($^)/,bl=/['\n\r\u2028\u2029\\]/g,St="\\ud800-\\udfff",Al="\\u0300-\\u036f",Ol="\\ufe20-\\ufe2f",Sl="\\u20d0-\\u20ff",ji=Al+Ol+Sl,nu="\\u2700-\\u27bf",eu="a-z\\xdf-\\xf6\\xf8-\\xff",Cl="\\xac\\xb1\\xd7\\xf7",Tl="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ll="\\u2000-\\u206f",El=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",tu="A-Z\\xc0-\\xd6\\xd8-\\xde",ru="\\ufe0e\\ufe0f",iu=Cl+Tl+Ll+El,Tr="['’]",Il="["+St+"]",uu="["+iu+"]",Ct="["+ji+"]",ou="\\d+",Rl="["+nu+"]",su="["+eu+"]",lu="[^"+St+iu+ou+nu+eu+tu+"]",Lr="\\ud83c[\\udffb-\\udfff]",Pl="(?:"+Ct+"|"+Lr+")",fu="[^"+St+"]",Er="(?:\\ud83c[\\udde6-\\uddff]){2}",Ir="[\\ud800-\\udbff][\\udc00-\\udfff]",Re="["+tu+"]",au="\\u200d",cu="(?:"+su+"|"+lu+")",Bl="(?:"+Re+"|"+lu+")",hu="(?:"+Tr+"(?:d|ll|m|re|s|t|ve))?",pu="(?:"+Tr+"(?:D|LL|M|RE|S|T|VE))?",du=Pl+"?",gu="["+ru+"]?",Dl="(?:"+au+"(?:"+[fu,Er,Ir].join("|")+")"+gu+du+")*",Fl="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ml="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",_u=gu+du+Dl,Wl="(?:"+[Rl,Er,Ir].join("|")+")"+_u,$l="(?:"+[fu+Ct+"?",Ct,Er,Ir,Il].join("|")+")",Ul=RegExp(Tr,"g"),Nl=RegExp(Ct,"g"),Rr=RegExp(Lr+"(?="+Lr+")|"+$l+_u,"g"),Gl=RegExp([Re+"?"+su+"+"+hu+"(?="+[uu,Re,"$"].join("|")+")",Bl+"+"+pu+"(?="+[uu,Re+cu,"$"].join("|")+")",Re+"?"+cu+"+"+hu,Re+"+"+pu,Ml,Fl,ou,Wl].join("|"),"g"),Hl=RegExp("["+au+St+ji+ru+"]"),Kl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ql=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Vl=-1,V={};V[_r]=V[vr]=V[wr]=V[mr]=V[yr]=V[xr]=V[br]=V[Ar]=V[Or]=!0,V[Ee]=V[yt]=V[nt]=V[Ze]=V[Ie]=V[Je]=V[xt]=V[bt]=V[Pn]=V[Xe]=V[Jn]=V[Qe]=V[Bn]=V[ke]=V[je]=!1;var K={};K[Ee]=K[yt]=K[nt]=K[Ie]=K[Ze]=K[Je]=K[_r]=K[vr]=K[wr]=K[mr]=K[yr]=K[Pn]=K[Xe]=K[Jn]=K[Qe]=K[Bn]=K[ke]=K[At]=K[xr]=K[br]=K[Ar]=K[Or]=!0,K[xt]=K[bt]=K[je]=!1;var zl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Yl={"&":"&","<":"<",">":">",'"':""","'":"'"},Zl={"&":"&","<":"<",">":">",""":'"',"'":"'"},Jl={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xl=parseFloat,Ql=parseInt,vu=typeof _t=="object"&&_t&&_t.Object===Object&&_t,kl=typeof self=="object"&&self&&self.Object===Object&&self,nn=vu||kl||Function("return this")(),Pr=w&&!w.nodeType&&w,we=Pr&&!0&&a&&!a.nodeType&&a,wu=we&&we.exports===Pr,Br=wu&&vu.process,An=function(){try{var c=we&&we.require&&we.require("util").types;return c||Br&&Br.binding&&Br.binding("util")}catch{}}(),mu=An&&An.isArrayBuffer,yu=An&&An.isDate,xu=An&&An.isMap,bu=An&&An.isRegExp,Au=An&&An.isSet,Ou=An&&An.isTypedArray;function gn(c,d,p){switch(p.length){case 0:return c.call(d);case 1:return c.call(d,p[0]);case 2:return c.call(d,p[0],p[1]);case 3:return c.call(d,p[0],p[1],p[2])}return c.apply(d,p)}function jl(c,d,p,y){for(var L=-1,W=c==null?0:c.length;++L-1}function Dr(c,d,p){for(var y=-1,L=c==null?0:c.length;++y-1;);return p}function Pu(c,d){for(var p=c.length;p--&&Pe(d,c[p],0)>-1;);return p}function ff(c,d){for(var p=c.length,y=0;p--;)c[p]===d&&++y;return y}var af=$r(zl),cf=$r(Yl);function hf(c){return"\\"+Jl[c]}function pf(c,d){return c==null?s:c[d]}function Be(c){return Hl.test(c)}function df(c){return Kl.test(c)}function gf(c){for(var d,p=[];!(d=c.next()).done;)p.push(d.value);return p}function Hr(c){var d=-1,p=Array(c.size);return c.forEach(function(y,L){p[++d]=[L,y]}),p}function Bu(c,d){return function(p){return c(d(p))}}function fe(c,d){for(var p=-1,y=c.length,L=0,W=[];++p-1}function ta(n,e){var t=this.__data__,r=qt(t,n);return r<0?(++this.size,t.push([n,e])):t[r][1]=e,this}Xn.prototype.clear=kf,Xn.prototype.delete=jf,Xn.prototype.get=na,Xn.prototype.has=ea,Xn.prototype.set=ta;function Qn(n){var e=-1,t=n==null?0:n.length;for(this.clear();++e=e?n:e)),n}function Tn(n,e,t,r,i,o){var l,f=e&an,h=e&ue,g=e&Yn;if(t&&(l=i?t(n,r,i,o):t(n)),l!==s)return l;if(!Y(n))return n;var _=E(n);if(_){if(l=oc(n),!f)return cn(n,l)}else{var v=un(n),m=v==bt||v==Yi;if(ge(n))return _o(n,f);if(v==Jn||v==Ee||m&&!i){if(l=h||m?{}:Fo(n),!f)return h?Ja(n,wa(l,n)):Za(n,Vu(l,n))}else{if(!K[v])return i?n:{};l=sc(n,v,f)}}o||(o=new Fn);var x=o.get(n);if(x)return x;o.set(n,l),as(n)?n.forEach(function(S){l.add(Tn(S,e,t,S,n,o))}):ls(n)&&n.forEach(function(S,B){l.set(B,Tn(S,e,t,B,n,o))});var O=g?h?di:pi:h?pn:j,R=_?s:O(n);return On(R||n,function(S,B){R&&(B=S,S=n[B]),st(l,B,Tn(S,e,t,B,n,o))}),l}function ma(n){var e=j(n);return function(t){return zu(t,n,e)}}function zu(n,e,t){var r=t.length;if(n==null)return!r;for(n=H(n);r--;){var i=t[r],o=e[i],l=n[i];if(l===s&&!(i in n)||!o(l))return!1}return!0}function Yu(n,e,t){if(typeof n!="function")throw new Sn(q);return dt(function(){n.apply(s,t)},e)}function lt(n,e,t,r){var i=-1,o=Tt,l=!0,f=n.length,h=[],g=e.length;if(!f)return h;t&&(e=z(e,_n(t))),r?(o=Dr,l=!1):e.length>=G&&(o=et,l=!1,e=new xe(e));n:for(;++ii?0:i+t),r=r===s||r>i?i:I(r),r<0&&(r+=i),r=t>r?0:hs(r);t0&&t(f)?e>1?en(f,e-1,t,r,i):le(i,f):r||(i[i.length]=f)}return i}var Jr=bo(),Xu=bo(!0);function Kn(n,e){return n&&Jr(n,e,j)}function Xr(n,e){return n&&Xu(n,e,j)}function zt(n,e){return se(e,function(t){return te(n[t])})}function Ae(n,e){e=pe(e,n);for(var t=0,r=e.length;n!=null&&te}function ba(n,e){return n!=null&&N.call(n,e)}function Aa(n,e){return n!=null&&e in H(n)}function Oa(n,e,t){return n>=rn(e,t)&&n=120&&_.length>=120)?new xe(l&&_):s}_=n[0];var v=-1,m=f[0];n:for(;++v-1;)f!==n&&Wt.call(f,h,1),Wt.call(n,h,1);return n}function so(n,e){for(var t=n?e.length:0,r=t-1;t--;){var i=e[t];if(t==r||i!==o){var o=i;ee(i)?Wt.call(n,i,1):oi(n,i)}}return n}function ri(n,e){return n+Nt(Gu()*(e-n+1))}function Wa(n,e,t,r){for(var i=-1,o=k(Ut((e-n)/(t||1)),0),l=p(o);o--;)l[r?o:++i]=n,n+=t;return l}function ii(n,e){var t="";if(!n||e<1||e>oe)return t;do e%2&&(t+=n),e=Nt(e/2),e&&(n+=n);while(e);return t}function P(n,e){return xi($o(n,e,dn),n+"")}function $a(n){return qu(qe(n))}function Ua(n,e){var t=qe(n);return rr(t,be(e,0,t.length))}function ct(n,e,t,r){if(!Y(n))return n;e=pe(e,n);for(var i=-1,o=e.length,l=o-1,f=n;f!=null&&++ii?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var o=p(i);++r>>1,l=n[o];l!==null&&!wn(l)&&(t?l<=e:l=G){var g=e?null:ja(n);if(g)return Et(g);l=!1,i=et,h=new xe}else h=e?[]:f;n:for(;++r=r?n:Ln(n,e,t)}var go=If||function(n){return nn.clearTimeout(n)};function _o(n,e){if(e)return n.slice();var t=n.length,r=Mu?Mu(t):new n.constructor(t);return n.copy(r),r}function ai(n){var e=new n.constructor(n.byteLength);return new Ft(e).set(new Ft(n)),e}function qa(n,e){var t=e?ai(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.byteLength)}function Va(n){var e=new n.constructor(n.source,ki.exec(n));return e.lastIndex=n.lastIndex,e}function za(n){return ot?H(ot.call(n)):{}}function vo(n,e){var t=e?ai(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.length)}function wo(n,e){if(n!==e){var t=n!==s,r=n===null,i=n===n,o=wn(n),l=e!==s,f=e===null,h=e===e,g=wn(e);if(!f&&!g&&!o&&n>e||o&&l&&h&&!f&&!g||r&&l&&h||!t&&h||!i)return 1;if(!r&&!o&&!g&&n=f)return h;var g=t[r];return h*(g=="desc"?-1:1)}}return n.index-e.index}function mo(n,e,t,r){for(var i=-1,o=n.length,l=t.length,f=-1,h=e.length,g=k(o-l,0),_=p(h+g),v=!r;++f1?t[i-1]:s,l=i>2?t[2]:s;for(o=n.length>3&&typeof o=="function"?(i--,o):s,l&&sn(t[0],t[1],l)&&(o=i<3?s:o,i=1),e=H(e);++r-1?i[o?e[l]:l]:s}}function So(n){return ne(function(e){var t=e.length,r=t,i=Cn.prototype.thru;for(n&&e.reverse();r--;){var o=e[r];if(typeof o!="function")throw new Sn(q);if(i&&!l&&er(o)=="wrapper")var l=new Cn([],!0)}for(r=l?r:t;++r1&&F.reverse(),_&&hf))return!1;var g=o.get(n),_=o.get(e);if(g&&_)return g==e&&_==n;var v=-1,m=!0,x=t&wt?new xe:s;for(o.set(n,e),o.set(e,n);++v1?"& ":"")+e[r],e=e.join(t>2?", ":" "),n.replace(fl,`{ /* [wrapped with `+e+`] */ -`)}function fc(n){return I(n)||Ce(n)||!!($u&&n&&n[$u])}function ee(n,e){var t=typeof n;return e=e??oe,!!e&&(t=="number"||t!="symbol"&&yl.test(n))&&n>-1&&n%1==0&&n0){if(++e>=Ws)return arguments[0]}else e=0;return n.apply(s,arguments)}}function rr(n,e){var t=-1,r=n.length,i=r-1;for(e=e===s?r:e;++t1?n[e-1]:s;return t=typeof t=="function"?(n.pop(),t):s,Xo(n,t)});function Qo(n){var e=u(n);return e.__chain__=!0,e}function yh(n,e){return e(n),n}function ir(n,e){return e(n)}var xh=ne(function(n){var e=n.length,t=e?n[0]:0,r=this.__wrapped__,i=function(o){return Zr(o,n)};return e>1||this.__actions__.length||!(r instanceof D)||!ee(t)?this.thru(i):(r=r.slice(t,+t+(e?1:0)),r.__actions__.push({func:ir,args:[i],thisArg:s}),new Cn(r,this.__chain__).thru(function(o){return e&&!o.length&&o.push(s),o}))});function bh(){return Qo(this)}function Ah(){return new Cn(this.value(),this.__chain__)}function Oh(){this.__values__===s&&(this.__values__=cs(this.value()));var n=this.__index__>=this.__values__.length,e=n?s:this.__values__[this.__index__++];return{done:n,value:e}}function Sh(){return this}function Ch(n){for(var e,t=this;t instanceof Kt;){var r=qo(t);r.__index__=0,r.__values__=s,e?i.__wrapped__=r:e=r;var i=r;t=t.__wrapped__}return i.__wrapped__=n,e}function Th(){var n=this.__wrapped__;if(n instanceof D){var e=n;return this.__actions__.length&&(e=new D(this)),e=e.reverse(),e.__actions__.push({func:ir,args:[bi],thisArg:s}),new Cn(e,this.__chain__)}return this.thru(bi)}function Lh(){return ho(this.__wrapped__,this.__actions__)}var Ih=Xt(function(n,e,t){$.call(n,t)?++n[t]:kn(n,t,1)});function Eh(n,e,t){var r=I(n)?Su:ya;return t&&sn(n,e,t)&&(e=s),r(n,b(e,3))}function Rh(n,e){var t=I(n)?se:Ju;return t(n,b(e,3))}var Ph=Oo(Vo),Bh=Oo(zo);function Dh(n,e){return en(ur(n,e),1)}function Fh(n,e){return en(ur(n,e),ve)}function Mh(n,e,t){return t=t===s?1:E(t),en(ur(n,e),t)}function ko(n,e){var t=I(n)?On:ce;return t(n,b(e,3))}function jo(n,e){var t=I(n)?nf:Zu;return t(n,b(e,3))}var Wh=Xt(function(n,e,t){$.call(n,t)?n[t].push(e):kn(n,t,[e])});function Uh(n,e,t,r){n=hn(n)?n:qe(n),t=t&&!r?E(t):0;var i=n.length;return t<0&&(t=k(i+t,0)),ar(n)?t<=i&&n.indexOf(e,t)>-1:!!i&&Pe(n,e,t)>-1}var $h=P(function(n,e,t){var r=-1,i=typeof e=="function",o=hn(n)?p(n.length):[];return ce(n,function(l){o[++r]=i?gn(e,l,t):ft(l,e,t)}),o}),Nh=Xt(function(n,e,t){kn(n,t,e)});function ur(n,e){var t=I(n)?z:eo;return t(n,b(e,3))}function Gh(n,e,t,r){return n==null?[]:(I(e)||(e=e==null?[]:[e]),t=r?s:t,I(t)||(t=t==null?[]:[t]),uo(n,e,t))}var Hh=Xt(function(n,e,t){n[t?0:1].push(e)},function(){return[[],[]]});function Kh(n,e,t){var r=I(n)?Fr:Iu,i=arguments.length<3;return r(n,b(e,4),t,i,ce)}function qh(n,e,t){var r=I(n)?ef:Iu,i=arguments.length<3;return r(n,b(e,4),t,i,Zu)}function Vh(n,e){var t=I(n)?se:Ju;return t(n,lr(b(e,3)))}function zh(n){var e=I(n)?qu:Ua;return e(n)}function Yh(n,e,t){(t?sn(n,e,t):e===s)?e=1:e=E(e);var r=I(n)?ga:$a;return r(n,e)}function Zh(n){var e=I(n)?_a:Ga;return e(n)}function Jh(n){if(n==null)return 0;if(hn(n))return ar(n)?De(n):n.length;var e=un(n);return e==Pn||e==Bn?n.size:ni(n).length}function Xh(n,e,t){var r=I(n)?Mr:Ha;return t&&sn(n,e,t)&&(e=s),r(n,b(e,3))}var Qh=P(function(n,e){if(n==null)return[];var t=e.length;return t>1&&sn(n,e[0],e[1])?e=[]:t>2&&sn(e[0],e[1],e[2])&&(e=[e[0]]),uo(n,en(e,1),[])}),or=Rf||function(){return nn.Date.now()};function kh(n,e){if(typeof e!="function")throw new Sn(q);return n=E(n),function(){if(--n<1)return e.apply(this,arguments)}}function ns(n,e,t){return e=t?s:e,e=n&&e==null?n.length:e,jn(n,Zn,s,s,s,s,e)}function es(n,e){var t;if(typeof e!="function")throw new Sn(q);return n=E(n),function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=s),t}}var Oi=P(function(n,e,t){var r=bn;if(t.length){var i=fe(t,He(Oi));r|=Gn}return jn(n,r,e,t,i)}),ts=P(function(n,e,t){var r=bn|_e;if(t.length){var i=fe(t,He(ts));r|=Gn}return jn(e,r,n,t,i)});function rs(n,e,t){e=t?s:e;var r=jn(n,Nn,s,s,s,s,s,e);return r.placeholder=rs.placeholder,r}function is(n,e,t){e=t?s:e;var r=jn(n,Te,s,s,s,s,s,e);return r.placeholder=is.placeholder,r}function us(n,e,t){var r,i,o,l,f,h,g=0,_=!1,v=!1,m=!0;if(typeof n!="function")throw new Sn(q);e=En(e)||0,Y(t)&&(_=!!t.leading,v="maxWait"in t,o=v?k(En(t.maxWait)||0,e):o,m="trailing"in t?!!t.trailing:m);function x(X){var Wn=r,ie=i;return r=i=s,g=X,l=n.apply(ie,Wn),l}function O(X){return g=X,f=dt(B,e),_?x(X):l}function R(X){var Wn=X-h,ie=X-g,Os=e-Wn;return v?rn(Os,o-ie):Os}function S(X){var Wn=X-h,ie=X-g;return h===s||Wn>=e||Wn<0||v&&ie>=o}function B(){var X=or();if(S(X))return F(X);f=dt(B,R(X))}function F(X){return f=s,m&&r?x(X):(r=i=s,l)}function mn(){f!==s&&go(f),g=0,r=h=i=f=s}function ln(){return f===s?l:F(or())}function yn(){var X=or(),Wn=S(X);if(r=arguments,i=this,h=X,Wn){if(f===s)return O(h);if(v)return go(f),f=dt(B,e),x(h)}return f===s&&(f=dt(B,e)),l}return yn.cancel=mn,yn.flush=ln,yn}var jh=P(function(n,e){return Yu(n,1,e)}),np=P(function(n,e,t){return Yu(n,En(e)||0,t)});function ep(n){return jn(n,gr)}function sr(n,e){if(typeof n!="function"||e!=null&&typeof e!="function")throw new Sn(q);var t=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=t.cache;if(o.has(i))return o.get(i);var l=n.apply(this,r);return t.cache=o.set(i,l)||o,l};return t.cache=new(sr.Cache||Qn),t}sr.Cache=Qn;function lr(n){if(typeof n!="function")throw new Sn(q);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function tp(n){return es(2,n)}var rp=Ka(function(n,e){e=e.length==1&&I(e[0])?z(e[0],_n(b())):z(en(e,1),_n(b()));var t=e.length;return P(function(r){for(var i=-1,o=rn(r.length,t);++i=e}),Ce=ku(function(){return arguments}())?ku:function(n){return Z(n)&&$.call(n,"callee")&&!Uu.call(n,"callee")},I=p.isArray,wp=mu?_n(mu):Ca;function hn(n){return n!=null&&fr(n.length)&&!te(n)}function J(n){return Z(n)&&hn(n)}function mp(n){return n===!0||n===!1||Z(n)&&on(n)==Ze}var ge=Bf||Mi,yp=yu?_n(yu):Ta;function xp(n){return Z(n)&&n.nodeType===1&&!gt(n)}function bp(n){if(n==null)return!0;if(hn(n)&&(I(n)||typeof n=="string"||typeof n.splice=="function"||ge(n)||Ke(n)||Ce(n)))return!n.length;var e=un(n);if(e==Pn||e==Bn)return!n.size;if(pt(n))return!ni(n).length;for(var t in n)if($.call(n,t))return!1;return!0}function Ap(n,e){return at(n,e)}function Op(n,e,t){t=typeof t=="function"?t:s;var r=t?t(n,e):s;return r===s?at(n,e,s,t):!!r}function Ci(n){if(!Z(n))return!1;var e=on(n);return e==xt||e==zs||typeof n.message=="string"&&typeof n.name=="string"&&!gt(n)}function Sp(n){return typeof n=="number"&&Nu(n)}function te(n){if(!Y(n))return!1;var e=on(n);return e==bt||e==Yi||e==Vs||e==Zs}function ss(n){return typeof n=="number"&&n==E(n)}function fr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=oe}function Y(n){var e=typeof n;return n!=null&&(e=="object"||e=="function")}function Z(n){return n!=null&&typeof n=="object"}var ls=xu?_n(xu):Ia;function Cp(n,e){return n===e||jr(n,e,_i(e))}function Tp(n,e,t){return t=typeof t=="function"?t:s,jr(n,e,_i(e),t)}function Lp(n){return fs(n)&&n!=+n}function Ip(n){if(hc(n))throw new L(T);return ju(n)}function Ep(n){return n===null}function Rp(n){return n==null}function fs(n){return typeof n=="number"||Z(n)&&on(n)==Xe}function gt(n){if(!Z(n)||on(n)!=Jn)return!1;var e=Mt(n);if(e===null)return!0;var t=$.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&Pt.call(t)==Tf}var Ti=bu?_n(bu):Ea;function Pp(n){return ss(n)&&n>=-oe&&n<=oe}var as=Au?_n(Au):Ra;function ar(n){return typeof n=="string"||!I(n)&&Z(n)&&on(n)==ke}function wn(n){return typeof n=="symbol"||Z(n)&&on(n)==At}var Ke=Ou?_n(Ou):Pa;function Bp(n){return n===s}function Dp(n){return Z(n)&&un(n)==je}function Fp(n){return Z(n)&&on(n)==Xs}var Mp=nr(ei),Wp=nr(function(n,e){return n<=e});function cs(n){if(!n)return[];if(hn(n))return ar(n)?Dn(n):cn(n);if(tt&&n[tt])return gf(n[tt]());var e=un(n),t=e==Pn?Hr:e==Bn?It:qe;return t(n)}function re(n){if(!n)return n===0?n:0;if(n=En(n),n===ve||n===-ve){var e=n<0?-1:1;return e*Gs}return n===n?n:0}function E(n){var e=re(n),t=e%1;return e===e?t?e-t:e:0}function hs(n){return n?be(E(n),0,Hn):0}function En(n){if(typeof n=="number")return n;if(wn(n))return mt;if(Y(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=Y(e)?e+"":e}if(typeof n!="string")return n===0?n:+n;n=Eu(n);var t=vl.test(n);return t||ml.test(n)?Ql(n.slice(2),t?2:8):_l.test(n)?mt:+n}function ps(n){return qn(n,pn(n))}function Up(n){return n?be(E(n),-oe,oe):n===0?n:0}function W(n){return n==null?"":vn(n)}var $p=Ne(function(n,e){if(pt(e)||hn(e)){qn(e,j(e),n);return}for(var t in e)$.call(e,t)&&st(n,t,e[t])}),ds=Ne(function(n,e){qn(e,pn(e),n)}),cr=Ne(function(n,e,t,r){qn(e,pn(e),n,r)}),Np=Ne(function(n,e,t,r){qn(e,j(e),n,r)}),Gp=ne(Zr);function Hp(n,e){var t=$e(n);return e==null?t:Vu(t,e)}var Kp=P(function(n,e){n=G(n);var t=-1,r=e.length,i=r>2?e[2]:s;for(i&&sn(e[0],e[1],i)&&(r=1);++t1),o}),qn(n,di(n),t),r&&(t=Tn(t,an|ue|Yn,nc));for(var i=e.length;i--;)oi(t,e[i]);return t});function sd(n,e){return _s(n,lr(b(e)))}var ld=ne(function(n,e){return n==null?{}:Fa(n,e)});function _s(n,e){if(n==null)return{};var t=z(di(n),function(r){return[r]});return e=b(e),oo(n,t,function(r,i){return e(r,i[0])})}function fd(n,e,t){e=pe(e,n);var r=-1,i=e.length;for(i||(i=1,n=s);++re){var r=n;n=e,e=r}if(t||n%1||e%1){var i=Gu();return rn(n+i*(e-n+Xl("1e-"+((i+"").length-1))),e)}return ri(n,e)}var yd=Ge(function(n,e,t){return e=e.toLowerCase(),n+(t?ms(e):e)});function ms(n){return Ei(W(n).toLowerCase())}function ys(n){return n=W(n),n&&n.replace(xl,af).replace(Nl,"")}function xd(n,e,t){n=W(n),e=vn(e);var r=n.length;t=t===s?r:be(E(t),0,r);var i=t;return t-=e.length,t>=0&&n.slice(t,i)==e}function bd(n){return n=W(n),n&&el.test(n)?n.replace(Xi,cf):n}function Ad(n){return n=W(n),n&&sl.test(n)?n.replace(Sr,"\\$&"):n}var Od=Ge(function(n,e,t){return n+(t?"-":"")+e.toLowerCase()}),Sd=Ge(function(n,e,t){return n+(t?" ":"")+e.toLowerCase()}),Cd=Ao("toLowerCase");function Td(n,e,t){n=W(n),e=E(e);var r=e?De(n):0;if(!e||r>=e)return n;var i=(e-r)/2;return jt(Nt(i),t)+n+jt($t(i),t)}function Ld(n,e,t){n=W(n),e=E(e);var r=e?De(n):0;return e&&r>>0,t?(n=W(n),n&&(typeof e=="string"||e!=null&&!Ti(e))&&(e=vn(e),!e&&Be(n))?de(Dn(n),0,t):n.split(e,t)):[]}var Fd=Ge(function(n,e,t){return n+(t?" ":"")+Ei(e)});function Md(n,e,t){return n=W(n),t=t==null?0:be(E(t),0,n.length),e=vn(e),n.slice(t,t+e.length)==e}function Wd(n,e,t){var r=u.templateSettings;t&&sn(n,e,t)&&(e=s),n=W(n),e=cr({},e,r,Eo);var i=cr({},e.imports,r.imports,Eo),o=j(i),l=Gr(i,o),f,h,g=0,_=e.interpolate||Ot,v="__p += '",m=Kr((e.escape||Ot).source+"|"+_.source+"|"+(_===Qi?gl:Ot).source+"|"+(e.evaluate||Ot).source+"|$","g"),x="//# sourceURL="+($.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Vl+"]")+` +`)}function fc(n){return E(n)||Ce(n)||!!(Uu&&n&&n[Uu])}function ee(n,e){var t=typeof n;return e=e??oe,!!e&&(t=="number"||t!="symbol"&&yl.test(n))&&n>-1&&n%1==0&&n0){if(++e>=Ws)return arguments[0]}else e=0;return n.apply(s,arguments)}}function rr(n,e){var t=-1,r=n.length,i=r-1;for(e=e===s?r:e;++t1?n[e-1]:s;return t=typeof t=="function"?(n.pop(),t):s,Xo(n,t)});function Qo(n){var e=u(n);return e.__chain__=!0,e}function yh(n,e){return e(n),n}function ir(n,e){return e(n)}var xh=ne(function(n){var e=n.length,t=e?n[0]:0,r=this.__wrapped__,i=function(o){return Zr(o,n)};return e>1||this.__actions__.length||!(r instanceof D)||!ee(t)?this.thru(i):(r=r.slice(t,+t+(e?1:0)),r.__actions__.push({func:ir,args:[i],thisArg:s}),new Cn(r,this.__chain__).thru(function(o){return e&&!o.length&&o.push(s),o}))});function bh(){return Qo(this)}function Ah(){return new Cn(this.value(),this.__chain__)}function Oh(){this.__values__===s&&(this.__values__=cs(this.value()));var n=this.__index__>=this.__values__.length,e=n?s:this.__values__[this.__index__++];return{done:n,value:e}}function Sh(){return this}function Ch(n){for(var e,t=this;t instanceof Kt;){var r=qo(t);r.__index__=0,r.__values__=s,e?i.__wrapped__=r:e=r;var i=r;t=t.__wrapped__}return i.__wrapped__=n,e}function Th(){var n=this.__wrapped__;if(n instanceof D){var e=n;return this.__actions__.length&&(e=new D(this)),e=e.reverse(),e.__actions__.push({func:ir,args:[bi],thisArg:s}),new Cn(e,this.__chain__)}return this.thru(bi)}function Lh(){return ho(this.__wrapped__,this.__actions__)}var Eh=Xt(function(n,e,t){N.call(n,t)?++n[t]:kn(n,t,1)});function Ih(n,e,t){var r=E(n)?Su:ya;return t&&sn(n,e,t)&&(e=s),r(n,b(e,3))}function Rh(n,e){var t=E(n)?se:Ju;return t(n,b(e,3))}var Ph=Oo(Vo),Bh=Oo(zo);function Dh(n,e){return en(ur(n,e),1)}function Fh(n,e){return en(ur(n,e),ve)}function Mh(n,e,t){return t=t===s?1:I(t),en(ur(n,e),t)}function ko(n,e){var t=E(n)?On:ce;return t(n,b(e,3))}function jo(n,e){var t=E(n)?nf:Zu;return t(n,b(e,3))}var Wh=Xt(function(n,e,t){N.call(n,t)?n[t].push(e):kn(n,t,[e])});function $h(n,e,t,r){n=hn(n)?n:qe(n),t=t&&!r?I(t):0;var i=n.length;return t<0&&(t=k(i+t,0)),ar(n)?t<=i&&n.indexOf(e,t)>-1:!!i&&Pe(n,e,t)>-1}var Uh=P(function(n,e,t){var r=-1,i=typeof e=="function",o=hn(n)?p(n.length):[];return ce(n,function(l){o[++r]=i?gn(e,l,t):ft(l,e,t)}),o}),Nh=Xt(function(n,e,t){kn(n,t,e)});function ur(n,e){var t=E(n)?z:eo;return t(n,b(e,3))}function Gh(n,e,t,r){return n==null?[]:(E(e)||(e=e==null?[]:[e]),t=r?s:t,E(t)||(t=t==null?[]:[t]),uo(n,e,t))}var Hh=Xt(function(n,e,t){n[t?0:1].push(e)},function(){return[[],[]]});function Kh(n,e,t){var r=E(n)?Fr:Eu,i=arguments.length<3;return r(n,b(e,4),t,i,ce)}function qh(n,e,t){var r=E(n)?ef:Eu,i=arguments.length<3;return r(n,b(e,4),t,i,Zu)}function Vh(n,e){var t=E(n)?se:Ju;return t(n,lr(b(e,3)))}function zh(n){var e=E(n)?qu:$a;return e(n)}function Yh(n,e,t){(t?sn(n,e,t):e===s)?e=1:e=I(e);var r=E(n)?ga:Ua;return r(n,e)}function Zh(n){var e=E(n)?_a:Ga;return e(n)}function Jh(n){if(n==null)return 0;if(hn(n))return ar(n)?De(n):n.length;var e=un(n);return e==Pn||e==Bn?n.size:ni(n).length}function Xh(n,e,t){var r=E(n)?Mr:Ha;return t&&sn(n,e,t)&&(e=s),r(n,b(e,3))}var Qh=P(function(n,e){if(n==null)return[];var t=e.length;return t>1&&sn(n,e[0],e[1])?e=[]:t>2&&sn(e[0],e[1],e[2])&&(e=[e[0]]),uo(n,en(e,1),[])}),or=Rf||function(){return nn.Date.now()};function kh(n,e){if(typeof e!="function")throw new Sn(q);return n=I(n),function(){if(--n<1)return e.apply(this,arguments)}}function ns(n,e,t){return e=t?s:e,e=n&&e==null?n.length:e,jn(n,Zn,s,s,s,s,e)}function es(n,e){var t;if(typeof e!="function")throw new Sn(q);return n=I(n),function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=s),t}}var Oi=P(function(n,e,t){var r=bn;if(t.length){var i=fe(t,He(Oi));r|=Gn}return jn(n,r,e,t,i)}),ts=P(function(n,e,t){var r=bn|_e;if(t.length){var i=fe(t,He(ts));r|=Gn}return jn(e,r,n,t,i)});function rs(n,e,t){e=t?s:e;var r=jn(n,Nn,s,s,s,s,s,e);return r.placeholder=rs.placeholder,r}function is(n,e,t){e=t?s:e;var r=jn(n,Te,s,s,s,s,s,e);return r.placeholder=is.placeholder,r}function us(n,e,t){var r,i,o,l,f,h,g=0,_=!1,v=!1,m=!0;if(typeof n!="function")throw new Sn(q);e=In(e)||0,Y(t)&&(_=!!t.leading,v="maxWait"in t,o=v?k(In(t.maxWait)||0,e):o,m="trailing"in t?!!t.trailing:m);function x(X){var Wn=r,ie=i;return r=i=s,g=X,l=n.apply(ie,Wn),l}function O(X){return g=X,f=dt(B,e),_?x(X):l}function R(X){var Wn=X-h,ie=X-g,Os=e-Wn;return v?rn(Os,o-ie):Os}function S(X){var Wn=X-h,ie=X-g;return h===s||Wn>=e||Wn<0||v&&ie>=o}function B(){var X=or();if(S(X))return F(X);f=dt(B,R(X))}function F(X){return f=s,m&&r?x(X):(r=i=s,l)}function mn(){f!==s&&go(f),g=0,r=h=i=f=s}function ln(){return f===s?l:F(or())}function yn(){var X=or(),Wn=S(X);if(r=arguments,i=this,h=X,Wn){if(f===s)return O(h);if(v)return go(f),f=dt(B,e),x(h)}return f===s&&(f=dt(B,e)),l}return yn.cancel=mn,yn.flush=ln,yn}var jh=P(function(n,e){return Yu(n,1,e)}),np=P(function(n,e,t){return Yu(n,In(e)||0,t)});function ep(n){return jn(n,gr)}function sr(n,e){if(typeof n!="function"||e!=null&&typeof e!="function")throw new Sn(q);var t=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=t.cache;if(o.has(i))return o.get(i);var l=n.apply(this,r);return t.cache=o.set(i,l)||o,l};return t.cache=new(sr.Cache||Qn),t}sr.Cache=Qn;function lr(n){if(typeof n!="function")throw new Sn(q);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function tp(n){return es(2,n)}var rp=Ka(function(n,e){e=e.length==1&&E(e[0])?z(e[0],_n(b())):z(en(e,1),_n(b()));var t=e.length;return P(function(r){for(var i=-1,o=rn(r.length,t);++i=e}),Ce=ku(function(){return arguments}())?ku:function(n){return Z(n)&&N.call(n,"callee")&&!$u.call(n,"callee")},E=p.isArray,wp=mu?_n(mu):Ca;function hn(n){return n!=null&&fr(n.length)&&!te(n)}function J(n){return Z(n)&&hn(n)}function mp(n){return n===!0||n===!1||Z(n)&&on(n)==Ze}var ge=Bf||Mi,yp=yu?_n(yu):Ta;function xp(n){return Z(n)&&n.nodeType===1&&!gt(n)}function bp(n){if(n==null)return!0;if(hn(n)&&(E(n)||typeof n=="string"||typeof n.splice=="function"||ge(n)||Ke(n)||Ce(n)))return!n.length;var e=un(n);if(e==Pn||e==Bn)return!n.size;if(pt(n))return!ni(n).length;for(var t in n)if(N.call(n,t))return!1;return!0}function Ap(n,e){return at(n,e)}function Op(n,e,t){t=typeof t=="function"?t:s;var r=t?t(n,e):s;return r===s?at(n,e,s,t):!!r}function Ci(n){if(!Z(n))return!1;var e=on(n);return e==xt||e==zs||typeof n.message=="string"&&typeof n.name=="string"&&!gt(n)}function Sp(n){return typeof n=="number"&&Nu(n)}function te(n){if(!Y(n))return!1;var e=on(n);return e==bt||e==Yi||e==Vs||e==Zs}function ss(n){return typeof n=="number"&&n==I(n)}function fr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=oe}function Y(n){var e=typeof n;return n!=null&&(e=="object"||e=="function")}function Z(n){return n!=null&&typeof n=="object"}var ls=xu?_n(xu):Ea;function Cp(n,e){return n===e||jr(n,e,_i(e))}function Tp(n,e,t){return t=typeof t=="function"?t:s,jr(n,e,_i(e),t)}function Lp(n){return fs(n)&&n!=+n}function Ep(n){if(hc(n))throw new L(T);return ju(n)}function Ip(n){return n===null}function Rp(n){return n==null}function fs(n){return typeof n=="number"||Z(n)&&on(n)==Xe}function gt(n){if(!Z(n)||on(n)!=Jn)return!1;var e=Mt(n);if(e===null)return!0;var t=N.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&Pt.call(t)==Tf}var Ti=bu?_n(bu):Ia;function Pp(n){return ss(n)&&n>=-oe&&n<=oe}var as=Au?_n(Au):Ra;function ar(n){return typeof n=="string"||!E(n)&&Z(n)&&on(n)==ke}function wn(n){return typeof n=="symbol"||Z(n)&&on(n)==At}var Ke=Ou?_n(Ou):Pa;function Bp(n){return n===s}function Dp(n){return Z(n)&&un(n)==je}function Fp(n){return Z(n)&&on(n)==Xs}var Mp=nr(ei),Wp=nr(function(n,e){return n<=e});function cs(n){if(!n)return[];if(hn(n))return ar(n)?Dn(n):cn(n);if(tt&&n[tt])return gf(n[tt]());var e=un(n),t=e==Pn?Hr:e==Bn?Et:qe;return t(n)}function re(n){if(!n)return n===0?n:0;if(n=In(n),n===ve||n===-ve){var e=n<0?-1:1;return e*Gs}return n===n?n:0}function I(n){var e=re(n),t=e%1;return e===e?t?e-t:e:0}function hs(n){return n?be(I(n),0,Hn):0}function In(n){if(typeof n=="number")return n;if(wn(n))return mt;if(Y(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=Y(e)?e+"":e}if(typeof n!="string")return n===0?n:+n;n=Iu(n);var t=vl.test(n);return t||ml.test(n)?Ql(n.slice(2),t?2:8):_l.test(n)?mt:+n}function ps(n){return qn(n,pn(n))}function $p(n){return n?be(I(n),-oe,oe):n===0?n:0}function $(n){return n==null?"":vn(n)}var Up=Ne(function(n,e){if(pt(e)||hn(e)){qn(e,j(e),n);return}for(var t in e)N.call(e,t)&&st(n,t,e[t])}),ds=Ne(function(n,e){qn(e,pn(e),n)}),cr=Ne(function(n,e,t,r){qn(e,pn(e),n,r)}),Np=Ne(function(n,e,t,r){qn(e,j(e),n,r)}),Gp=ne(Zr);function Hp(n,e){var t=Ue(n);return e==null?t:Vu(t,e)}var Kp=P(function(n,e){n=H(n);var t=-1,r=e.length,i=r>2?e[2]:s;for(i&&sn(e[0],e[1],i)&&(r=1);++t1),o}),qn(n,di(n),t),r&&(t=Tn(t,an|ue|Yn,nc));for(var i=e.length;i--;)oi(t,e[i]);return t});function sd(n,e){return _s(n,lr(b(e)))}var ld=ne(function(n,e){return n==null?{}:Fa(n,e)});function _s(n,e){if(n==null)return{};var t=z(di(n),function(r){return[r]});return e=b(e),oo(n,t,function(r,i){return e(r,i[0])})}function fd(n,e,t){e=pe(e,n);var r=-1,i=e.length;for(i||(i=1,n=s);++re){var r=n;n=e,e=r}if(t||n%1||e%1){var i=Gu();return rn(n+i*(e-n+Xl("1e-"+((i+"").length-1))),e)}return ri(n,e)}var yd=Ge(function(n,e,t){return e=e.toLowerCase(),n+(t?ms(e):e)});function ms(n){return Ii($(n).toLowerCase())}function ys(n){return n=$(n),n&&n.replace(xl,af).replace(Nl,"")}function xd(n,e,t){n=$(n),e=vn(e);var r=n.length;t=t===s?r:be(I(t),0,r);var i=t;return t-=e.length,t>=0&&n.slice(t,i)==e}function bd(n){return n=$(n),n&&el.test(n)?n.replace(Xi,cf):n}function Ad(n){return n=$(n),n&&sl.test(n)?n.replace(Sr,"\\$&"):n}var Od=Ge(function(n,e,t){return n+(t?"-":"")+e.toLowerCase()}),Sd=Ge(function(n,e,t){return n+(t?" ":"")+e.toLowerCase()}),Cd=Ao("toLowerCase");function Td(n,e,t){n=$(n),e=I(e);var r=e?De(n):0;if(!e||r>=e)return n;var i=(e-r)/2;return jt(Nt(i),t)+n+jt(Ut(i),t)}function Ld(n,e,t){n=$(n),e=I(e);var r=e?De(n):0;return e&&r>>0,t?(n=$(n),n&&(typeof e=="string"||e!=null&&!Ti(e))&&(e=vn(e),!e&&Be(n))?de(Dn(n),0,t):n.split(e,t)):[]}var Fd=Ge(function(n,e,t){return n+(t?" ":"")+Ii(e)});function Md(n,e,t){return n=$(n),t=t==null?0:be(I(t),0,n.length),e=vn(e),n.slice(t,t+e.length)==e}function Wd(n,e,t){var r=u.templateSettings;t&&sn(n,e,t)&&(e=s),n=$(n),e=cr({},e,r,Io);var i=cr({},e.imports,r.imports,Io),o=j(i),l=Gr(i,o),f,h,g=0,_=e.interpolate||Ot,v="__p += '",m=Kr((e.escape||Ot).source+"|"+_.source+"|"+(_===Qi?gl:Ot).source+"|"+(e.evaluate||Ot).source+"|$","g"),x="//# sourceURL="+(N.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Vl+"]")+` `;n.replace(m,function(S,B,F,mn,ln,yn){return F||(F=mn),v+=n.slice(g,yn).replace(bl,hf),B&&(f=!0,v+=`' + __e(`+B+`) + '`),ln&&(h=!0,v+=`'; @@ -15,7 +15,7 @@ __e(`+B+`) + __p += '`),F&&(v+=`' + ((__t = (`+F+`)) == null ? '' : __t) + '`),g=yn+S.length,S}),v+=`'; -`;var O=$.call(e,"variable")&&e.variable;if(!O)v=`with (obj) { +`;var O=N.call(e,"variable")&&e.variable;if(!O)v=`with (obj) { `+v+` } `;else if(pl.test(O))throw new L(C);v=(h?v.replace(Qs,""):v).replace(ks,"$1").replace(js,"$1;"),v="function("+(O||"obj")+`) { @@ -24,6 +24,6 @@ __p += '`),F&&(v+=`' + function print() { __p += __j.call(arguments, '') } `:`; `)+v+`return __p -}`;var R=bs(function(){return M(o,x+"return "+v).apply(s,l)});if(R.source=v,Ci(R))throw R;return R}function Ud(n){return W(n).toLowerCase()}function $d(n){return W(n).toUpperCase()}function Nd(n,e,t){if(n=W(n),n&&(t||e===s))return Eu(n);if(!n||!(e=vn(e)))return n;var r=Dn(n),i=Dn(e),o=Ru(r,i),l=Pu(r,i)+1;return de(r,o,l).join("")}function Gd(n,e,t){if(n=W(n),n&&(t||e===s))return n.slice(0,Du(n)+1);if(!n||!(e=vn(e)))return n;var r=Dn(n),i=Pu(r,Dn(e))+1;return de(r,0,i).join("")}function Hd(n,e,t){if(n=W(n),n&&(t||e===s))return n.replace(Cr,"");if(!n||!(e=vn(e)))return n;var r=Dn(n),i=Ru(r,Dn(e));return de(r,i).join("")}function Kd(n,e){var t=Fs,r=Ms;if(Y(e)){var i="separator"in e?e.separator:i;t="length"in e?E(e.length):t,r="omission"in e?vn(e.omission):r}n=W(n);var o=n.length;if(Be(n)){var l=Dn(n);o=l.length}if(t>=o)return n;var f=t-De(r);if(f<1)return r;var h=l?de(l,0,f).join(""):n.slice(0,f);if(i===s)return h+r;if(l&&(f+=h.length-f),Ti(i)){if(n.slice(f).search(i)){var g,_=h;for(i.global||(i=Kr(i.source,W(ki.exec(i))+"g")),i.lastIndex=0;g=i.exec(_);)var v=g.index;h=h.slice(0,v===s?f:v)}}else if(n.indexOf(vn(i),f)!=f){var m=h.lastIndexOf(i);m>-1&&(h=h.slice(0,m))}return h+r}function qd(n){return n=W(n),n&&nl.test(n)?n.replace(Ji,mf):n}var Vd=Ge(function(n,e,t){return n+(t?" ":"")+e.toUpperCase()}),Ei=Ao("toUpperCase");function xs(n,e,t){return n=W(n),e=t?s:e,e===s?df(n)?bf(n):uf(n):n.match(e)||[]}var bs=P(function(n,e){try{return gn(n,s,e)}catch(t){return Ci(t)?t:new L(t)}}),zd=ne(function(n,e){return On(e,function(t){t=Vn(t),kn(n,t,Oi(n[t],n))}),n});function Yd(n){var e=n==null?0:n.length,t=b();return n=e?z(n,function(r){if(typeof r[1]!="function")throw new Sn(q);return[t(r[0]),r[1]]}):[],P(function(r){for(var i=-1;++ioe)return[];var t=Hn,r=rn(n,Hn);e=b(e),n-=Hn;for(var i=Nr(r,e);++t0||e<0)?new D(t):(n<0?t=t.takeRight(-n):n&&(t=t.drop(n)),e!==s&&(e=E(e),t=e<0?t.dropRight(-e):t.take(e-n)),t)},D.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},D.prototype.toArray=function(){return this.take(Hn)},Kn(D.prototype,function(n,e){var t=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=u[r?"take"+(e=="last"?"Right":""):e],o=r||/^find/.test(e);i&&(u.prototype[e]=function(){var l=this.__wrapped__,f=r?[1]:arguments,h=l instanceof D,g=f[0],_=h||I(l),v=function(B){var F=i.apply(u,le([B],f));return r&&m?F[0]:F};_&&t&&typeof g=="function"&&g.length!=1&&(h=_=!1);var m=this.__chain__,x=!!this.__actions__.length,O=o&&!m,R=h&&!x;if(!o&&_){l=R?l:new D(this);var S=n.apply(l,f);return S.__actions__.push({func:ir,args:[v],thisArg:s}),new Cn(S,m)}return O&&R?n.apply(this,f):(S=this.thru(v),O?r?S.value()[0]:S.value():S)})}),On(["pop","push","shift","sort","splice","unshift"],function(n){var e=Et[n],t=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);u.prototype[n]=function(){var i=arguments;if(r&&!this.__chain__){var o=this.value();return e.apply(I(o)?o:[],i)}return this[t](function(l){return e.apply(I(l)?l:[],i)})}}),Kn(D.prototype,function(n,e){var t=u[e];if(t){var r=t.name+"";$.call(Ue,r)||(Ue[r]=[]),Ue[r].push({name:e,func:t})}}),Ue[Qt(s,_e).name]=[{name:"wrapper",func:s}],D.prototype.clone=qf,D.prototype.reverse=Vf,D.prototype.value=zf,u.prototype.at=xh,u.prototype.chain=bh,u.prototype.commit=Ah,u.prototype.next=Oh,u.prototype.plant=Ch,u.prototype.reverse=Th,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=Lh,u.prototype.first=u.prototype.head,tt&&(u.prototype[tt]=Sh),u},Fe=Af();we?((we.exports=Fe)._=Fe,Pr._=Fe):nn._=Fe}).call(_t)})(dr,dr.exports);var Ng=dr.exports;const Gg=$g(Ng);var Hg=Object.defineProperty,Kg=Object.defineProperties,qg=Object.getOwnPropertyDescriptors,Rs=Object.getOwnPropertySymbols,Vg=Object.prototype.hasOwnProperty,zg=Object.prototype.propertyIsEnumerable,Ps=(a,w,s)=>w in a?Hg(a,w,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[w]=s,Ve=(a,w)=>{for(var s in w||(w={}))Vg.call(w,s)&&Ps(a,s,w[s]);if(Rs)for(var s of Rs(w))zg.call(w,s)&&Ps(a,s,w[s]);return a},Bs=(a,w)=>Kg(a,qg(w));const Yg={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer(){this.autoscroll&&this.maybeAdjustScroll()},open(a){this.autoscroll&&a&&this.$nextTick(()=>this.maybeAdjustScroll())}},methods:{maybeAdjustScroll(){var a;const w=((a=this.$refs.dropdownMenu)==null?void 0:a.children[this.typeAheadPointer])||!1;if(w){const s=this.getDropdownViewport(),{top:A,bottom:H,height:T}=w.getBoundingClientRect();if(As.bottom)return this.$refs.dropdownMenu.scrollTop=w.offsetTop-(s.height-T)}},getDropdownViewport(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},Zg={data(){return{typeAheadPointer:-1}},watch:{filteredOptions(){for(let a=0;a=0;a--)if(this.selectable(this.filteredOptions[a])){this.typeAheadPointer=a;break}},typeAheadDown(){for(let a=this.typeAheadPointer+1;a{const s=a.__vccOpts||a;for(const[A,H]of w)s[A]=H;return s},Xg={},Qg={xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"},kg=N("path",{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"},null,-1),jg=[kg];function n_(a,w){return fn(),Rn("svg",Qg,jg)}const e_=qi(Xg,[["render",n_]]),t_={},r_={xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"},i_=N("path",{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"},null,-1),u_=[i_];function o_(a,w){return fn(),Rn("svg",r_,u_)}const s_=qi(t_,[["render",o_]]),Ds={Deselect:e_,OpenIndicator:s_},l_={mounted(a,{instance:w}){if(w.appendToBody){const{height:s,top:A,left:H,width:T}=w.$refs.toggle.getBoundingClientRect();let q=window.scrollX||window.pageXOffset,C=window.scrollY||window.pageYOffset;a.unbindPosition=w.calculatePosition(a,w,{width:T+"px",left:q+H+"px",top:C+A+s+"px"}),document.body.appendChild(a)}},unmounted(a,{instance:w}){w.appendToBody&&(a.unbindPosition&&typeof a.unbindPosition=="function"&&a.unbindPosition(),a.parentNode&&a.parentNode.removeChild(a))}};function f_(a){const w={};return Object.keys(a).sort().forEach(s=>{w[s]=a[s]}),JSON.stringify(w)}let a_=0;function c_(){return++a_}const h_={components:Ve({},Ds),directives:{appendToBody:l_},mixins:[Yg,Zg,Jg],compatConfig:{MODE:3},emits:["open","close","update:modelValue","search","search:compositionstart","search:compositionend","search:keydown","search:blur","search:focus","search:input","option:created","option:selecting","option:selected","option:deselecting","option:deselected"],props:{modelValue:{},components:{type:Object,default:()=>({})},options:{type:Array,default(){return[]}},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},deselectFromDropdown:{type:Boolean,default:!1},searchable:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},placeholder:{type:String,default:""},transition:{type:String,default:"vs__fade"},clearSearchOnSelect:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!0},label:{type:String,default:"label"},autocomplete:{type:String,default:"off"},reduce:{type:Function,default:a=>a},selectable:{type:Function,default:a=>!0},getOptionLabel:{type:Function,default(a){return typeof a=="object"?a.hasOwnProperty(this.label)?a[this.label]:console.warn(`[vue-select warn]: Label key "option.${this.label}" does not exist in options object ${JSON.stringify(a)}. +}`;var R=bs(function(){return W(o,x+"return "+v).apply(s,l)});if(R.source=v,Ci(R))throw R;return R}function $d(n){return $(n).toLowerCase()}function Ud(n){return $(n).toUpperCase()}function Nd(n,e,t){if(n=$(n),n&&(t||e===s))return Iu(n);if(!n||!(e=vn(e)))return n;var r=Dn(n),i=Dn(e),o=Ru(r,i),l=Pu(r,i)+1;return de(r,o,l).join("")}function Gd(n,e,t){if(n=$(n),n&&(t||e===s))return n.slice(0,Du(n)+1);if(!n||!(e=vn(e)))return n;var r=Dn(n),i=Pu(r,Dn(e))+1;return de(r,0,i).join("")}function Hd(n,e,t){if(n=$(n),n&&(t||e===s))return n.replace(Cr,"");if(!n||!(e=vn(e)))return n;var r=Dn(n),i=Ru(r,Dn(e));return de(r,i).join("")}function Kd(n,e){var t=Fs,r=Ms;if(Y(e)){var i="separator"in e?e.separator:i;t="length"in e?I(e.length):t,r="omission"in e?vn(e.omission):r}n=$(n);var o=n.length;if(Be(n)){var l=Dn(n);o=l.length}if(t>=o)return n;var f=t-De(r);if(f<1)return r;var h=l?de(l,0,f).join(""):n.slice(0,f);if(i===s)return h+r;if(l&&(f+=h.length-f),Ti(i)){if(n.slice(f).search(i)){var g,_=h;for(i.global||(i=Kr(i.source,$(ki.exec(i))+"g")),i.lastIndex=0;g=i.exec(_);)var v=g.index;h=h.slice(0,v===s?f:v)}}else if(n.indexOf(vn(i),f)!=f){var m=h.lastIndexOf(i);m>-1&&(h=h.slice(0,m))}return h+r}function qd(n){return n=$(n),n&&nl.test(n)?n.replace(Ji,mf):n}var Vd=Ge(function(n,e,t){return n+(t?" ":"")+e.toUpperCase()}),Ii=Ao("toUpperCase");function xs(n,e,t){return n=$(n),e=t?s:e,e===s?df(n)?bf(n):uf(n):n.match(e)||[]}var bs=P(function(n,e){try{return gn(n,s,e)}catch(t){return Ci(t)?t:new L(t)}}),zd=ne(function(n,e){return On(e,function(t){t=Vn(t),kn(n,t,Oi(n[t],n))}),n});function Yd(n){var e=n==null?0:n.length,t=b();return n=e?z(n,function(r){if(typeof r[1]!="function")throw new Sn(q);return[t(r[0]),r[1]]}):[],P(function(r){for(var i=-1;++ioe)return[];var t=Hn,r=rn(n,Hn);e=b(e),n-=Hn;for(var i=Nr(r,e);++t0||e<0)?new D(t):(n<0?t=t.takeRight(-n):n&&(t=t.drop(n)),e!==s&&(e=I(e),t=e<0?t.dropRight(-e):t.take(e-n)),t)},D.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},D.prototype.toArray=function(){return this.take(Hn)},Kn(D.prototype,function(n,e){var t=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=u[r?"take"+(e=="last"?"Right":""):e],o=r||/^find/.test(e);i&&(u.prototype[e]=function(){var l=this.__wrapped__,f=r?[1]:arguments,h=l instanceof D,g=f[0],_=h||E(l),v=function(B){var F=i.apply(u,le([B],f));return r&&m?F[0]:F};_&&t&&typeof g=="function"&&g.length!=1&&(h=_=!1);var m=this.__chain__,x=!!this.__actions__.length,O=o&&!m,R=h&&!x;if(!o&&_){l=R?l:new D(this);var S=n.apply(l,f);return S.__actions__.push({func:ir,args:[v],thisArg:s}),new Cn(S,m)}return O&&R?n.apply(this,f):(S=this.thru(v),O?r?S.value()[0]:S.value():S)})}),On(["pop","push","shift","sort","splice","unshift"],function(n){var e=It[n],t=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);u.prototype[n]=function(){var i=arguments;if(r&&!this.__chain__){var o=this.value();return e.apply(E(o)?o:[],i)}return this[t](function(l){return e.apply(E(l)?l:[],i)})}}),Kn(D.prototype,function(n,e){var t=u[e];if(t){var r=t.name+"";N.call($e,r)||($e[r]=[]),$e[r].push({name:e,func:t})}}),$e[Qt(s,_e).name]=[{name:"wrapper",func:s}],D.prototype.clone=qf,D.prototype.reverse=Vf,D.prototype.value=zf,u.prototype.at=xh,u.prototype.chain=bh,u.prototype.commit=Ah,u.prototype.next=Oh,u.prototype.plant=Ch,u.prototype.reverse=Th,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=Lh,u.prototype.first=u.prototype.head,tt&&(u.prototype[tt]=Sh),u},Fe=Af();we?((we.exports=Fe)._=Fe,Pr._=Fe):nn._=Fe}).call(_t)})(dr,dr.exports);var Ng=dr.exports;const Gg=Ug(Ng);var Hg=Object.defineProperty,Kg=Object.defineProperties,qg=Object.getOwnPropertyDescriptors,Rs=Object.getOwnPropertySymbols,Vg=Object.prototype.hasOwnProperty,zg=Object.prototype.propertyIsEnumerable,Ps=(a,w,s)=>w in a?Hg(a,w,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[w]=s,Ve=(a,w)=>{for(var s in w||(w={}))Vg.call(w,s)&&Ps(a,s,w[s]);if(Rs)for(var s of Rs(w))zg.call(w,s)&&Ps(a,s,w[s]);return a},Bs=(a,w)=>Kg(a,qg(w));const Yg={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer(){this.autoscroll&&this.maybeAdjustScroll()},open(a){this.autoscroll&&a&&this.$nextTick(()=>this.maybeAdjustScroll())}},methods:{maybeAdjustScroll(){var a;const w=((a=this.$refs.dropdownMenu)==null?void 0:a.children[this.typeAheadPointer])||!1;if(w){const s=this.getDropdownViewport(),{top:A,bottom:G,height:T}=w.getBoundingClientRect();if(As.bottom)return this.$refs.dropdownMenu.scrollTop=w.offsetTop-(s.height-T)}},getDropdownViewport(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},Zg={data(){return{typeAheadPointer:-1}},watch:{filteredOptions(){for(let a=0;a=0;a--)if(this.selectable(this.filteredOptions[a])){this.typeAheadPointer=a;break}},typeAheadDown(){for(let a=this.typeAheadPointer+1;a{const s=a.__vccOpts||a;for(const[A,G]of w)s[A]=G;return s},Xg={},Qg={xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"},kg=M("path",{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"},null,-1),jg=[kg];function n_(a,w){return fn(),Rn("svg",Qg,jg)}const e_=qi(Xg,[["render",n_]]),t_={},r_={xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"},i_=M("path",{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"},null,-1),u_=[i_];function o_(a,w){return fn(),Rn("svg",r_,u_)}const s_=qi(t_,[["render",o_]]),Ds={Deselect:e_,OpenIndicator:s_},l_={mounted(a,{instance:w}){if(w.appendToBody){const{height:s,top:A,left:G,width:T}=w.$refs.toggle.getBoundingClientRect();let q=window.scrollX||window.pageXOffset,C=window.scrollY||window.pageYOffset;a.unbindPosition=w.calculatePosition(a,w,{width:T+"px",left:q+G+"px",top:C+A+s+"px"}),document.body.appendChild(a)}},unmounted(a,{instance:w}){w.appendToBody&&(a.unbindPosition&&typeof a.unbindPosition=="function"&&a.unbindPosition(),a.parentNode&&a.parentNode.removeChild(a))}};function f_(a){const w={};return Object.keys(a).sort().forEach(s=>{w[s]=a[s]}),JSON.stringify(w)}let a_=0;function c_(){return++a_}const h_={components:Ve({},Ds),directives:{appendToBody:l_},mixins:[Yg,Zg,Jg],compatConfig:{MODE:3},emits:["open","close","update:modelValue","search","search:compositionstart","search:compositionend","search:keydown","search:blur","search:focus","search:input","option:created","option:selecting","option:selected","option:deselecting","option:deselected"],props:{modelValue:{},components:{type:Object,default:()=>({})},options:{type:Array,default(){return[]}},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},deselectFromDropdown:{type:Boolean,default:!1},searchable:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},placeholder:{type:String,default:""},transition:{type:String,default:"vs__fade"},clearSearchOnSelect:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!0},label:{type:String,default:"label"},autocomplete:{type:String,default:"off"},reduce:{type:Function,default:a=>a},selectable:{type:Function,default:a=>!0},getOptionLabel:{type:Function,default(a){return typeof a=="object"?a.hasOwnProperty(this.label)?a[this.label]:console.warn(`[vue-select warn]: Label key "option.${this.label}" does not exist in options object ${JSON.stringify(a)}. https://vue-select.org/api/props.html#getoptionlabel`):a}},getOptionKey:{type:Function,default(a){if(typeof a!="object")return a;try{return a.hasOwnProperty("id")?a.id:f_(a)}catch(w){return console.warn(`[vue-select warn]: Could not stringify this option to generate unique key. Please provide'getOptionKey' prop to return a unique key for each option. -https://vue-select.org/api/props.html#getoptionkey`,a,w)}}},onTab:{type:Function,default:function(){this.selectOnTab&&!this.isComposing&&this.typeAheadSelect()}},taggable:{type:Boolean,default:!1},tabindex:{type:Number,default:null},pushTags:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0},filterBy:{type:Function,default(a,w,s){return(w||"").toLocaleLowerCase().indexOf(s.toLocaleLowerCase())>-1}},filter:{type:Function,default(a,w){return a.filter(s=>{let A=this.getOptionLabel(s);return typeof A=="number"&&(A=A.toString()),this.filterBy(s,A,w)})}},createOption:{type:Function,default(a){return typeof this.optionList[0]=="object"?{[this.label]:a}:a}},resetOnOptionsChange:{default:!1,validator:a=>["function","boolean"].includes(typeof a)},clearSearchOnBlur:{type:Function,default:function({clearSearchOnSelect:a,multiple:w}){return a&&!w}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:()=>[13]},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:(a,w)=>a},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default(a,w,{width:s,top:A,left:H}){a.style.top=A,a.style.left=H,a.style.width=s}},dropdownShouldOpen:{type:Function,default({noDrop:a,open:w,mutableLoading:s}){return a?!1:w&&!s}},uid:{type:[String,Number],default:()=>c_()}},data(){return{search:"",open:!1,isComposing:!1,pushedTags:[],_value:[],deselectButtons:[]}},computed:{isReducingValues(){return this.$props.reduce!==this.$options.props.reduce.default},isTrackingValues(){return typeof this.modelValue>"u"||this.isReducingValues},selectedValue(){let a=this.modelValue;return this.isTrackingValues&&(a=this.$data._value),a!=null&&a!==""?[].concat(a):[]},optionList(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl(){return this.$slots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope(){const a={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:Ve({disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,id:this.inputId,"aria-autocomplete":"list","aria-labelledby":`vs${this.uid}__combobox`,"aria-controls":`vs${this.uid}__listbox`,ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":`vs${this.uid}__option-${this.typeAheadPointer}`}:{}),events:{compositionstart:()=>this.isComposing=!0,compositionend:()=>this.isComposing=!1,keydown:this.onSearchKeyDown,blur:this.onSearchBlur,focus:this.onSearchFocus,input:w=>this.search=w.target.value}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:a,listFooter:a,header:Bs(Ve({},a),{deselect:this.deselect}),footer:Bs(Ve({},a),{deselect:this.deselect})}},childComponents(){return Ve(Ve({},Ds),this.components)},stateClasses(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching(){return!!this.search},dropdownOpen(){return this.dropdownShouldOpen(this)},searchPlaceholder(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions(){const a=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return a;const w=this.search.length?this.filter(a,this.search,this):a;if(this.taggable&&this.search.length){const s=this.createOption(this.search);this.optionExists(s)||w.unshift(s)}return w},isValueEmpty(){return this.selectedValue.length===0},showClearButton(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options(a,w){const s=()=>typeof this.resetOnOptionsChange=="function"?this.resetOnOptionsChange(a,w,this.selectedValue):this.resetOnOptionsChange;!this.taggable&&s()&&this.clearSelection(),this.modelValue&&this.isTrackingValues&&this.setInternalValueFromOptions(this.modelValue)},modelValue:{immediate:!0,handler(a){this.isTrackingValues&&this.setInternalValueFromOptions(a)}},multiple(){this.clearSelection()},open(a){this.$emit(a?"open":"close")}},created(){this.mutableLoading=this.loading},methods:{setInternalValueFromOptions(a){Array.isArray(a)?this.$data._value=a.map(w=>this.findOptionFromReducedValue(w)):this.$data._value=this.findOptionFromReducedValue(a)},select(a){this.$emit("option:selecting",a),this.isOptionSelected(a)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(a):(this.taggable&&!this.optionExists(a)&&(this.$emit("option:created",a),this.pushTag(a)),this.multiple&&(a=this.selectedValue.concat(a)),this.updateValue(a),this.$emit("option:selected",a)),this.onAfterSelect(a)},deselect(a){this.$emit("option:deselecting",a),this.updateValue(this.selectedValue.filter(w=>!this.optionComparator(w,a))),this.$emit("option:deselected",a)},clearSelection(){this.updateValue(this.multiple?[]:null)},onAfterSelect(a){this.closeOnSelect&&(this.open=!this.open,this.searchEl.blur()),this.clearSearchOnSelect&&(this.search="")},updateValue(a){typeof this.modelValue>"u"&&(this.$data._value=a),a!==null&&(Array.isArray(a)?a=a.map(w=>this.reduce(w)):a=this.reduce(a)),this.$emit("update:modelValue",a)},toggleDropdown(a){const w=a.target!==this.searchEl;w&&a.preventDefault();const s=[...this.deselectButtons||[],this.$refs.clearButton];if(this.searchEl===void 0||s.filter(Boolean).some(A=>A.contains(a.target)||A===a.target)){a.preventDefault();return}this.open&&w?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected(a){return this.selectedValue.some(w=>this.optionComparator(w,a))},isOptionDeselectable(a){return this.isOptionSelected(a)&&this.deselectFromDropdown},optionComparator(a,w){return this.getOptionKey(a)===this.getOptionKey(w)},findOptionFromReducedValue(a){const w=A=>JSON.stringify(this.reduce(A))===JSON.stringify(a),s=[...this.options,...this.pushedTags].filter(w);return s.length===1?s[0]:s.find(A=>this.optionComparator(A,this.$data._value))||a},closeSearchOptions(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){let a=null;this.multiple&&(a=[...this.selectedValue.slice(0,this.selectedValue.length-1)]),this.updateValue(a)}},optionExists(a){return this.optionList.some(w=>this.optionComparator(w,a))},normalizeOptionForSlot(a){return typeof a=="object"?a:{[this.label]:a}},pushTag(a){this.pushedTags.push(a)},onEscape(){this.search.length?this.search="":this.searchEl.blur()},onSearchBlur(){if(this.mousedown&&!this.searching)this.mousedown=!1;else{const{clearSearchOnSelect:a,multiple:w}=this;this.clearSearchOnBlur({clearSearchOnSelect:a,multiple:w})&&(this.search=""),this.closeSearchOptions();return}if(this.search.length===0&&this.options.length===0){this.closeSearchOptions();return}},onSearchFocus(){this.open=!0,this.$emit("search:focus")},onMousedown(){this.mousedown=!0},onMouseUp(){this.mousedown=!1},onSearchKeyDown(a){const w=H=>(H.preventDefault(),!this.isComposing&&this.typeAheadSelect()),s={8:H=>this.maybeDeleteValue(),9:H=>this.onTab(),27:H=>this.onEscape(),38:H=>(H.preventDefault(),this.typeAheadUp()),40:H=>(H.preventDefault(),this.typeAheadDown())};this.selectOnKeyCodes.forEach(H=>s[H]=w);const A=this.mapKeydown(s,this);if(typeof A[a.keyCode]=="function")return A[a.keyCode](a)}}},p_=["dir"],d_=["id","aria-expanded","aria-owns"],g_={ref:"selectedOptions",class:"vs__selected-options"},__=["disabled","title","aria-label","onClick"],v_={ref:"actions",class:"vs__actions"},w_=["disabled"],m_={class:"vs__spinner"},y_=["id"],x_=["id","aria-selected","onMouseover","onClick"],b_={key:0,class:"vs__no-options"},A_=vt(" Sorry, no matching options. "),O_=["id"];function S_(a,w,s,A,H,T){const q=Rg("append-to-body");return fn(),Rn("div",{dir:s.dir,class:Ki(["v-select",T.stateClasses])},[Un(a.$slots,"header",$n(zn(T.scope.header))),N("div",{id:`vs${s.uid}__combobox`,ref:"toggle",class:"vs__dropdown-toggle",role:"combobox","aria-expanded":T.dropdownOpen.toString(),"aria-owns":`vs${s.uid}__listbox`,"aria-label":"Search for option",onMousedown:w[1]||(w[1]=C=>T.toggleDropdown(C))},[N("div",g_,[(fn(!0),Rn(Ss,null,Cs(T.selectedValue,(C,U)=>Un(a.$slots,"selected-option-container",{option:T.normalizeOptionForSlot(C),deselect:T.deselect,multiple:s.multiple,disabled:s.disabled},()=>[(fn(),Rn("span",{key:s.getOptionKey(C),class:"vs__selected"},[Un(a.$slots,"selected-option",$n(zn(T.normalizeOptionForSlot(C))),()=>[vt(Hi(s.getOptionLabel(C)),1)]),s.multiple?(fn(),Rn("button",{key:0,ref_for:!0,ref:xn=>H.deselectButtons[U]=xn,disabled:s.disabled,type:"button",class:"vs__deselect",title:`Deselect ${s.getOptionLabel(C)}`,"aria-label":`Deselect ${s.getOptionLabel(C)}`,onClick:xn=>T.deselect(C)},[(fn(),Wi(Ui(T.childComponents.Deselect)))],8,__)):$i("",!0)]))])),256)),Un(a.$slots,"search",$n(zn(T.scope.search)),()=>[N("input",Ts({class:"vs__search"},T.scope.search.attributes,Pg(T.scope.search.events)),null,16)])],512),N("div",v_,[Ni(N("button",{ref:"clearButton",disabled:s.disabled,type:"button",class:"vs__clear",title:"Clear Selected","aria-label":"Clear Selected",onClick:w[0]||(w[0]=(...C)=>T.clearSelection&&T.clearSelection(...C))},[(fn(),Wi(Ui(T.childComponents.Deselect)))],8,w_),[[Ls,T.showClearButton]]),Un(a.$slots,"open-indicator",$n(zn(T.scope.openIndicator)),()=>[s.noDrop?$i("",!0):(fn(),Wi(Ui(T.childComponents.OpenIndicator),$n(Ts({key:0},T.scope.openIndicator.attributes)),null,16))]),Un(a.$slots,"spinner",$n(zn(T.scope.spinner)),()=>[Ni(N("div",m_,"Loading...",512),[[Ls,a.mutableLoading]])])],512)],40,d_),pr(Dg,{name:s.transition},{default:Bg(()=>[T.dropdownOpen?Ni((fn(),Rn("ul",{id:`vs${s.uid}__listbox`,ref:"dropdownMenu",key:`vs${s.uid}__listbox`,class:"vs__dropdown-menu",role:"listbox",tabindex:"-1",onMousedown:w[2]||(w[2]=Is((...C)=>T.onMousedown&&T.onMousedown(...C),["prevent"])),onMouseup:w[3]||(w[3]=(...C)=>T.onMouseUp&&T.onMouseUp(...C))},[Un(a.$slots,"list-header",$n(zn(T.scope.listHeader))),(fn(!0),Rn(Ss,null,Cs(T.filteredOptions,(C,U)=>(fn(),Rn("li",{id:`vs${s.uid}__option-${U}`,key:s.getOptionKey(C),role:"option",class:Ki(["vs__dropdown-option",{"vs__dropdown-option--deselect":T.isOptionDeselectable(C)&&U===a.typeAheadPointer,"vs__dropdown-option--selected":T.isOptionSelected(C),"vs__dropdown-option--highlight":U===a.typeAheadPointer,"vs__dropdown-option--disabled":!s.selectable(C)}]),"aria-selected":U===a.typeAheadPointer?!0:null,onMouseover:xn=>s.selectable(C)?a.typeAheadPointer=U:null,onClick:Is(xn=>s.selectable(C)?T.select(C):null,["prevent","stop"])},[Un(a.$slots,"option",$n(zn(T.normalizeOptionForSlot(C))),()=>[vt(Hi(s.getOptionLabel(C)),1)])],42,x_))),128)),T.filteredOptions.length===0?(fn(),Rn("li",b_,[Un(a.$slots,"no-options",$n(zn(T.scope.noOptions)),()=>[A_])])):$i("",!0),Un(a.$slots,"list-footer",$n(zn(T.scope.listFooter)))],40,y_)),[[q]]):(fn(),Rn("ul",{key:1,id:`vs${s.uid}__listbox`,role:"listbox",style:{display:"none",visibility:"hidden"}},null,8,O_))]),_:3},8,["name"]),Un(a.$slots,"footer",$n(zn(T.scope.footer)))],10,p_)}const Gi=qi(h_,[["render",S_]]);const C_=N("h1",{id:"数据文件-msg-示例",tabindex:"-1"},[vt("数据文件-Msg 示例 "),N("a",{class:"header-anchor",href:"#数据文件-msg-示例","aria-label":'Permalink to "数据文件-Msg 示例"'},"​")],-1),T_=N("p",null,"示例有以下三种查看方式",-1),L_=N("h4",{id:"from-json",tabindex:"-1"},[vt("from JSON "),N("a",{class:"header-anchor",href:"#from-json","aria-label":'Permalink to "from JSON"'},"​")],-1),I_={id:"msg-template"},E_={class:"row"},R_={class:"col"},P_=N("label",null,"source",-1),B_={class:"col"},D_=N("label",null,"type",-1),F_=N("label",null,"$source.os",-1),M_={class:"language-js"},W_=N("button",{title:"Copy Code",class:"copy"},null,-1),U_=N("span",{class:"lang"},"js",-1),$_={class:"shiki material-theme-palenight"},N_={class:"line"},G_={style:{color:"#A6ACCD"}},H_=Wg('

from Demo web

Demo 链接 筛选查看

from demo web

from 源码

Shmily-Show 项目 memoryweb/src/components/Msg/source 下查看组件源码

',5),V_=JSON.parse('{"title":"数据文件-Msg 示例","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/template/index.md","filePath":"guide/use/msg/template/index.md","lastUpdated":1693793714000}'),K_={name:"guide/use/msg/template/index.md"},z_=Object.assign(K_,{setup(a){Fg(async()=>{w=await fetch("https://demo.shmily.lqzh.me/json/msg/msg.json").then(C=>C.json());const q=w.reduce((C,U,xn,ze)=>{let an=C.find(tn=>tn.source===U.source);an||(an={source:U.source,type:[]},C.push(an));let ue=an.type.find(tn=>tn.type===U.type);ue||(ue={type:U.type,os:[]},an.type.push(ue));const Yn=Object.keys(U).find(tn=>tn.startsWith("$"));if(Yn){let tn=Gg.get(U,`${Yn}.os`);tn&&!ue.os.includes(tn)&&ue.os.push(tn)}return C},[]);s.push(...q)});let w=[];const s=Es([]),A=Es({source:"",type:"",os:""}),H=Mg(()=>{if(!A.source||!A.type)return[];const q=A.source.source,C=A.type.type,U=w.filter(xn=>xn.source===q&&xn.type===C);return A.type.os.length===0?U:U.filter(xn=>xn[`$${q}`].os===A.os)});function T(q){q==="source"?(A.type="",A.os=""):q==="type"&&(A.type.os.length===1?A.os=A.type.os[0]:A.os="")}return(q,C)=>(fn(),Rn("div",null,[C_,T_,L_,N("div",I_,[N("div",E_,[N("div",R_,[P_,pr(hr(Gi),{options:s,label:"source",modelValue:A.source,"onUpdate:modelValue":C[0]||(C[0]=U=>A.source=U),"onOption:selected":C[1]||(C[1]=U=>T("source"))},null,8,["options","modelValue"])]),N("div",B_,[D_,pr(hr(Gi),{options:A.source?A.source.type:[],label:"type",modelValue:A.type,"onUpdate:modelValue":C[2]||(C[2]=U=>A.type=U),"onOption:selected":C[3]||(C[3]=U=>T("type"))},null,8,["options","modelValue"])]),N("div",{class:Ki(["col",{disable:!A.type||A.type.os.length===0}])},[F_,pr(hr(Gi),{options:A.type?A.type.os:[],modelValue:A.os,"onUpdate:modelValue":C[4]||(C[4]=U=>A.os=U)},null,8,["options","modelValue"])],2)])]),N("div",M_,[W_,U_,N("pre",$_,[N("code",null,[N("span",N_,[N("span",G_,Hi(hr(H).slice(0,1)),1)])])])]),H_]))}});export{V_ as __pageData,z_ as default}; +https://vue-select.org/api/props.html#getoptionkey`,a,w)}}},onTab:{type:Function,default:function(){this.selectOnTab&&!this.isComposing&&this.typeAheadSelect()}},taggable:{type:Boolean,default:!1},tabindex:{type:Number,default:null},pushTags:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0},filterBy:{type:Function,default(a,w,s){return(w||"").toLocaleLowerCase().indexOf(s.toLocaleLowerCase())>-1}},filter:{type:Function,default(a,w){return a.filter(s=>{let A=this.getOptionLabel(s);return typeof A=="number"&&(A=A.toString()),this.filterBy(s,A,w)})}},createOption:{type:Function,default(a){return typeof this.optionList[0]=="object"?{[this.label]:a}:a}},resetOnOptionsChange:{default:!1,validator:a=>["function","boolean"].includes(typeof a)},clearSearchOnBlur:{type:Function,default:function({clearSearchOnSelect:a,multiple:w}){return a&&!w}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:()=>[13]},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:(a,w)=>a},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default(a,w,{width:s,top:A,left:G}){a.style.top=A,a.style.left=G,a.style.width=s}},dropdownShouldOpen:{type:Function,default({noDrop:a,open:w,mutableLoading:s}){return a?!1:w&&!s}},uid:{type:[String,Number],default:()=>c_()}},data(){return{search:"",open:!1,isComposing:!1,pushedTags:[],_value:[],deselectButtons:[]}},computed:{isReducingValues(){return this.$props.reduce!==this.$options.props.reduce.default},isTrackingValues(){return typeof this.modelValue>"u"||this.isReducingValues},selectedValue(){let a=this.modelValue;return this.isTrackingValues&&(a=this.$data._value),a!=null&&a!==""?[].concat(a):[]},optionList(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl(){return this.$slots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope(){const a={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:Ve({disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,id:this.inputId,"aria-autocomplete":"list","aria-labelledby":`vs${this.uid}__combobox`,"aria-controls":`vs${this.uid}__listbox`,ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":`vs${this.uid}__option-${this.typeAheadPointer}`}:{}),events:{compositionstart:()=>this.isComposing=!0,compositionend:()=>this.isComposing=!1,keydown:this.onSearchKeyDown,blur:this.onSearchBlur,focus:this.onSearchFocus,input:w=>this.search=w.target.value}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:a,listFooter:a,header:Bs(Ve({},a),{deselect:this.deselect}),footer:Bs(Ve({},a),{deselect:this.deselect})}},childComponents(){return Ve(Ve({},Ds),this.components)},stateClasses(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching(){return!!this.search},dropdownOpen(){return this.dropdownShouldOpen(this)},searchPlaceholder(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions(){const a=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return a;const w=this.search.length?this.filter(a,this.search,this):a;if(this.taggable&&this.search.length){const s=this.createOption(this.search);this.optionExists(s)||w.unshift(s)}return w},isValueEmpty(){return this.selectedValue.length===0},showClearButton(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options(a,w){const s=()=>typeof this.resetOnOptionsChange=="function"?this.resetOnOptionsChange(a,w,this.selectedValue):this.resetOnOptionsChange;!this.taggable&&s()&&this.clearSelection(),this.modelValue&&this.isTrackingValues&&this.setInternalValueFromOptions(this.modelValue)},modelValue:{immediate:!0,handler(a){this.isTrackingValues&&this.setInternalValueFromOptions(a)}},multiple(){this.clearSelection()},open(a){this.$emit(a?"open":"close")}},created(){this.mutableLoading=this.loading},methods:{setInternalValueFromOptions(a){Array.isArray(a)?this.$data._value=a.map(w=>this.findOptionFromReducedValue(w)):this.$data._value=this.findOptionFromReducedValue(a)},select(a){this.$emit("option:selecting",a),this.isOptionSelected(a)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(a):(this.taggable&&!this.optionExists(a)&&(this.$emit("option:created",a),this.pushTag(a)),this.multiple&&(a=this.selectedValue.concat(a)),this.updateValue(a),this.$emit("option:selected",a)),this.onAfterSelect(a)},deselect(a){this.$emit("option:deselecting",a),this.updateValue(this.selectedValue.filter(w=>!this.optionComparator(w,a))),this.$emit("option:deselected",a)},clearSelection(){this.updateValue(this.multiple?[]:null)},onAfterSelect(a){this.closeOnSelect&&(this.open=!this.open,this.searchEl.blur()),this.clearSearchOnSelect&&(this.search="")},updateValue(a){typeof this.modelValue>"u"&&(this.$data._value=a),a!==null&&(Array.isArray(a)?a=a.map(w=>this.reduce(w)):a=this.reduce(a)),this.$emit("update:modelValue",a)},toggleDropdown(a){const w=a.target!==this.searchEl;w&&a.preventDefault();const s=[...this.deselectButtons||[],this.$refs.clearButton];if(this.searchEl===void 0||s.filter(Boolean).some(A=>A.contains(a.target)||A===a.target)){a.preventDefault();return}this.open&&w?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected(a){return this.selectedValue.some(w=>this.optionComparator(w,a))},isOptionDeselectable(a){return this.isOptionSelected(a)&&this.deselectFromDropdown},optionComparator(a,w){return this.getOptionKey(a)===this.getOptionKey(w)},findOptionFromReducedValue(a){const w=A=>JSON.stringify(this.reduce(A))===JSON.stringify(a),s=[...this.options,...this.pushedTags].filter(w);return s.length===1?s[0]:s.find(A=>this.optionComparator(A,this.$data._value))||a},closeSearchOptions(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){let a=null;this.multiple&&(a=[...this.selectedValue.slice(0,this.selectedValue.length-1)]),this.updateValue(a)}},optionExists(a){return this.optionList.some(w=>this.optionComparator(w,a))},normalizeOptionForSlot(a){return typeof a=="object"?a:{[this.label]:a}},pushTag(a){this.pushedTags.push(a)},onEscape(){this.search.length?this.search="":this.searchEl.blur()},onSearchBlur(){if(this.mousedown&&!this.searching)this.mousedown=!1;else{const{clearSearchOnSelect:a,multiple:w}=this;this.clearSearchOnBlur({clearSearchOnSelect:a,multiple:w})&&(this.search=""),this.closeSearchOptions();return}if(this.search.length===0&&this.options.length===0){this.closeSearchOptions();return}},onSearchFocus(){this.open=!0,this.$emit("search:focus")},onMousedown(){this.mousedown=!0},onMouseUp(){this.mousedown=!1},onSearchKeyDown(a){const w=G=>(G.preventDefault(),!this.isComposing&&this.typeAheadSelect()),s={8:G=>this.maybeDeleteValue(),9:G=>this.onTab(),27:G=>this.onEscape(),38:G=>(G.preventDefault(),this.typeAheadUp()),40:G=>(G.preventDefault(),this.typeAheadDown())};this.selectOnKeyCodes.forEach(G=>s[G]=w);const A=this.mapKeydown(s,this);if(typeof A[a.keyCode]=="function")return A[a.keyCode](a)}}},p_=["dir"],d_=["id","aria-expanded","aria-owns"],g_={ref:"selectedOptions",class:"vs__selected-options"},__=["disabled","title","aria-label","onClick"],v_={ref:"actions",class:"vs__actions"},w_=["disabled"],m_={class:"vs__spinner"},y_=["id"],x_=["id","aria-selected","onMouseover","onClick"],b_={key:0,class:"vs__no-options"},A_=vt(" Sorry, no matching options. "),O_=["id"];function S_(a,w,s,A,G,T){const q=Rg("append-to-body");return fn(),Rn("div",{dir:s.dir,class:Ki(["v-select",T.stateClasses])},[$n(a.$slots,"header",Un(zn(T.scope.header))),M("div",{id:`vs${s.uid}__combobox`,ref:"toggle",class:"vs__dropdown-toggle",role:"combobox","aria-expanded":T.dropdownOpen.toString(),"aria-owns":`vs${s.uid}__listbox`,"aria-label":"Search for option",onMousedown:w[1]||(w[1]=C=>T.toggleDropdown(C))},[M("div",g_,[(fn(!0),Rn(Ss,null,Cs(T.selectedValue,(C,U)=>$n(a.$slots,"selected-option-container",{option:T.normalizeOptionForSlot(C),deselect:T.deselect,multiple:s.multiple,disabled:s.disabled},()=>[(fn(),Rn("span",{key:s.getOptionKey(C),class:"vs__selected"},[$n(a.$slots,"selected-option",Un(zn(T.normalizeOptionForSlot(C))),()=>[vt(pr(s.getOptionLabel(C)),1)]),s.multiple?(fn(),Rn("button",{key:0,ref_for:!0,ref:xn=>G.deselectButtons[U]=xn,disabled:s.disabled,type:"button",class:"vs__deselect",title:`Deselect ${s.getOptionLabel(C)}`,"aria-label":`Deselect ${s.getOptionLabel(C)}`,onClick:xn=>T.deselect(C)},[(fn(),Wi($i(T.childComponents.Deselect)))],8,__)):Ui("",!0)]))])),256)),$n(a.$slots,"search",Un(zn(T.scope.search)),()=>[M("input",Ts({class:"vs__search"},T.scope.search.attributes,Pg(T.scope.search.events)),null,16)])],512),M("div",v_,[Ni(M("button",{ref:"clearButton",disabled:s.disabled,type:"button",class:"vs__clear",title:"Clear Selected","aria-label":"Clear Selected",onClick:w[0]||(w[0]=(...C)=>T.clearSelection&&T.clearSelection(...C))},[(fn(),Wi($i(T.childComponents.Deselect)))],8,w_),[[Ls,T.showClearButton]]),$n(a.$slots,"open-indicator",Un(zn(T.scope.openIndicator)),()=>[s.noDrop?Ui("",!0):(fn(),Wi($i(T.childComponents.OpenIndicator),Un(Ts({key:0},T.scope.openIndicator.attributes)),null,16))]),$n(a.$slots,"spinner",Un(zn(T.scope.spinner)),()=>[Ni(M("div",m_,"Loading...",512),[[Ls,a.mutableLoading]])])],512)],40,d_),hr(Dg,{name:s.transition},{default:Bg(()=>[T.dropdownOpen?Ni((fn(),Rn("ul",{id:`vs${s.uid}__listbox`,ref:"dropdownMenu",key:`vs${s.uid}__listbox`,class:"vs__dropdown-menu",role:"listbox",tabindex:"-1",onMousedown:w[2]||(w[2]=Es((...C)=>T.onMousedown&&T.onMousedown(...C),["prevent"])),onMouseup:w[3]||(w[3]=(...C)=>T.onMouseUp&&T.onMouseUp(...C))},[$n(a.$slots,"list-header",Un(zn(T.scope.listHeader))),(fn(!0),Rn(Ss,null,Cs(T.filteredOptions,(C,U)=>(fn(),Rn("li",{id:`vs${s.uid}__option-${U}`,key:s.getOptionKey(C),role:"option",class:Ki(["vs__dropdown-option",{"vs__dropdown-option--deselect":T.isOptionDeselectable(C)&&U===a.typeAheadPointer,"vs__dropdown-option--selected":T.isOptionSelected(C),"vs__dropdown-option--highlight":U===a.typeAheadPointer,"vs__dropdown-option--disabled":!s.selectable(C)}]),"aria-selected":U===a.typeAheadPointer?!0:null,onMouseover:xn=>s.selectable(C)?a.typeAheadPointer=U:null,onClick:Es(xn=>s.selectable(C)?T.select(C):null,["prevent","stop"])},[$n(a.$slots,"option",Un(zn(T.normalizeOptionForSlot(C))),()=>[vt(pr(s.getOptionLabel(C)),1)])],42,x_))),128)),T.filteredOptions.length===0?(fn(),Rn("li",b_,[$n(a.$slots,"no-options",Un(zn(T.scope.noOptions)),()=>[A_])])):Ui("",!0),$n(a.$slots,"list-footer",Un(zn(T.scope.listFooter)))],40,y_)),[[q]]):(fn(),Rn("ul",{key:1,id:`vs${s.uid}__listbox`,role:"listbox",style:{display:"none",visibility:"hidden"}},null,8,O_))]),_:3},8,["name"]),$n(a.$slots,"footer",Un(zn(T.scope.footer)))],10,p_)}const Hi=qi(h_,[["render",S_]]);const C_=M("h1",{id:"数据文件-msg-示例",tabindex:"-1"},[vt("数据文件-Msg 示例 "),M("a",{class:"header-anchor",href:"#数据文件-msg-示例","aria-label":'Permalink to "数据文件-Msg 示例"'},"​")],-1),T_=M("p",null,"示例有以下三种查看方式",-1),L_=M("h4",{id:"from-json",tabindex:"-1"},[vt("from JSON "),M("a",{class:"header-anchor",href:"#from-json","aria-label":'Permalink to "from JSON"'},"​")],-1),E_={id:"msg-template"},I_={class:"row"},R_={class:"col"},P_=M("label",null,"source",-1),B_={class:"col"},D_=M("label",null,"type",-1),F_=M("label",null,"$source.os",-1),M_={class:"language-js vp-adaptive-theme"},W_=M("button",{title:"Copy Code",class:"copy"},null,-1),$_=M("span",{class:"lang"},"js",-1),U_={class:"shiki github-dark vp-code-dark"},N_={class:"line"},G_={style:{color:"#E1E4E8"}},H_={class:"shiki github-light vp-code-light"},K_={class:"line"},q_={style:{color:"#24292E"}},V_=Wg('

from Demo web

Demo 链接 筛选查看

from demo web

from 源码

Shmily-Show 项目 memoryweb/src/components/Msg/source 下查看组件源码

',5),Z_=JSON.parse('{"title":"数据文件-Msg 示例","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/template/index.md","filePath":"guide/use/msg/template/index.md","lastUpdated":1693818631000}'),z_={name:"guide/use/msg/template/index.md"},J_=Object.assign(z_,{setup(a){Fg(async()=>{w=await fetch("https://demo.shmily.lqzh.me/json/msg/msg.json").then(C=>C.json());const q=w.reduce((C,U,xn,ze)=>{let an=C.find(tn=>tn.source===U.source);an||(an={source:U.source,type:[]},C.push(an));let ue=an.type.find(tn=>tn.type===U.type);ue||(ue={type:U.type,os:[]},an.type.push(ue));const Yn=Object.keys(U).find(tn=>tn.startsWith("$"));if(Yn){let tn=Gg.get(U,`${Yn}.os`);tn&&!ue.os.includes(tn)&&ue.os.push(tn)}return C},[]);s.push(...q)});let w=[];const s=Is([]),A=Is({source:"",type:"",os:""}),G=Mg(()=>{if(!A.source||!A.type)return[];const q=A.source.source,C=A.type.type,U=w.filter(xn=>xn.source===q&&xn.type===C);return A.type.os.length===0?U:U.filter(xn=>xn[`$${q}`].os===A.os)});function T(q){q==="source"?(A.type="",A.os=""):q==="type"&&(A.type.os.length===1?A.os=A.type.os[0]:A.os="")}return(q,C)=>(fn(),Rn("div",null,[C_,T_,L_,M("div",E_,[M("div",I_,[M("div",R_,[P_,hr(Gi(Hi),{options:s,label:"source",modelValue:A.source,"onUpdate:modelValue":C[0]||(C[0]=U=>A.source=U),"onOption:selected":C[1]||(C[1]=U=>T("source"))},null,8,["options","modelValue"])]),M("div",B_,[D_,hr(Gi(Hi),{options:A.source?A.source.type:[],label:"type",modelValue:A.type,"onUpdate:modelValue":C[2]||(C[2]=U=>A.type=U),"onOption:selected":C[3]||(C[3]=U=>T("type"))},null,8,["options","modelValue"])]),M("div",{class:Ki(["col",{disable:!A.type||A.type.os.length===0}])},[F_,hr(Gi(Hi),{options:A.type?A.type.os:[],modelValue:A.os,"onUpdate:modelValue":C[4]||(C[4]=U=>A.os=U)},null,8,["options","modelValue"])],2)])]),M("div",M_,[W_,$_,M("pre",U_,[M("code",null,[M("span",N_,[M("span",G_,pr(G.value.slice(0,1)),1)])])]),M("pre",H_,[M("code",null,[M("span",K_,[M("span",q_,pr(G.value.slice(0,1)),1)])])])]),V_]))}});export{Z_ as __pageData,J_ as default}; diff --git a/assets/guide_use_msg_template_index.md.cc671afd.lean.js b/assets/guide_use_msg_template_index.md.01c8b33d.lean.js similarity index 73% rename from assets/guide_use_msg_template_index.md.cc671afd.lean.js rename to assets/guide_use_msg_template_index.md.01c8b33d.lean.js index 6608cbec..4eca1cdc 100644 --- a/assets/guide_use_msg_template_index.md.cc671afd.lean.js +++ b/assets/guide_use_msg_template_index.md.01c8b33d.lean.js @@ -1,13 +1,13 @@ -import{o as fn,c as Rn,a2 as Rg,r as Un,a3 as $n,a4 as zn,z as N,F as Ss,L as Cs,a as vt,t as Hi,A as Wi,J as Ui,C as $i,D as Ts,Z as Pg,a5 as Ni,a6 as Ls,E as pr,B as Bg,a0 as Is,n as Ki,T as Dg,p as Fg,a7 as Es,l as Mg,b as hr,O as Wg}from"./chunks/framework.1a8457a3.js";const Ug="/Shmily/assets/from-demo-web.d214fcc9.png";var _t=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function $g(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var dr={exports:{}};/** +import{o as fn,c as Rn,Z as Rg,r as $n,$ as Un,a0 as zn,k as M,F as Ss,D as Cs,a as vt,t as pr,b as Wi,J as $i,e as Ui,L as Ts,W as Pg,a1 as Ni,a2 as Ls,H as hr,w as Bg,X as Es,n as Ki,T as Dg,j as Fg,a3 as Is,g as Mg,l as Gi,Q as Wg}from"./chunks/framework.44ff8bb5.js";const $g="/Shmily/assets/from-demo-web.d214fcc9.png";var _t=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ug(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var dr={exports:{}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */dr.exports;(function(a,w){(function(){var s,A="4.17.21",H=200,T="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",q="Expected a function",C="Invalid `variable` option passed into `_.template`",U="__lodash_hash_undefined__",xn=500,ze="__lodash_placeholder__",an=1,ue=2,Yn=4,tn=1,wt=2,bn=1,_e=2,Vi=4,Nn=8,Te=16,Gn=32,Le=64,Zn=128,Ye=256,gr=512,Fs=30,Ms="...",Ws=800,Us=16,zi=1,$s=2,Ns=3,ve=1/0,oe=9007199254740991,Gs=17976931348623157e292,mt=0/0,Hn=4294967295,Hs=Hn-1,Ks=Hn>>>1,qs=[["ary",Zn],["bind",bn],["bindKey",_e],["curry",Nn],["curryRight",Te],["flip",gr],["partial",Gn],["partialRight",Le],["rearg",Ye]],Ie="[object Arguments]",yt="[object Array]",Vs="[object AsyncFunction]",Ze="[object Boolean]",Je="[object Date]",zs="[object DOMException]",xt="[object Error]",bt="[object Function]",Yi="[object GeneratorFunction]",Pn="[object Map]",Xe="[object Number]",Ys="[object Null]",Jn="[object Object]",Zi="[object Promise]",Zs="[object Proxy]",Qe="[object RegExp]",Bn="[object Set]",ke="[object String]",At="[object Symbol]",Js="[object Undefined]",je="[object WeakMap]",Xs="[object WeakSet]",nt="[object ArrayBuffer]",Ee="[object DataView]",_r="[object Float32Array]",vr="[object Float64Array]",wr="[object Int8Array]",mr="[object Int16Array]",yr="[object Int32Array]",xr="[object Uint8Array]",br="[object Uint8ClampedArray]",Ar="[object Uint16Array]",Or="[object Uint32Array]",Qs=/\b__p \+= '';/g,ks=/\b(__p \+=) '' \+/g,js=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ji=/&(?:amp|lt|gt|quot|#39);/g,Xi=/[&<>"']/g,nl=RegExp(Ji.source),el=RegExp(Xi.source),tl=/<%-([\s\S]+?)%>/g,rl=/<%([\s\S]+?)%>/g,Qi=/<%=([\s\S]+?)%>/g,il=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ul=/^\w*$/,ol=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Sr=/[\\^$.*+?()[\]{}|]/g,sl=RegExp(Sr.source),Cr=/^\s+/,ll=/\s/,fl=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,al=/\{\n\/\* \[wrapped with (.+)\] \*/,cl=/,? & /,hl=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,pl=/[()=,{}\[\]\/\s]/,dl=/\\(\\)?/g,gl=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ki=/\w*$/,_l=/^[-+]0x[0-9a-f]+$/i,vl=/^0b[01]+$/i,wl=/^\[object .+?Constructor\]$/,ml=/^0o[0-7]+$/i,yl=/^(?:0|[1-9]\d*)$/,xl=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ot=/($^)/,bl=/['\n\r\u2028\u2029\\]/g,St="\\ud800-\\udfff",Al="\\u0300-\\u036f",Ol="\\ufe20-\\ufe2f",Sl="\\u20d0-\\u20ff",ji=Al+Ol+Sl,nu="\\u2700-\\u27bf",eu="a-z\\xdf-\\xf6\\xf8-\\xff",Cl="\\xac\\xb1\\xd7\\xf7",Tl="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ll="\\u2000-\\u206f",Il=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",tu="A-Z\\xc0-\\xd6\\xd8-\\xde",ru="\\ufe0e\\ufe0f",iu=Cl+Tl+Ll+Il,Tr="['’]",El="["+St+"]",uu="["+iu+"]",Ct="["+ji+"]",ou="\\d+",Rl="["+nu+"]",su="["+eu+"]",lu="[^"+St+iu+ou+nu+eu+tu+"]",Lr="\\ud83c[\\udffb-\\udfff]",Pl="(?:"+Ct+"|"+Lr+")",fu="[^"+St+"]",Ir="(?:\\ud83c[\\udde6-\\uddff]){2}",Er="[\\ud800-\\udbff][\\udc00-\\udfff]",Re="["+tu+"]",au="\\u200d",cu="(?:"+su+"|"+lu+")",Bl="(?:"+Re+"|"+lu+")",hu="(?:"+Tr+"(?:d|ll|m|re|s|t|ve))?",pu="(?:"+Tr+"(?:D|LL|M|RE|S|T|VE))?",du=Pl+"?",gu="["+ru+"]?",Dl="(?:"+au+"(?:"+[fu,Ir,Er].join("|")+")"+gu+du+")*",Fl="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ml="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",_u=gu+du+Dl,Wl="(?:"+[Rl,Ir,Er].join("|")+")"+_u,Ul="(?:"+[fu+Ct+"?",Ct,Ir,Er,El].join("|")+")",$l=RegExp(Tr,"g"),Nl=RegExp(Ct,"g"),Rr=RegExp(Lr+"(?="+Lr+")|"+Ul+_u,"g"),Gl=RegExp([Re+"?"+su+"+"+hu+"(?="+[uu,Re,"$"].join("|")+")",Bl+"+"+pu+"(?="+[uu,Re+cu,"$"].join("|")+")",Re+"?"+cu+"+"+hu,Re+"+"+pu,Ml,Fl,ou,Wl].join("|"),"g"),Hl=RegExp("["+au+St+ji+ru+"]"),Kl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ql=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Vl=-1,V={};V[_r]=V[vr]=V[wr]=V[mr]=V[yr]=V[xr]=V[br]=V[Ar]=V[Or]=!0,V[Ie]=V[yt]=V[nt]=V[Ze]=V[Ee]=V[Je]=V[xt]=V[bt]=V[Pn]=V[Xe]=V[Jn]=V[Qe]=V[Bn]=V[ke]=V[je]=!1;var K={};K[Ie]=K[yt]=K[nt]=K[Ee]=K[Ze]=K[Je]=K[_r]=K[vr]=K[wr]=K[mr]=K[yr]=K[Pn]=K[Xe]=K[Jn]=K[Qe]=K[Bn]=K[ke]=K[At]=K[xr]=K[br]=K[Ar]=K[Or]=!0,K[xt]=K[bt]=K[je]=!1;var zl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Yl={"&":"&","<":"<",">":">",'"':""","'":"'"},Zl={"&":"&","<":"<",">":">",""":'"',"'":"'"},Jl={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xl=parseFloat,Ql=parseInt,vu=typeof _t=="object"&&_t&&_t.Object===Object&&_t,kl=typeof self=="object"&&self&&self.Object===Object&&self,nn=vu||kl||Function("return this")(),Pr=w&&!w.nodeType&&w,we=Pr&&!0&&a&&!a.nodeType&&a,wu=we&&we.exports===Pr,Br=wu&&vu.process,An=function(){try{var c=we&&we.require&&we.require("util").types;return c||Br&&Br.binding&&Br.binding("util")}catch{}}(),mu=An&&An.isArrayBuffer,yu=An&&An.isDate,xu=An&&An.isMap,bu=An&&An.isRegExp,Au=An&&An.isSet,Ou=An&&An.isTypedArray;function gn(c,d,p){switch(p.length){case 0:return c.call(d);case 1:return c.call(d,p[0]);case 2:return c.call(d,p[0],p[1]);case 3:return c.call(d,p[0],p[1],p[2])}return c.apply(d,p)}function jl(c,d,p,y){for(var L=-1,M=c==null?0:c.length;++L-1}function Dr(c,d,p){for(var y=-1,L=c==null?0:c.length;++y-1;);return p}function Pu(c,d){for(var p=c.length;p--&&Pe(d,c[p],0)>-1;);return p}function ff(c,d){for(var p=c.length,y=0;p--;)c[p]===d&&++y;return y}var af=Ur(zl),cf=Ur(Yl);function hf(c){return"\\"+Jl[c]}function pf(c,d){return c==null?s:c[d]}function Be(c){return Hl.test(c)}function df(c){return Kl.test(c)}function gf(c){for(var d,p=[];!(d=c.next()).done;)p.push(d.value);return p}function Hr(c){var d=-1,p=Array(c.size);return c.forEach(function(y,L){p[++d]=[L,y]}),p}function Bu(c,d){return function(p){return c(d(p))}}function fe(c,d){for(var p=-1,y=c.length,L=0,M=[];++p-1}function ta(n,e){var t=this.__data__,r=qt(t,n);return r<0?(++this.size,t.push([n,e])):t[r][1]=e,this}Xn.prototype.clear=kf,Xn.prototype.delete=jf,Xn.prototype.get=na,Xn.prototype.has=ea,Xn.prototype.set=ta;function Qn(n){var e=-1,t=n==null?0:n.length;for(this.clear();++e=e?n:e)),n}function Tn(n,e,t,r,i,o){var l,f=e&an,h=e&ue,g=e&Yn;if(t&&(l=i?t(n,r,i,o):t(n)),l!==s)return l;if(!Y(n))return n;var _=I(n);if(_){if(l=oc(n),!f)return cn(n,l)}else{var v=un(n),m=v==bt||v==Yi;if(ge(n))return _o(n,f);if(v==Jn||v==Ie||m&&!i){if(l=h||m?{}:Fo(n),!f)return h?Ja(n,wa(l,n)):Za(n,Vu(l,n))}else{if(!K[v])return i?n:{};l=sc(n,v,f)}}o||(o=new Fn);var x=o.get(n);if(x)return x;o.set(n,l),as(n)?n.forEach(function(S){l.add(Tn(S,e,t,S,n,o))}):ls(n)&&n.forEach(function(S,B){l.set(B,Tn(S,e,t,B,n,o))});var O=g?h?di:pi:h?pn:j,R=_?s:O(n);return On(R||n,function(S,B){R&&(B=S,S=n[B]),st(l,B,Tn(S,e,t,B,n,o))}),l}function ma(n){var e=j(n);return function(t){return zu(t,n,e)}}function zu(n,e,t){var r=t.length;if(n==null)return!r;for(n=G(n);r--;){var i=t[r],o=e[i],l=n[i];if(l===s&&!(i in n)||!o(l))return!1}return!0}function Yu(n,e,t){if(typeof n!="function")throw new Sn(q);return dt(function(){n.apply(s,t)},e)}function lt(n,e,t,r){var i=-1,o=Tt,l=!0,f=n.length,h=[],g=e.length;if(!f)return h;t&&(e=z(e,_n(t))),r?(o=Dr,l=!1):e.length>=H&&(o=et,l=!1,e=new xe(e));n:for(;++ii?0:i+t),r=r===s||r>i?i:E(r),r<0&&(r+=i),r=t>r?0:hs(r);t0&&t(f)?e>1?en(f,e-1,t,r,i):le(i,f):r||(i[i.length]=f)}return i}var Jr=bo(),Xu=bo(!0);function Kn(n,e){return n&&Jr(n,e,j)}function Xr(n,e){return n&&Xu(n,e,j)}function zt(n,e){return se(e,function(t){return te(n[t])})}function Ae(n,e){e=pe(e,n);for(var t=0,r=e.length;n!=null&&te}function ba(n,e){return n!=null&&$.call(n,e)}function Aa(n,e){return n!=null&&e in G(n)}function Oa(n,e,t){return n>=rn(e,t)&&n=120&&_.length>=120)?new xe(l&&_):s}_=n[0];var v=-1,m=f[0];n:for(;++v-1;)f!==n&&Wt.call(f,h,1),Wt.call(n,h,1);return n}function so(n,e){for(var t=n?e.length:0,r=t-1;t--;){var i=e[t];if(t==r||i!==o){var o=i;ee(i)?Wt.call(n,i,1):oi(n,i)}}return n}function ri(n,e){return n+Nt(Gu()*(e-n+1))}function Wa(n,e,t,r){for(var i=-1,o=k($t((e-n)/(t||1)),0),l=p(o);o--;)l[r?o:++i]=n,n+=t;return l}function ii(n,e){var t="";if(!n||e<1||e>oe)return t;do e%2&&(t+=n),e=Nt(e/2),e&&(n+=n);while(e);return t}function P(n,e){return xi(Uo(n,e,dn),n+"")}function Ua(n){return qu(qe(n))}function $a(n,e){var t=qe(n);return rr(t,be(e,0,t.length))}function ct(n,e,t,r){if(!Y(n))return n;e=pe(e,n);for(var i=-1,o=e.length,l=o-1,f=n;f!=null&&++ii?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var o=p(i);++r>>1,l=n[o];l!==null&&!wn(l)&&(t?l<=e:l=H){var g=e?null:ja(n);if(g)return It(g);l=!1,i=et,h=new xe}else h=e?[]:f;n:for(;++r=r?n:Ln(n,e,t)}var go=Ef||function(n){return nn.clearTimeout(n)};function _o(n,e){if(e)return n.slice();var t=n.length,r=Mu?Mu(t):new n.constructor(t);return n.copy(r),r}function ai(n){var e=new n.constructor(n.byteLength);return new Ft(e).set(new Ft(n)),e}function qa(n,e){var t=e?ai(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.byteLength)}function Va(n){var e=new n.constructor(n.source,ki.exec(n));return e.lastIndex=n.lastIndex,e}function za(n){return ot?G(ot.call(n)):{}}function vo(n,e){var t=e?ai(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.length)}function wo(n,e){if(n!==e){var t=n!==s,r=n===null,i=n===n,o=wn(n),l=e!==s,f=e===null,h=e===e,g=wn(e);if(!f&&!g&&!o&&n>e||o&&l&&h&&!f&&!g||r&&l&&h||!t&&h||!i)return 1;if(!r&&!o&&!g&&n=f)return h;var g=t[r];return h*(g=="desc"?-1:1)}}return n.index-e.index}function mo(n,e,t,r){for(var i=-1,o=n.length,l=t.length,f=-1,h=e.length,g=k(o-l,0),_=p(h+g),v=!r;++f1?t[i-1]:s,l=i>2?t[2]:s;for(o=n.length>3&&typeof o=="function"?(i--,o):s,l&&sn(t[0],t[1],l)&&(o=i<3?s:o,i=1),e=G(e);++r-1?i[o?e[l]:l]:s}}function So(n){return ne(function(e){var t=e.length,r=t,i=Cn.prototype.thru;for(n&&e.reverse();r--;){var o=e[r];if(typeof o!="function")throw new Sn(q);if(i&&!l&&er(o)=="wrapper")var l=new Cn([],!0)}for(r=l?r:t;++r1&&F.reverse(),_&&hf))return!1;var g=o.get(n),_=o.get(e);if(g&&_)return g==e&&_==n;var v=-1,m=!0,x=t&wt?new xe:s;for(o.set(n,e),o.set(e,n);++v1?"& ":"")+e[r],e=e.join(t>2?", ":" "),n.replace(fl,`{ + */dr.exports;(function(a,w){(function(){var s,A="4.17.21",G=200,T="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",q="Expected a function",C="Invalid `variable` option passed into `_.template`",U="__lodash_hash_undefined__",xn=500,ze="__lodash_placeholder__",an=1,ue=2,Yn=4,tn=1,wt=2,bn=1,_e=2,Vi=4,Nn=8,Te=16,Gn=32,Le=64,Zn=128,Ye=256,gr=512,Fs=30,Ms="...",Ws=800,$s=16,zi=1,Us=2,Ns=3,ve=1/0,oe=9007199254740991,Gs=17976931348623157e292,mt=0/0,Hn=4294967295,Hs=Hn-1,Ks=Hn>>>1,qs=[["ary",Zn],["bind",bn],["bindKey",_e],["curry",Nn],["curryRight",Te],["flip",gr],["partial",Gn],["partialRight",Le],["rearg",Ye]],Ee="[object Arguments]",yt="[object Array]",Vs="[object AsyncFunction]",Ze="[object Boolean]",Je="[object Date]",zs="[object DOMException]",xt="[object Error]",bt="[object Function]",Yi="[object GeneratorFunction]",Pn="[object Map]",Xe="[object Number]",Ys="[object Null]",Jn="[object Object]",Zi="[object Promise]",Zs="[object Proxy]",Qe="[object RegExp]",Bn="[object Set]",ke="[object String]",At="[object Symbol]",Js="[object Undefined]",je="[object WeakMap]",Xs="[object WeakSet]",nt="[object ArrayBuffer]",Ie="[object DataView]",_r="[object Float32Array]",vr="[object Float64Array]",wr="[object Int8Array]",mr="[object Int16Array]",yr="[object Int32Array]",xr="[object Uint8Array]",br="[object Uint8ClampedArray]",Ar="[object Uint16Array]",Or="[object Uint32Array]",Qs=/\b__p \+= '';/g,ks=/\b(__p \+=) '' \+/g,js=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ji=/&(?:amp|lt|gt|quot|#39);/g,Xi=/[&<>"']/g,nl=RegExp(Ji.source),el=RegExp(Xi.source),tl=/<%-([\s\S]+?)%>/g,rl=/<%([\s\S]+?)%>/g,Qi=/<%=([\s\S]+?)%>/g,il=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ul=/^\w*$/,ol=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Sr=/[\\^$.*+?()[\]{}|]/g,sl=RegExp(Sr.source),Cr=/^\s+/,ll=/\s/,fl=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,al=/\{\n\/\* \[wrapped with (.+)\] \*/,cl=/,? & /,hl=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,pl=/[()=,{}\[\]\/\s]/,dl=/\\(\\)?/g,gl=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ki=/\w*$/,_l=/^[-+]0x[0-9a-f]+$/i,vl=/^0b[01]+$/i,wl=/^\[object .+?Constructor\]$/,ml=/^0o[0-7]+$/i,yl=/^(?:0|[1-9]\d*)$/,xl=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ot=/($^)/,bl=/['\n\r\u2028\u2029\\]/g,St="\\ud800-\\udfff",Al="\\u0300-\\u036f",Ol="\\ufe20-\\ufe2f",Sl="\\u20d0-\\u20ff",ji=Al+Ol+Sl,nu="\\u2700-\\u27bf",eu="a-z\\xdf-\\xf6\\xf8-\\xff",Cl="\\xac\\xb1\\xd7\\xf7",Tl="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ll="\\u2000-\\u206f",El=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",tu="A-Z\\xc0-\\xd6\\xd8-\\xde",ru="\\ufe0e\\ufe0f",iu=Cl+Tl+Ll+El,Tr="['’]",Il="["+St+"]",uu="["+iu+"]",Ct="["+ji+"]",ou="\\d+",Rl="["+nu+"]",su="["+eu+"]",lu="[^"+St+iu+ou+nu+eu+tu+"]",Lr="\\ud83c[\\udffb-\\udfff]",Pl="(?:"+Ct+"|"+Lr+")",fu="[^"+St+"]",Er="(?:\\ud83c[\\udde6-\\uddff]){2}",Ir="[\\ud800-\\udbff][\\udc00-\\udfff]",Re="["+tu+"]",au="\\u200d",cu="(?:"+su+"|"+lu+")",Bl="(?:"+Re+"|"+lu+")",hu="(?:"+Tr+"(?:d|ll|m|re|s|t|ve))?",pu="(?:"+Tr+"(?:D|LL|M|RE|S|T|VE))?",du=Pl+"?",gu="["+ru+"]?",Dl="(?:"+au+"(?:"+[fu,Er,Ir].join("|")+")"+gu+du+")*",Fl="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ml="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",_u=gu+du+Dl,Wl="(?:"+[Rl,Er,Ir].join("|")+")"+_u,$l="(?:"+[fu+Ct+"?",Ct,Er,Ir,Il].join("|")+")",Ul=RegExp(Tr,"g"),Nl=RegExp(Ct,"g"),Rr=RegExp(Lr+"(?="+Lr+")|"+$l+_u,"g"),Gl=RegExp([Re+"?"+su+"+"+hu+"(?="+[uu,Re,"$"].join("|")+")",Bl+"+"+pu+"(?="+[uu,Re+cu,"$"].join("|")+")",Re+"?"+cu+"+"+hu,Re+"+"+pu,Ml,Fl,ou,Wl].join("|"),"g"),Hl=RegExp("["+au+St+ji+ru+"]"),Kl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ql=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Vl=-1,V={};V[_r]=V[vr]=V[wr]=V[mr]=V[yr]=V[xr]=V[br]=V[Ar]=V[Or]=!0,V[Ee]=V[yt]=V[nt]=V[Ze]=V[Ie]=V[Je]=V[xt]=V[bt]=V[Pn]=V[Xe]=V[Jn]=V[Qe]=V[Bn]=V[ke]=V[je]=!1;var K={};K[Ee]=K[yt]=K[nt]=K[Ie]=K[Ze]=K[Je]=K[_r]=K[vr]=K[wr]=K[mr]=K[yr]=K[Pn]=K[Xe]=K[Jn]=K[Qe]=K[Bn]=K[ke]=K[At]=K[xr]=K[br]=K[Ar]=K[Or]=!0,K[xt]=K[bt]=K[je]=!1;var zl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Yl={"&":"&","<":"<",">":">",'"':""","'":"'"},Zl={"&":"&","<":"<",">":">",""":'"',"'":"'"},Jl={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Xl=parseFloat,Ql=parseInt,vu=typeof _t=="object"&&_t&&_t.Object===Object&&_t,kl=typeof self=="object"&&self&&self.Object===Object&&self,nn=vu||kl||Function("return this")(),Pr=w&&!w.nodeType&&w,we=Pr&&!0&&a&&!a.nodeType&&a,wu=we&&we.exports===Pr,Br=wu&&vu.process,An=function(){try{var c=we&&we.require&&we.require("util").types;return c||Br&&Br.binding&&Br.binding("util")}catch{}}(),mu=An&&An.isArrayBuffer,yu=An&&An.isDate,xu=An&&An.isMap,bu=An&&An.isRegExp,Au=An&&An.isSet,Ou=An&&An.isTypedArray;function gn(c,d,p){switch(p.length){case 0:return c.call(d);case 1:return c.call(d,p[0]);case 2:return c.call(d,p[0],p[1]);case 3:return c.call(d,p[0],p[1],p[2])}return c.apply(d,p)}function jl(c,d,p,y){for(var L=-1,W=c==null?0:c.length;++L-1}function Dr(c,d,p){for(var y=-1,L=c==null?0:c.length;++y-1;);return p}function Pu(c,d){for(var p=c.length;p--&&Pe(d,c[p],0)>-1;);return p}function ff(c,d){for(var p=c.length,y=0;p--;)c[p]===d&&++y;return y}var af=$r(zl),cf=$r(Yl);function hf(c){return"\\"+Jl[c]}function pf(c,d){return c==null?s:c[d]}function Be(c){return Hl.test(c)}function df(c){return Kl.test(c)}function gf(c){for(var d,p=[];!(d=c.next()).done;)p.push(d.value);return p}function Hr(c){var d=-1,p=Array(c.size);return c.forEach(function(y,L){p[++d]=[L,y]}),p}function Bu(c,d){return function(p){return c(d(p))}}function fe(c,d){for(var p=-1,y=c.length,L=0,W=[];++p-1}function ta(n,e){var t=this.__data__,r=qt(t,n);return r<0?(++this.size,t.push([n,e])):t[r][1]=e,this}Xn.prototype.clear=kf,Xn.prototype.delete=jf,Xn.prototype.get=na,Xn.prototype.has=ea,Xn.prototype.set=ta;function Qn(n){var e=-1,t=n==null?0:n.length;for(this.clear();++e=e?n:e)),n}function Tn(n,e,t,r,i,o){var l,f=e&an,h=e&ue,g=e&Yn;if(t&&(l=i?t(n,r,i,o):t(n)),l!==s)return l;if(!Y(n))return n;var _=E(n);if(_){if(l=oc(n),!f)return cn(n,l)}else{var v=un(n),m=v==bt||v==Yi;if(ge(n))return _o(n,f);if(v==Jn||v==Ee||m&&!i){if(l=h||m?{}:Fo(n),!f)return h?Ja(n,wa(l,n)):Za(n,Vu(l,n))}else{if(!K[v])return i?n:{};l=sc(n,v,f)}}o||(o=new Fn);var x=o.get(n);if(x)return x;o.set(n,l),as(n)?n.forEach(function(S){l.add(Tn(S,e,t,S,n,o))}):ls(n)&&n.forEach(function(S,B){l.set(B,Tn(S,e,t,B,n,o))});var O=g?h?di:pi:h?pn:j,R=_?s:O(n);return On(R||n,function(S,B){R&&(B=S,S=n[B]),st(l,B,Tn(S,e,t,B,n,o))}),l}function ma(n){var e=j(n);return function(t){return zu(t,n,e)}}function zu(n,e,t){var r=t.length;if(n==null)return!r;for(n=H(n);r--;){var i=t[r],o=e[i],l=n[i];if(l===s&&!(i in n)||!o(l))return!1}return!0}function Yu(n,e,t){if(typeof n!="function")throw new Sn(q);return dt(function(){n.apply(s,t)},e)}function lt(n,e,t,r){var i=-1,o=Tt,l=!0,f=n.length,h=[],g=e.length;if(!f)return h;t&&(e=z(e,_n(t))),r?(o=Dr,l=!1):e.length>=G&&(o=et,l=!1,e=new xe(e));n:for(;++ii?0:i+t),r=r===s||r>i?i:I(r),r<0&&(r+=i),r=t>r?0:hs(r);t0&&t(f)?e>1?en(f,e-1,t,r,i):le(i,f):r||(i[i.length]=f)}return i}var Jr=bo(),Xu=bo(!0);function Kn(n,e){return n&&Jr(n,e,j)}function Xr(n,e){return n&&Xu(n,e,j)}function zt(n,e){return se(e,function(t){return te(n[t])})}function Ae(n,e){e=pe(e,n);for(var t=0,r=e.length;n!=null&&te}function ba(n,e){return n!=null&&N.call(n,e)}function Aa(n,e){return n!=null&&e in H(n)}function Oa(n,e,t){return n>=rn(e,t)&&n=120&&_.length>=120)?new xe(l&&_):s}_=n[0];var v=-1,m=f[0];n:for(;++v-1;)f!==n&&Wt.call(f,h,1),Wt.call(n,h,1);return n}function so(n,e){for(var t=n?e.length:0,r=t-1;t--;){var i=e[t];if(t==r||i!==o){var o=i;ee(i)?Wt.call(n,i,1):oi(n,i)}}return n}function ri(n,e){return n+Nt(Gu()*(e-n+1))}function Wa(n,e,t,r){for(var i=-1,o=k(Ut((e-n)/(t||1)),0),l=p(o);o--;)l[r?o:++i]=n,n+=t;return l}function ii(n,e){var t="";if(!n||e<1||e>oe)return t;do e%2&&(t+=n),e=Nt(e/2),e&&(n+=n);while(e);return t}function P(n,e){return xi($o(n,e,dn),n+"")}function $a(n){return qu(qe(n))}function Ua(n,e){var t=qe(n);return rr(t,be(e,0,t.length))}function ct(n,e,t,r){if(!Y(n))return n;e=pe(e,n);for(var i=-1,o=e.length,l=o-1,f=n;f!=null&&++ii?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var o=p(i);++r>>1,l=n[o];l!==null&&!wn(l)&&(t?l<=e:l=G){var g=e?null:ja(n);if(g)return Et(g);l=!1,i=et,h=new xe}else h=e?[]:f;n:for(;++r=r?n:Ln(n,e,t)}var go=If||function(n){return nn.clearTimeout(n)};function _o(n,e){if(e)return n.slice();var t=n.length,r=Mu?Mu(t):new n.constructor(t);return n.copy(r),r}function ai(n){var e=new n.constructor(n.byteLength);return new Ft(e).set(new Ft(n)),e}function qa(n,e){var t=e?ai(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.byteLength)}function Va(n){var e=new n.constructor(n.source,ki.exec(n));return e.lastIndex=n.lastIndex,e}function za(n){return ot?H(ot.call(n)):{}}function vo(n,e){var t=e?ai(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.length)}function wo(n,e){if(n!==e){var t=n!==s,r=n===null,i=n===n,o=wn(n),l=e!==s,f=e===null,h=e===e,g=wn(e);if(!f&&!g&&!o&&n>e||o&&l&&h&&!f&&!g||r&&l&&h||!t&&h||!i)return 1;if(!r&&!o&&!g&&n=f)return h;var g=t[r];return h*(g=="desc"?-1:1)}}return n.index-e.index}function mo(n,e,t,r){for(var i=-1,o=n.length,l=t.length,f=-1,h=e.length,g=k(o-l,0),_=p(h+g),v=!r;++f1?t[i-1]:s,l=i>2?t[2]:s;for(o=n.length>3&&typeof o=="function"?(i--,o):s,l&&sn(t[0],t[1],l)&&(o=i<3?s:o,i=1),e=H(e);++r-1?i[o?e[l]:l]:s}}function So(n){return ne(function(e){var t=e.length,r=t,i=Cn.prototype.thru;for(n&&e.reverse();r--;){var o=e[r];if(typeof o!="function")throw new Sn(q);if(i&&!l&&er(o)=="wrapper")var l=new Cn([],!0)}for(r=l?r:t;++r1&&F.reverse(),_&&hf))return!1;var g=o.get(n),_=o.get(e);if(g&&_)return g==e&&_==n;var v=-1,m=!0,x=t&wt?new xe:s;for(o.set(n,e),o.set(e,n);++v1?"& ":"")+e[r],e=e.join(t>2?", ":" "),n.replace(fl,`{ /* [wrapped with `+e+`] */ -`)}function fc(n){return I(n)||Ce(n)||!!($u&&n&&n[$u])}function ee(n,e){var t=typeof n;return e=e??oe,!!e&&(t=="number"||t!="symbol"&&yl.test(n))&&n>-1&&n%1==0&&n0){if(++e>=Ws)return arguments[0]}else e=0;return n.apply(s,arguments)}}function rr(n,e){var t=-1,r=n.length,i=r-1;for(e=e===s?r:e;++t1?n[e-1]:s;return t=typeof t=="function"?(n.pop(),t):s,Xo(n,t)});function Qo(n){var e=u(n);return e.__chain__=!0,e}function yh(n,e){return e(n),n}function ir(n,e){return e(n)}var xh=ne(function(n){var e=n.length,t=e?n[0]:0,r=this.__wrapped__,i=function(o){return Zr(o,n)};return e>1||this.__actions__.length||!(r instanceof D)||!ee(t)?this.thru(i):(r=r.slice(t,+t+(e?1:0)),r.__actions__.push({func:ir,args:[i],thisArg:s}),new Cn(r,this.__chain__).thru(function(o){return e&&!o.length&&o.push(s),o}))});function bh(){return Qo(this)}function Ah(){return new Cn(this.value(),this.__chain__)}function Oh(){this.__values__===s&&(this.__values__=cs(this.value()));var n=this.__index__>=this.__values__.length,e=n?s:this.__values__[this.__index__++];return{done:n,value:e}}function Sh(){return this}function Ch(n){for(var e,t=this;t instanceof Kt;){var r=qo(t);r.__index__=0,r.__values__=s,e?i.__wrapped__=r:e=r;var i=r;t=t.__wrapped__}return i.__wrapped__=n,e}function Th(){var n=this.__wrapped__;if(n instanceof D){var e=n;return this.__actions__.length&&(e=new D(this)),e=e.reverse(),e.__actions__.push({func:ir,args:[bi],thisArg:s}),new Cn(e,this.__chain__)}return this.thru(bi)}function Lh(){return ho(this.__wrapped__,this.__actions__)}var Ih=Xt(function(n,e,t){$.call(n,t)?++n[t]:kn(n,t,1)});function Eh(n,e,t){var r=I(n)?Su:ya;return t&&sn(n,e,t)&&(e=s),r(n,b(e,3))}function Rh(n,e){var t=I(n)?se:Ju;return t(n,b(e,3))}var Ph=Oo(Vo),Bh=Oo(zo);function Dh(n,e){return en(ur(n,e),1)}function Fh(n,e){return en(ur(n,e),ve)}function Mh(n,e,t){return t=t===s?1:E(t),en(ur(n,e),t)}function ko(n,e){var t=I(n)?On:ce;return t(n,b(e,3))}function jo(n,e){var t=I(n)?nf:Zu;return t(n,b(e,3))}var Wh=Xt(function(n,e,t){$.call(n,t)?n[t].push(e):kn(n,t,[e])});function Uh(n,e,t,r){n=hn(n)?n:qe(n),t=t&&!r?E(t):0;var i=n.length;return t<0&&(t=k(i+t,0)),ar(n)?t<=i&&n.indexOf(e,t)>-1:!!i&&Pe(n,e,t)>-1}var $h=P(function(n,e,t){var r=-1,i=typeof e=="function",o=hn(n)?p(n.length):[];return ce(n,function(l){o[++r]=i?gn(e,l,t):ft(l,e,t)}),o}),Nh=Xt(function(n,e,t){kn(n,t,e)});function ur(n,e){var t=I(n)?z:eo;return t(n,b(e,3))}function Gh(n,e,t,r){return n==null?[]:(I(e)||(e=e==null?[]:[e]),t=r?s:t,I(t)||(t=t==null?[]:[t]),uo(n,e,t))}var Hh=Xt(function(n,e,t){n[t?0:1].push(e)},function(){return[[],[]]});function Kh(n,e,t){var r=I(n)?Fr:Iu,i=arguments.length<3;return r(n,b(e,4),t,i,ce)}function qh(n,e,t){var r=I(n)?ef:Iu,i=arguments.length<3;return r(n,b(e,4),t,i,Zu)}function Vh(n,e){var t=I(n)?se:Ju;return t(n,lr(b(e,3)))}function zh(n){var e=I(n)?qu:Ua;return e(n)}function Yh(n,e,t){(t?sn(n,e,t):e===s)?e=1:e=E(e);var r=I(n)?ga:$a;return r(n,e)}function Zh(n){var e=I(n)?_a:Ga;return e(n)}function Jh(n){if(n==null)return 0;if(hn(n))return ar(n)?De(n):n.length;var e=un(n);return e==Pn||e==Bn?n.size:ni(n).length}function Xh(n,e,t){var r=I(n)?Mr:Ha;return t&&sn(n,e,t)&&(e=s),r(n,b(e,3))}var Qh=P(function(n,e){if(n==null)return[];var t=e.length;return t>1&&sn(n,e[0],e[1])?e=[]:t>2&&sn(e[0],e[1],e[2])&&(e=[e[0]]),uo(n,en(e,1),[])}),or=Rf||function(){return nn.Date.now()};function kh(n,e){if(typeof e!="function")throw new Sn(q);return n=E(n),function(){if(--n<1)return e.apply(this,arguments)}}function ns(n,e,t){return e=t?s:e,e=n&&e==null?n.length:e,jn(n,Zn,s,s,s,s,e)}function es(n,e){var t;if(typeof e!="function")throw new Sn(q);return n=E(n),function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=s),t}}var Oi=P(function(n,e,t){var r=bn;if(t.length){var i=fe(t,He(Oi));r|=Gn}return jn(n,r,e,t,i)}),ts=P(function(n,e,t){var r=bn|_e;if(t.length){var i=fe(t,He(ts));r|=Gn}return jn(e,r,n,t,i)});function rs(n,e,t){e=t?s:e;var r=jn(n,Nn,s,s,s,s,s,e);return r.placeholder=rs.placeholder,r}function is(n,e,t){e=t?s:e;var r=jn(n,Te,s,s,s,s,s,e);return r.placeholder=is.placeholder,r}function us(n,e,t){var r,i,o,l,f,h,g=0,_=!1,v=!1,m=!0;if(typeof n!="function")throw new Sn(q);e=En(e)||0,Y(t)&&(_=!!t.leading,v="maxWait"in t,o=v?k(En(t.maxWait)||0,e):o,m="trailing"in t?!!t.trailing:m);function x(X){var Wn=r,ie=i;return r=i=s,g=X,l=n.apply(ie,Wn),l}function O(X){return g=X,f=dt(B,e),_?x(X):l}function R(X){var Wn=X-h,ie=X-g,Os=e-Wn;return v?rn(Os,o-ie):Os}function S(X){var Wn=X-h,ie=X-g;return h===s||Wn>=e||Wn<0||v&&ie>=o}function B(){var X=or();if(S(X))return F(X);f=dt(B,R(X))}function F(X){return f=s,m&&r?x(X):(r=i=s,l)}function mn(){f!==s&&go(f),g=0,r=h=i=f=s}function ln(){return f===s?l:F(or())}function yn(){var X=or(),Wn=S(X);if(r=arguments,i=this,h=X,Wn){if(f===s)return O(h);if(v)return go(f),f=dt(B,e),x(h)}return f===s&&(f=dt(B,e)),l}return yn.cancel=mn,yn.flush=ln,yn}var jh=P(function(n,e){return Yu(n,1,e)}),np=P(function(n,e,t){return Yu(n,En(e)||0,t)});function ep(n){return jn(n,gr)}function sr(n,e){if(typeof n!="function"||e!=null&&typeof e!="function")throw new Sn(q);var t=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=t.cache;if(o.has(i))return o.get(i);var l=n.apply(this,r);return t.cache=o.set(i,l)||o,l};return t.cache=new(sr.Cache||Qn),t}sr.Cache=Qn;function lr(n){if(typeof n!="function")throw new Sn(q);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function tp(n){return es(2,n)}var rp=Ka(function(n,e){e=e.length==1&&I(e[0])?z(e[0],_n(b())):z(en(e,1),_n(b()));var t=e.length;return P(function(r){for(var i=-1,o=rn(r.length,t);++i=e}),Ce=ku(function(){return arguments}())?ku:function(n){return Z(n)&&$.call(n,"callee")&&!Uu.call(n,"callee")},I=p.isArray,wp=mu?_n(mu):Ca;function hn(n){return n!=null&&fr(n.length)&&!te(n)}function J(n){return Z(n)&&hn(n)}function mp(n){return n===!0||n===!1||Z(n)&&on(n)==Ze}var ge=Bf||Mi,yp=yu?_n(yu):Ta;function xp(n){return Z(n)&&n.nodeType===1&&!gt(n)}function bp(n){if(n==null)return!0;if(hn(n)&&(I(n)||typeof n=="string"||typeof n.splice=="function"||ge(n)||Ke(n)||Ce(n)))return!n.length;var e=un(n);if(e==Pn||e==Bn)return!n.size;if(pt(n))return!ni(n).length;for(var t in n)if($.call(n,t))return!1;return!0}function Ap(n,e){return at(n,e)}function Op(n,e,t){t=typeof t=="function"?t:s;var r=t?t(n,e):s;return r===s?at(n,e,s,t):!!r}function Ci(n){if(!Z(n))return!1;var e=on(n);return e==xt||e==zs||typeof n.message=="string"&&typeof n.name=="string"&&!gt(n)}function Sp(n){return typeof n=="number"&&Nu(n)}function te(n){if(!Y(n))return!1;var e=on(n);return e==bt||e==Yi||e==Vs||e==Zs}function ss(n){return typeof n=="number"&&n==E(n)}function fr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=oe}function Y(n){var e=typeof n;return n!=null&&(e=="object"||e=="function")}function Z(n){return n!=null&&typeof n=="object"}var ls=xu?_n(xu):Ia;function Cp(n,e){return n===e||jr(n,e,_i(e))}function Tp(n,e,t){return t=typeof t=="function"?t:s,jr(n,e,_i(e),t)}function Lp(n){return fs(n)&&n!=+n}function Ip(n){if(hc(n))throw new L(T);return ju(n)}function Ep(n){return n===null}function Rp(n){return n==null}function fs(n){return typeof n=="number"||Z(n)&&on(n)==Xe}function gt(n){if(!Z(n)||on(n)!=Jn)return!1;var e=Mt(n);if(e===null)return!0;var t=$.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&Pt.call(t)==Tf}var Ti=bu?_n(bu):Ea;function Pp(n){return ss(n)&&n>=-oe&&n<=oe}var as=Au?_n(Au):Ra;function ar(n){return typeof n=="string"||!I(n)&&Z(n)&&on(n)==ke}function wn(n){return typeof n=="symbol"||Z(n)&&on(n)==At}var Ke=Ou?_n(Ou):Pa;function Bp(n){return n===s}function Dp(n){return Z(n)&&un(n)==je}function Fp(n){return Z(n)&&on(n)==Xs}var Mp=nr(ei),Wp=nr(function(n,e){return n<=e});function cs(n){if(!n)return[];if(hn(n))return ar(n)?Dn(n):cn(n);if(tt&&n[tt])return gf(n[tt]());var e=un(n),t=e==Pn?Hr:e==Bn?It:qe;return t(n)}function re(n){if(!n)return n===0?n:0;if(n=En(n),n===ve||n===-ve){var e=n<0?-1:1;return e*Gs}return n===n?n:0}function E(n){var e=re(n),t=e%1;return e===e?t?e-t:e:0}function hs(n){return n?be(E(n),0,Hn):0}function En(n){if(typeof n=="number")return n;if(wn(n))return mt;if(Y(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=Y(e)?e+"":e}if(typeof n!="string")return n===0?n:+n;n=Eu(n);var t=vl.test(n);return t||ml.test(n)?Ql(n.slice(2),t?2:8):_l.test(n)?mt:+n}function ps(n){return qn(n,pn(n))}function Up(n){return n?be(E(n),-oe,oe):n===0?n:0}function W(n){return n==null?"":vn(n)}var $p=Ne(function(n,e){if(pt(e)||hn(e)){qn(e,j(e),n);return}for(var t in e)$.call(e,t)&&st(n,t,e[t])}),ds=Ne(function(n,e){qn(e,pn(e),n)}),cr=Ne(function(n,e,t,r){qn(e,pn(e),n,r)}),Np=Ne(function(n,e,t,r){qn(e,j(e),n,r)}),Gp=ne(Zr);function Hp(n,e){var t=$e(n);return e==null?t:Vu(t,e)}var Kp=P(function(n,e){n=G(n);var t=-1,r=e.length,i=r>2?e[2]:s;for(i&&sn(e[0],e[1],i)&&(r=1);++t1),o}),qn(n,di(n),t),r&&(t=Tn(t,an|ue|Yn,nc));for(var i=e.length;i--;)oi(t,e[i]);return t});function sd(n,e){return _s(n,lr(b(e)))}var ld=ne(function(n,e){return n==null?{}:Fa(n,e)});function _s(n,e){if(n==null)return{};var t=z(di(n),function(r){return[r]});return e=b(e),oo(n,t,function(r,i){return e(r,i[0])})}function fd(n,e,t){e=pe(e,n);var r=-1,i=e.length;for(i||(i=1,n=s);++re){var r=n;n=e,e=r}if(t||n%1||e%1){var i=Gu();return rn(n+i*(e-n+Xl("1e-"+((i+"").length-1))),e)}return ri(n,e)}var yd=Ge(function(n,e,t){return e=e.toLowerCase(),n+(t?ms(e):e)});function ms(n){return Ei(W(n).toLowerCase())}function ys(n){return n=W(n),n&&n.replace(xl,af).replace(Nl,"")}function xd(n,e,t){n=W(n),e=vn(e);var r=n.length;t=t===s?r:be(E(t),0,r);var i=t;return t-=e.length,t>=0&&n.slice(t,i)==e}function bd(n){return n=W(n),n&&el.test(n)?n.replace(Xi,cf):n}function Ad(n){return n=W(n),n&&sl.test(n)?n.replace(Sr,"\\$&"):n}var Od=Ge(function(n,e,t){return n+(t?"-":"")+e.toLowerCase()}),Sd=Ge(function(n,e,t){return n+(t?" ":"")+e.toLowerCase()}),Cd=Ao("toLowerCase");function Td(n,e,t){n=W(n),e=E(e);var r=e?De(n):0;if(!e||r>=e)return n;var i=(e-r)/2;return jt(Nt(i),t)+n+jt($t(i),t)}function Ld(n,e,t){n=W(n),e=E(e);var r=e?De(n):0;return e&&r>>0,t?(n=W(n),n&&(typeof e=="string"||e!=null&&!Ti(e))&&(e=vn(e),!e&&Be(n))?de(Dn(n),0,t):n.split(e,t)):[]}var Fd=Ge(function(n,e,t){return n+(t?" ":"")+Ei(e)});function Md(n,e,t){return n=W(n),t=t==null?0:be(E(t),0,n.length),e=vn(e),n.slice(t,t+e.length)==e}function Wd(n,e,t){var r=u.templateSettings;t&&sn(n,e,t)&&(e=s),n=W(n),e=cr({},e,r,Eo);var i=cr({},e.imports,r.imports,Eo),o=j(i),l=Gr(i,o),f,h,g=0,_=e.interpolate||Ot,v="__p += '",m=Kr((e.escape||Ot).source+"|"+_.source+"|"+(_===Qi?gl:Ot).source+"|"+(e.evaluate||Ot).source+"|$","g"),x="//# sourceURL="+($.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Vl+"]")+` +`)}function fc(n){return E(n)||Ce(n)||!!(Uu&&n&&n[Uu])}function ee(n,e){var t=typeof n;return e=e??oe,!!e&&(t=="number"||t!="symbol"&&yl.test(n))&&n>-1&&n%1==0&&n0){if(++e>=Ws)return arguments[0]}else e=0;return n.apply(s,arguments)}}function rr(n,e){var t=-1,r=n.length,i=r-1;for(e=e===s?r:e;++t1?n[e-1]:s;return t=typeof t=="function"?(n.pop(),t):s,Xo(n,t)});function Qo(n){var e=u(n);return e.__chain__=!0,e}function yh(n,e){return e(n),n}function ir(n,e){return e(n)}var xh=ne(function(n){var e=n.length,t=e?n[0]:0,r=this.__wrapped__,i=function(o){return Zr(o,n)};return e>1||this.__actions__.length||!(r instanceof D)||!ee(t)?this.thru(i):(r=r.slice(t,+t+(e?1:0)),r.__actions__.push({func:ir,args:[i],thisArg:s}),new Cn(r,this.__chain__).thru(function(o){return e&&!o.length&&o.push(s),o}))});function bh(){return Qo(this)}function Ah(){return new Cn(this.value(),this.__chain__)}function Oh(){this.__values__===s&&(this.__values__=cs(this.value()));var n=this.__index__>=this.__values__.length,e=n?s:this.__values__[this.__index__++];return{done:n,value:e}}function Sh(){return this}function Ch(n){for(var e,t=this;t instanceof Kt;){var r=qo(t);r.__index__=0,r.__values__=s,e?i.__wrapped__=r:e=r;var i=r;t=t.__wrapped__}return i.__wrapped__=n,e}function Th(){var n=this.__wrapped__;if(n instanceof D){var e=n;return this.__actions__.length&&(e=new D(this)),e=e.reverse(),e.__actions__.push({func:ir,args:[bi],thisArg:s}),new Cn(e,this.__chain__)}return this.thru(bi)}function Lh(){return ho(this.__wrapped__,this.__actions__)}var Eh=Xt(function(n,e,t){N.call(n,t)?++n[t]:kn(n,t,1)});function Ih(n,e,t){var r=E(n)?Su:ya;return t&&sn(n,e,t)&&(e=s),r(n,b(e,3))}function Rh(n,e){var t=E(n)?se:Ju;return t(n,b(e,3))}var Ph=Oo(Vo),Bh=Oo(zo);function Dh(n,e){return en(ur(n,e),1)}function Fh(n,e){return en(ur(n,e),ve)}function Mh(n,e,t){return t=t===s?1:I(t),en(ur(n,e),t)}function ko(n,e){var t=E(n)?On:ce;return t(n,b(e,3))}function jo(n,e){var t=E(n)?nf:Zu;return t(n,b(e,3))}var Wh=Xt(function(n,e,t){N.call(n,t)?n[t].push(e):kn(n,t,[e])});function $h(n,e,t,r){n=hn(n)?n:qe(n),t=t&&!r?I(t):0;var i=n.length;return t<0&&(t=k(i+t,0)),ar(n)?t<=i&&n.indexOf(e,t)>-1:!!i&&Pe(n,e,t)>-1}var Uh=P(function(n,e,t){var r=-1,i=typeof e=="function",o=hn(n)?p(n.length):[];return ce(n,function(l){o[++r]=i?gn(e,l,t):ft(l,e,t)}),o}),Nh=Xt(function(n,e,t){kn(n,t,e)});function ur(n,e){var t=E(n)?z:eo;return t(n,b(e,3))}function Gh(n,e,t,r){return n==null?[]:(E(e)||(e=e==null?[]:[e]),t=r?s:t,E(t)||(t=t==null?[]:[t]),uo(n,e,t))}var Hh=Xt(function(n,e,t){n[t?0:1].push(e)},function(){return[[],[]]});function Kh(n,e,t){var r=E(n)?Fr:Eu,i=arguments.length<3;return r(n,b(e,4),t,i,ce)}function qh(n,e,t){var r=E(n)?ef:Eu,i=arguments.length<3;return r(n,b(e,4),t,i,Zu)}function Vh(n,e){var t=E(n)?se:Ju;return t(n,lr(b(e,3)))}function zh(n){var e=E(n)?qu:$a;return e(n)}function Yh(n,e,t){(t?sn(n,e,t):e===s)?e=1:e=I(e);var r=E(n)?ga:Ua;return r(n,e)}function Zh(n){var e=E(n)?_a:Ga;return e(n)}function Jh(n){if(n==null)return 0;if(hn(n))return ar(n)?De(n):n.length;var e=un(n);return e==Pn||e==Bn?n.size:ni(n).length}function Xh(n,e,t){var r=E(n)?Mr:Ha;return t&&sn(n,e,t)&&(e=s),r(n,b(e,3))}var Qh=P(function(n,e){if(n==null)return[];var t=e.length;return t>1&&sn(n,e[0],e[1])?e=[]:t>2&&sn(e[0],e[1],e[2])&&(e=[e[0]]),uo(n,en(e,1),[])}),or=Rf||function(){return nn.Date.now()};function kh(n,e){if(typeof e!="function")throw new Sn(q);return n=I(n),function(){if(--n<1)return e.apply(this,arguments)}}function ns(n,e,t){return e=t?s:e,e=n&&e==null?n.length:e,jn(n,Zn,s,s,s,s,e)}function es(n,e){var t;if(typeof e!="function")throw new Sn(q);return n=I(n),function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=s),t}}var Oi=P(function(n,e,t){var r=bn;if(t.length){var i=fe(t,He(Oi));r|=Gn}return jn(n,r,e,t,i)}),ts=P(function(n,e,t){var r=bn|_e;if(t.length){var i=fe(t,He(ts));r|=Gn}return jn(e,r,n,t,i)});function rs(n,e,t){e=t?s:e;var r=jn(n,Nn,s,s,s,s,s,e);return r.placeholder=rs.placeholder,r}function is(n,e,t){e=t?s:e;var r=jn(n,Te,s,s,s,s,s,e);return r.placeholder=is.placeholder,r}function us(n,e,t){var r,i,o,l,f,h,g=0,_=!1,v=!1,m=!0;if(typeof n!="function")throw new Sn(q);e=In(e)||0,Y(t)&&(_=!!t.leading,v="maxWait"in t,o=v?k(In(t.maxWait)||0,e):o,m="trailing"in t?!!t.trailing:m);function x(X){var Wn=r,ie=i;return r=i=s,g=X,l=n.apply(ie,Wn),l}function O(X){return g=X,f=dt(B,e),_?x(X):l}function R(X){var Wn=X-h,ie=X-g,Os=e-Wn;return v?rn(Os,o-ie):Os}function S(X){var Wn=X-h,ie=X-g;return h===s||Wn>=e||Wn<0||v&&ie>=o}function B(){var X=or();if(S(X))return F(X);f=dt(B,R(X))}function F(X){return f=s,m&&r?x(X):(r=i=s,l)}function mn(){f!==s&&go(f),g=0,r=h=i=f=s}function ln(){return f===s?l:F(or())}function yn(){var X=or(),Wn=S(X);if(r=arguments,i=this,h=X,Wn){if(f===s)return O(h);if(v)return go(f),f=dt(B,e),x(h)}return f===s&&(f=dt(B,e)),l}return yn.cancel=mn,yn.flush=ln,yn}var jh=P(function(n,e){return Yu(n,1,e)}),np=P(function(n,e,t){return Yu(n,In(e)||0,t)});function ep(n){return jn(n,gr)}function sr(n,e){if(typeof n!="function"||e!=null&&typeof e!="function")throw new Sn(q);var t=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=t.cache;if(o.has(i))return o.get(i);var l=n.apply(this,r);return t.cache=o.set(i,l)||o,l};return t.cache=new(sr.Cache||Qn),t}sr.Cache=Qn;function lr(n){if(typeof n!="function")throw new Sn(q);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function tp(n){return es(2,n)}var rp=Ka(function(n,e){e=e.length==1&&E(e[0])?z(e[0],_n(b())):z(en(e,1),_n(b()));var t=e.length;return P(function(r){for(var i=-1,o=rn(r.length,t);++i=e}),Ce=ku(function(){return arguments}())?ku:function(n){return Z(n)&&N.call(n,"callee")&&!$u.call(n,"callee")},E=p.isArray,wp=mu?_n(mu):Ca;function hn(n){return n!=null&&fr(n.length)&&!te(n)}function J(n){return Z(n)&&hn(n)}function mp(n){return n===!0||n===!1||Z(n)&&on(n)==Ze}var ge=Bf||Mi,yp=yu?_n(yu):Ta;function xp(n){return Z(n)&&n.nodeType===1&&!gt(n)}function bp(n){if(n==null)return!0;if(hn(n)&&(E(n)||typeof n=="string"||typeof n.splice=="function"||ge(n)||Ke(n)||Ce(n)))return!n.length;var e=un(n);if(e==Pn||e==Bn)return!n.size;if(pt(n))return!ni(n).length;for(var t in n)if(N.call(n,t))return!1;return!0}function Ap(n,e){return at(n,e)}function Op(n,e,t){t=typeof t=="function"?t:s;var r=t?t(n,e):s;return r===s?at(n,e,s,t):!!r}function Ci(n){if(!Z(n))return!1;var e=on(n);return e==xt||e==zs||typeof n.message=="string"&&typeof n.name=="string"&&!gt(n)}function Sp(n){return typeof n=="number"&&Nu(n)}function te(n){if(!Y(n))return!1;var e=on(n);return e==bt||e==Yi||e==Vs||e==Zs}function ss(n){return typeof n=="number"&&n==I(n)}function fr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=oe}function Y(n){var e=typeof n;return n!=null&&(e=="object"||e=="function")}function Z(n){return n!=null&&typeof n=="object"}var ls=xu?_n(xu):Ea;function Cp(n,e){return n===e||jr(n,e,_i(e))}function Tp(n,e,t){return t=typeof t=="function"?t:s,jr(n,e,_i(e),t)}function Lp(n){return fs(n)&&n!=+n}function Ep(n){if(hc(n))throw new L(T);return ju(n)}function Ip(n){return n===null}function Rp(n){return n==null}function fs(n){return typeof n=="number"||Z(n)&&on(n)==Xe}function gt(n){if(!Z(n)||on(n)!=Jn)return!1;var e=Mt(n);if(e===null)return!0;var t=N.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&Pt.call(t)==Tf}var Ti=bu?_n(bu):Ia;function Pp(n){return ss(n)&&n>=-oe&&n<=oe}var as=Au?_n(Au):Ra;function ar(n){return typeof n=="string"||!E(n)&&Z(n)&&on(n)==ke}function wn(n){return typeof n=="symbol"||Z(n)&&on(n)==At}var Ke=Ou?_n(Ou):Pa;function Bp(n){return n===s}function Dp(n){return Z(n)&&un(n)==je}function Fp(n){return Z(n)&&on(n)==Xs}var Mp=nr(ei),Wp=nr(function(n,e){return n<=e});function cs(n){if(!n)return[];if(hn(n))return ar(n)?Dn(n):cn(n);if(tt&&n[tt])return gf(n[tt]());var e=un(n),t=e==Pn?Hr:e==Bn?Et:qe;return t(n)}function re(n){if(!n)return n===0?n:0;if(n=In(n),n===ve||n===-ve){var e=n<0?-1:1;return e*Gs}return n===n?n:0}function I(n){var e=re(n),t=e%1;return e===e?t?e-t:e:0}function hs(n){return n?be(I(n),0,Hn):0}function In(n){if(typeof n=="number")return n;if(wn(n))return mt;if(Y(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=Y(e)?e+"":e}if(typeof n!="string")return n===0?n:+n;n=Iu(n);var t=vl.test(n);return t||ml.test(n)?Ql(n.slice(2),t?2:8):_l.test(n)?mt:+n}function ps(n){return qn(n,pn(n))}function $p(n){return n?be(I(n),-oe,oe):n===0?n:0}function $(n){return n==null?"":vn(n)}var Up=Ne(function(n,e){if(pt(e)||hn(e)){qn(e,j(e),n);return}for(var t in e)N.call(e,t)&&st(n,t,e[t])}),ds=Ne(function(n,e){qn(e,pn(e),n)}),cr=Ne(function(n,e,t,r){qn(e,pn(e),n,r)}),Np=Ne(function(n,e,t,r){qn(e,j(e),n,r)}),Gp=ne(Zr);function Hp(n,e){var t=Ue(n);return e==null?t:Vu(t,e)}var Kp=P(function(n,e){n=H(n);var t=-1,r=e.length,i=r>2?e[2]:s;for(i&&sn(e[0],e[1],i)&&(r=1);++t1),o}),qn(n,di(n),t),r&&(t=Tn(t,an|ue|Yn,nc));for(var i=e.length;i--;)oi(t,e[i]);return t});function sd(n,e){return _s(n,lr(b(e)))}var ld=ne(function(n,e){return n==null?{}:Fa(n,e)});function _s(n,e){if(n==null)return{};var t=z(di(n),function(r){return[r]});return e=b(e),oo(n,t,function(r,i){return e(r,i[0])})}function fd(n,e,t){e=pe(e,n);var r=-1,i=e.length;for(i||(i=1,n=s);++re){var r=n;n=e,e=r}if(t||n%1||e%1){var i=Gu();return rn(n+i*(e-n+Xl("1e-"+((i+"").length-1))),e)}return ri(n,e)}var yd=Ge(function(n,e,t){return e=e.toLowerCase(),n+(t?ms(e):e)});function ms(n){return Ii($(n).toLowerCase())}function ys(n){return n=$(n),n&&n.replace(xl,af).replace(Nl,"")}function xd(n,e,t){n=$(n),e=vn(e);var r=n.length;t=t===s?r:be(I(t),0,r);var i=t;return t-=e.length,t>=0&&n.slice(t,i)==e}function bd(n){return n=$(n),n&&el.test(n)?n.replace(Xi,cf):n}function Ad(n){return n=$(n),n&&sl.test(n)?n.replace(Sr,"\\$&"):n}var Od=Ge(function(n,e,t){return n+(t?"-":"")+e.toLowerCase()}),Sd=Ge(function(n,e,t){return n+(t?" ":"")+e.toLowerCase()}),Cd=Ao("toLowerCase");function Td(n,e,t){n=$(n),e=I(e);var r=e?De(n):0;if(!e||r>=e)return n;var i=(e-r)/2;return jt(Nt(i),t)+n+jt(Ut(i),t)}function Ld(n,e,t){n=$(n),e=I(e);var r=e?De(n):0;return e&&r>>0,t?(n=$(n),n&&(typeof e=="string"||e!=null&&!Ti(e))&&(e=vn(e),!e&&Be(n))?de(Dn(n),0,t):n.split(e,t)):[]}var Fd=Ge(function(n,e,t){return n+(t?" ":"")+Ii(e)});function Md(n,e,t){return n=$(n),t=t==null?0:be(I(t),0,n.length),e=vn(e),n.slice(t,t+e.length)==e}function Wd(n,e,t){var r=u.templateSettings;t&&sn(n,e,t)&&(e=s),n=$(n),e=cr({},e,r,Io);var i=cr({},e.imports,r.imports,Io),o=j(i),l=Gr(i,o),f,h,g=0,_=e.interpolate||Ot,v="__p += '",m=Kr((e.escape||Ot).source+"|"+_.source+"|"+(_===Qi?gl:Ot).source+"|"+(e.evaluate||Ot).source+"|$","g"),x="//# sourceURL="+(N.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Vl+"]")+` `;n.replace(m,function(S,B,F,mn,ln,yn){return F||(F=mn),v+=n.slice(g,yn).replace(bl,hf),B&&(f=!0,v+=`' + __e(`+B+`) + '`),ln&&(h=!0,v+=`'; @@ -15,7 +15,7 @@ __e(`+B+`) + __p += '`),F&&(v+=`' + ((__t = (`+F+`)) == null ? '' : __t) + '`),g=yn+S.length,S}),v+=`'; -`;var O=$.call(e,"variable")&&e.variable;if(!O)v=`with (obj) { +`;var O=N.call(e,"variable")&&e.variable;if(!O)v=`with (obj) { `+v+` } `;else if(pl.test(O))throw new L(C);v=(h?v.replace(Qs,""):v).replace(ks,"$1").replace(js,"$1;"),v="function("+(O||"obj")+`) { @@ -24,6 +24,6 @@ __p += '`),F&&(v+=`' + function print() { __p += __j.call(arguments, '') } `:`; `)+v+`return __p -}`;var R=bs(function(){return M(o,x+"return "+v).apply(s,l)});if(R.source=v,Ci(R))throw R;return R}function Ud(n){return W(n).toLowerCase()}function $d(n){return W(n).toUpperCase()}function Nd(n,e,t){if(n=W(n),n&&(t||e===s))return Eu(n);if(!n||!(e=vn(e)))return n;var r=Dn(n),i=Dn(e),o=Ru(r,i),l=Pu(r,i)+1;return de(r,o,l).join("")}function Gd(n,e,t){if(n=W(n),n&&(t||e===s))return n.slice(0,Du(n)+1);if(!n||!(e=vn(e)))return n;var r=Dn(n),i=Pu(r,Dn(e))+1;return de(r,0,i).join("")}function Hd(n,e,t){if(n=W(n),n&&(t||e===s))return n.replace(Cr,"");if(!n||!(e=vn(e)))return n;var r=Dn(n),i=Ru(r,Dn(e));return de(r,i).join("")}function Kd(n,e){var t=Fs,r=Ms;if(Y(e)){var i="separator"in e?e.separator:i;t="length"in e?E(e.length):t,r="omission"in e?vn(e.omission):r}n=W(n);var o=n.length;if(Be(n)){var l=Dn(n);o=l.length}if(t>=o)return n;var f=t-De(r);if(f<1)return r;var h=l?de(l,0,f).join(""):n.slice(0,f);if(i===s)return h+r;if(l&&(f+=h.length-f),Ti(i)){if(n.slice(f).search(i)){var g,_=h;for(i.global||(i=Kr(i.source,W(ki.exec(i))+"g")),i.lastIndex=0;g=i.exec(_);)var v=g.index;h=h.slice(0,v===s?f:v)}}else if(n.indexOf(vn(i),f)!=f){var m=h.lastIndexOf(i);m>-1&&(h=h.slice(0,m))}return h+r}function qd(n){return n=W(n),n&&nl.test(n)?n.replace(Ji,mf):n}var Vd=Ge(function(n,e,t){return n+(t?" ":"")+e.toUpperCase()}),Ei=Ao("toUpperCase");function xs(n,e,t){return n=W(n),e=t?s:e,e===s?df(n)?bf(n):uf(n):n.match(e)||[]}var bs=P(function(n,e){try{return gn(n,s,e)}catch(t){return Ci(t)?t:new L(t)}}),zd=ne(function(n,e){return On(e,function(t){t=Vn(t),kn(n,t,Oi(n[t],n))}),n});function Yd(n){var e=n==null?0:n.length,t=b();return n=e?z(n,function(r){if(typeof r[1]!="function")throw new Sn(q);return[t(r[0]),r[1]]}):[],P(function(r){for(var i=-1;++ioe)return[];var t=Hn,r=rn(n,Hn);e=b(e),n-=Hn;for(var i=Nr(r,e);++t0||e<0)?new D(t):(n<0?t=t.takeRight(-n):n&&(t=t.drop(n)),e!==s&&(e=E(e),t=e<0?t.dropRight(-e):t.take(e-n)),t)},D.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},D.prototype.toArray=function(){return this.take(Hn)},Kn(D.prototype,function(n,e){var t=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=u[r?"take"+(e=="last"?"Right":""):e],o=r||/^find/.test(e);i&&(u.prototype[e]=function(){var l=this.__wrapped__,f=r?[1]:arguments,h=l instanceof D,g=f[0],_=h||I(l),v=function(B){var F=i.apply(u,le([B],f));return r&&m?F[0]:F};_&&t&&typeof g=="function"&&g.length!=1&&(h=_=!1);var m=this.__chain__,x=!!this.__actions__.length,O=o&&!m,R=h&&!x;if(!o&&_){l=R?l:new D(this);var S=n.apply(l,f);return S.__actions__.push({func:ir,args:[v],thisArg:s}),new Cn(S,m)}return O&&R?n.apply(this,f):(S=this.thru(v),O?r?S.value()[0]:S.value():S)})}),On(["pop","push","shift","sort","splice","unshift"],function(n){var e=Et[n],t=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);u.prototype[n]=function(){var i=arguments;if(r&&!this.__chain__){var o=this.value();return e.apply(I(o)?o:[],i)}return this[t](function(l){return e.apply(I(l)?l:[],i)})}}),Kn(D.prototype,function(n,e){var t=u[e];if(t){var r=t.name+"";$.call(Ue,r)||(Ue[r]=[]),Ue[r].push({name:e,func:t})}}),Ue[Qt(s,_e).name]=[{name:"wrapper",func:s}],D.prototype.clone=qf,D.prototype.reverse=Vf,D.prototype.value=zf,u.prototype.at=xh,u.prototype.chain=bh,u.prototype.commit=Ah,u.prototype.next=Oh,u.prototype.plant=Ch,u.prototype.reverse=Th,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=Lh,u.prototype.first=u.prototype.head,tt&&(u.prototype[tt]=Sh),u},Fe=Af();we?((we.exports=Fe)._=Fe,Pr._=Fe):nn._=Fe}).call(_t)})(dr,dr.exports);var Ng=dr.exports;const Gg=$g(Ng);var Hg=Object.defineProperty,Kg=Object.defineProperties,qg=Object.getOwnPropertyDescriptors,Rs=Object.getOwnPropertySymbols,Vg=Object.prototype.hasOwnProperty,zg=Object.prototype.propertyIsEnumerable,Ps=(a,w,s)=>w in a?Hg(a,w,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[w]=s,Ve=(a,w)=>{for(var s in w||(w={}))Vg.call(w,s)&&Ps(a,s,w[s]);if(Rs)for(var s of Rs(w))zg.call(w,s)&&Ps(a,s,w[s]);return a},Bs=(a,w)=>Kg(a,qg(w));const Yg={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer(){this.autoscroll&&this.maybeAdjustScroll()},open(a){this.autoscroll&&a&&this.$nextTick(()=>this.maybeAdjustScroll())}},methods:{maybeAdjustScroll(){var a;const w=((a=this.$refs.dropdownMenu)==null?void 0:a.children[this.typeAheadPointer])||!1;if(w){const s=this.getDropdownViewport(),{top:A,bottom:H,height:T}=w.getBoundingClientRect();if(As.bottom)return this.$refs.dropdownMenu.scrollTop=w.offsetTop-(s.height-T)}},getDropdownViewport(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},Zg={data(){return{typeAheadPointer:-1}},watch:{filteredOptions(){for(let a=0;a=0;a--)if(this.selectable(this.filteredOptions[a])){this.typeAheadPointer=a;break}},typeAheadDown(){for(let a=this.typeAheadPointer+1;a{const s=a.__vccOpts||a;for(const[A,H]of w)s[A]=H;return s},Xg={},Qg={xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"},kg=N("path",{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"},null,-1),jg=[kg];function n_(a,w){return fn(),Rn("svg",Qg,jg)}const e_=qi(Xg,[["render",n_]]),t_={},r_={xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"},i_=N("path",{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"},null,-1),u_=[i_];function o_(a,w){return fn(),Rn("svg",r_,u_)}const s_=qi(t_,[["render",o_]]),Ds={Deselect:e_,OpenIndicator:s_},l_={mounted(a,{instance:w}){if(w.appendToBody){const{height:s,top:A,left:H,width:T}=w.$refs.toggle.getBoundingClientRect();let q=window.scrollX||window.pageXOffset,C=window.scrollY||window.pageYOffset;a.unbindPosition=w.calculatePosition(a,w,{width:T+"px",left:q+H+"px",top:C+A+s+"px"}),document.body.appendChild(a)}},unmounted(a,{instance:w}){w.appendToBody&&(a.unbindPosition&&typeof a.unbindPosition=="function"&&a.unbindPosition(),a.parentNode&&a.parentNode.removeChild(a))}};function f_(a){const w={};return Object.keys(a).sort().forEach(s=>{w[s]=a[s]}),JSON.stringify(w)}let a_=0;function c_(){return++a_}const h_={components:Ve({},Ds),directives:{appendToBody:l_},mixins:[Yg,Zg,Jg],compatConfig:{MODE:3},emits:["open","close","update:modelValue","search","search:compositionstart","search:compositionend","search:keydown","search:blur","search:focus","search:input","option:created","option:selecting","option:selected","option:deselecting","option:deselected"],props:{modelValue:{},components:{type:Object,default:()=>({})},options:{type:Array,default(){return[]}},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},deselectFromDropdown:{type:Boolean,default:!1},searchable:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},placeholder:{type:String,default:""},transition:{type:String,default:"vs__fade"},clearSearchOnSelect:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!0},label:{type:String,default:"label"},autocomplete:{type:String,default:"off"},reduce:{type:Function,default:a=>a},selectable:{type:Function,default:a=>!0},getOptionLabel:{type:Function,default(a){return typeof a=="object"?a.hasOwnProperty(this.label)?a[this.label]:console.warn(`[vue-select warn]: Label key "option.${this.label}" does not exist in options object ${JSON.stringify(a)}. +}`;var R=bs(function(){return W(o,x+"return "+v).apply(s,l)});if(R.source=v,Ci(R))throw R;return R}function $d(n){return $(n).toLowerCase()}function Ud(n){return $(n).toUpperCase()}function Nd(n,e,t){if(n=$(n),n&&(t||e===s))return Iu(n);if(!n||!(e=vn(e)))return n;var r=Dn(n),i=Dn(e),o=Ru(r,i),l=Pu(r,i)+1;return de(r,o,l).join("")}function Gd(n,e,t){if(n=$(n),n&&(t||e===s))return n.slice(0,Du(n)+1);if(!n||!(e=vn(e)))return n;var r=Dn(n),i=Pu(r,Dn(e))+1;return de(r,0,i).join("")}function Hd(n,e,t){if(n=$(n),n&&(t||e===s))return n.replace(Cr,"");if(!n||!(e=vn(e)))return n;var r=Dn(n),i=Ru(r,Dn(e));return de(r,i).join("")}function Kd(n,e){var t=Fs,r=Ms;if(Y(e)){var i="separator"in e?e.separator:i;t="length"in e?I(e.length):t,r="omission"in e?vn(e.omission):r}n=$(n);var o=n.length;if(Be(n)){var l=Dn(n);o=l.length}if(t>=o)return n;var f=t-De(r);if(f<1)return r;var h=l?de(l,0,f).join(""):n.slice(0,f);if(i===s)return h+r;if(l&&(f+=h.length-f),Ti(i)){if(n.slice(f).search(i)){var g,_=h;for(i.global||(i=Kr(i.source,$(ki.exec(i))+"g")),i.lastIndex=0;g=i.exec(_);)var v=g.index;h=h.slice(0,v===s?f:v)}}else if(n.indexOf(vn(i),f)!=f){var m=h.lastIndexOf(i);m>-1&&(h=h.slice(0,m))}return h+r}function qd(n){return n=$(n),n&&nl.test(n)?n.replace(Ji,mf):n}var Vd=Ge(function(n,e,t){return n+(t?" ":"")+e.toUpperCase()}),Ii=Ao("toUpperCase");function xs(n,e,t){return n=$(n),e=t?s:e,e===s?df(n)?bf(n):uf(n):n.match(e)||[]}var bs=P(function(n,e){try{return gn(n,s,e)}catch(t){return Ci(t)?t:new L(t)}}),zd=ne(function(n,e){return On(e,function(t){t=Vn(t),kn(n,t,Oi(n[t],n))}),n});function Yd(n){var e=n==null?0:n.length,t=b();return n=e?z(n,function(r){if(typeof r[1]!="function")throw new Sn(q);return[t(r[0]),r[1]]}):[],P(function(r){for(var i=-1;++ioe)return[];var t=Hn,r=rn(n,Hn);e=b(e),n-=Hn;for(var i=Nr(r,e);++t0||e<0)?new D(t):(n<0?t=t.takeRight(-n):n&&(t=t.drop(n)),e!==s&&(e=I(e),t=e<0?t.dropRight(-e):t.take(e-n)),t)},D.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},D.prototype.toArray=function(){return this.take(Hn)},Kn(D.prototype,function(n,e){var t=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=u[r?"take"+(e=="last"?"Right":""):e],o=r||/^find/.test(e);i&&(u.prototype[e]=function(){var l=this.__wrapped__,f=r?[1]:arguments,h=l instanceof D,g=f[0],_=h||E(l),v=function(B){var F=i.apply(u,le([B],f));return r&&m?F[0]:F};_&&t&&typeof g=="function"&&g.length!=1&&(h=_=!1);var m=this.__chain__,x=!!this.__actions__.length,O=o&&!m,R=h&&!x;if(!o&&_){l=R?l:new D(this);var S=n.apply(l,f);return S.__actions__.push({func:ir,args:[v],thisArg:s}),new Cn(S,m)}return O&&R?n.apply(this,f):(S=this.thru(v),O?r?S.value()[0]:S.value():S)})}),On(["pop","push","shift","sort","splice","unshift"],function(n){var e=It[n],t=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);u.prototype[n]=function(){var i=arguments;if(r&&!this.__chain__){var o=this.value();return e.apply(E(o)?o:[],i)}return this[t](function(l){return e.apply(E(l)?l:[],i)})}}),Kn(D.prototype,function(n,e){var t=u[e];if(t){var r=t.name+"";N.call($e,r)||($e[r]=[]),$e[r].push({name:e,func:t})}}),$e[Qt(s,_e).name]=[{name:"wrapper",func:s}],D.prototype.clone=qf,D.prototype.reverse=Vf,D.prototype.value=zf,u.prototype.at=xh,u.prototype.chain=bh,u.prototype.commit=Ah,u.prototype.next=Oh,u.prototype.plant=Ch,u.prototype.reverse=Th,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=Lh,u.prototype.first=u.prototype.head,tt&&(u.prototype[tt]=Sh),u},Fe=Af();we?((we.exports=Fe)._=Fe,Pr._=Fe):nn._=Fe}).call(_t)})(dr,dr.exports);var Ng=dr.exports;const Gg=Ug(Ng);var Hg=Object.defineProperty,Kg=Object.defineProperties,qg=Object.getOwnPropertyDescriptors,Rs=Object.getOwnPropertySymbols,Vg=Object.prototype.hasOwnProperty,zg=Object.prototype.propertyIsEnumerable,Ps=(a,w,s)=>w in a?Hg(a,w,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[w]=s,Ve=(a,w)=>{for(var s in w||(w={}))Vg.call(w,s)&&Ps(a,s,w[s]);if(Rs)for(var s of Rs(w))zg.call(w,s)&&Ps(a,s,w[s]);return a},Bs=(a,w)=>Kg(a,qg(w));const Yg={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer(){this.autoscroll&&this.maybeAdjustScroll()},open(a){this.autoscroll&&a&&this.$nextTick(()=>this.maybeAdjustScroll())}},methods:{maybeAdjustScroll(){var a;const w=((a=this.$refs.dropdownMenu)==null?void 0:a.children[this.typeAheadPointer])||!1;if(w){const s=this.getDropdownViewport(),{top:A,bottom:G,height:T}=w.getBoundingClientRect();if(As.bottom)return this.$refs.dropdownMenu.scrollTop=w.offsetTop-(s.height-T)}},getDropdownViewport(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},Zg={data(){return{typeAheadPointer:-1}},watch:{filteredOptions(){for(let a=0;a=0;a--)if(this.selectable(this.filteredOptions[a])){this.typeAheadPointer=a;break}},typeAheadDown(){for(let a=this.typeAheadPointer+1;a{const s=a.__vccOpts||a;for(const[A,G]of w)s[A]=G;return s},Xg={},Qg={xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"},kg=M("path",{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"},null,-1),jg=[kg];function n_(a,w){return fn(),Rn("svg",Qg,jg)}const e_=qi(Xg,[["render",n_]]),t_={},r_={xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"},i_=M("path",{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"},null,-1),u_=[i_];function o_(a,w){return fn(),Rn("svg",r_,u_)}const s_=qi(t_,[["render",o_]]),Ds={Deselect:e_,OpenIndicator:s_},l_={mounted(a,{instance:w}){if(w.appendToBody){const{height:s,top:A,left:G,width:T}=w.$refs.toggle.getBoundingClientRect();let q=window.scrollX||window.pageXOffset,C=window.scrollY||window.pageYOffset;a.unbindPosition=w.calculatePosition(a,w,{width:T+"px",left:q+G+"px",top:C+A+s+"px"}),document.body.appendChild(a)}},unmounted(a,{instance:w}){w.appendToBody&&(a.unbindPosition&&typeof a.unbindPosition=="function"&&a.unbindPosition(),a.parentNode&&a.parentNode.removeChild(a))}};function f_(a){const w={};return Object.keys(a).sort().forEach(s=>{w[s]=a[s]}),JSON.stringify(w)}let a_=0;function c_(){return++a_}const h_={components:Ve({},Ds),directives:{appendToBody:l_},mixins:[Yg,Zg,Jg],compatConfig:{MODE:3},emits:["open","close","update:modelValue","search","search:compositionstart","search:compositionend","search:keydown","search:blur","search:focus","search:input","option:created","option:selecting","option:selected","option:deselecting","option:deselected"],props:{modelValue:{},components:{type:Object,default:()=>({})},options:{type:Array,default(){return[]}},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},deselectFromDropdown:{type:Boolean,default:!1},searchable:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},placeholder:{type:String,default:""},transition:{type:String,default:"vs__fade"},clearSearchOnSelect:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!0},label:{type:String,default:"label"},autocomplete:{type:String,default:"off"},reduce:{type:Function,default:a=>a},selectable:{type:Function,default:a=>!0},getOptionLabel:{type:Function,default(a){return typeof a=="object"?a.hasOwnProperty(this.label)?a[this.label]:console.warn(`[vue-select warn]: Label key "option.${this.label}" does not exist in options object ${JSON.stringify(a)}. https://vue-select.org/api/props.html#getoptionlabel`):a}},getOptionKey:{type:Function,default(a){if(typeof a!="object")return a;try{return a.hasOwnProperty("id")?a.id:f_(a)}catch(w){return console.warn(`[vue-select warn]: Could not stringify this option to generate unique key. Please provide'getOptionKey' prop to return a unique key for each option. -https://vue-select.org/api/props.html#getoptionkey`,a,w)}}},onTab:{type:Function,default:function(){this.selectOnTab&&!this.isComposing&&this.typeAheadSelect()}},taggable:{type:Boolean,default:!1},tabindex:{type:Number,default:null},pushTags:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0},filterBy:{type:Function,default(a,w,s){return(w||"").toLocaleLowerCase().indexOf(s.toLocaleLowerCase())>-1}},filter:{type:Function,default(a,w){return a.filter(s=>{let A=this.getOptionLabel(s);return typeof A=="number"&&(A=A.toString()),this.filterBy(s,A,w)})}},createOption:{type:Function,default(a){return typeof this.optionList[0]=="object"?{[this.label]:a}:a}},resetOnOptionsChange:{default:!1,validator:a=>["function","boolean"].includes(typeof a)},clearSearchOnBlur:{type:Function,default:function({clearSearchOnSelect:a,multiple:w}){return a&&!w}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:()=>[13]},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:(a,w)=>a},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default(a,w,{width:s,top:A,left:H}){a.style.top=A,a.style.left=H,a.style.width=s}},dropdownShouldOpen:{type:Function,default({noDrop:a,open:w,mutableLoading:s}){return a?!1:w&&!s}},uid:{type:[String,Number],default:()=>c_()}},data(){return{search:"",open:!1,isComposing:!1,pushedTags:[],_value:[],deselectButtons:[]}},computed:{isReducingValues(){return this.$props.reduce!==this.$options.props.reduce.default},isTrackingValues(){return typeof this.modelValue>"u"||this.isReducingValues},selectedValue(){let a=this.modelValue;return this.isTrackingValues&&(a=this.$data._value),a!=null&&a!==""?[].concat(a):[]},optionList(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl(){return this.$slots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope(){const a={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:Ve({disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,id:this.inputId,"aria-autocomplete":"list","aria-labelledby":`vs${this.uid}__combobox`,"aria-controls":`vs${this.uid}__listbox`,ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":`vs${this.uid}__option-${this.typeAheadPointer}`}:{}),events:{compositionstart:()=>this.isComposing=!0,compositionend:()=>this.isComposing=!1,keydown:this.onSearchKeyDown,blur:this.onSearchBlur,focus:this.onSearchFocus,input:w=>this.search=w.target.value}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:a,listFooter:a,header:Bs(Ve({},a),{deselect:this.deselect}),footer:Bs(Ve({},a),{deselect:this.deselect})}},childComponents(){return Ve(Ve({},Ds),this.components)},stateClasses(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching(){return!!this.search},dropdownOpen(){return this.dropdownShouldOpen(this)},searchPlaceholder(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions(){const a=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return a;const w=this.search.length?this.filter(a,this.search,this):a;if(this.taggable&&this.search.length){const s=this.createOption(this.search);this.optionExists(s)||w.unshift(s)}return w},isValueEmpty(){return this.selectedValue.length===0},showClearButton(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options(a,w){const s=()=>typeof this.resetOnOptionsChange=="function"?this.resetOnOptionsChange(a,w,this.selectedValue):this.resetOnOptionsChange;!this.taggable&&s()&&this.clearSelection(),this.modelValue&&this.isTrackingValues&&this.setInternalValueFromOptions(this.modelValue)},modelValue:{immediate:!0,handler(a){this.isTrackingValues&&this.setInternalValueFromOptions(a)}},multiple(){this.clearSelection()},open(a){this.$emit(a?"open":"close")}},created(){this.mutableLoading=this.loading},methods:{setInternalValueFromOptions(a){Array.isArray(a)?this.$data._value=a.map(w=>this.findOptionFromReducedValue(w)):this.$data._value=this.findOptionFromReducedValue(a)},select(a){this.$emit("option:selecting",a),this.isOptionSelected(a)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(a):(this.taggable&&!this.optionExists(a)&&(this.$emit("option:created",a),this.pushTag(a)),this.multiple&&(a=this.selectedValue.concat(a)),this.updateValue(a),this.$emit("option:selected",a)),this.onAfterSelect(a)},deselect(a){this.$emit("option:deselecting",a),this.updateValue(this.selectedValue.filter(w=>!this.optionComparator(w,a))),this.$emit("option:deselected",a)},clearSelection(){this.updateValue(this.multiple?[]:null)},onAfterSelect(a){this.closeOnSelect&&(this.open=!this.open,this.searchEl.blur()),this.clearSearchOnSelect&&(this.search="")},updateValue(a){typeof this.modelValue>"u"&&(this.$data._value=a),a!==null&&(Array.isArray(a)?a=a.map(w=>this.reduce(w)):a=this.reduce(a)),this.$emit("update:modelValue",a)},toggleDropdown(a){const w=a.target!==this.searchEl;w&&a.preventDefault();const s=[...this.deselectButtons||[],this.$refs.clearButton];if(this.searchEl===void 0||s.filter(Boolean).some(A=>A.contains(a.target)||A===a.target)){a.preventDefault();return}this.open&&w?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected(a){return this.selectedValue.some(w=>this.optionComparator(w,a))},isOptionDeselectable(a){return this.isOptionSelected(a)&&this.deselectFromDropdown},optionComparator(a,w){return this.getOptionKey(a)===this.getOptionKey(w)},findOptionFromReducedValue(a){const w=A=>JSON.stringify(this.reduce(A))===JSON.stringify(a),s=[...this.options,...this.pushedTags].filter(w);return s.length===1?s[0]:s.find(A=>this.optionComparator(A,this.$data._value))||a},closeSearchOptions(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){let a=null;this.multiple&&(a=[...this.selectedValue.slice(0,this.selectedValue.length-1)]),this.updateValue(a)}},optionExists(a){return this.optionList.some(w=>this.optionComparator(w,a))},normalizeOptionForSlot(a){return typeof a=="object"?a:{[this.label]:a}},pushTag(a){this.pushedTags.push(a)},onEscape(){this.search.length?this.search="":this.searchEl.blur()},onSearchBlur(){if(this.mousedown&&!this.searching)this.mousedown=!1;else{const{clearSearchOnSelect:a,multiple:w}=this;this.clearSearchOnBlur({clearSearchOnSelect:a,multiple:w})&&(this.search=""),this.closeSearchOptions();return}if(this.search.length===0&&this.options.length===0){this.closeSearchOptions();return}},onSearchFocus(){this.open=!0,this.$emit("search:focus")},onMousedown(){this.mousedown=!0},onMouseUp(){this.mousedown=!1},onSearchKeyDown(a){const w=H=>(H.preventDefault(),!this.isComposing&&this.typeAheadSelect()),s={8:H=>this.maybeDeleteValue(),9:H=>this.onTab(),27:H=>this.onEscape(),38:H=>(H.preventDefault(),this.typeAheadUp()),40:H=>(H.preventDefault(),this.typeAheadDown())};this.selectOnKeyCodes.forEach(H=>s[H]=w);const A=this.mapKeydown(s,this);if(typeof A[a.keyCode]=="function")return A[a.keyCode](a)}}},p_=["dir"],d_=["id","aria-expanded","aria-owns"],g_={ref:"selectedOptions",class:"vs__selected-options"},__=["disabled","title","aria-label","onClick"],v_={ref:"actions",class:"vs__actions"},w_=["disabled"],m_={class:"vs__spinner"},y_=["id"],x_=["id","aria-selected","onMouseover","onClick"],b_={key:0,class:"vs__no-options"},A_=vt(" Sorry, no matching options. "),O_=["id"];function S_(a,w,s,A,H,T){const q=Rg("append-to-body");return fn(),Rn("div",{dir:s.dir,class:Ki(["v-select",T.stateClasses])},[Un(a.$slots,"header",$n(zn(T.scope.header))),N("div",{id:`vs${s.uid}__combobox`,ref:"toggle",class:"vs__dropdown-toggle",role:"combobox","aria-expanded":T.dropdownOpen.toString(),"aria-owns":`vs${s.uid}__listbox`,"aria-label":"Search for option",onMousedown:w[1]||(w[1]=C=>T.toggleDropdown(C))},[N("div",g_,[(fn(!0),Rn(Ss,null,Cs(T.selectedValue,(C,U)=>Un(a.$slots,"selected-option-container",{option:T.normalizeOptionForSlot(C),deselect:T.deselect,multiple:s.multiple,disabled:s.disabled},()=>[(fn(),Rn("span",{key:s.getOptionKey(C),class:"vs__selected"},[Un(a.$slots,"selected-option",$n(zn(T.normalizeOptionForSlot(C))),()=>[vt(Hi(s.getOptionLabel(C)),1)]),s.multiple?(fn(),Rn("button",{key:0,ref_for:!0,ref:xn=>H.deselectButtons[U]=xn,disabled:s.disabled,type:"button",class:"vs__deselect",title:`Deselect ${s.getOptionLabel(C)}`,"aria-label":`Deselect ${s.getOptionLabel(C)}`,onClick:xn=>T.deselect(C)},[(fn(),Wi(Ui(T.childComponents.Deselect)))],8,__)):$i("",!0)]))])),256)),Un(a.$slots,"search",$n(zn(T.scope.search)),()=>[N("input",Ts({class:"vs__search"},T.scope.search.attributes,Pg(T.scope.search.events)),null,16)])],512),N("div",v_,[Ni(N("button",{ref:"clearButton",disabled:s.disabled,type:"button",class:"vs__clear",title:"Clear Selected","aria-label":"Clear Selected",onClick:w[0]||(w[0]=(...C)=>T.clearSelection&&T.clearSelection(...C))},[(fn(),Wi(Ui(T.childComponents.Deselect)))],8,w_),[[Ls,T.showClearButton]]),Un(a.$slots,"open-indicator",$n(zn(T.scope.openIndicator)),()=>[s.noDrop?$i("",!0):(fn(),Wi(Ui(T.childComponents.OpenIndicator),$n(Ts({key:0},T.scope.openIndicator.attributes)),null,16))]),Un(a.$slots,"spinner",$n(zn(T.scope.spinner)),()=>[Ni(N("div",m_,"Loading...",512),[[Ls,a.mutableLoading]])])],512)],40,d_),pr(Dg,{name:s.transition},{default:Bg(()=>[T.dropdownOpen?Ni((fn(),Rn("ul",{id:`vs${s.uid}__listbox`,ref:"dropdownMenu",key:`vs${s.uid}__listbox`,class:"vs__dropdown-menu",role:"listbox",tabindex:"-1",onMousedown:w[2]||(w[2]=Is((...C)=>T.onMousedown&&T.onMousedown(...C),["prevent"])),onMouseup:w[3]||(w[3]=(...C)=>T.onMouseUp&&T.onMouseUp(...C))},[Un(a.$slots,"list-header",$n(zn(T.scope.listHeader))),(fn(!0),Rn(Ss,null,Cs(T.filteredOptions,(C,U)=>(fn(),Rn("li",{id:`vs${s.uid}__option-${U}`,key:s.getOptionKey(C),role:"option",class:Ki(["vs__dropdown-option",{"vs__dropdown-option--deselect":T.isOptionDeselectable(C)&&U===a.typeAheadPointer,"vs__dropdown-option--selected":T.isOptionSelected(C),"vs__dropdown-option--highlight":U===a.typeAheadPointer,"vs__dropdown-option--disabled":!s.selectable(C)}]),"aria-selected":U===a.typeAheadPointer?!0:null,onMouseover:xn=>s.selectable(C)?a.typeAheadPointer=U:null,onClick:Is(xn=>s.selectable(C)?T.select(C):null,["prevent","stop"])},[Un(a.$slots,"option",$n(zn(T.normalizeOptionForSlot(C))),()=>[vt(Hi(s.getOptionLabel(C)),1)])],42,x_))),128)),T.filteredOptions.length===0?(fn(),Rn("li",b_,[Un(a.$slots,"no-options",$n(zn(T.scope.noOptions)),()=>[A_])])):$i("",!0),Un(a.$slots,"list-footer",$n(zn(T.scope.listFooter)))],40,y_)),[[q]]):(fn(),Rn("ul",{key:1,id:`vs${s.uid}__listbox`,role:"listbox",style:{display:"none",visibility:"hidden"}},null,8,O_))]),_:3},8,["name"]),Un(a.$slots,"footer",$n(zn(T.scope.footer)))],10,p_)}const Gi=qi(h_,[["render",S_]]);const C_=N("h1",{id:"数据文件-msg-示例",tabindex:"-1"},[vt("数据文件-Msg 示例 "),N("a",{class:"header-anchor",href:"#数据文件-msg-示例","aria-label":'Permalink to "数据文件-Msg 示例"'},"​")],-1),T_=N("p",null,"示例有以下三种查看方式",-1),L_=N("h4",{id:"from-json",tabindex:"-1"},[vt("from JSON "),N("a",{class:"header-anchor",href:"#from-json","aria-label":'Permalink to "from JSON"'},"​")],-1),I_={id:"msg-template"},E_={class:"row"},R_={class:"col"},P_=N("label",null,"source",-1),B_={class:"col"},D_=N("label",null,"type",-1),F_=N("label",null,"$source.os",-1),M_={class:"language-js"},W_=N("button",{title:"Copy Code",class:"copy"},null,-1),U_=N("span",{class:"lang"},"js",-1),$_={class:"shiki material-theme-palenight"},N_={class:"line"},G_={style:{color:"#A6ACCD"}},H_=Wg("",5),V_=JSON.parse('{"title":"数据文件-Msg 示例","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/template/index.md","filePath":"guide/use/msg/template/index.md","lastUpdated":1693793714000}'),K_={name:"guide/use/msg/template/index.md"},z_=Object.assign(K_,{setup(a){Fg(async()=>{w=await fetch("https://demo.shmily.lqzh.me/json/msg/msg.json").then(C=>C.json());const q=w.reduce((C,U,xn,ze)=>{let an=C.find(tn=>tn.source===U.source);an||(an={source:U.source,type:[]},C.push(an));let ue=an.type.find(tn=>tn.type===U.type);ue||(ue={type:U.type,os:[]},an.type.push(ue));const Yn=Object.keys(U).find(tn=>tn.startsWith("$"));if(Yn){let tn=Gg.get(U,`${Yn}.os`);tn&&!ue.os.includes(tn)&&ue.os.push(tn)}return C},[]);s.push(...q)});let w=[];const s=Es([]),A=Es({source:"",type:"",os:""}),H=Mg(()=>{if(!A.source||!A.type)return[];const q=A.source.source,C=A.type.type,U=w.filter(xn=>xn.source===q&&xn.type===C);return A.type.os.length===0?U:U.filter(xn=>xn[`$${q}`].os===A.os)});function T(q){q==="source"?(A.type="",A.os=""):q==="type"&&(A.type.os.length===1?A.os=A.type.os[0]:A.os="")}return(q,C)=>(fn(),Rn("div",null,[C_,T_,L_,N("div",I_,[N("div",E_,[N("div",R_,[P_,pr(hr(Gi),{options:s,label:"source",modelValue:A.source,"onUpdate:modelValue":C[0]||(C[0]=U=>A.source=U),"onOption:selected":C[1]||(C[1]=U=>T("source"))},null,8,["options","modelValue"])]),N("div",B_,[D_,pr(hr(Gi),{options:A.source?A.source.type:[],label:"type",modelValue:A.type,"onUpdate:modelValue":C[2]||(C[2]=U=>A.type=U),"onOption:selected":C[3]||(C[3]=U=>T("type"))},null,8,["options","modelValue"])]),N("div",{class:Ki(["col",{disable:!A.type||A.type.os.length===0}])},[F_,pr(hr(Gi),{options:A.type?A.type.os:[],modelValue:A.os,"onUpdate:modelValue":C[4]||(C[4]=U=>A.os=U)},null,8,["options","modelValue"])],2)])]),N("div",M_,[W_,U_,N("pre",$_,[N("code",null,[N("span",N_,[N("span",G_,Hi(hr(H).slice(0,1)),1)])])])]),H_]))}});export{V_ as __pageData,z_ as default}; +https://vue-select.org/api/props.html#getoptionkey`,a,w)}}},onTab:{type:Function,default:function(){this.selectOnTab&&!this.isComposing&&this.typeAheadSelect()}},taggable:{type:Boolean,default:!1},tabindex:{type:Number,default:null},pushTags:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0},filterBy:{type:Function,default(a,w,s){return(w||"").toLocaleLowerCase().indexOf(s.toLocaleLowerCase())>-1}},filter:{type:Function,default(a,w){return a.filter(s=>{let A=this.getOptionLabel(s);return typeof A=="number"&&(A=A.toString()),this.filterBy(s,A,w)})}},createOption:{type:Function,default(a){return typeof this.optionList[0]=="object"?{[this.label]:a}:a}},resetOnOptionsChange:{default:!1,validator:a=>["function","boolean"].includes(typeof a)},clearSearchOnBlur:{type:Function,default:function({clearSearchOnSelect:a,multiple:w}){return a&&!w}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:()=>[13]},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:(a,w)=>a},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default(a,w,{width:s,top:A,left:G}){a.style.top=A,a.style.left=G,a.style.width=s}},dropdownShouldOpen:{type:Function,default({noDrop:a,open:w,mutableLoading:s}){return a?!1:w&&!s}},uid:{type:[String,Number],default:()=>c_()}},data(){return{search:"",open:!1,isComposing:!1,pushedTags:[],_value:[],deselectButtons:[]}},computed:{isReducingValues(){return this.$props.reduce!==this.$options.props.reduce.default},isTrackingValues(){return typeof this.modelValue>"u"||this.isReducingValues},selectedValue(){let a=this.modelValue;return this.isTrackingValues&&(a=this.$data._value),a!=null&&a!==""?[].concat(a):[]},optionList(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl(){return this.$slots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope(){const a={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:Ve({disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,id:this.inputId,"aria-autocomplete":"list","aria-labelledby":`vs${this.uid}__combobox`,"aria-controls":`vs${this.uid}__listbox`,ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":`vs${this.uid}__option-${this.typeAheadPointer}`}:{}),events:{compositionstart:()=>this.isComposing=!0,compositionend:()=>this.isComposing=!1,keydown:this.onSearchKeyDown,blur:this.onSearchBlur,focus:this.onSearchFocus,input:w=>this.search=w.target.value}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:a,listFooter:a,header:Bs(Ve({},a),{deselect:this.deselect}),footer:Bs(Ve({},a),{deselect:this.deselect})}},childComponents(){return Ve(Ve({},Ds),this.components)},stateClasses(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching(){return!!this.search},dropdownOpen(){return this.dropdownShouldOpen(this)},searchPlaceholder(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions(){const a=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return a;const w=this.search.length?this.filter(a,this.search,this):a;if(this.taggable&&this.search.length){const s=this.createOption(this.search);this.optionExists(s)||w.unshift(s)}return w},isValueEmpty(){return this.selectedValue.length===0},showClearButton(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options(a,w){const s=()=>typeof this.resetOnOptionsChange=="function"?this.resetOnOptionsChange(a,w,this.selectedValue):this.resetOnOptionsChange;!this.taggable&&s()&&this.clearSelection(),this.modelValue&&this.isTrackingValues&&this.setInternalValueFromOptions(this.modelValue)},modelValue:{immediate:!0,handler(a){this.isTrackingValues&&this.setInternalValueFromOptions(a)}},multiple(){this.clearSelection()},open(a){this.$emit(a?"open":"close")}},created(){this.mutableLoading=this.loading},methods:{setInternalValueFromOptions(a){Array.isArray(a)?this.$data._value=a.map(w=>this.findOptionFromReducedValue(w)):this.$data._value=this.findOptionFromReducedValue(a)},select(a){this.$emit("option:selecting",a),this.isOptionSelected(a)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(a):(this.taggable&&!this.optionExists(a)&&(this.$emit("option:created",a),this.pushTag(a)),this.multiple&&(a=this.selectedValue.concat(a)),this.updateValue(a),this.$emit("option:selected",a)),this.onAfterSelect(a)},deselect(a){this.$emit("option:deselecting",a),this.updateValue(this.selectedValue.filter(w=>!this.optionComparator(w,a))),this.$emit("option:deselected",a)},clearSelection(){this.updateValue(this.multiple?[]:null)},onAfterSelect(a){this.closeOnSelect&&(this.open=!this.open,this.searchEl.blur()),this.clearSearchOnSelect&&(this.search="")},updateValue(a){typeof this.modelValue>"u"&&(this.$data._value=a),a!==null&&(Array.isArray(a)?a=a.map(w=>this.reduce(w)):a=this.reduce(a)),this.$emit("update:modelValue",a)},toggleDropdown(a){const w=a.target!==this.searchEl;w&&a.preventDefault();const s=[...this.deselectButtons||[],this.$refs.clearButton];if(this.searchEl===void 0||s.filter(Boolean).some(A=>A.contains(a.target)||A===a.target)){a.preventDefault();return}this.open&&w?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected(a){return this.selectedValue.some(w=>this.optionComparator(w,a))},isOptionDeselectable(a){return this.isOptionSelected(a)&&this.deselectFromDropdown},optionComparator(a,w){return this.getOptionKey(a)===this.getOptionKey(w)},findOptionFromReducedValue(a){const w=A=>JSON.stringify(this.reduce(A))===JSON.stringify(a),s=[...this.options,...this.pushedTags].filter(w);return s.length===1?s[0]:s.find(A=>this.optionComparator(A,this.$data._value))||a},closeSearchOptions(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){let a=null;this.multiple&&(a=[...this.selectedValue.slice(0,this.selectedValue.length-1)]),this.updateValue(a)}},optionExists(a){return this.optionList.some(w=>this.optionComparator(w,a))},normalizeOptionForSlot(a){return typeof a=="object"?a:{[this.label]:a}},pushTag(a){this.pushedTags.push(a)},onEscape(){this.search.length?this.search="":this.searchEl.blur()},onSearchBlur(){if(this.mousedown&&!this.searching)this.mousedown=!1;else{const{clearSearchOnSelect:a,multiple:w}=this;this.clearSearchOnBlur({clearSearchOnSelect:a,multiple:w})&&(this.search=""),this.closeSearchOptions();return}if(this.search.length===0&&this.options.length===0){this.closeSearchOptions();return}},onSearchFocus(){this.open=!0,this.$emit("search:focus")},onMousedown(){this.mousedown=!0},onMouseUp(){this.mousedown=!1},onSearchKeyDown(a){const w=G=>(G.preventDefault(),!this.isComposing&&this.typeAheadSelect()),s={8:G=>this.maybeDeleteValue(),9:G=>this.onTab(),27:G=>this.onEscape(),38:G=>(G.preventDefault(),this.typeAheadUp()),40:G=>(G.preventDefault(),this.typeAheadDown())};this.selectOnKeyCodes.forEach(G=>s[G]=w);const A=this.mapKeydown(s,this);if(typeof A[a.keyCode]=="function")return A[a.keyCode](a)}}},p_=["dir"],d_=["id","aria-expanded","aria-owns"],g_={ref:"selectedOptions",class:"vs__selected-options"},__=["disabled","title","aria-label","onClick"],v_={ref:"actions",class:"vs__actions"},w_=["disabled"],m_={class:"vs__spinner"},y_=["id"],x_=["id","aria-selected","onMouseover","onClick"],b_={key:0,class:"vs__no-options"},A_=vt(" Sorry, no matching options. "),O_=["id"];function S_(a,w,s,A,G,T){const q=Rg("append-to-body");return fn(),Rn("div",{dir:s.dir,class:Ki(["v-select",T.stateClasses])},[$n(a.$slots,"header",Un(zn(T.scope.header))),M("div",{id:`vs${s.uid}__combobox`,ref:"toggle",class:"vs__dropdown-toggle",role:"combobox","aria-expanded":T.dropdownOpen.toString(),"aria-owns":`vs${s.uid}__listbox`,"aria-label":"Search for option",onMousedown:w[1]||(w[1]=C=>T.toggleDropdown(C))},[M("div",g_,[(fn(!0),Rn(Ss,null,Cs(T.selectedValue,(C,U)=>$n(a.$slots,"selected-option-container",{option:T.normalizeOptionForSlot(C),deselect:T.deselect,multiple:s.multiple,disabled:s.disabled},()=>[(fn(),Rn("span",{key:s.getOptionKey(C),class:"vs__selected"},[$n(a.$slots,"selected-option",Un(zn(T.normalizeOptionForSlot(C))),()=>[vt(pr(s.getOptionLabel(C)),1)]),s.multiple?(fn(),Rn("button",{key:0,ref_for:!0,ref:xn=>G.deselectButtons[U]=xn,disabled:s.disabled,type:"button",class:"vs__deselect",title:`Deselect ${s.getOptionLabel(C)}`,"aria-label":`Deselect ${s.getOptionLabel(C)}`,onClick:xn=>T.deselect(C)},[(fn(),Wi($i(T.childComponents.Deselect)))],8,__)):Ui("",!0)]))])),256)),$n(a.$slots,"search",Un(zn(T.scope.search)),()=>[M("input",Ts({class:"vs__search"},T.scope.search.attributes,Pg(T.scope.search.events)),null,16)])],512),M("div",v_,[Ni(M("button",{ref:"clearButton",disabled:s.disabled,type:"button",class:"vs__clear",title:"Clear Selected","aria-label":"Clear Selected",onClick:w[0]||(w[0]=(...C)=>T.clearSelection&&T.clearSelection(...C))},[(fn(),Wi($i(T.childComponents.Deselect)))],8,w_),[[Ls,T.showClearButton]]),$n(a.$slots,"open-indicator",Un(zn(T.scope.openIndicator)),()=>[s.noDrop?Ui("",!0):(fn(),Wi($i(T.childComponents.OpenIndicator),Un(Ts({key:0},T.scope.openIndicator.attributes)),null,16))]),$n(a.$slots,"spinner",Un(zn(T.scope.spinner)),()=>[Ni(M("div",m_,"Loading...",512),[[Ls,a.mutableLoading]])])],512)],40,d_),hr(Dg,{name:s.transition},{default:Bg(()=>[T.dropdownOpen?Ni((fn(),Rn("ul",{id:`vs${s.uid}__listbox`,ref:"dropdownMenu",key:`vs${s.uid}__listbox`,class:"vs__dropdown-menu",role:"listbox",tabindex:"-1",onMousedown:w[2]||(w[2]=Es((...C)=>T.onMousedown&&T.onMousedown(...C),["prevent"])),onMouseup:w[3]||(w[3]=(...C)=>T.onMouseUp&&T.onMouseUp(...C))},[$n(a.$slots,"list-header",Un(zn(T.scope.listHeader))),(fn(!0),Rn(Ss,null,Cs(T.filteredOptions,(C,U)=>(fn(),Rn("li",{id:`vs${s.uid}__option-${U}`,key:s.getOptionKey(C),role:"option",class:Ki(["vs__dropdown-option",{"vs__dropdown-option--deselect":T.isOptionDeselectable(C)&&U===a.typeAheadPointer,"vs__dropdown-option--selected":T.isOptionSelected(C),"vs__dropdown-option--highlight":U===a.typeAheadPointer,"vs__dropdown-option--disabled":!s.selectable(C)}]),"aria-selected":U===a.typeAheadPointer?!0:null,onMouseover:xn=>s.selectable(C)?a.typeAheadPointer=U:null,onClick:Es(xn=>s.selectable(C)?T.select(C):null,["prevent","stop"])},[$n(a.$slots,"option",Un(zn(T.normalizeOptionForSlot(C))),()=>[vt(pr(s.getOptionLabel(C)),1)])],42,x_))),128)),T.filteredOptions.length===0?(fn(),Rn("li",b_,[$n(a.$slots,"no-options",Un(zn(T.scope.noOptions)),()=>[A_])])):Ui("",!0),$n(a.$slots,"list-footer",Un(zn(T.scope.listFooter)))],40,y_)),[[q]]):(fn(),Rn("ul",{key:1,id:`vs${s.uid}__listbox`,role:"listbox",style:{display:"none",visibility:"hidden"}},null,8,O_))]),_:3},8,["name"]),$n(a.$slots,"footer",Un(zn(T.scope.footer)))],10,p_)}const Hi=qi(h_,[["render",S_]]);const C_=M("h1",{id:"数据文件-msg-示例",tabindex:"-1"},[vt("数据文件-Msg 示例 "),M("a",{class:"header-anchor",href:"#数据文件-msg-示例","aria-label":'Permalink to "数据文件-Msg 示例"'},"​")],-1),T_=M("p",null,"示例有以下三种查看方式",-1),L_=M("h4",{id:"from-json",tabindex:"-1"},[vt("from JSON "),M("a",{class:"header-anchor",href:"#from-json","aria-label":'Permalink to "from JSON"'},"​")],-1),E_={id:"msg-template"},I_={class:"row"},R_={class:"col"},P_=M("label",null,"source",-1),B_={class:"col"},D_=M("label",null,"type",-1),F_=M("label",null,"$source.os",-1),M_={class:"language-js vp-adaptive-theme"},W_=M("button",{title:"Copy Code",class:"copy"},null,-1),$_=M("span",{class:"lang"},"js",-1),U_={class:"shiki github-dark vp-code-dark"},N_={class:"line"},G_={style:{color:"#E1E4E8"}},H_={class:"shiki github-light vp-code-light"},K_={class:"line"},q_={style:{color:"#24292E"}},V_=Wg("",5),Z_=JSON.parse('{"title":"数据文件-Msg 示例","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/msg/template/index.md","filePath":"guide/use/msg/template/index.md","lastUpdated":1693818631000}'),z_={name:"guide/use/msg/template/index.md"},J_=Object.assign(z_,{setup(a){Fg(async()=>{w=await fetch("https://demo.shmily.lqzh.me/json/msg/msg.json").then(C=>C.json());const q=w.reduce((C,U,xn,ze)=>{let an=C.find(tn=>tn.source===U.source);an||(an={source:U.source,type:[]},C.push(an));let ue=an.type.find(tn=>tn.type===U.type);ue||(ue={type:U.type,os:[]},an.type.push(ue));const Yn=Object.keys(U).find(tn=>tn.startsWith("$"));if(Yn){let tn=Gg.get(U,`${Yn}.os`);tn&&!ue.os.includes(tn)&&ue.os.push(tn)}return C},[]);s.push(...q)});let w=[];const s=Is([]),A=Is({source:"",type:"",os:""}),G=Mg(()=>{if(!A.source||!A.type)return[];const q=A.source.source,C=A.type.type,U=w.filter(xn=>xn.source===q&&xn.type===C);return A.type.os.length===0?U:U.filter(xn=>xn[`$${q}`].os===A.os)});function T(q){q==="source"?(A.type="",A.os=""):q==="type"&&(A.type.os.length===1?A.os=A.type.os[0]:A.os="")}return(q,C)=>(fn(),Rn("div",null,[C_,T_,L_,M("div",E_,[M("div",I_,[M("div",R_,[P_,hr(Gi(Hi),{options:s,label:"source",modelValue:A.source,"onUpdate:modelValue":C[0]||(C[0]=U=>A.source=U),"onOption:selected":C[1]||(C[1]=U=>T("source"))},null,8,["options","modelValue"])]),M("div",B_,[D_,hr(Gi(Hi),{options:A.source?A.source.type:[],label:"type",modelValue:A.type,"onUpdate:modelValue":C[2]||(C[2]=U=>A.type=U),"onOption:selected":C[3]||(C[3]=U=>T("type"))},null,8,["options","modelValue"])]),M("div",{class:Ki(["col",{disable:!A.type||A.type.os.length===0}])},[F_,hr(Gi(Hi),{options:A.type?A.type.os:[],modelValue:A.os,"onUpdate:modelValue":C[4]||(C[4]=U=>A.os=U)},null,8,["options","modelValue"])],2)])]),M("div",M_,[W_,$_,M("pre",U_,[M("code",null,[M("span",N_,[M("span",G_,pr(G.value.slice(0,1)),1)])])]),M("pre",H_,[M("code",null,[M("span",K_,[M("span",q_,pr(G.value.slice(0,1)),1)])])])]),V_]))}});export{Z_ as __pageData,J_ as default}; diff --git a/assets/guide_use_show.md.e2be3ad0.js b/assets/guide_use_show.md.08566203.js similarity index 89% rename from assets/guide_use_show.md.e2be3ad0.js rename to assets/guide_use_show.md.08566203.js index 116ce5f9..7c2c9e3d 100644 --- a/assets/guide_use_show.md.e2be3ad0.js +++ b/assets/guide_use_show.md.08566203.js @@ -1 +1 @@ -import{_ as e,o,c as a,O as t}from"./chunks/framework.1a8457a3.js";const f=JSON.parse('{"title":"Show","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/show.md","filePath":"guide/use/show.md","lastUpdated":1693793714000}'),r={name:"guide/use/show.md"},h=t('

Show

显示 和 ModifyServer

Demo
',5),i=[h];function s(l,d,n,c,_,m){return o(),a("div",null,i)}const S=e(r,[["render",s]]);export{f as __pageData,S as default}; +import{_ as e,o,c as a,Q as t}from"./chunks/framework.44ff8bb5.js";const f=JSON.parse('{"title":"Show","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/show.md","filePath":"guide/use/show.md","lastUpdated":1693818631000}'),r={name:"guide/use/show.md"},h=t('

Show

显示 和 ModifyServer

Demo
',5),i=[h];function s(l,d,n,c,_,m){return o(),a("div",null,i)}const S=e(r,[["render",s]]);export{f as __pageData,S as default}; diff --git a/assets/guide_use_show.md.e2be3ad0.lean.js b/assets/guide_use_show.md.08566203.lean.js similarity index 68% rename from assets/guide_use_show.md.e2be3ad0.lean.js rename to assets/guide_use_show.md.08566203.lean.js index b74b51f1..f374823d 100644 --- a/assets/guide_use_show.md.e2be3ad0.lean.js +++ b/assets/guide_use_show.md.08566203.lean.js @@ -1 +1 @@ -import{_ as e,o,c as a,O as t}from"./chunks/framework.1a8457a3.js";const f=JSON.parse('{"title":"Show","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/show.md","filePath":"guide/use/show.md","lastUpdated":1693793714000}'),r={name:"guide/use/show.md"},h=t("",5),i=[h];function s(l,d,n,c,_,m){return o(),a("div",null,i)}const S=e(r,[["render",s]]);export{f as __pageData,S as default}; +import{_ as e,o,c as a,Q as t}from"./chunks/framework.44ff8bb5.js";const f=JSON.parse('{"title":"Show","description":"","frontmatter":{},"headers":[],"relativePath":"guide/use/show.md","filePath":"guide/use/show.md","lastUpdated":1693818631000}'),r={name:"guide/use/show.md"},h=t("",5),i=[h];function s(l,d,n,c,_,m){return o(),a("div",null,i)}const S=e(r,[["render",s]]);export{f as __pageData,S as default}; diff --git a/assets/guide_what-is.md.e3704863.js b/assets/guide_what-is.md.bbd3e62f.js similarity index 91% rename from assets/guide_what-is.md.e3704863.js rename to assets/guide_what-is.md.bbd3e62f.js index 6c6c423d..b8d8a658 100644 --- a/assets/guide_what-is.md.e3704863.js +++ b/assets/guide_what-is.md.bbd3e62f.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,O as o}from"./chunks/framework.1a8457a3.js";const u=JSON.parse('{"title":"这是啥","description":"","frontmatter":{},"headers":[],"relativePath":"guide/what-is.md","filePath":"guide/what-is.md","lastUpdated":1693793714000}'),s={name:"guide/what-is.md"},i=o('

这是啥

一个悲伤的故事

我想归档 QQ 微信 短信等记录为冷数据, 搜了一圈发现并没有符合以下条件的方案

  • QQ 微信 等记录能融合, 并用时间线查看
  • 支持搜索过滤查询
  • 可以给消息评论
  • 有图表分析

然后开始自己造轮子, 以为很简单的项目, 陆陆续续搞了近 3 年, 主要是各种解密难度超乎想象~

吐槽, 什么让摩尔定律停下脚步? 什么让手机电量锁死一天?

手机忙得最多的就是加解密吧... 表情包都要加密 2 次呢

总之我把 归档 这事 "导出" 和 "显示" 分离了, 导出叫 Get, 显示叫 Show, 中间用 <JSON>Msg 粘合

少啰嗦,先看Demo

 

最后

不支持用户数据导出的公司都是耍流氓~

Adun Toridas

今天,我们将夺回我们的家园,夺回我们的遗产!

',13),l=[i];function h(r,p,c,m,d,n){return e(),a("div",null,l)}const g=t(s,[["render",h]]);export{u as __pageData,g as default}; +import{_ as t,o as e,c as a,Q as o}from"./chunks/framework.44ff8bb5.js";const u=JSON.parse('{"title":"这是啥","description":"","frontmatter":{},"headers":[],"relativePath":"guide/what-is.md","filePath":"guide/what-is.md","lastUpdated":1693818631000}'),s={name:"guide/what-is.md"},i=o('

这是啥

一个悲伤的故事

我想归档 QQ 微信 短信等记录为冷数据, 搜了一圈发现并没有符合以下条件的方案

  • QQ 微信 等记录能融合, 并用时间线查看
  • 支持搜索过滤查询
  • 可以给消息评论
  • 有图表分析

然后开始自己造轮子, 以为很简单的项目, 陆陆续续搞了近 3 年, 主要是各种解密难度超乎想象~

吐槽, 什么让摩尔定律停下脚步? 什么让手机电量锁死一天?

手机忙得最多的就是加解密吧... 表情包都要加密 2 次呢

总之我把 归档 这事 "导出" 和 "显示" 分离了, 导出叫 Get, 显示叫 Show, 中间用 <JSON>Msg 粘合

少啰嗦,先看Demo

 

最后

不支持用户数据导出的公司都是耍流氓~

Adun Toridas

今天,我们将夺回我们的家园,夺回我们的遗产!

',13),l=[i];function h(r,p,c,m,d,n){return e(),a("div",null,l)}const g=t(s,[["render",h]]);export{u as __pageData,g as default}; diff --git a/assets/guide_what-is.md.e3704863.lean.js b/assets/guide_what-is.md.bbd3e62f.lean.js similarity index 53% rename from assets/guide_what-is.md.e3704863.lean.js rename to assets/guide_what-is.md.bbd3e62f.lean.js index 0b8b8f2d..3b183d87 100644 --- a/assets/guide_what-is.md.e3704863.lean.js +++ b/assets/guide_what-is.md.bbd3e62f.lean.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,O as o}from"./chunks/framework.1a8457a3.js";const u=JSON.parse('{"title":"这是啥","description":"","frontmatter":{},"headers":[],"relativePath":"guide/what-is.md","filePath":"guide/what-is.md","lastUpdated":1693793714000}'),s={name:"guide/what-is.md"},i=o("",13),l=[i];function h(r,p,c,m,d,n){return e(),a("div",null,l)}const g=t(s,[["render",h]]);export{u as __pageData,g as default}; +import{_ as t,o as e,c as a,Q as o}from"./chunks/framework.44ff8bb5.js";const u=JSON.parse('{"title":"这是啥","description":"","frontmatter":{},"headers":[],"relativePath":"guide/what-is.md","filePath":"guide/what-is.md","lastUpdated":1693818631000}'),s={name:"guide/what-is.md"},i=o("",13),l=[i];function h(r,p,c,m,d,n){return e(),a("div",null,l)}const g=t(s,[["render",h]]);export{u as __pageData,g as default}; diff --git a/assets/index.md.d7ce6d78.js b/assets/index.md.939a1e72.js similarity index 85% rename from assets/index.md.d7ce6d78.js rename to assets/index.md.939a1e72.js index f4194cb5..2dd87cba 100644 --- a/assets/index.md.d7ce6d78.js +++ b/assets/index.md.939a1e72.js @@ -1 +1 @@ -import{_ as e,o as t,c as a}from"./chunks/framework.1a8457a3.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"SHMILY","text":"历史的归档","tagline":"QQ、Wechat、SMS……","image":{"src":"/favicon.png","alt":"VitePress"},"actions":[{"theme":"brand","text":"开始文档","link":"/guide/what-is"},{"theme":"alt","text":"Demo演示","link":"http://demo.shmily.lqzh.me/"}]},"features":[{"icon":"🎯","title":"多来源","details":"时间线合并查看"},{"icon":"🛠️","title":"可编辑与评论","details":"给历史做上标记"},{"icon":"📈","title":"大数据图表统计","details":"换个角度看看"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1693793714000}'),i={name:"index.md"};function n(o,s,r,c,d,l){return t(),a("div")}const h=e(i,[["render",n]]);export{p as __pageData,h as default}; +import{_ as e,o as t,c as a}from"./chunks/framework.44ff8bb5.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"SHMILY","text":"历史的归档","tagline":"QQ、Wechat、SMS……","image":{"src":"/favicon.png","alt":"VitePress"},"actions":[{"theme":"brand","text":"开始文档","link":"/guide/what-is"},{"theme":"alt","text":"Demo演示","link":"http://demo.shmily.lqzh.me/"}]},"features":[{"icon":"🎯","title":"多来源","details":"时间线合并查看"},{"icon":"🛠️","title":"可编辑与评论","details":"给历史做上标记"},{"icon":"📈","title":"大数据图表统计","details":"换个角度看看"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1693818631000}'),i={name:"index.md"};function n(o,s,r,c,d,l){return t(),a("div")}const h=e(i,[["render",n]]);export{p as __pageData,h as default}; diff --git a/assets/index.md.d7ce6d78.lean.js b/assets/index.md.939a1e72.lean.js similarity index 85% rename from assets/index.md.d7ce6d78.lean.js rename to assets/index.md.939a1e72.lean.js index f4194cb5..2dd87cba 100644 --- a/assets/index.md.d7ce6d78.lean.js +++ b/assets/index.md.939a1e72.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a}from"./chunks/framework.1a8457a3.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"SHMILY","text":"历史的归档","tagline":"QQ、Wechat、SMS……","image":{"src":"/favicon.png","alt":"VitePress"},"actions":[{"theme":"brand","text":"开始文档","link":"/guide/what-is"},{"theme":"alt","text":"Demo演示","link":"http://demo.shmily.lqzh.me/"}]},"features":[{"icon":"🎯","title":"多来源","details":"时间线合并查看"},{"icon":"🛠️","title":"可编辑与评论","details":"给历史做上标记"},{"icon":"📈","title":"大数据图表统计","details":"换个角度看看"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1693793714000}'),i={name:"index.md"};function n(o,s,r,c,d,l){return t(),a("div")}const h=e(i,[["render",n]]);export{p as __pageData,h as default}; +import{_ as e,o as t,c as a}from"./chunks/framework.44ff8bb5.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"SHMILY","text":"历史的归档","tagline":"QQ、Wechat、SMS……","image":{"src":"/favicon.png","alt":"VitePress"},"actions":[{"theme":"brand","text":"开始文档","link":"/guide/what-is"},{"theme":"alt","text":"Demo演示","link":"http://demo.shmily.lqzh.me/"}]},"features":[{"icon":"🎯","title":"多来源","details":"时间线合并查看"},{"icon":"🛠️","title":"可编辑与评论","details":"给历史做上标记"},{"icon":"📈","title":"大数据图表统计","details":"换个角度看看"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1693818631000}'),i={name:"index.md"};function n(o,s,r,c,d,l){return t(),a("div")}const h=e(i,[["render",n]]);export{p as __pageData,h as default}; diff --git a/assets/style.6c1cdf69.css b/assets/style.6c1cdf69.css new file mode 100644 index 00000000..0c4efd59 --- /dev/null +++ b/assets/style.6c1cdf69.css @@ -0,0 +1 @@ +@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-green-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-green-1);--vp-code-line-diff-remove-color: var(--vp-c-red-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red-1);--vp-code-line-warning-color: var(--vp-c-yellow-soft);--vp-code-line-error-color: var(--vp-c-red-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-brand-soft);--vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-gray-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-brand-1);--vp-badge-tip-bg: var(--vp-c-brand-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-green-1);--vp-local-search-highlight-text: var(--vp-c-black)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-brand-1)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-9613cc9f]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.vp-doc h1>.VPBadge[data-v-9613cc9f]{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge[data-v-9613cc9f]{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge[data-v-9613cc9f]{vertical-align:middle}.vp-doc h4>.VPBadge[data-v-9613cc9f],.vp-doc h5>.VPBadge[data-v-9613cc9f],.vp-doc h6>.VPBadge[data-v-9613cc9f]{vertical-align:middle;line-height:18px}.VPBadge.info[data-v-9613cc9f]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-9613cc9f]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-9613cc9f]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-9613cc9f]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-c79a1216]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-c79a1216],.VPBackdrop.fade-leave-to[data-v-c79a1216]{opacity:0}.VPBackdrop.fade-leave-active[data-v-c79a1216]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-c79a1216]{display:none}}.NotFound[data-v-f87ff6e4]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-f87ff6e4]{padding:96px 32px 168px}}.code[data-v-f87ff6e4]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-f87ff6e4]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-f87ff6e4]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-f87ff6e4]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-f87ff6e4]{padding-top:20px}.link[data-v-f87ff6e4]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-f87ff6e4]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-d0ee3533]{position:relative;z-index:1}.nested[data-v-d0ee3533]{padding-left:16px}.outline-link[data-v-d0ee3533]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:400}.outline-link[data-v-d0ee3533]:hover,.outline-link.active[data-v-d0ee3533]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-d0ee3533]{padding-left:13px}.VPDocAsideOutline[data-v-6ae8e080]{display:none}.VPDocAsideOutline.has-outline[data-v-6ae8e080]{display:block}.content[data-v-6ae8e080]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-6ae8e080]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-6ae8e080]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-3f215769]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-3f215769]{flex-grow:1}.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-3f215769] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-7de715c0]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-7de715c0]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-ef5dee53]{margin-top:64px}.edit-info[data-v-ef5dee53]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-ef5dee53]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-ef5dee53]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-ef5dee53]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-ef5dee53]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-ef5dee53]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-ef5dee53]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-ef5dee53]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-ef5dee53]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-ef5dee53]{margin-left:auto;text-align:right}.desc[data-v-ef5dee53]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-ef5dee53]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDocOutlineDropdown[data-v-eadfb36b]{margin-bottom:48px}.VPDocOutlineDropdown button[data-v-eadfb36b]{display:block;font-size:14px;font-weight:500;line-height:24px;border:1px solid var(--vp-c-border);padding:4px 12px;color:var(--vp-c-text-2);background-color:var(--vp-c-default-soft);border-radius:8px;transition:color .5s}.VPDocOutlineDropdown button[data-v-eadfb36b]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-eadfb36b]{color:var(--vp-c-text-1)}.icon[data-v-eadfb36b]{display:inline-block;vertical-align:middle;width:16px;height:16px;fill:currentColor}[data-v-eadfb36b] .outline-link{font-size:14px;font-weight:400}.open>.icon[data-v-eadfb36b]{transform:rotate(90deg)}.items[data-v-eadfb36b]{margin-top:12px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-6b87e69f]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-6b87e69f]{display:none}@media (min-width: 960px) and (max-width: 1279px){.VPDoc .VPDocOutlineDropdown[data-v-6b87e69f]{display:block}}@media (min-width: 768px){.VPDoc[data-v-6b87e69f]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-6b87e69f]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-6b87e69f]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-6b87e69f]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-6b87e69f]{display:flex;justify-content:center}.VPDoc .aside[data-v-6b87e69f]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-6b87e69f]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-6b87e69f]{max-width:1104px}}.container[data-v-6b87e69f]{margin:0 auto;width:100%}.aside[data-v-6b87e69f]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-6b87e69f]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-6b87e69f]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-6b87e69f]::-webkit-scrollbar{display:none}.aside-curtain[data-v-6b87e69f]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-6b87e69f]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-6b87e69f]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-6b87e69f]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-6b87e69f]{order:1;margin:0;min-width:640px}}.content-container[data-v-6b87e69f]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-6b87e69f]{max-width:688px}.external-link-icon-enabled[data-v-6b87e69f] :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.VPButton[data-v-c1c5efc1]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-c1c5efc1]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-c1c5efc1]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-c1c5efc1]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-c1c5efc1]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-c1c5efc1]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-c1c5efc1]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-c1c5efc1]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-c1c5efc1]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-c1c5efc1]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-c1c5efc1]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-c1c5efc1]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-c1c5efc1]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-8426fc1a]{display:none}.dark .VPImage.light[data-v-8426fc1a]{display:none}.VPHero[data-v-da5d1713]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-da5d1713]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-da5d1713]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-da5d1713]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-da5d1713]{flex-direction:row}}.main[data-v-da5d1713]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-da5d1713]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-da5d1713]{text-align:left}}@media (min-width: 960px){.main[data-v-da5d1713]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-da5d1713]{max-width:592px}}.name[data-v-da5d1713],.text[data-v-da5d1713]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-da5d1713],.VPHero.has-image .text[data-v-da5d1713]{margin:0 auto}.name[data-v-da5d1713]{color:var(--vp-home-hero-name-color)}.clip[data-v-da5d1713]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-da5d1713],.text[data-v-da5d1713]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-da5d1713],.text[data-v-da5d1713]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-da5d1713],.VPHero.has-image .text[data-v-da5d1713]{margin:0}}.tagline[data-v-da5d1713]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-da5d1713]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-da5d1713]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-da5d1713]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-da5d1713]{margin:0}}.actions[data-v-da5d1713]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-da5d1713]{justify-content:center}@media (min-width: 640px){.actions[data-v-da5d1713]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-da5d1713]{justify-content:flex-start}}.action[data-v-da5d1713]{flex-shrink:0;padding:6px}.image[data-v-da5d1713]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-da5d1713]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-da5d1713]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-da5d1713]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-da5d1713]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-da5d1713]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-da5d1713]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-da5d1713]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-da5d1713]{width:320px;height:320px}}[data-v-da5d1713] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-da5d1713] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-da5d1713] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-3e216711]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-3e216711]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-3e216711]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-3e216711] .VPImage{margin-bottom:20px}.icon[data-v-3e216711]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-3e216711]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-3e216711]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-3e216711]{padding-top:8px}.link-text-value[data-v-3e216711]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-3e216711]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-39646fad]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-39646fad]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-39646fad]{padding:0 64px}}.container[data-v-39646fad]{margin:0 auto;max-width:1152px}.items[data-v-39646fad]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-39646fad]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-39646fad],.item.grid-4[data-v-39646fad],.item.grid-6[data-v-39646fad]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-39646fad],.item.grid-4[data-v-39646fad]{width:50%}.item.grid-3[data-v-39646fad],.item.grid-6[data-v-39646fad]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-39646fad]{width:25%}}.VPHome[data-v-d82743a8]{padding-bottom:96px}.VPHome[data-v-d82743a8] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-d82743a8]{padding-bottom:128px}}.VPContent[data-v-669faec9]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-669faec9]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-669faec9]{margin:0}@media (min-width: 960px){.VPContent[data-v-669faec9]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-669faec9]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-669faec9]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-e03eb2e1]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-e03eb2e1]{display:none}@media (min-width: 768px){.VPFooter[data-v-e03eb2e1]{padding:32px}}.container[data-v-e03eb2e1]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e03eb2e1],.copyright[data-v-e03eb2e1]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-1c15a60a]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-1c15a60a]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-1c15a60a]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-1c15a60a]{color:var(--vp-c-text-1)}.icon[data-v-1c15a60a]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-1c15a60a] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-1c15a60a]{transform:rotate(90deg)}.items[data-v-1c15a60a]{position:absolute;top:64px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.header[data-v-1c15a60a]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-1c15a60a]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-1c15a60a]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-1c15a60a]{transition:all .2s ease-out}.flyout-leave-active[data-v-1c15a60a]{transition:all .15s ease-in}.flyout-enter-from[data-v-1c15a60a],.flyout-leave-to[data-v-1c15a60a]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-79c8c1df]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--vp-c-gutter);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-79c8c1df]{position:fixed}.VPLocalNav.reached-top[data-v-79c8c1df]{border-top-color:transparent}@media (min-width: 960px){.VPLocalNav[data-v-79c8c1df]{display:none}}.menu[data-v-79c8c1df]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-79c8c1df]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-79c8c1df]{padding:0 32px}}.menu-icon[data-v-79c8c1df]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-79c8c1df]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-79c8c1df]{padding:12px 32px 11px}}.VPSwitch[data-v-b1685198]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-b1685198]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-b1685198]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-b1685198]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-b1685198] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-b1685198] svg{fill:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-ce54a7d1]{opacity:1}.moon[data-v-ce54a7d1],.dark .sun[data-v-ce54a7d1]{opacity:0}.dark .moon[data-v-ce54a7d1]{opacity:1}.dark .VPSwitchAppearance[data-v-ce54a7d1] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-f6a63727]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-f6a63727]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-43f1e123]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-43f1e123]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-43f1e123]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-43f1e123]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-69e747b5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-69e747b5]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-69e747b5]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-69e747b5]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-e7ea1737]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-e7ea1737] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e7ea1737] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e7ea1737] .group:last-child{padding-bottom:0}.VPMenu[data-v-e7ea1737] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e7ea1737] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e7ea1737] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-e7ea1737] .action{padding-left:24px}.VPFlyout[data-v-9c007e85]{position:relative}.VPFlyout[data-v-9c007e85]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-9c007e85]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-9c007e85]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-9c007e85]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-9c007e85]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-9c007e85],.button[aria-expanded=true]+.menu[data-v-9c007e85]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-9c007e85]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-9c007e85]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-9c007e85]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-9c007e85]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-9c007e85]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-9c007e85]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-9c007e85]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-f80f8133]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-f80f8133]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-f80f8133]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-7bc22406]{display:flex;justify-content:center}.VPNavBarExtra[data-v-40855f84]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-40855f84]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-40855f84]{display:none}}.trans-title[data-v-40855f84]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-40855f84],.item.social-links[data-v-40855f84]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-40855f84]{min-width:176px}.appearance-action[data-v-40855f84]{margin-right:-2px}.social-links-list[data-v-40855f84]{margin:-4px -8px}.VPNavBarHamburger[data-v-e5dd9c1c]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e5dd9c1c]{display:none}}.container[data-v-e5dd9c1c]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e5dd9c1c]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .middle[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .bottom[data-v-e5dd9c1c]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e5dd9c1c],.middle[data-v-e5dd9c1c],.bottom[data-v-e5dd9c1c]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(0)}.middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-42ef59de]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-42ef59de],.VPNavBarMenuLink[data-v-42ef59de]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-7f418b0f]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-7f418b0f]{display:flex}}/*! @docsearch/css 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:1px;letter-spacing:-12px;color:transparent}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:var(--vp-meta-key);font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-0394ad82]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-0394ad82]{display:flex;align-items:center}}.title[data-v-86d1bed8]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-86d1bed8]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-86d1bed8]{border-bottom-color:var(--vp-c-divider)}}[data-v-86d1bed8] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-74abcbb9]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-74abcbb9]{display:flex;align-items:center}}.title[data-v-74abcbb9]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-a0fd61f4]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap}@media (min-width: 768px){.VPNavBar[data-v-a0fd61f4]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-a0fd61f4]{padding:0}.VPNavBar[data-v-a0fd61f4]:not(.has-sidebar):not(.top){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-a0fd61f4]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-a0fd61f4],.container>.content[data-v-a0fd61f4]{pointer-events:none}.container[data-v-a0fd61f4] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-a0fd61f4]{max-width:100%}}.title[data-v-a0fd61f4]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-a0fd61f4]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-a0fd61f4]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-a0fd61f4]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-a0fd61f4]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-a0fd61f4]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-a0fd61f4]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.top) .content-body[data-v-a0fd61f4]{position:relative;background-color:var(--vp-nav-bg-color)}}@media (max-width: 767px){.content-body[data-v-a0fd61f4]{column-gap:.5rem}}.menu+.translations[data-v-a0fd61f4]:before,.menu+.appearance[data-v-a0fd61f4]:before,.menu+.social-links[data-v-a0fd61f4]:before,.translations+.appearance[data-v-a0fd61f4]:before,.appearance+.social-links[data-v-a0fd61f4]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-a0fd61f4]:before,.translations+.appearance[data-v-a0fd61f4]:before{margin-right:16px}.appearance+.social-links[data-v-a0fd61f4]:before{margin-left:16px}.social-links[data-v-a0fd61f4]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-a0fd61f4]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-a0fd61f4]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-a0fd61f4]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenAppearance[data-v-add8f686]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-add8f686]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-05f27b2a]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-05f27b2a]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-19976ae1]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-19976ae1]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-8133b170]{display:block}.title[data-v-8133b170]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-1ecb84e7]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-1ecb84e7]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-1ecb84e7]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-1ecb84e7]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-1ecb84e7]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-1ecb84e7]{transform:rotate(45deg)}.button[data-v-1ecb84e7]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-1ecb84e7]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-1ecb84e7]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-1ecb84e7]:first-child{padding-top:0}.group+.group[data-v-1ecb84e7],.group+.item[data-v-1ecb84e7]{padding-top:4px}.VPNavScreenTranslations[data-v-d72aa483]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-d72aa483]{height:auto}.title[data-v-d72aa483]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-d72aa483]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-d72aa483]{margin-right:8px}.icon.chevron[data-v-d72aa483]{margin-left:4px}.list[data-v-d72aa483]{padding:4px 0 0 24px}.link[data-v-d72aa483]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-cc5739dd]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-cc5739dd],.VPNavScreen.fade-leave-active[data-v-cc5739dd]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-cc5739dd],.VPNavScreen.fade-leave-active .container[data-v-cc5739dd]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-cc5739dd],.VPNavScreen.fade-leave-to[data-v-cc5739dd]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-cc5739dd],.VPNavScreen.fade-leave-to .container[data-v-cc5739dd]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-cc5739dd]{display:none}}.container[data-v-cc5739dd]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-cc5739dd],.menu+.appearance[data-v-cc5739dd],.translations+.appearance[data-v-cc5739dd]{margin-top:24px}.menu+.social-links[data-v-cc5739dd]{margin-top:16px}.appearance+.social-links[data-v-cc5739dd]{margin-top:16px}.VPNav[data-v-7e5bc4a5]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-7e5bc4a5]{position:fixed}}.VPSidebarItem.level-0[data-v-e31bd47b]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-e31bd47b]{padding-bottom:10px}.item[data-v-e31bd47b]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-e31bd47b]{cursor:pointer}.indicator[data-v-e31bd47b]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-e31bd47b]{background-color:var(--vp-c-brand-1)}.link[data-v-e31bd47b]{display:flex;align-items:center;flex-grow:1}.text[data-v-e31bd47b]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-e31bd47b]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-e31bd47b],.VPSidebarItem.level-2 .text[data-v-e31bd47b],.VPSidebarItem.level-3 .text[data-v-e31bd47b],.VPSidebarItem.level-4 .text[data-v-e31bd47b],.VPSidebarItem.level-5 .text[data-v-e31bd47b]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-e31bd47b]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-1.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-2.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-3.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-4.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-5.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-e31bd47b]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-e31bd47b]{color:var(--vp-c-brand-1)}.caret[data-v-e31bd47b]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-e31bd47b]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-e31bd47b]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-e31bd47b]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-e31bd47b]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-e31bd47b],.VPSidebarItem.level-2 .items[data-v-e31bd47b],.VPSidebarItem.level-3 .items[data-v-e31bd47b],.VPSidebarItem.level-4 .items[data-v-e31bd47b],.VPSidebarItem.level-5 .items[data-v-e31bd47b]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-e31bd47b]{display:none}.VPSidebar[data-v-b00e2fdd]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-b00e2fdd]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-b00e2fdd]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-b00e2fdd]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-b00e2fdd]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-b00e2fdd]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-b00e2fdd]{outline:0}.group+.group[data-v-b00e2fdd]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-b00e2fdd]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-0f60ec36]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-0f60ec36]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-0f60ec36]{top:14px;left:16px}}.Layout[data-v-1919c326]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-96bd69d5]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-96bd69d5]{margin:0 auto;max-width:1152px}.love[data-v-96bd69d5]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-96bd69d5]{width:28px;height:28px;fill:currentColor}.message[data-v-96bd69d5]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-96bd69d5]{padding-top:32px}.action[data-v-96bd69d5]{padding-top:40px;text-align:center}.VPTeamPage[data-v-10b00018]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-10b00018]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-10b00018-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-10b00018-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:96px}}.VPTeamMembers[data-v-10b00018-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-10b00018-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-10b00018-s]{padding:0 64px}}.VPTeamPageTitle[data-v-bf2cbdac]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:80px 64px 48px}}.title[data-v-bf2cbdac]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-bf2cbdac]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-bf2cbdac]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-bf2cbdac]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-b1a88750]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-b1a88750]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-b1a88750]{padding:0 64px}}.title[data-v-b1a88750]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-b1a88750]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-b1a88750]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-b1a88750]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-b1a88750]{padding-top:40px}.VPTeamMembersItem[data-v-28528e42]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-28528e42]{padding:32px}.VPTeamMembersItem.small .data[data-v-28528e42]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-28528e42]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-28528e42]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-28528e42]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-28528e42]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-28528e42]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-28528e42]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-28528e42]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-28528e42]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-28528e42]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-28528e42]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-28528e42]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-28528e42]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-28528e42]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-28528e42]{text-align:center}.avatar[data-v-28528e42]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-28528e42]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-28528e42]{margin:0;font-weight:600}.affiliation[data-v-28528e42]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-28528e42]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-28528e42]:hover{color:var(--vp-c-brand-1)}.desc[data-v-28528e42]{margin:0 auto}.desc[data-v-28528e42] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-28528e42]{display:flex;justify-content:center;height:56px}.sp-link[data-v-28528e42]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-28528e42]:hover,.sp .sp-link.link[data-v-28528e42]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-28528e42]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-6cb0dbc4]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-6cb0dbc4]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-6cb0dbc4]{max-width:876px}.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-6cb0dbc4]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-6cb0dbc4]{max-width:760px}.container[data-v-6cb0dbc4]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vs-colors--lightest: rgba(60, 60, 60, .26);--vs-colors--light: rgba(60, 60, 60, .5);--vs-colors--dark: #333;--vs-colors--darkest: rgba(0, 0, 0, .15);--vs-search-input-color: inherit;--vs-search-input-placeholder-color: inherit;--vs-font-size: 1rem;--vs-line-height: 1.4;--vs-state-disabled-bg: rgb(248, 248, 248);--vs-state-disabled-color: var(--vs-colors--light);--vs-state-disabled-controls-color: var(--vs-colors--light);--vs-state-disabled-cursor: not-allowed;--vs-border-color: var(--vs-colors--lightest);--vs-border-width: 1px;--vs-border-style: solid;--vs-border-radius: 4px;--vs-actions-padding: 4px 6px 0 3px;--vs-controls-color: var(--vs-colors--light);--vs-controls-size: 1;--vs-controls--deselect-text-shadow: 0 1px 0 #fff;--vs-selected-bg: #f0f0f0;--vs-selected-color: var(--vs-colors--dark);--vs-selected-border-color: var(--vs-border-color);--vs-selected-border-style: var(--vs-border-style);--vs-selected-border-width: var(--vs-border-width);--vs-dropdown-bg: #fff;--vs-dropdown-color: inherit;--vs-dropdown-z-index: 1000;--vs-dropdown-min-width: 160px;--vs-dropdown-max-height: 350px;--vs-dropdown-box-shadow: 0px 3px 6px 0px var(--vs-colors--darkest);--vs-dropdown-option-bg: #000;--vs-dropdown-option-color: var(--vs-dropdown-color);--vs-dropdown-option-padding: 3px 20px;--vs-dropdown-option--active-bg: #5897fb;--vs-dropdown-option--active-color: #fff;--vs-dropdown-option--deselect-bg: #fb5858;--vs-dropdown-option--deselect-color: #fff;--vs-transition-timing-function: cubic-bezier(1, -.115, .975, .855);--vs-transition-duration: .15s}.v-select{position:relative;font-family:inherit}.v-select,.v-select *{box-sizing:border-box}:root{--vs-transition-timing-function: cubic-bezier(1, .5, .8, 1);--vs-transition-duration: .15s}@-webkit-keyframes vSelectSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes vSelectSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vs__fade-enter-active,.vs__fade-leave-active{pointer-events:none;transition:opacity var(--vs-transition-duration) var(--vs-transition-timing-function)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}:root{--vs-disabled-bg: var(--vs-state-disabled-bg);--vs-disabled-color: var(--vs-state-disabled-color);--vs-disabled-cursor: var(--vs-state-disabled-cursor)}.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__clear,.vs--disabled .vs__search,.vs--disabled .vs__selected,.vs--disabled .vs__open-indicator{cursor:var(--vs-disabled-cursor);background-color:var(--vs-disabled-bg)}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;padding:0 0 4px;background:none;border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:var(--vs-border-radius);white-space:normal}.vs__selected-options{display:flex;flex-basis:100%;flex-grow:1;flex-wrap:wrap;padding:0 2px;position:relative}.vs__actions{display:flex;align-items:center;padding:var(--vs-actions-padding)}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator{fill:var(--vs-controls-color);transform:scale(var(--vs-controls-size));transition:transform var(--vs-transition-duration) var(--vs-transition-timing-function);transition-timing-function:var(--vs-transition-timing-function)}.vs--open .vs__open-indicator{transform:rotate(180deg) scale(var(--vs-controls-size))}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:var(--vs-controls-color);padding:0;border:0;background-color:transparent;cursor:pointer;margin-right:8px}.vs__dropdown-menu{display:block;box-sizing:border-box;position:absolute;top:calc(100% - var(--vs-border-width));left:0;z-index:var(--vs-dropdown-z-index);padding:5px 0;margin:0;width:100%;max-height:var(--vs-dropdown-max-height);min-width:var(--vs-dropdown-min-width);overflow-y:auto;box-shadow:var(--vs-dropdown-box-shadow);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-top-style:none;border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);text-align:left;list-style:none;background:var(--vs-dropdown-bg);color:var(--vs-dropdown-color)}.vs__no-options{text-align:center}.vs__dropdown-option{line-height:1.42857143;display:block;padding:var(--vs-dropdown-option-padding);clear:both;color:var(--vs-dropdown-option-color);white-space:nowrap;cursor:pointer}.vs__dropdown-option--highlight{background:var(--vs-dropdown-option--active-bg);color:var(--vs-dropdown-option--active-color)}.vs__dropdown-option--deselect{background:var(--vs-dropdown-option--deselect-bg);color:var(--vs-dropdown-option--deselect-color)}.vs__dropdown-option--disabled{background:var(--vs-state-disabled-bg);color:var(--vs-state-disabled-color);cursor:var(--vs-state-disabled-cursor)}.vs__selected{display:flex;align-items:center;background-color:var(--vs-selected-bg);border:var(--vs-selected-border-width) var(--vs-selected-border-style) var(--vs-selected-border-color);border-radius:var(--vs-border-radius);color:var(--vs-selected-color);line-height:var(--vs-line-height);margin:4px 2px 0;padding:0 .25em;z-index:0}.vs__deselect{display:inline-flex;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-left:4px;padding:0;border:0;cursor:pointer;background:none;fill:var(--vs-controls-color);text-shadow:var(--vs-controls--deselect-text-shadow)}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--open .vs__selected,.vs--single.vs--loading .vs__selected{position:absolute;opacity:.4}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-webkit-search-cancel-button{display:none}.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration,.vs__search::-ms-clear{display:none}.vs__search,.vs__search:focus{color:var(--vs-search-input-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:var(--vs-line-height);font-size:var(--vs-font-size);border:1px solid transparent;border-left:none;outline:none;margin:4px 0 0;padding:0 7px;background:none;box-shadow:none;width:0;max-width:100%;flex-grow:1;z-index:1}.vs__search::-moz-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search::placeholder{color:var(--vs-search-input-placeholder-color)}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable:not(.vs--disabled) .vs__search{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{align-self:center;opacity:0;font-size:5px;text-indent:-9999em;overflow:hidden;border-top:.9em solid rgba(100,100,100,.1);border-right:.9em solid rgba(100,100,100,.1);border-bottom:.9em solid rgba(100,100,100,.1);border-left:.9em solid rgba(60,60,60,.45);transform:translateZ(0) scale(var(--vs-controls--spinner-size, var(--vs-controls-size)));-webkit-animation:vSelectSpinner 1.1s infinite linear;animation:vSelectSpinner 1.1s infinite linear;transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;width:5em;height:5em;transform:scale(var(--vs-controls--spinner-size, var(--vs-controls-size)))}.vs--loading .vs__spinner{opacity:1}#msg-template .row{width:100%;display:flex}#msg-template .row .col{flex:1 0 33%}#msg-template .row .col.disable{opacity:0} diff --git a/assets/style.92ad1031.css b/assets/style.92ad1031.css deleted file mode 100644 index a099ca27..00000000 --- a/assets/style.92ad1031.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/Shmily/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/Shmily/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-gray: #8e8e93;--vp-c-text-light-1: rgba(60, 60, 67);--vp-c-text-light-2: rgba(60, 60, 67, .75);--vp-c-text-light-3: rgba(60, 60, 67, .33);--vp-c-text-dark-1: rgba(255, 255, 245, .86);--vp-c-text-dark-2: rgba(235, 235, 245, .6);--vp-c-text-dark-3: rgba(235, 235, 245, .38);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d97706;--vp-c-yellow-light: #f59e0b;--vp-c-yellow-lighter: #fbbf24;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5);--vp-c-sponsor: #db2777}:root{--vp-c-bg: #ffffff;--vp-c-bg-elv: #ffffff;--vp-c-bg-elv-up: #ffffff;--vp-c-bg-elv-down: #f6f6f7;--vp-c-bg-elv-mute: #f6f6f7;--vp-c-bg-soft: #f6f6f7;--vp-c-bg-soft-up: #f9f9fa;--vp-c-bg-soft-down: #e3e3e5;--vp-c-bg-soft-mute: #e3e3e5;--vp-c-bg-alt: #f6f6f7;--vp-c-border: rgba(60, 60, 67, .29);--vp-c-divider: rgba(60, 60, 67, .12);--vp-c-gutter: rgba(60, 60, 67, .12);--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white);--vp-c-text-1: var(--vp-c-text-light-1);--vp-c-text-2: var(--vp-c-text-light-2);--vp-c-text-3: var(--vp-c-text-light-3);--vp-c-text-inverse-1: var(--vp-c-text-dark-1);--vp-c-text-inverse-2: var(--vp-c-text-dark-2);--vp-c-text-inverse-3: var(--vp-c-text-dark-3);--vp-c-text-code: #476582;--vp-c-brand: var(--vp-c-green);--vp-c-brand-light: var(--vp-c-green-light);--vp-c-brand-lighter: var(--vp-c-green-lighter);--vp-c-brand-dark: var(--vp-c-green-dark);--vp-c-brand-darker: var(--vp-c-green-darker);--vp-c-mute: #f6f6f7;--vp-c-mute-light: #f9f9fc;--vp-c-mute-lighter: #ffffff;--vp-c-mute-dark: #e3e3e5;--vp-c-mute-darker: #d7d7d9}.dark{--vp-c-bg: #1e1e20;--vp-c-bg-elv: #252529;--vp-c-bg-elv-up: #313136;--vp-c-bg-elv-down: #1e1e20;--vp-c-bg-elv-mute: #313136;--vp-c-bg-soft: #252529;--vp-c-bg-soft-up: #313136;--vp-c-bg-soft-down: #1e1e20;--vp-c-bg-soft-mute: #313136;--vp-c-bg-alt: #161618;--vp-c-border: rgba(82, 82, 89, .68);--vp-c-divider: rgba(82, 82, 89, .32);--vp-c-gutter: #000000;--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black);--vp-c-text-1: var(--vp-c-text-dark-1);--vp-c-text-2: var(--vp-c-text-dark-2);--vp-c-text-3: var(--vp-c-text-dark-3);--vp-c-text-inverse-1: var(--vp-c-text-light-1);--vp-c-text-inverse-2: var(--vp-c-text-light-2);--vp-c-text-inverse-3: var(--vp-c-text-light-3);--vp-c-text-code: #c9def1;--vp-c-mute: #313136;--vp-c-mute-light: #3a3a3c;--vp-c-mute-lighter: #505053;--vp-c-mute-dark: #2c2c30;--vp-c-mute-darker: #252529}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-c-code-dimm: var(--vp-c-text-dark-3);--vp-code-block-color: var(--vp-c-text-dark-1);--vp-code-block-bg: #292b30;--vp-code-block-bg-light: #1e1e20;--vp-code-block-divider-color: #000000;--vp-code-line-highlight-color: rgba(0, 0, 0, .5);--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);--vp-code-line-diff-add-symbol-color: var(--vp-c-green);--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);--vp-code-line-error-color: var(--vp-c-red-dimm-2);--vp-code-copy-code-border-color: transparent;--vp-code-copy-code-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-dark-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-bar-color: var(--vp-c-brand)}.dark{--vp-code-block-bg: #161618}:root:not(.dark) .vp-adaptive-theme{--vp-c-code-dimm: var(--vp-c-text-2);--vp-code-block-color: var(--vp-c-text-1);--vp-code-block-bg: #f8f8f8;--vp-code-block-divider-color: var(--vp-c-divider);--vp-code-line-highlight-color: #ececec;--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-copy-code-bg: #e2e2e2;--vp-code-copy-code-hover-bg: #dcdcdc;--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-tab-divider: var(--vp-c-divider);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1)}:root{--vp-button-brand-border: var(--vp-c-brand-lighter);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-lighter);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-dark);--vp-button-brand-active-border: var(--vp-c-brand-lighter);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-darker);--vp-button-alt-border: var(--vp-c-border);--vp-button-alt-text: var(--vp-c-neutral);--vp-button-alt-bg: var(--vp-c-mute);--vp-button-alt-hover-border: var(--vp-c-border);--vp-button-alt-hover-text: var(--vp-c-neutral);--vp-button-alt-hover-bg: var(--vp-c-mute-dark);--vp-button-alt-active-border: var(--vp-c-border);--vp-button-alt-active-text: var(--vp-c-neutral);--vp-button-alt-active-bg: var(--vp-c-mute-darker);--vp-button-sponsor-border: var(--vp-c-gray-light-3);--vp-button-sponsor-text: var(--vp-c-text-light-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}.dark{--vp-button-sponsor-border: var(--vp-c-gray-dark-1);--vp-button-sponsor-text: var(--vp-c-text-dark-2)}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: var(--vp-c-border);--vp-custom-block-info-text: var(--vp-c-text-2);--vp-custom-block-info-bg: var(--vp-c-bg-soft-up);--vp-custom-block-info-code-bg: var(--vp-c-bg-soft);--vp-custom-block-tip-border: var(--vp-c-green);--vp-custom-block-tip-text: var(--vp-c-green-dark);--vp-custom-block-tip-bg: var(--vp-c-bg-soft-up);--vp-custom-block-tip-code-bg: var(--vp-c-bg-soft);--vp-custom-block-warning-border: var(--vp-c-yellow);--vp-custom-block-warning-text: var(--vp-c-yellow);--vp-custom-block-warning-bg: var(--vp-c-bg-soft-up);--vp-custom-block-warning-code-bg: var(--vp-c-bg-soft);--vp-custom-block-danger-border: var(--vp-c-red);--vp-custom-block-danger-text: var(--vp-c-red);--vp-custom-block-danger-bg: var(--vp-c-bg-soft-up);--vp-custom-block-danger-code-bg: var(--vp-c-bg-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-hover-border-color: var(--vp-c-gray);--vp-input-switch-bg-color: var(--vp-c-mute)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg)}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: var(--vp-c-border);--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-bg-soft-up);--vp-badge-tip-border: var(--vp-c-green-dark);--vp-badge-tip-text: var(--vp-c-green);--vp-badge-tip-bg: var(--vp-c-green-dimm-1);--vp-badge-warning-border: var(--vp-c-yellow-dark);--vp-badge-warning-text: var(--vp-c-yellow);--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);--vp-badge-danger-border: var(--vp-c-red-dark);--vp-badge-danger-text: var(--vp-c-red);--vp-badge-danger-bg: var(--vp-c-red-dimm-1)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand);--vp-local-search-highlight-bg: var(--vp-c-green-lighter);--vp-local-search-highlight-text: var(--vp-c-black)}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600}.custom-block a:hover{text-decoration:underline}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden}.vp-code-group .tabs:after{position:absolute;right:0;bottom:0;left:0;height:1px;background-color:var(--vp-code-tab-divider);content:""}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:absolute;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:10;height:1px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-]{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active{display:block}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{float:left;margin-left:-.87em;padding-right:.23em;font-weight:500;user-select:none;opacity:0;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.vp-doc a:hover{text-decoration:underline}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block a{color:inherit;font-weight:600}.vp-doc .custom-block a:hover{text-decoration:underline}.vp-doc .custom-block code{font-size:var(--vp-custom-block-code-font-size);font-weight:700;color:inherit}.vp-doc .custom-block div[class*=language-]{margin:8px 0}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;color:var(--vp-c-text-code);background-color:var(--vp-c-mute);transition:color .5s,background-color .5s}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc a>code{color:var(--vp-c-brand);transition:color .25s}.vp-doc a:hover>code{color:var(--vp-c-brand-dark)}.vp-doc div[class*=language-]{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-]{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;left:-65px;display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;width:64px;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:"Copied"}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-c-code-dimm);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-bg-soft-down)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-350d3852]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:10px;padding:0 8px;line-height:18px;font-size:12px;font-weight:600;transform:translateY(-2px)}h1 .VPBadge[data-v-350d3852],h2 .VPBadge[data-v-350d3852],h3 .VPBadge[data-v-350d3852],h4 .VPBadge[data-v-350d3852],h5 .VPBadge[data-v-350d3852],h6 .VPBadge[data-v-350d3852]{vertical-align:top}h2 .VPBadge[data-v-350d3852]{border-radius:11px;line-height:20px}.VPBadge.info[data-v-350d3852]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-350d3852]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-350d3852]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-350d3852]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPSkipLink[data-v-c8616af1]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-c8616af1]:focus{height:auto;width:auto;clip:auto;clip-path:none}.dark .VPSkipLink[data-v-c8616af1]{color:var(--vp-c-green)}@media (min-width: 1280px){.VPSkipLink[data-v-c8616af1]{top:14px;left:16px}}.VPBackdrop[data-v-c79a1216]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-c79a1216],.VPBackdrop.fade-leave-to[data-v-c79a1216]{opacity:0}.VPBackdrop.fade-leave-active[data-v-c79a1216]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-c79a1216]{display:none}}html:not(.dark) .VPImage.dark[data-v-6db2186b]{display:none}.dark .VPImage.light[data-v-6db2186b]{display:none}.title[data-v-f4ef19a3]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}.title[data-v-f4ef19a3]:hover{opacity:.6}@media (min-width: 960px){.title[data-v-f4ef19a3]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-f4ef19a3]{border-bottom-color:var(--vp-c-divider)}}[data-v-f4ef19a3] .logo{margin-right:8px;height:24px}/*! @docsearch/css 3.3.4 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.DocSearch{--docsearch-primary-color: var(--vp-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-bg-soft-mute);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:32px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:1px;letter-spacing:-12px;color:transparent}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:var(--vp-meta-key);font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-bg-soft-mute)}.DocSearch-Screen-Icon>svg{margin:auto}.icon[data-v-8f4dc553]{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;fill:var(--vp-c-text-3);transition:fill .25s;flex-shrink:0}.VPNavBarMenuLink[data-v-37adc828]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-37adc828],.VPNavBarMenuLink[data-v-37adc828]:hover{color:var(--vp-c-brand)}.VPMenuGroup+.VPMenuLink[data-v-d2c93bab]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-d2c93bab]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-d2c93bab]:hover{color:var(--vp-c-brand);background-color:var(--vp-c-bg-elv-mute)}.link.active[data-v-d2c93bab]{color:var(--vp-c-brand)}.VPMenuGroup[data-v-69e747b5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-69e747b5]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-69e747b5]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-69e747b5]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-e7ea1737]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-e7ea1737] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e7ea1737] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e7ea1737] .group:last-child{padding-bottom:0}.VPMenu[data-v-e7ea1737] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e7ea1737] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e7ea1737] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-e7ea1737] .action{padding-left:24px}.VPFlyout[data-v-764effdf]{position:relative}.VPFlyout[data-v-764effdf]:hover{color:var(--vp-c-brand);transition:color .25s}.VPFlyout:hover .text[data-v-764effdf]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-764effdf]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-764effdf]{color:var(--vp-c-brand)}.VPFlyout.active:hover .text[data-v-764effdf]{color:var(--vp-c-brand-dark)}.VPFlyout:hover .menu[data-v-764effdf],.button[aria-expanded=true]+.menu[data-v-764effdf]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-764effdf]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-764effdf]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-764effdf]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-764effdf]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-764effdf]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-764effdf]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPNavBarMenu[data-v-7f418b0f]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-7f418b0f]{display:flex}}.VPNavBarTranslations[data-v-74abcbb9]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-74abcbb9]{display:flex;align-items:center}}.title[data-v-74abcbb9]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPSwitch[data-v-f3c41672]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s}.VPSwitch[data-v-f3c41672]:hover{border-color:var(--vp-input-hover-border-color)}.check[data-v-f3c41672]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s}.icon[data-v-f3c41672]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-f3c41672] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-f3c41672] svg{fill:var(--vp-c-text-1);transition:opacity .25s}.sun[data-v-a9c8afb8]{opacity:1}.moon[data-v-a9c8afb8],.dark .sun[data-v-a9c8afb8]{opacity:0}.dark .moon[data-v-a9c8afb8]{opacity:1}.dark .VPSwitchAppearance[data-v-a9c8afb8] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-f6a63727]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-f6a63727]{display:flex;align-items:center}}.VPSocialLink[data-v-c530cc0a]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-c530cc0a]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-c530cc0a]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-f6988cfb]{display:flex;flex-wrap:wrap;justify-content:center}.VPNavBarSocialLinks[data-v-0394ad82]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-0394ad82]{display:flex;align-items:center}}.VPNavBarExtra[data-v-40855f84]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-40855f84]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-40855f84]{display:none}}.trans-title[data-v-40855f84]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-40855f84],.item.social-links[data-v-40855f84]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-40855f84]{min-width:176px}.appearance-action[data-v-40855f84]{margin-right:-2px}.social-links-list[data-v-40855f84]{margin:-4px -8px}.VPNavBarHamburger[data-v-e5dd9c1c]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e5dd9c1c]{display:none}}.container[data-v-e5dd9c1c]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e5dd9c1c]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .middle[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .bottom[data-v-e5dd9c1c]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e5dd9c1c],.middle[data-v-e5dd9c1c],.bottom[data-v-e5dd9c1c]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(0)}.middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(4px)}.VPNavBar[data-v-94c81dcc]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);transition:border-color .5s,background-color .5s;pointer-events:none;white-space:nowrap}.VPNavBar.has-sidebar[data-v-94c81dcc]{border-bottom-color:var(--vp-c-gutter)}@media (min-width: 768px){.VPNavBar[data-v-94c81dcc]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-94c81dcc]{border-bottom-color:transparent;padding:0}.VPNavBar.fill[data-v-94c81dcc]:not(.has-sidebar){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-94c81dcc]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-94c81dcc],.container>.content[data-v-94c81dcc]{pointer-events:none}.container[data-v-94c81dcc] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-94c81dcc]{max-width:100%}}.title[data-v-94c81dcc]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-94c81dcc]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-94c81dcc]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-94c81dcc]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-94c81dcc]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-94c81dcc]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-94c81dcc]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .content-body[data-v-94c81dcc],.VPNavBar.fill .content-body[data-v-94c81dcc]{position:relative;background-color:var(--vp-nav-bg-color)}}.menu+.translations[data-v-94c81dcc]:before,.menu+.appearance[data-v-94c81dcc]:before,.menu+.social-links[data-v-94c81dcc]:before,.translations+.appearance[data-v-94c81dcc]:before,.appearance+.social-links[data-v-94c81dcc]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-94c81dcc]:before,.translations+.appearance[data-v-94c81dcc]:before{margin-right:16px}.appearance+.social-links[data-v-94c81dcc]:before{margin-left:16px}.social-links[data-v-94c81dcc]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-94c81dcc]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-94c81dcc]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-94c81dcc]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenMenuLink[data-v-c328f34f]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-c328f34f]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupLink[data-v-3d20956d]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-3d20956d]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupSection[data-v-7478538b]{display:block}.title[data-v-7478538b]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-a9a19324]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-a9a19324]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-a9a19324]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-a9a19324]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-a9a19324]{padding-bottom:6px;color:var(--vp-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-a9a19324]{transform:rotate(45deg)}.button[data-v-a9a19324]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-a9a19324]:hover{color:var(--vp-c-brand)}.button-icon[data-v-a9a19324]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-a9a19324]:first-child{padding-top:0}.group+.group[data-v-a9a19324],.group+.item[data-v-a9a19324]{padding-top:4px}.VPNavScreenAppearance[data-v-add8f686]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-add8f686]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenTranslations[data-v-d72aa483]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-d72aa483]{height:auto}.title[data-v-d72aa483]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-d72aa483]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-d72aa483]{margin-right:8px}.icon.chevron[data-v-d72aa483]{margin-left:4px}.list[data-v-d72aa483]{padding:4px 0 0 24px}.link[data-v-d72aa483]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-724636ae]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-724636ae],.VPNavScreen.fade-leave-active[data-v-724636ae]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-724636ae],.VPNavScreen.fade-leave-active .container[data-v-724636ae]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-724636ae],.VPNavScreen.fade-leave-to[data-v-724636ae]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-724636ae],.VPNavScreen.fade-leave-to .container[data-v-724636ae]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-724636ae]{display:none}}.container[data-v-724636ae]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-724636ae],.menu+.appearance[data-v-724636ae],.translations+.appearance[data-v-724636ae]{margin-top:24px}.menu+.social-links[data-v-724636ae]{margin-top:16px}.appearance+.social-links[data-v-724636ae]{margin-top:16px}.VPNav[data-v-7e5bc4a5]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-7e5bc4a5]{position:fixed}}.root[data-v-9a431c33]{position:relative;z-index:1}.nested[data-v-9a431c33]{padding-left:13px}.outline-link[data-v-9a431c33]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:500}.outline-link[data-v-9a431c33]:hover,.outline-link.active[data-v-9a431c33]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-9a431c33]{padding-left:13px}.VPLocalNavOutlineDropdown[data-v-079b16a8]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-079b16a8]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-079b16a8]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-079b16a8]{color:var(--vp-c-text-1)}.icon[data-v-079b16a8]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-079b16a8] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-079b16a8]{transform:rotate(90deg)}.items[data-v-079b16a8]{position:absolute;left:20px;right:20px;top:64px;background-color:var(--vp-local-nav-bg-color);padding:4px 10px 16px;border:1px solid var(--vp-c-divider);border-radius:8px;max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.top-link[data-v-079b16a8]{display:block;color:var(--vp-c-brand);font-size:13px;font-weight:500;padding:6px 0;margin:0 13px 10px;border-bottom:1px solid var(--vp-c-divider)}.flyout-enter-active[data-v-079b16a8]{transition:all .2s ease-out}.flyout-leave-active[data-v-079b16a8]{transition:all .15s ease-in}.flyout-enter-from[data-v-079b16a8],.flyout-leave-to[data-v-079b16a8]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-392e1bf8]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color);transition:border-color .5s,background-color .5s}@media (min-width: 960px){.VPLocalNav[data-v-392e1bf8]{display:none}}.menu[data-v-392e1bf8]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-392e1bf8]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-392e1bf8]{padding:0 32px}}.menu-icon[data-v-392e1bf8]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-392e1bf8]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-392e1bf8]{padding:12px 32px 11px}}.VPSidebarItem.level-0[data-v-c4656e6d]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-c4656e6d]{padding-bottom:10px}.item[data-v-c4656e6d]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-c4656e6d]{cursor:pointer}.indicator[data-v-c4656e6d]{position:absolute;top:6px;bottom:6px;left:-17px;width:1px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-c4656e6d],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-c4656e6d],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-c4656e6d],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-c4656e6d]{background-color:var(--vp-c-brand)}.link[data-v-c4656e6d]{display:flex;align-items:center;flex-grow:1}.text[data-v-c4656e6d]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-c4656e6d]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-c4656e6d],.VPSidebarItem.level-2 .text[data-v-c4656e6d],.VPSidebarItem.level-3 .text[data-v-c4656e6d],.VPSidebarItem.level-4 .text[data-v-c4656e6d],.VPSidebarItem.level-5 .text[data-v-c4656e6d]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-c4656e6d],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-c4656e6d],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-c4656e6d],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-c4656e6d],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-c4656e6d],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-c4656e6d]{color:var(--vp-c-brand)}.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-c4656e6d],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-c4656e6d],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-c4656e6d],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-c4656e6d],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-c4656e6d],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-c4656e6d]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-c4656e6d],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-c4656e6d],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-c4656e6d],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-c4656e6d],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-c4656e6d],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-c4656e6d]{color:var(--vp-c-brand)}.caret[data-v-c4656e6d]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s}.item:hover .caret[data-v-c4656e6d]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-c4656e6d]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-c4656e6d]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-c4656e6d]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-c4656e6d],.VPSidebarItem.level-2 .items[data-v-c4656e6d],.VPSidebarItem.level-3 .items[data-v-c4656e6d],.VPSidebarItem.level-4 .items[data-v-c4656e6d],.VPSidebarItem.level-5 .items[data-v-c4656e6d]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-c4656e6d]{display:none}.VPSidebar[data-v-af16598e]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-af16598e]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-af16598e]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-af16598e]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-af16598e]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-af16598e]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-af16598e]{outline:0}.group+.group[data-v-af16598e]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-af16598e]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPButton[data-v-567ba664]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-567ba664]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-567ba664]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-567ba664]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-567ba664]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-567ba664]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-567ba664]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-567ba664]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-567ba664]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-567ba664]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-567ba664]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-567ba664]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-567ba664]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}.VPHero[data-v-fd2650d5]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-fd2650d5]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-fd2650d5]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-fd2650d5]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-fd2650d5]{flex-direction:row}}.main[data-v-fd2650d5]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-fd2650d5]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-fd2650d5]{text-align:left}}@media (min-width: 960px){.main[data-v-fd2650d5]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-fd2650d5]{max-width:592px}}.name[data-v-fd2650d5],.text[data-v-fd2650d5]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-fd2650d5],.VPHero.has-image .text[data-v-fd2650d5]{margin:0 auto}.name[data-v-fd2650d5]{color:var(--vp-home-hero-name-color)}.clip[data-v-fd2650d5]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-fd2650d5],.text[data-v-fd2650d5]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-fd2650d5],.text[data-v-fd2650d5]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-fd2650d5],.VPHero.has-image .text[data-v-fd2650d5]{margin:0}}.tagline[data-v-fd2650d5]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-fd2650d5]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-fd2650d5]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-fd2650d5]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-fd2650d5]{margin:0}}.actions[data-v-fd2650d5]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-fd2650d5]{justify-content:center}@media (min-width: 640px){.actions[data-v-fd2650d5]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-fd2650d5]{justify-content:flex-start}}.action[data-v-fd2650d5]{flex-shrink:0;padding:6px}.image[data-v-fd2650d5]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-fd2650d5]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-fd2650d5]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-fd2650d5]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-fd2650d5]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-fd2650d5]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-fd2650d5]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-fd2650d5]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-fd2650d5]{width:320px;height:320px}}[data-v-fd2650d5] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-fd2650d5] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-fd2650d5] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-837f6cca]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-837f6cca]:hover{border-color:var(--vp-c-brand);background-color:var(--vp-c-bg-soft-up)}.box[data-v-837f6cca]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-837f6cca] .VPImage{width:48px;height:48px;margin-bottom:20px}.icon[data-v-837f6cca]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-bg-soft-down);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-837f6cca]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-837f6cca]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-837f6cca]{padding-top:8px}.link-text-value[data-v-837f6cca]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.link-text-icon[data-v-837f6cca]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-6816157f]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-6816157f]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-6816157f]{padding:0 64px}}.container[data-v-6816157f]{margin:0 auto;max-width:1152px}.items[data-v-6816157f]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-6816157f]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-6816157f],.item.grid-4[data-v-6816157f],.item.grid-6[data-v-6816157f]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-6816157f],.item.grid-4[data-v-6816157f]{width:50%}.item.grid-3[data-v-6816157f],.item.grid-6[data-v-6816157f]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-6816157f]{width:25%}}.VPHome[data-v-d82743a8]{padding-bottom:96px}.VPHome[data-v-d82743a8] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-d82743a8]{padding-bottom:128px}}.VPDocAsideOutline[data-v-ff0f39c8]{display:none}.VPDocAsideOutline.has-outline[data-v-ff0f39c8]{display:block}.content[data-v-ff0f39c8]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-ff0f39c8]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:1px;height:18px;background-color:var(--vp-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-ff0f39c8]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-3f215769]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-3f215769]{flex-grow:1}.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-3f215769] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-7b3ebfe1]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-7b3ebfe1]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-face870a]{margin-top:64px}.edit-info[data-v-face870a]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-face870a]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-face870a]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.edit-link-button[data-v-face870a]:hover{color:var(--vp-c-brand-dark)}.edit-link-icon[data-v-face870a]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-face870a]{border-top:1px solid var(--vp-c-divider);padding-top:24px}@media (min-width: 640px){.prev-next[data-v-face870a]{display:flex}}.pager.has-prev[data-v-face870a]{padding-top:8px}@media (min-width: 640px){.pager[data-v-face870a]{display:flex;flex-direction:column;flex-shrink:0;width:50%}.pager.has-prev[data-v-face870a]{padding-top:0;padding-left:16px}}.pager-link[data-v-face870a]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-face870a]:hover{border-color:var(--vp-c-brand)}.pager-link.next[data-v-face870a]{margin-left:auto;text-align:right}.desc[data-v-face870a]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-face870a]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.VPDocOutlineDropdown[data-v-2edece88]{margin-bottom:42px}.VPDocOutlineDropdown button[data-v-2edece88]{display:block;font-size:14px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;border:1px solid var(--vp-c-border);padding:4px 12px;border-radius:8px}.VPDocOutlineDropdown button[data-v-2edece88]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-2edece88]{color:var(--vp-c-text-1)}.icon[data-v-2edece88]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-2edece88] .outline-link{font-size:13px}.open>.icon[data-v-2edece88]{transform:rotate(90deg)}.items[data-v-2edece88]{margin-top:10px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-c4b0d3cf]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-c4b0d3cf]{display:none}@media (min-width: 960px) and (max-width: 1280px){.VPDoc .VPDocOutlineDropdown[data-v-c4b0d3cf]{display:block}}@media (min-width: 768px){.VPDoc[data-v-c4b0d3cf]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-c4b0d3cf]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-c4b0d3cf]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-c4b0d3cf]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-c4b0d3cf]{display:flex;justify-content:center}.VPDoc .aside[data-v-c4b0d3cf]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-c4b0d3cf]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-c4b0d3cf]{max-width:1104px}}.container[data-v-c4b0d3cf]{margin:0 auto;width:100%}.aside[data-v-c4b0d3cf]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-c4b0d3cf]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-c4b0d3cf]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-c4b0d3cf]::-webkit-scrollbar{display:none}.aside-curtain[data-v-c4b0d3cf]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-c4b0d3cf]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-c4b0d3cf]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-c4b0d3cf]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-c4b0d3cf]{order:1;margin:0;min-width:640px}}.content-container[data-v-c4b0d3cf]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-c4b0d3cf]{max-width:688px}.NotFound[data-v-c70503b8]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-c70503b8]{padding:96px 32px 168px}}.code[data-v-c70503b8]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-c70503b8]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-c70503b8]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-c70503b8]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-c70503b8]{padding-top:20px}.link[data-v-c70503b8]{display:inline-block;border:1px solid var(--vp-c-brand);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:border-color .25s,color .25s}.link[data-v-c70503b8]:hover{border-color:var(--vp-c-brand-dark);color:var(--vp-c-brand-dark)}.VPContent[data-v-a494bd1d]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-a494bd1d]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-a494bd1d]{margin:0}@media (min-width: 960px){.VPContent[data-v-a494bd1d]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-a494bd1d]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-a494bd1d]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-2f86ebd2]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-2f86ebd2]{display:none}@media (min-width: 768px){.VPFooter[data-v-2f86ebd2]{padding:32px}}.container[data-v-2f86ebd2]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-2f86ebd2],.copyright[data-v-2f86ebd2]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.message[data-v-2f86ebd2]{order:2}.copyright[data-v-2f86ebd2]{order:1}.Layout[data-v-b2cf3e0b]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-3c6e61c2]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-3c6e61c2]{margin:0 auto;max-width:1152px}.love[data-v-3c6e61c2]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-3c6e61c2]{width:28px;height:28px;fill:currentColor}.message[data-v-3c6e61c2]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-3c6e61c2]{padding-top:32px}.action[data-v-3c6e61c2]{padding-top:40px;text-align:center}.VPTeamPage[data-v-10b00018]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-10b00018]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-10b00018-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-10b00018-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:96px}}.VPTeamMembers[data-v-10b00018-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-10b00018-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-10b00018-s]{padding:0 64px}}.VPTeamPageTitle[data-v-bf2cbdac]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:80px 64px 48px}}.title[data-v-bf2cbdac]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-bf2cbdac]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-bf2cbdac]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-bf2cbdac]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-b1a88750]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-b1a88750]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-b1a88750]{padding:0 64px}}.title[data-v-b1a88750]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-b1a88750]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-b1a88750]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-b1a88750]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-b1a88750]{padding-top:40px}.VPTeamMembersItem[data-v-a3462077]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-a3462077]{padding:32px}.VPTeamMembersItem.small .data[data-v-a3462077]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-a3462077]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-a3462077]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-a3462077]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-a3462077]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-a3462077]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-a3462077]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-a3462077]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-a3462077]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-a3462077]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-a3462077]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-a3462077]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-a3462077]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-a3462077]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-a3462077]{text-align:center}.avatar[data-v-a3462077]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-a3462077]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-a3462077]{margin:0;font-weight:600}.affiliation[data-v-a3462077]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-a3462077]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-a3462077]:hover{color:var(--vp-c-brand)}.desc[data-v-a3462077]{margin:0 auto}.desc[data-v-a3462077] a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.links[data-v-a3462077]{display:flex;justify-content:center;height:56px}.sp-link[data-v-a3462077]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-a3462077]:hover,.sp .sp-link.link[data-v-a3462077]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-a3462077]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-04685dce]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-04685dce]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-04685dce]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-04685dce]{max-width:876px}.VPTeamMembers.medium .container[data-v-04685dce]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-04685dce]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-04685dce]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-04685dce]{max-width:760px}.container[data-v-04685dce]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vs-colors--lightest: rgba(60, 60, 60, .26);--vs-colors--light: rgba(60, 60, 60, .5);--vs-colors--dark: #333;--vs-colors--darkest: rgba(0, 0, 0, .15);--vs-search-input-color: inherit;--vs-search-input-placeholder-color: inherit;--vs-font-size: 1rem;--vs-line-height: 1.4;--vs-state-disabled-bg: rgb(248, 248, 248);--vs-state-disabled-color: var(--vs-colors--light);--vs-state-disabled-controls-color: var(--vs-colors--light);--vs-state-disabled-cursor: not-allowed;--vs-border-color: var(--vs-colors--lightest);--vs-border-width: 1px;--vs-border-style: solid;--vs-border-radius: 4px;--vs-actions-padding: 4px 6px 0 3px;--vs-controls-color: var(--vs-colors--light);--vs-controls-size: 1;--vs-controls--deselect-text-shadow: 0 1px 0 #fff;--vs-selected-bg: #f0f0f0;--vs-selected-color: var(--vs-colors--dark);--vs-selected-border-color: var(--vs-border-color);--vs-selected-border-style: var(--vs-border-style);--vs-selected-border-width: var(--vs-border-width);--vs-dropdown-bg: #fff;--vs-dropdown-color: inherit;--vs-dropdown-z-index: 1000;--vs-dropdown-min-width: 160px;--vs-dropdown-max-height: 350px;--vs-dropdown-box-shadow: 0px 3px 6px 0px var(--vs-colors--darkest);--vs-dropdown-option-bg: #000;--vs-dropdown-option-color: var(--vs-dropdown-color);--vs-dropdown-option-padding: 3px 20px;--vs-dropdown-option--active-bg: #5897fb;--vs-dropdown-option--active-color: #fff;--vs-dropdown-option--deselect-bg: #fb5858;--vs-dropdown-option--deselect-color: #fff;--vs-transition-timing-function: cubic-bezier(1, -.115, .975, .855);--vs-transition-duration: .15s}.v-select{position:relative;font-family:inherit}.v-select,.v-select *{box-sizing:border-box}:root{--vs-transition-timing-function: cubic-bezier(1, .5, .8, 1);--vs-transition-duration: .15s}@-webkit-keyframes vSelectSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes vSelectSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vs__fade-enter-active,.vs__fade-leave-active{pointer-events:none;transition:opacity var(--vs-transition-duration) var(--vs-transition-timing-function)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}:root{--vs-disabled-bg: var(--vs-state-disabled-bg);--vs-disabled-color: var(--vs-state-disabled-color);--vs-disabled-cursor: var(--vs-state-disabled-cursor)}.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__clear,.vs--disabled .vs__search,.vs--disabled .vs__selected,.vs--disabled .vs__open-indicator{cursor:var(--vs-disabled-cursor);background-color:var(--vs-disabled-bg)}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;padding:0 0 4px;background:none;border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:var(--vs-border-radius);white-space:normal}.vs__selected-options{display:flex;flex-basis:100%;flex-grow:1;flex-wrap:wrap;padding:0 2px;position:relative}.vs__actions{display:flex;align-items:center;padding:var(--vs-actions-padding)}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator{fill:var(--vs-controls-color);transform:scale(var(--vs-controls-size));transition:transform var(--vs-transition-duration) var(--vs-transition-timing-function);transition-timing-function:var(--vs-transition-timing-function)}.vs--open .vs__open-indicator{transform:rotate(180deg) scale(var(--vs-controls-size))}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:var(--vs-controls-color);padding:0;border:0;background-color:transparent;cursor:pointer;margin-right:8px}.vs__dropdown-menu{display:block;box-sizing:border-box;position:absolute;top:calc(100% - var(--vs-border-width));left:0;z-index:var(--vs-dropdown-z-index);padding:5px 0;margin:0;width:100%;max-height:var(--vs-dropdown-max-height);min-width:var(--vs-dropdown-min-width);overflow-y:auto;box-shadow:var(--vs-dropdown-box-shadow);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-top-style:none;border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);text-align:left;list-style:none;background:var(--vs-dropdown-bg);color:var(--vs-dropdown-color)}.vs__no-options{text-align:center}.vs__dropdown-option{line-height:1.42857143;display:block;padding:var(--vs-dropdown-option-padding);clear:both;color:var(--vs-dropdown-option-color);white-space:nowrap;cursor:pointer}.vs__dropdown-option--highlight{background:var(--vs-dropdown-option--active-bg);color:var(--vs-dropdown-option--active-color)}.vs__dropdown-option--deselect{background:var(--vs-dropdown-option--deselect-bg);color:var(--vs-dropdown-option--deselect-color)}.vs__dropdown-option--disabled{background:var(--vs-state-disabled-bg);color:var(--vs-state-disabled-color);cursor:var(--vs-state-disabled-cursor)}.vs__selected{display:flex;align-items:center;background-color:var(--vs-selected-bg);border:var(--vs-selected-border-width) var(--vs-selected-border-style) var(--vs-selected-border-color);border-radius:var(--vs-border-radius);color:var(--vs-selected-color);line-height:var(--vs-line-height);margin:4px 2px 0;padding:0 .25em;z-index:0}.vs__deselect{display:inline-flex;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-left:4px;padding:0;border:0;cursor:pointer;background:none;fill:var(--vs-controls-color);text-shadow:var(--vs-controls--deselect-text-shadow)}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--open .vs__selected,.vs--single.vs--loading .vs__selected{position:absolute;opacity:.4}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-webkit-search-cancel-button{display:none}.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration,.vs__search::-ms-clear{display:none}.vs__search,.vs__search:focus{color:var(--vs-search-input-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:var(--vs-line-height);font-size:var(--vs-font-size);border:1px solid transparent;border-left:none;outline:none;margin:4px 0 0;padding:0 7px;background:none;box-shadow:none;width:0;max-width:100%;flex-grow:1;z-index:1}.vs__search::-moz-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search::placeholder{color:var(--vs-search-input-placeholder-color)}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable:not(.vs--disabled) .vs__search{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{align-self:center;opacity:0;font-size:5px;text-indent:-9999em;overflow:hidden;border-top:.9em solid rgba(100,100,100,.1);border-right:.9em solid rgba(100,100,100,.1);border-bottom:.9em solid rgba(100,100,100,.1);border-left:.9em solid rgba(60,60,60,.45);transform:translateZ(0) scale(var(--vs-controls--spinner-size, var(--vs-controls-size)));-webkit-animation:vSelectSpinner 1.1s infinite linear;animation:vSelectSpinner 1.1s infinite linear;transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;width:5em;height:5em;transform:scale(var(--vs-controls--spinner-size, var(--vs-controls-size)))}.vs--loading .vs__spinner{opacity:1}#msg-template .row{width:100%;display:flex}#msg-template .row .col{flex:1 0 33%}#msg-template .row .col.disable{opacity:0} diff --git a/guide/concept.html b/guide/concept.html index f72576ec..a4fa6ea0 100644 --- a/guide/concept.html +++ b/guide/concept.html @@ -5,29 +5,38 @@ 理念 | Shmily - - + + + - - - - - - + + + + + + -
Skip to content
这一页

理念

why

现有的聊天记录导出归档项目主要分为以下几步, 以 Wechat 为例

导出数据库 --> 解密数据库 --> 解密资源(图片等) --> 生成 HTML (多为模板直出)

在此流程中有很多弊端

  • 使用上
    • 大都为 HTML 模板直出,无分页,几百兆的 HTML 不可用
    • 导出的归档数据无法查询, 筛选、评论等. 失去了归档数据的意义
    • 没有图表统计,数据未体现额外价值
    • 显示数据单一, 无法多项目如 QQ Wechat 按时间线合并查看
    • 多次导出的数据 (如 2020 年导出的数据和 2021 年导出的数据) 不能累计查看并分析
  • 程序上
    • 获取数据不完整,只能拿到当前 HTML 所需导出的数据, 无法拿到数据库中完整的额外字段
    • 全流程耦合,如果对产物不满意, 只能从头开始造轮子, 难以从中间(如解密后的数据库)开始
基于以上问题,Shimly 的亮点在于
  • 使用上

    • Show 基于 Vue 组件化开发,纯前端实现,240M 数据文件浏览搜索无压力
    • 支持筛选、搜索(支持正则)、评论(支持双向引用链接且显示)
    • 支持我能想到所有维度的数据图表统计
    • 支持多种类、多批次数据合并显示与统计
  • 程序上

    • 完整的数据导出、不管是否 Show 有使用,能导尽导,万一别人需要呢
    • 架构上 (见下)

架构

基于以上问题, 我提出以下架构进行 "前后端" "功能化" 拆分, 减少后人的 轮子

|---------|----------------------- Get -----------------------|------------------------ Show -------------------------|
-|---------|------- ExportDB ------|----------- ToMsg ---------|------- ModifyServer ------|---------- Web ------------|
-
-Wechat:   导出数据库 -> 解密数据库 -> 解密资源(图片等)                       添加评论                  消息/评论 筛选查询
-                                              \                        /            \            /
-SMS:      导出数据   ->                       导出为标准数据 -> 合并处理->  -修改错误-  -> 存档显示 ->  时间线合并显示
-                                              /                        \            /            \
-MobileQQ: 导出数据库 ->              解密资源(图片等)                       数据预处理                 大数据图表
-
-更多来源...

将过程分为 Get(后端采集) 和 Show(前端展示), 并细化为 4 个部分(库), 中间使用 Shimly-Msg 标准格式进行融合

  • Get
    • ExportDB 从设备导出原始数据(库)并解密
    • ToMsg 从解密数据库导出为标准数据 ${Shmily-Msg}, 并解密资源(图片等)
      • 导出的数据为 json 格式, 并尽可能导出所有数据, 不管用没用,历史不嫌多
  • Show
    • ModifyServer 用于手动修改 数据文件添加评论
    • Web 用于最终显示 时间线大数据图表

让过程变为 4 个部分后

  • 完全解耦, 便于各种二开造轮子, 便于各个阶段变为轮子
  • 使用现代 Web 框架组件化开发,展示上有了更多可能性. 更多 Show 的问答参考 Shmily-Show/docs/Q_A.md
  • 多种类、多批次的 Get 都可以融合在一个 Show 中时间线展示

问题

拆分后势必增加运行成本, 我希望通过批处理等脚本方式粘合各个库之间的运行, 尽量做到开箱即用. 也会完善文档让非程序员也能阅读明白, 如有不懂之处, 欢迎 Github 提 issues.

感想

花了近 3 年用 JS 写了一大堆的 Get, 我发现还是原生语言开发最方便, 如 MobileQQ 中 Java Serializable问题JS 太难了, 所以以后我还是希望由开源社区贡献与维护 Get, 我会尽力维护 Show 部分.

数据本身就归属用户, 不提供数据导出的都是耍流氓.

GPLv3 License.

- +
Skip to content

理念

why

现有的聊天记录导出归档项目主要分为以下几步, 以 Wechat 为例

导出数据库 --> 解密数据库 --> 解密资源(图片等) --> 生成 HTML (多为模板直出)
导出数据库 --> 解密数据库 --> 解密资源(图片等) --> 生成 HTML (多为模板直出)

在此流程中有很多弊端

  • 使用上
    • 大都为 HTML 模板直出,无分页,几百兆的 HTML 不可用
    • 导出的归档数据无法查询, 筛选、评论等. 失去了归档数据的意义
    • 没有图表统计,数据未体现额外价值
    • 显示数据单一, 无法多项目如 QQ Wechat 按时间线合并查看
    • 多次导出的数据 (如 2020 年导出的数据和 2021 年导出的数据) 不能累计查看并分析
  • 程序上
    • 获取数据不完整,只能拿到当前 HTML 所需导出的数据, 无法拿到数据库中完整的额外字段
    • 全流程耦合,如果对产物不满意, 只能从头开始造轮子, 难以从中间(如解密后的数据库)开始
基于以上问题,Shimly 的亮点在于
基于以上问题,Shimly 的亮点在于
  • 使用上

    • Show 基于 Vue 组件化开发,纯前端实现,240M 数据文件浏览搜索无压力
    • 支持筛选、搜索(支持正则)、评论(支持双向引用链接且显示)
    • 支持我能想到所有维度的数据图表统计
    • 支持多种类、多批次数据合并显示与统计
  • 程序上

    • 完整的数据导出、不管是否 Show 有使用,能导尽导,万一别人需要呢
    • 架构上 (见下)

架构

基于以上问题, 我提出以下架构进行 "前后端" "功能化" 拆分, 减少后人的 轮子

|---------|----------------------- Get -----------------------|------------------------ Show -------------------------|
+|---------|------- ExportDB ------|----------- ToMsg ---------|------- ModifyServer ------|---------- Web ------------|
+
+Wechat:   导出数据库 -> 解密数据库 -> 解密资源(图片等)                       添加评论                  消息/评论 筛选查询
+                                              \                        /            \            /
+SMS:      导出数据   ->                       导出为标准数据 -> 合并处理->  -修改错误-  -> 存档显示 ->  时间线合并显示
+                                              /                        \            /            \
+MobileQQ: 导出数据库 ->              解密资源(图片等)                       数据预处理                 大数据图表
+
+更多来源...
|---------|----------------------- Get -----------------------|------------------------ Show -------------------------|
+|---------|------- ExportDB ------|----------- ToMsg ---------|------- ModifyServer ------|---------- Web ------------|
+
+Wechat:   导出数据库 -> 解密数据库 -> 解密资源(图片等)                       添加评论                  消息/评论 筛选查询
+                                              \                        /            \            /
+SMS:      导出数据   ->                       导出为标准数据 -> 合并处理->  -修改错误-  -> 存档显示 ->  时间线合并显示
+                                              /                        \            /            \
+MobileQQ: 导出数据库 ->              解密资源(图片等)                       数据预处理                 大数据图表
+
+更多来源...

将过程分为 Get(后端采集) 和 Show(前端展示), 并细化为 4 个部分(库), 中间使用 Shimly-Msg 标准格式进行融合

  • Get
    • ExportDB 从设备导出原始数据(库)并解密
    • ToMsg 从解密数据库导出为标准数据 ${Shmily-Msg}, 并解密资源(图片等)
      • 导出的数据为 json 格式, 并尽可能导出所有数据, 不管用没用,历史不嫌多
  • Show
    • ModifyServer 用于手动修改 数据文件添加评论
    • Web 用于最终显示 时间线大数据图表

让过程变为 4 个部分后

  • 完全解耦, 便于各种二开造轮子, 便于各个阶段变为轮子
  • 使用现代 Web 框架组件化开发,展示上有了更多可能性. 更多 Show 的问答参考 Shmily-Show/docs/Q_A.md
  • 多种类、多批次的 Get 都可以融合在一个 Show 中时间线展示

问题

拆分后势必增加运行成本, 我希望通过批处理等脚本方式粘合各个库之间的运行, 尽量做到开箱即用. 也会完善文档让非程序员也能阅读明白, 如有不懂之处, 欢迎 Github 提 issues.

感想

花了近 3 年用 JS 写了一大堆的 Get, 我发现还是原生语言开发最方便, 如 MobileQQ 中 Java Serializable问题JS 太难了, 所以以后我还是希望由开源社区贡献与维护 Get, 我会尽力维护 Show 部分.

数据本身就归属用户, 不提供数据导出的都是耍流氓.

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/other/donation.html b/guide/other/donation.html index e3b31dd6..0de13b32 100644 --- a/guide/other/donation.html +++ b/guide/other/donation.html @@ -5,20 +5,20 @@ 捐赠 | Shmily - - + + + - - - - - - + + + + + + -
Skip to content
这一页

捐赠

!!! 小熊猫 是世界上最可爱的动物 !!! XD

https://www.bilibili.com/video/BV1qy4y1s7SJ/


如果您觉得这个项目对你有帮助, 欢迎投币请我去动物园看 小熊猫

请在备注内包含 Shmily 字样

                            

如果觉得太麻烦,可以付费代劳。淘宝店地址

贱的那个是 小浣熊, 萌的那个是 小熊猫

red-panda


门票公示

时间 姓名 金额 来源
2023/09/03 17:12:36 *门 10 Wechat

GPLv3 License.

- +
Skip to content

捐赠

!!! 小熊猫 是世界上最可爱的动物 !!! XD

https://www.bilibili.com/video/BV1qy4y1s7SJ/


如果您觉得这个项目对你有帮助, 欢迎投币请我去动物园看 小熊猫

请在备注内包含 Shmily 字样
门票公示

                            

如果觉得太麻烦,可以付费代劳。淘宝店地址

贱的那个是 小浣熊, 萌的那个是 小熊猫

red-panda

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/other/donation_list.html b/guide/other/donation_list.html new file mode 100644 index 00000000..d3b0c5c4 --- /dev/null +++ b/guide/other/donation_list.html @@ -0,0 +1,26 @@ + + + + + + Shmily | Shmily + + + + + + + + + + + + + +
Skip to content
门票公示
请在备注内包含 Shmily 字样
+如有遗漏,请发送截图至 i@lqzh.me
请在备注内包含 Shmily 字样
+如有遗漏,请发送截图至 i@lqzh.me

时间姓名金额来源
2023/09/03 17:12:36*门10Wechat

GPLv3 License.

+ + + + \ No newline at end of file diff --git a/guide/other/thanks.html b/guide/other/thanks.html index 2fbe59af..3df8ae7e 100644 --- a/guide/other/thanks.html +++ b/guide/other/thanks.html @@ -5,20 +5,20 @@ 感谢 | Shmily - - + + + - - - - - - + + + + + + - - + + \ No newline at end of file diff --git a/guide/setup-runtime/docker.html b/guide/setup-runtime/docker.html index 377b2f3c..be66ccaa 100644 --- a/guide/setup-runtime/docker.html +++ b/guide/setup-runtime/docker.html @@ -5,20 +5,20 @@ 开始 docker | Shmily - - + + + - - - - - - + + + + + + -
Skip to content
这一页

开始 docker

  • 官网下载 docker desktop
  • 全默认下一步完成

GPLv3 License.

- +
Skip to content

开始 docker

  • 官网下载 docker desktop
  • 全默认下一步完成

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/setup-runtime/java.html b/guide/setup-runtime/java.html index 8b0ef9d7..b768a78a 100644 --- a/guide/setup-runtime/java.html +++ b/guide/setup-runtime/java.html @@ -5,20 +5,20 @@ 开始 java 项目 | Shmily - - + + + - - - - - - + + + + + + -
Skip to content
这一页

开始 java 项目

  1. 官方下载安装 JDK
  2. 全默认下一步安装完成

FAQ

  • Java heap space

    添加环境变量 JAVA_OPTS=-Xmx4096m // 最大允许 JVM 使用 4G 内存

GPLv3 License.

- +
Skip to content

开始 java 项目

  1. 官方下载安装 JDK
  2. 全默认下一步安装完成

FAQ

  • Java heap space

    添加环境变量 JAVA_OPTS=-Xmx4096m // 最大允许 JVM 使用 4G 内存

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/setup-runtime/nodejs.html b/guide/setup-runtime/nodejs.html index 087c6256..2e7f90ca 100644 --- a/guide/setup-runtime/nodejs.html +++ b/guide/setup-runtime/nodejs.html @@ -5,29 +5,37 @@ 开始 Nodejs 项目 | Shmily - - + + + - - - - - - - + + + + + + + -
Skip to content
这一页

开始 Nodejs 项目

1. 安装 nodejs

  • 查看 package.jsonengines 字段获取项目所需 nodejs 版本
  • https://nodejs.org/dist/ 下载相应版本的 nodejs
    • 如果没有 engines 字段,从官网 https://nodejs.org/ 下载 LTS 版本
  • 安装过程,选项全部默认

2. 安装项目依赖

  • 命令行打开项目目录

    • Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 open cmd
  • 执行命令安装依赖

    shell
    npm i

WARNING

如果安装以来过程中大量报错,特别是有 node-gyp 字样的,可以查看项目是否有 node_modules 分支, 如果有可以解压到项目目录 .\node_modules 下, 可以解决依赖问题

其他的参考报错提示处理

3. 启动程序

WARNING

项目启动方式并不唯一, 下面为常用的项目启动方式, 仅供参考

  • 按照项目说明启动程序

  • 若项目无说明, 从 package.json 文件中的 scripts 字段获取执行脚本名称, 通过 npm run {script} 启动程序

    json
    {
    -    ...
    -    "scripts": {
    -        "dev": "vitepress dev docs",
    -        "build": "vitepress build docs",
    -        "serve": "vitepress serve docs"
    -    },
    -    ...
    -}

    INFO

    script 中有多个脚本名称(如上图), 一般来说,build 代表生产(正式),dev 代表测试, 执行 npm run build 即可

  • 若项目 package.json 中没有 script 字段, 则大多数情况下, index.js 为入口文件

    shell
    node index.js

GPLv3 License.

- +
Skip to content

开始 Nodejs 项目

1. 安装 nodejs

  • 查看 package.jsonengines 字段获取项目所需 nodejs 版本
  • https://nodejs.org/dist/ 下载相应版本的 nodejs
    • 如果没有 engines 字段,从官网 https://nodejs.org/ 下载 LTS 版本
  • 安装过程,选项全部默认

2. 安装项目依赖

  • 命令行打开项目目录

    • Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 open cmd
  • 执行命令安装依赖

    shell
    npm i
    npm i

WARNING

如果安装以来过程中大量报错,特别是有 node-gyp 字样的,可以查看项目是否有 node_modules 分支, 如果有可以解压到项目目录 .\node_modules 下, 可以解决依赖问题

其他的参考报错提示处理

3. 启动程序

WARNING

项目启动方式并不唯一, 下面为常用的项目启动方式, 仅供参考

  • 按照项目说明启动程序

  • 若项目无说明, 从 package.json 文件中的 scripts 字段获取执行脚本名称, 通过 npm run {script} 启动程序

    json
    {
    +    ...
    +    "scripts": {
    +        "dev": "vitepress dev docs",
    +        "build": "vitepress build docs",
    +        "serve": "vitepress serve docs"
    +    },
    +    ...
    +}
    {
    +    ...
    +    "scripts": {
    +        "dev": "vitepress dev docs",
    +        "build": "vitepress build docs",
    +        "serve": "vitepress serve docs"
    +    },
    +    ...
    +}

    INFO

    script 中有多个脚本名称(如上图), 一般来说,build 代表生产(正式),dev 代表测试, 执行 npm run build 即可

  • 若项目 package.json 中没有 script 字段, 则大多数情况下, index.js 为入口文件

    shell
    node index.js
    node index.js

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/setup-runtime/php.html b/guide/setup-runtime/php.html index 382cb7c0..81d9ec07 100644 --- a/guide/setup-runtime/php.html +++ b/guide/setup-runtime/php.html @@ -5,20 +5,20 @@ 开始 PHP 项目 | Shmily - - + + + - - - - - - + + + + + + -
Skip to content
这一页

开始 PHP 项目

  1. 官网 下载 PHP

    Windows 下载 VS16 x64 Thread Safe .zip 就行了

  2. 解压 .zipD:\php
  3. 确认 D:\php\php.exe 存在
  4. 开始 运行 sysdm.cpl
  5. 选择 高级 环境变量
  6. 选择 Path,新增一行 D:\php
  7. 确认关闭窗口

php

GPLv3 License.

- +
Skip to content

开始 PHP 项目

  1. 官网 下载 PHP

    Windows 下载 VS16 x64 Thread Safe .zip 就行了

  2. 解压 .zipD:\php
  3. 确认 D:\php\php.exe 存在
  4. 开始 运行 sysdm.cpl
  5. 选择 高级 环境变量
  6. 选择 Path,新增一行 D:\php
  7. 确认关闭窗口

php

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/setup-runtime/python.html b/guide/setup-runtime/python.html index 45bc60b5..45daf232 100644 --- a/guide/setup-runtime/python.html +++ b/guide/setup-runtime/python.html @@ -5,21 +5,21 @@ 开始 Python 项目 | Shmily - - + + + - - - - - - - + + + + + + + -
Skip to content
这一页

开始 Python 项目

1. 安装 python

  • 进入官网下载

  • 勾选 Add python.exe to PATH

    python add path

  • 全默认 下一步 完成

2. 安装项目依赖

  • 命令行打开项目目录
    • Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 open cmd

    • 执行命令安装依赖

    shell
    pip install -r requirements.txt

3.启动程序

WARNING

项目启动方式并不唯一, 下面为常用的项目启动方式, 仅供参考

  • 按照项目说明启动程序

  • 若无说明, 一般 main.py 为入口文件

    shell
    python main.py

GPLv3 License.

- +
Skip to content

开始 Python 项目

1. 安装 python

  • 进入官网下载

  • 勾选 Add python.exe to PATH

    python add path

  • 全默认 下一步 完成

2. 安装项目依赖

  • 命令行打开项目目录
    • Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 open cmd

    • 执行命令安装依赖

    shell
    pip install -r requirements.txt
    pip install -r requirements.txt

3.启动程序

WARNING

项目启动方式并不唯一, 下面为常用的项目启动方式, 仅供参考

  • 按照项目说明启动程序

  • 若无说明, 一般 main.py 为入口文件

    shell
    python main.py
    python main.py

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/setup-runtime/snippets/open_cmd.html b/guide/setup-runtime/snippets/open_cmd.html index 296ae797..465f3022 100644 --- a/guide/setup-runtime/snippets/open_cmd.html +++ b/guide/setup-runtime/snippets/open_cmd.html @@ -5,21 +5,21 @@ Shmily | Shmily - - + + + - - - - - - - + + + + + + + -
Skip to content
这一页
  • 命令行打开项目目录
    • Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 open cmd

GPLv3 License.

- +
Skip to content
  • 命令行打开项目目录
    • Windows 用户在地址栏输入 cmd 回车即可打开当前目录命令行 open cmd

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/use/data.html b/guide/use/data.html index 3d915007..cdee473e 100644 --- a/guide/use/data.html +++ b/guide/use/data.html @@ -5,20 +5,20 @@ 资源文件 | Shmily - - + + + - - - - - - + + + + + + -
Skip to content
这一页

资源文件

路径说明

资源文件路径为 /data/$rootPath/$type/$file, 例如 /data/Wechat-20200101/img/123.jpg

其中 $rootPath 可以在 Get 项目的 config.js 配置.

修改补充

如资源错误或补充, 可以通过 Web ModifyServer 手动修改, 上传的文件会放置到 manual 下, 如 /data/Wechat-20200101/img/manual/123.jpg

评论资源

评论资源会通过 Web ModifyServer 上传到 /data/comment/$msgId/123.jpg

GPLv3 License.

- +
Skip to content

资源文件

路径说明

资源文件路径为 /data/$rootPath/$type/$file, 例如 /data/Wechat-20200101/img/123.jpg

其中 $rootPath 可以在 Get 项目的 config.js 配置.

修改补充

如资源错误或补充, 可以通过 Web ModifyServer 手动修改, 上传的文件会放置到 manual 下, 如 /data/Wechat-20200101/img/manual/123.jpg

评论资源

评论资源会通过 Web ModifyServer 上传到 /data/comment/$msgId/123.jpg

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/use/get.html b/guide/use/get.html index 8d76401f..76126217 100644 --- a/guide/use/get.html +++ b/guide/use/get.html @@ -5,33 +5,46 @@ Get | Shmily - - + + + - - - - - - + + + + + + -
Skip to content
这一页

Get

支持列表

下面列出现有已知的 Get 项目, 更多项目可在 Github 搜索 Shmily-Get-

如何启动项目

项目中可能并不会 明确 说明如何启动项目, 并且大部分项目并不会打包为开箱即用的 "exe".

如果您非程序员, 下面将简单讲解 常见 启动方式

1. 下载项目

Github 为例, 点击下图中 Download ZIP 即可下载当前项目源码 down repo

2. 安装项目运行时环境

根据不同的项目语言安装不同的运行时环境, Github 会自动标注主要语言 what-languages

也可以按照下面列出的特性, 安装对应语言的运行时

  • nodejs (项目中有 package.json 文件)

  • python (大量 .py 后缀文件)

  • java (大量 .java 后缀文件)

3. 根据项目说明执行 Get

4. 获取数据

执行相应的 Get 项目, 可以在输出目录(一般是 dist)获得

// 结构示例 
-// 由于历史原因,可能有部分 Get 输出并未遵循此规则,慢慢重构吧
-
-- data                        <---  资源文件
-  - MobilqQQ-lqzh-20230101
-    - images
-    - videos
-       ...
-
-- MobileQQ-lqzh-20230101.json  <--- 数据文件
-
-- _temp                        <--- 输出过程中的一些信息,如下载错误的文件等
-  - DOWN_ERROR.json
-  - XXXX.json
  • 数据文件

    Shmily-Msg 格式的 JSON 文件,内容是从数据(库)导出的消息内容。

    • 尽量导出消息相关的所有数据而非所需数据, 这样会给其他人带来帮助, 也便于丰富更多信息
    • 尽量补充完整信息, 如 自定义表情, 补充 表情包名称 与 描述, 对于统计来说更准确全面
  • 资源文件

    消息相关的静态资源文件,如图片、表情、视频等

    • 对于外链的资源,建议能爬下来的资源(如图片)都本地化, 过个几年这些 URL 都打不开了

5. 展示

参考 Show 文档

GPLv3 License.

- +
Skip to content

Get

支持列表

下面列出现有已知的 Get 项目, 更多项目可在 Github 搜索 Shmily-Get-

如何启动项目

项目中可能并不会 明确 说明如何启动项目, 并且大部分项目并不会打包为开箱即用的 "exe".

如果您非程序员, 下面将简单讲解 常见 启动方式

1. 下载项目

Github 为例, 点击下图中 Download ZIP 即可下载当前项目源码 down repo

2. 安装项目运行时环境

根据不同的项目语言安装不同的运行时环境, Github 会自动标注主要语言 what-languages

也可以按照下面列出的特性, 安装对应语言的运行时

  • nodejs (项目中有 package.json 文件)

  • python (大量 .py 后缀文件)

  • java (大量 .java 后缀文件)

3. 根据项目说明执行 Get

4. 获取数据

执行相应的 Get 项目, 可以在输出目录(一般是 dist)获得

// 结构示例 
+// 由于历史原因,可能有部分 Get 输出并未遵循此规则,慢慢重构吧
+
+- data                        <---  资源文件
+  - MobilqQQ-lqzh-20230101
+    - images
+    - videos
+       ...
+
+- MobileQQ-lqzh-20230101.json  <--- 数据文件
+
+- _temp                        <--- 输出过程中的一些信息,如下载错误的文件等
+  - DOWN_ERROR.json
+  - XXXX.json
// 结构示例 
+// 由于历史原因,可能有部分 Get 输出并未遵循此规则,慢慢重构吧
+
+- data                        <---  资源文件
+  - MobilqQQ-lqzh-20230101
+    - images
+    - videos
+       ...
+
+- MobileQQ-lqzh-20230101.json  <--- 数据文件
+
+- _temp                        <--- 输出过程中的一些信息,如下载错误的文件等
+  - DOWN_ERROR.json
+  - XXXX.json
  • 数据文件

    Shmily-Msg 格式的 JSON 文件,内容是从数据(库)导出的消息内容。

    • 尽量导出消息相关的所有数据而非所需数据, 这样会给其他人带来帮助, 也便于丰富更多信息
    • 尽量补充完整信息, 如 自定义表情, 补充 表情包名称 与 描述, 对于统计来说更准确全面
  • 资源文件

    消息相关的静态资源文件,如图片、表情、视频等

    • 对于外链的资源,建议能爬下来的资源(如图片)都本地化, 过个几年这些 URL 都打不开了

5. 展示

参考 Show 文档

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/use/merger.html b/guide/use/merger.html index 1c3cabce..4f5d4834 100644 --- a/guide/use/merger.html +++ b/guide/use/merger.html @@ -5,20 +5,20 @@ Merger | Shmily - - + + + - - - - - - + + + + + + -
Skip to content
这一页

Merger

用来合并去重 不同来源含相同内容 ${msg}.json 的项目

DANGER

!!! 如可以接受重复内容, 或多个 数据文件 不含重复内容, 不需要运行此项目 !!!

支持列表

  • SMS CallLog 短信与通话记录

GPLv3 License.

- +
Skip to content

Merger

用来合并去重 不同来源含相同内容 ${msg}.json 的项目

DANGER

!!! 如可以接受重复内容, 或多个 数据文件 不含重复内容, 不需要运行此项目 !!!

支持列表

  • SMS CallLog 短信与通话记录

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/use/msg/custom.html b/guide/use/msg/custom.html index 11a1694a..4ea0c97a 100644 --- a/guide/use/msg/custom.html +++ b/guide/use/msg/custom.html @@ -5,41 +5,62 @@ 自定义 | Shmily - - + + + - - - - - - + + + + + + -
Skip to content
这一页

自定义

  • Q: 如果我想新增 Msg 类型,如 钉钉 怎么办?

  • A: 按以下步骤即可

    简单模式

    适用于和 短信 一样的简单数据,html 就够了,不需要用到复杂组件,只需要提供 html 即可

    此方式不利于数据统计

    js
    {
    -        // 通用字段都是必填 参考 [标准]
    -        "source": "SMS",
    -        "content": "你好,钉钉", // 用于搜索
    -        "html": "<b>你好,钉钉</b>" // 用于显示
    -        ...
    -    }

    Shmily-Show 不用添加组件,可直接使用

    组件模式(推荐)

    js
    {
    -    // 通用字段都是必填 参考 [标准]
    -    "source": "DingTalk",
    -    ....
    +    
    Skip to content

    自定义

    • Q: 如果我想新增 Msg 类型,如 钉钉 怎么办?

    • A: 按以下步骤即可

      简单模式

      适用于和 短信 一样的简单数据,html 就够了,不需要用到复杂组件,只需要提供 html 即可

      此方式不利于数据统计

      js
      {
      +        // 通用字段都是必填 参考 [标准]
      +        "source": "SMS",
      +        "content": "你好,钉钉", // 用于搜索
      +        "html": "<b>你好,钉钉</b>" // 用于显示
      +        ...
      +    }
      {
      +        // 通用字段都是必填 参考 [标准]
      +        "source": "SMS",
      +        "content": "你好,钉钉", // 用于搜索
      +        "html": "<b>你好,钉钉</b>" // 用于显示
      +        ...
      +    }

      Shmily-Show 不用添加组件,可直接使用

      组件模式(推荐)

      js
      {
      +    // 通用字段都是必填 参考 [标准]
      +    "source": "DingTalk",
      +    ....
      +
      +    $DingTalk: {
      +        "os":    "Android",
      +        "raw": { } // 数据的原始样貌
      +        "key": {} // 解密过程中有帮助的值或备注
      +        "res": {} // 和 raw  key一一对应, value 为解密后的数据   如未加密则  raw =res
      +        "data": {} // 前端组件显示所需要的数据
      +        "rootPath" ///  /data/ $rootPath /img/123.png 资源文件夹名称
      +    }
      +
      +    $Dev: {} // 开发中需要用到的数据,Show 生成数据时会被删除
      +}
      {
      +    // 通用字段都是必填 参考 [标准]
      +    "source": "DingTalk",
      +    ....
       
      -    $DingTalk: {
      -        "os":    "Android",
      -        "raw": { } // 数据的原始样貌
      -        "key": {} // 解密过程中有帮助的值或备注
      -        "res": {} // 和 raw  key一一对应, value 为解密后的数据   如未加密则  raw =res
      -        "data": {} // 前端组件显示所需要的数据
      -        "rootPath" ///  /data/ $rootPath /img/123.png 资源文件夹名称
      -    }
      +    $DingTalk: {
      +        "os":    "Android",
      +        "raw": { } // 数据的原始样貌
      +        "key": {} // 解密过程中有帮助的值或备注
      +        "res": {} // 和 raw  key一一对应, value 为解密后的数据   如未加密则  raw =res
      +        "data": {} // 前端组件显示所需要的数据
      +        "rootPath" ///  /data/ $rootPath /img/123.png 资源文件夹名称
      +    }
       
      -    $Dev: {} // 开发中需要用到的数据,Show 生成数据时会被删除
      -}
      1. 标准 格式之外,将数据放入 $source
      2. Shmily-Show 项目 memoryweb/src/components/Msg/source 下新增前端组件用于显示数据
        • 如果您对前端不熟悉,可以在 issue 中提出并提供样本 Msg 我来代劳~

    GPLv3 License.

    - + $Dev: {} // 开发中需要用到的数据,Show 生成数据时会被删除 +}
    1. 标准 格式之外,将数据放入 $source
    2. Shmily-Show 项目 memoryweb/src/components/Msg/source 下新增前端组件用于显示数据
      • 如果您对前端不熟悉,可以在 issue 中提出并提供样本 Msg 我来代劳~

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/use/msg/other/emotion.html b/guide/use/msg/other/emotion.html index eb255606..58a20cf9 100644 --- a/guide/use/msg/other/emotion.html +++ b/guide/use/msg/other/emotion.html @@ -5,38 +5,56 @@ 表情 | Shmily - - + + + - - - - - - + + + + + + -
Skip to content
这一页

表情

如果您要对表情进行统计,根据数据模式不同,需要遵循以下规则

约定

keyvalue举例备注
packName表情包 名称阿狸过新年如果不知道或不想写,需要硬编码为 "其他"
desc表情 名称饺子如果不知道或不想写,需要硬编码为 "未知"
mark表情包 描述温暖可爱的阿狸新年新装扮,让我们一起把春节、情人节和元宵节都变得萌萌哒可选, MobileQQ 官方提供这个值

文件名使用 MD5 小写,这样可以减少重复文件占用的空间,而且如果消息类型是图片,也可以通过 md5 修正类型为表情

./data/qq-android-lqzh-20230101/emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif

简单模式 (从 HTML 字段统计)

js
{
-    ...
-    html: "我是简单的一个表情,<img title='[阿狸过新年-饺子]' alt='[阿狸过新年-饺子]' src='./data/qq-android/emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif' />"
-    content: "我是简单的一个表情,[阿狸过新年-饺子]"
-}

Show 会使用 countEmotionByHtml 函数进行统计

组件模式 (从特定字段进行统计)

js
// 仅为示例
-{
-    ...
-     "$source": {
-        "data": {
-            "webUrl": "./emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif",
-            "packName": "阿狸过新年",
-            "desc": "饺子",
-            "mark": "温暖可爱的阿狸新年新装扮,让我们一起把春节、情人节和元宵节都变得萌萌哒!"
-            ...
-        },
-        "rootPath": 'qq-android-lqzh-20230101'
-        ...
-     }
-}

可以参考 wechat 的函数进行统计

新类型

如果是新的 Get 类型,需要在 这里 补充统计函数

表情数据的一些说明

正向导出

Wechat、MobileQQ 可以直接从数据库中获取表情的 packNamedesc 等值,这样的就很简单,直接导出即可。

反向匹配

如 PC-QQ 无法导出表情类型的消息,更无法获取 packNamedesc,所以所有表情都被视为图片类型被导出

这种情况可以自己收集表情包,根据表情的 MD5 去匹配导出的图片,从而修正图片类型并补充 packNamedesc

这是个苦力活,可以参考 Shmily-Get-QQ-PC-MHT 的表情文件集合,和 Show-Modify-msg 辅助的实现。

GPLv3 License.

- +
Skip to content

表情

如果您要对表情进行统计,根据数据模式不同,需要遵循以下规则

约定

keyvalue举例备注
packName表情包 名称阿狸过新年如果不知道或不想写,需要硬编码为 "其他"
desc表情 名称饺子如果不知道或不想写,需要硬编码为 "未知"
mark表情包 描述温暖可爱的阿狸新年新装扮,让我们一起把春节、情人节和元宵节都变得萌萌哒可选, MobileQQ 官方提供这个值

文件名使用 MD5 小写,这样可以减少重复文件占用的空间,而且如果消息类型是图片,也可以通过 md5 修正类型为表情

./data/qq-android-lqzh-20230101/emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif
./data/qq-android-lqzh-20230101/emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif

简单模式 (从 HTML 字段统计)

js
{
+    ...
+    html: "我是简单的一个表情,<img title='[阿狸过新年-饺子]' alt='[阿狸过新年-饺子]' src='./data/qq-android/emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif' />"
+    content: "我是简单的一个表情,[阿狸过新年-饺子]"
+}
{
+    ...
+    html: "我是简单的一个表情,<img title='[阿狸过新年-饺子]' alt='[阿狸过新年-饺子]' src='./data/qq-android/emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif' />"
+    content: "我是简单的一个表情,[阿狸过新年-饺子]"
+}

Show 会使用 countEmotionByHtml 函数进行统计

组件模式 (从特定字段进行统计)

js
// 仅为示例
+{
+    ...
+     "$source": {
+        "data": {
+            "webUrl": "./emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif",
+            "packName": "阿狸过新年",
+            "desc": "饺子",
+            "mark": "温暖可爱的阿狸新年新装扮,让我们一起把春节、情人节和元宵节都变得萌萌哒!"
+            ...
+        },
+        "rootPath": 'qq-android-lqzh-20230101'
+        ...
+     }
+}
// 仅为示例
+{
+    ...
+     "$source": {
+        "data": {
+            "webUrl": "./emoticon/阿狸过新年/4793ef7525e16fd692ec1620ac19c4fd.gif",
+            "packName": "阿狸过新年",
+            "desc": "饺子",
+            "mark": "温暖可爱的阿狸新年新装扮,让我们一起把春节、情人节和元宵节都变得萌萌哒!"
+            ...
+        },
+        "rootPath": 'qq-android-lqzh-20230101'
+        ...
+     }
+}

可以参考 wechat 的函数进行统计

新类型

如果是新的 Get 类型,需要在 这里 补充统计函数

表情数据的一些说明

正向导出

Wechat、MobileQQ 可以直接从数据库中获取表情的 packNamedesc 等值,这样的就很简单,直接导出即可。

反向匹配

如 PC-QQ 无法导出表情类型的消息,更无法获取 packNamedesc,所以所有表情都被视为图片类型被导出

这种情况可以自己收集表情包,根据表情的 MD5 去匹配导出的图片,从而修正图片类型并补充 packNamedesc

这是个苦力活,可以参考 Shmily-Get-QQ-PC-MHT 的表情文件集合,和 Show-Modify-msg 辅助的实现。

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/use/msg/schema.html b/guide/use/msg/schema.html index 3f8a9036..a699a843 100644 --- a/guide/use/msg/schema.html +++ b/guide/use/msg/schema.html @@ -5,114 +5,208 @@ 数据文件-Msg | Shmily - - + + + - - - - - - + + + + + + -
Skip to content
这一页

数据文件-Msg

为了 GetShow 的良好沟通, 所以需要标准化数据格式

建议开发 Get 时按以下数据标准导出.

  • 可导尽导,为以后的历史留下余量。冗余数据在 Show 中再选择性删除

v2.0

json
[{
-
-    ⬇⬇⬇⬇⬇⬇  通用字段 ⬇⬇⬇⬇⬇⬇⬇
-
-    "source": "MobileQQ",    // 数据来源
-    "device": "OnePlus 3T",  // 设备名称
-    "type": "自定义表情",     // 消息类型
-    "direction": "come",     // (以自己为基准的)发送方向  go 代表自己发出,在右边   come 代表对方发出,在左边
-    "sender": "1111111111",  // 发送方号码  direction=go 为自己 direction=come 为对方
-    "senderName": "fish",    // 发送方名称  direction=go 为对方 direction=come 为自己
-    "receiver": "00000000",  // 接受发号码
-    "receiverName": "null",  // 接收方名称
-    "day": "2017-12-22",     // 发送日期 由 ms 计算得出, 仅为降低运行时计算
-    "time": "08:53:33",      // 发送时间 由 ms 计算得出, 仅为降低运行时计算
-    "ms": 1513904013000,     // 发送时间戳 精确到 ms, 时间以 ms 字段为准,
-    "content": "[甜橙少女新年系列-吃饺子]", // 内容纯文本, 用于 搜索 及 数据分析 , 因此可以和 html 字段不一致
-    "html": "[甜橙少女新年系列-吃饺子]",    // 内容HTML富文本. 用于展示. 简单的内容可以直接用 html 在 Show 中表示,
-                                          // 如果内容复杂, 建议在 Show 中使用组件读取 $Source.data 数据
-                                          // 参与生成 ID
-
-    ⬇⬇⬇⬇⬇⬇  补充字段 ⬇⬇⬇⬇⬇⬇⬇
-    // 如数据复杂, 可以放在补充数据中
-    // 字段名约定使用  $source, 如本例 source='MobileQQ', 此字段名则为 $MobileQQ  (本来想统一成 $Extend, 但是太多项目耦合broken, 没法改了)
-
-    "$MobileQQ": {
-        // !!! 必须 !!! 细分类型, 如 Android 和 IOS 可能数据不一致, Show 通过此字段进行区分表达
-        "os": "Android",
-
-         // 特殊类型标识
-        "type": "_混合消息"
-
-        // 数据库原始数据导出
-        // 保留所有相关的数据,不要进行删减, 给他人留下'其他'可能性
-        // 也给完整解密留下空间
-        // 导出时不差这么点空间
-        "raw": {
-            "msgData": {"type": "Buffer"},
-            ...
-        },
-
-        // 解密过程中有帮助的值或备注
-        "key":{
-            "key": "123123",
-            "offset": 10,
-            ...
-        }
-
-        // 最终数据
-        "res": {
-            "msgData":{} // 相应解密字段
-            "$msgDataLength": 123, // 过程中人为新增的数据使用 $ 开头
-            ...
-        }
-
-        // 前端展示需要的数据
-        // 简单的数据可以直接写 html 字段
-        // 复杂的如 微信分享卡片 建议在 Show 中写好组件, 然后读取下面数据填充
-        "data":{
-            "webUrl": "./emoticon/甜橙少女新年系列/5e671f8149d1b094c44aa0f5232f9cfd.gif",
-            "packName": "甜橙少女新年系列",
-            "desc": "吃饺子",
-            "mark": "过年喽,想要的祝福全在这里"
-        },
-
-        //  资源文件 根文件夹   资源路径
-        //  /data/  $rootPath  ./emoticon/5e671f8149d1b094c44aa0f5232f9cfd.gif
-        // 建议加上时间,便于和以后导出的数据合并
-        "rootPath": `qq-android-lqzh-20230101`, 
-    },
-
-    // 开发过程相关值,
-    // 此处赋值可以随意, 在 Show 的预处理中 $Dev 将被删除
-    "$Dev": {
-        msAccuracy: false // 如 QQ-PC 时间无法精确到 ms ,不能去重时当 ID 使用
-        numberIsTrue: true // 我借同学号码发的短信, 虽然不是我的号码, 但我确定此条消息不被过滤
-        ...
-    }
-
-    ⬇⬇⬇⬇⬇⬇  自动生成字段 ⬇⬇⬇⬇⬇⬇⬇
-
-    // ID 需确保每条消息的唯一性
-    // Show 里的评论和修改都依靠ID才能定位消息
-    // ID 结构由  $filename_YYYY-MM-DD_HH-mm-ss_$direction_$md5_$num 组成
-
-    // 1. $filename 为当前消息所在的文件名
-    // 2. 消息的 $day_$time
-    // 3. 消息的 $direction g(o) 或者 c(ome)
-    // 4. html字段的 MD5值前 6 位
-    // 5. 重复消息的出现次数 (同一个人同一时间发送同样内容刷屏时,1-4并不能保证ID唯一, 所以$num值用来标记前4个拼接相同情况下的第几条 )
-
-    // 使用下划线拼接以上, 组成了当前消息的 ID
-    "id": "camera.json_2009-09-25_10-33-02_g_11e351_1",
-    // 所有消息合并后, 按时间线排序第几条消息
-    "index": 123
-}]

因为项目持续了近 3 年, 所以我写的很多早期 Get 并未遵循以上标准, 我会慢慢重构的.

GPLv3 License.

- +
Skip to content

数据文件-Msg

为了 GetShow 的良好沟通, 所以需要标准化数据格式

建议开发 Get 时按以下数据标准导出.

  • 可导尽导,为以后的历史留下余量。冗余数据在 Show 中再选择性删除

v2.0

json
[{
+
+    ⬇⬇⬇⬇⬇⬇  通用字段 ⬇⬇⬇⬇⬇⬇⬇
+
+    "source": "MobileQQ",    // 数据来源
+    "device": "OnePlus 3T",  // 设备名称
+    "type": "自定义表情",     // 消息类型
+    "direction": "come",     // (以自己为基准的)发送方向  go 代表自己发出,在右边   come 代表对方发出,在左边
+    "sender": "1111111111",  // 发送方号码  direction=go 为自己 direction=come 为对方
+    "senderName": "fish",    // 发送方名称  direction=go 为对方 direction=come 为自己
+    "receiver": "00000000",  // 接受发号码
+    "receiverName": "null",  // 接收方名称
+    "day": "2017-12-22",     // 发送日期 由 ms 计算得出, 仅为降低运行时计算
+    "time": "08:53:33",      // 发送时间 由 ms 计算得出, 仅为降低运行时计算
+    "ms": 1513904013000,     // 发送时间戳 精确到 ms, 时间以 ms 字段为准,
+    "content": "[甜橙少女新年系列-吃饺子]", // 内容纯文本, 用于 搜索 及 数据分析 , 因此可以和 html 字段不一致
+    "html": "[甜橙少女新年系列-吃饺子]",    // 内容HTML富文本. 用于展示. 简单的内容可以直接用 html 在 Show 中表示,
+                                          // 如果内容复杂, 建议在 Show 中使用组件读取 $Source.data 数据
+                                          // 参与生成 ID
+
+    ⬇⬇⬇⬇⬇⬇  补充字段 ⬇⬇⬇⬇⬇⬇⬇
+    // 如数据复杂, 可以放在补充数据中
+    // 字段名约定使用  $source, 如本例 source='MobileQQ', 此字段名则为 $MobileQQ  (本来想统一成 $Extend, 但是太多项目耦合broken, 没法改了)
+
+    "$MobileQQ": {
+        // !!! 必须 !!! 细分类型, 如 Android 和 IOS 可能数据不一致, Show 通过此字段进行区分表达
+        "os": "Android",
+
+         // 特殊类型标识
+        "type": "_混合消息"
+
+        // 数据库原始数据导出
+        // 保留所有相关的数据,不要进行删减, 给他人留下'其他'可能性
+        // 也给完整解密留下空间
+        // 导出时不差这么点空间
+        "raw": {
+            "msgData": {"type": "Buffer"},
+            ...
+        },
+
+        // 解密过程中有帮助的值或备注
+        "key":{
+            "key": "123123",
+            "offset": 10,
+            ...
+        }
+
+        // 最终数据
+        "res": {
+            "msgData":{} // 相应解密字段
+            "$msgDataLength": 123, // 过程中人为新增的数据使用 $ 开头
+            ...
+        }
+
+        // 前端展示需要的数据
+        // 简单的数据可以直接写 html 字段
+        // 复杂的如 微信分享卡片 建议在 Show 中写好组件, 然后读取下面数据填充
+        "data":{
+            "webUrl": "./emoticon/甜橙少女新年系列/5e671f8149d1b094c44aa0f5232f9cfd.gif",
+            "packName": "甜橙少女新年系列",
+            "desc": "吃饺子",
+            "mark": "过年喽,想要的祝福全在这里"
+        },
+
+        //  资源文件 根文件夹   资源路径
+        //  /data/  $rootPath  ./emoticon/5e671f8149d1b094c44aa0f5232f9cfd.gif
+        // 建议加上时间,便于和以后导出的数据合并
+        "rootPath": `qq-android-lqzh-20230101`, 
+    },
+
+    // 开发过程相关值,
+    // 此处赋值可以随意, 在 Show 的预处理中 $Dev 将被删除
+    "$Dev": {
+        msAccuracy: false // 如 QQ-PC 时间无法精确到 ms ,不能去重时当 ID 使用
+        numberIsTrue: true // 我借同学号码发的短信, 虽然不是我的号码, 但我确定此条消息不被过滤
+        ...
+    }
+
+    ⬇⬇⬇⬇⬇⬇  自动生成字段 ⬇⬇⬇⬇⬇⬇⬇
+
+    // ID 需确保每条消息的唯一性
+    // Show 里的评论和修改都依靠ID才能定位消息
+    // ID 结构由  $filename_YYYY-MM-DD_HH-mm-ss_$direction_$md5_$num 组成
+
+    // 1. $filename 为当前消息所在的文件名
+    // 2. 消息的 $day_$time
+    // 3. 消息的 $direction g(o) 或者 c(ome)
+    // 4. html字段的 MD5值前 6 位
+    // 5. 重复消息的出现次数 (同一个人同一时间发送同样内容刷屏时,1-4并不能保证ID唯一, 所以$num值用来标记前4个拼接相同情况下的第几条 )
+
+    // 使用下划线拼接以上, 组成了当前消息的 ID
+    "id": "camera.json_2009-09-25_10-33-02_g_11e351_1",
+    // 所有消息合并后, 按时间线排序第几条消息
+    "index": 123
+}]
[{
+
+    ⬇⬇⬇⬇⬇⬇  通用字段 ⬇⬇⬇⬇⬇⬇⬇
+
+    "source": "MobileQQ",    // 数据来源
+    "device": "OnePlus 3T",  // 设备名称
+    "type": "自定义表情",     // 消息类型
+    "direction": "come",     // (以自己为基准的)发送方向  go 代表自己发出,在右边   come 代表对方发出,在左边
+    "sender": "1111111111",  // 发送方号码  direction=go 为自己 direction=come 为对方
+    "senderName": "fish",    // 发送方名称  direction=go 为对方 direction=come 为自己
+    "receiver": "00000000",  // 接受发号码
+    "receiverName": "null",  // 接收方名称
+    "day": "2017-12-22",     // 发送日期 由 ms 计算得出, 仅为降低运行时计算
+    "time": "08:53:33",      // 发送时间 由 ms 计算得出, 仅为降低运行时计算
+    "ms": 1513904013000,     // 发送时间戳 精确到 ms, 时间以 ms 字段为准,
+    "content": "[甜橙少女新年系列-吃饺子]", // 内容纯文本, 用于 搜索 及 数据分析 , 因此可以和 html 字段不一致
+    "html": "[甜橙少女新年系列-吃饺子]",    // 内容HTML富文本. 用于展示. 简单的内容可以直接用 html 在 Show 中表示,
+                                          // 如果内容复杂, 建议在 Show 中使用组件读取 $Source.data 数据
+                                          // 参与生成 ID
+
+    ⬇⬇⬇⬇⬇⬇  补充字段 ⬇⬇⬇⬇⬇⬇⬇
+    // 如数据复杂, 可以放在补充数据中
+    // 字段名约定使用  $source, 如本例 source='MobileQQ', 此字段名则为 $MobileQQ  (本来想统一成 $Extend, 但是太多项目耦合broken, 没法改了)
+
+    "$MobileQQ": {
+        // !!! 必须 !!! 细分类型, 如 Android 和 IOS 可能数据不一致, Show 通过此字段进行区分表达
+        "os": "Android",
+
+         // 特殊类型标识
+        "type": "_混合消息"
+
+        // 数据库原始数据导出
+        // 保留所有相关的数据,不要进行删减, 给他人留下'其他'可能性
+        // 也给完整解密留下空间
+        // 导出时不差这么点空间
+        "raw": {
+            "msgData": {"type": "Buffer"},
+            ...
+        },
+
+        // 解密过程中有帮助的值或备注
+        "key":{
+            "key": "123123",
+            "offset": 10,
+            ...
+        }
+
+        // 最终数据
+        "res": {
+            "msgData":{} // 相应解密字段
+            "$msgDataLength": 123, // 过程中人为新增的数据使用 $ 开头
+            ...
+        }
+
+        // 前端展示需要的数据
+        // 简单的数据可以直接写 html 字段
+        // 复杂的如 微信分享卡片 建议在 Show 中写好组件, 然后读取下面数据填充
+        "data":{
+            "webUrl": "./emoticon/甜橙少女新年系列/5e671f8149d1b094c44aa0f5232f9cfd.gif",
+            "packName": "甜橙少女新年系列",
+            "desc": "吃饺子",
+            "mark": "过年喽,想要的祝福全在这里"
+        },
+
+        //  资源文件 根文件夹   资源路径
+        //  /data/  $rootPath  ./emoticon/5e671f8149d1b094c44aa0f5232f9cfd.gif
+        // 建议加上时间,便于和以后导出的数据合并
+        "rootPath": `qq-android-lqzh-20230101`, 
+    },
+
+    // 开发过程相关值,
+    // 此处赋值可以随意, 在 Show 的预处理中 $Dev 将被删除
+    "$Dev": {
+        msAccuracy: false // 如 QQ-PC 时间无法精确到 ms ,不能去重时当 ID 使用
+        numberIsTrue: true // 我借同学号码发的短信, 虽然不是我的号码, 但我确定此条消息不被过滤
+        ...
+    }
+
+    ⬇⬇⬇⬇⬇⬇  自动生成字段 ⬇⬇⬇⬇⬇⬇⬇
+
+    // ID 需确保每条消息的唯一性
+    // Show 里的评论和修改都依靠ID才能定位消息
+    // ID 结构由  $filename_YYYY-MM-DD_HH-mm-ss_$direction_$md5_$num 组成
+
+    // 1. $filename 为当前消息所在的文件名
+    // 2. 消息的 $day_$time
+    // 3. 消息的 $direction g(o) 或者 c(ome)
+    // 4. html字段的 MD5值前 6 位
+    // 5. 重复消息的出现次数 (同一个人同一时间发送同样内容刷屏时,1-4并不能保证ID唯一, 所以$num值用来标记前4个拼接相同情况下的第几条 )
+
+    // 使用下划线拼接以上, 组成了当前消息的 ID
+    "id": "camera.json_2009-09-25_10-33-02_g_11e351_1",
+    // 所有消息合并后, 按时间线排序第几条消息
+    "index": 123
+}]

因为项目持续了近 3 年, 所以我写的很多早期 Get 并未遵循以上标准, 我会慢慢重构的.

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/use/msg/template/index.html b/guide/use/msg/template/index.html index 5cd87fc3..a51b613e 100644 --- a/guide/use/msg/template/index.html +++ b/guide/use/msg/template/index.html @@ -5,20 +5,20 @@ 数据文件-Msg 示例 | Shmily - - + + + - - - - - - + + + + + + -
Skip to content
这一页

数据文件-Msg 示例

示例有以下三种查看方式

from JSON

js
[]

from Demo web

Demo 链接 筛选查看

from demo web

from 源码

Shmily-Show 项目 memoryweb/src/components/Msg/source 下查看组件源码

GPLv3 License.

- +
Skip to content

数据文件-Msg 示例

示例有以下三种查看方式

from JSON

js
[]
[]

from Demo web

Demo 链接 筛选查看

from demo web

from 源码

Shmily-Show 项目 memoryweb/src/components/Msg/source 下查看组件源码

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/use/show.html b/guide/use/show.html index 50e9bf83..70ddc876 100644 --- a/guide/use/show.html +++ b/guide/use/show.html @@ -5,20 +5,20 @@ Show | Shmily - - + + + - - - - - - + + + + + + -
Skip to content

GPLv3 License.

- +
Skip to content

GPLv3 License.

+ \ No newline at end of file diff --git a/guide/what-is.html b/guide/what-is.html index 3eb46d02..b5f76fc4 100644 --- a/guide/what-is.html +++ b/guide/what-is.html @@ -5,20 +5,20 @@ 这是啥 | Shmily - - + + + - - - - - - + + + + + + -
Skip to content
这一页

这是啥

一个悲伤的故事

我想归档 QQ 微信 短信等记录为冷数据, 搜了一圈发现并没有符合以下条件的方案

  • QQ 微信 等记录能融合, 并用时间线查看
  • 支持搜索过滤查询
  • 可以给消息评论
  • 有图表分析

然后开始自己造轮子, 以为很简单的项目, 陆陆续续搞了近 3 年, 主要是各种解密难度超乎想象~

吐槽, 什么让摩尔定律停下脚步? 什么让手机电量锁死一天?

手机忙得最多的就是加解密吧... 表情包都要加密 2 次呢

总之我把 归档 这事 "导出" 和 "显示" 分离了, 导出叫 Get, 显示叫 Show, 中间用 <JSON>Msg 粘合

少啰嗦,先看Demo

 

最后

不支持用户数据导出的公司都是耍流氓~

Adun Toridas

今天,我们将夺回我们的家园,夺回我们的遗产!

GPLv3 License.

- +
Skip to content

这是啥

一个悲伤的故事

我想归档 QQ 微信 短信等记录为冷数据, 搜了一圈发现并没有符合以下条件的方案

  • QQ 微信 等记录能融合, 并用时间线查看
  • 支持搜索过滤查询
  • 可以给消息评论
  • 有图表分析

然后开始自己造轮子, 以为很简单的项目, 陆陆续续搞了近 3 年, 主要是各种解密难度超乎想象~

吐槽, 什么让摩尔定律停下脚步? 什么让手机电量锁死一天?

手机忙得最多的就是加解密吧... 表情包都要加密 2 次呢

总之我把 归档 这事 "导出" 和 "显示" 分离了, 导出叫 Get, 显示叫 Show, 中间用 <JSON>Msg 粘合

少啰嗦,先看Demo

 

最后

不支持用户数据导出的公司都是耍流氓~

Adun Toridas

今天,我们将夺回我们的家园,夺回我们的遗产!

GPLv3 License.

+ \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index b9b7040f..cbeaf089 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"guide_setup-runtime_nodejs.md":"bf6f8050","guide_other_donation.md":"bd8fbc0f","guide_other_thanks.md":"6c467a15","guide_setup-runtime_docker.md":"616fad4b","guide_setup-runtime_java.md":"247a8cd8","guide_use_merger.md":"cde06a58","guide_setup-runtime_snippets_open_cmd.md":"14f8d406","guide_use_show.md":"e2be3ad0","guide_setup-runtime_php.md":"73b9cd50","guide_setup-runtime_python.md":"9cb9cf50","guide_use_get.md":"abac7957","guide_use_msg_other_emotion.md":"4ebf6243","guide_concept.md":"f545fd44","guide_use_msg_schema.md":"6c3e1ac8","guide_use_data.md":"7f009f42","guide_use_msg_custom.md":"8c85cca7","guide_what-is.md":"e3704863","index.md":"d7ce6d78","guide_use_msg_template_index.md":"cc671afd"} +{"guide_other_donation_list.md":"8873fd0e","guide_other_donation.md":"41d60739","guide_setup-runtime_docker.md":"c2031dc1","guide_other_thanks.md":"5576a0cc","guide_concept.md":"cc7bd264","guide_setup-runtime_nodejs.md":"60388b26","guide_setup-runtime_php.md":"a7a15db2","guide_setup-runtime_python.md":"48e4644f","guide_use_merger.md":"6140bed0","guide_use_data.md":"1611c3c1","guide_what-is.md":"bbd3e62f","guide_use_msg_custom.md":"b4fbd49e","guide_use_get.md":"1f075dca","guide_use_show.md":"08566203","index.md":"939a1e72","guide_use_msg_other_emotion.md":"5d48899d","guide_setup-runtime_snippets_open_cmd.md":"f329d1fd","guide_setup-runtime_java.md":"ce41e452","guide_use_msg_schema.md":"b6c77ac8","guide_use_msg_template_index.md":"01c8b33d"} diff --git a/index.html b/index.html index 28074a41..f3656003 100644 --- a/index.html +++ b/index.html @@ -5,20 +5,20 @@ Shmily | Shmily - - + + + - - - - - - + + + + + + -
Skip to content

SHMILY

历史的归档

QQ、Wechat、SMS……

VitePress
🎯

多来源

时间线合并查看

🛠️

可编辑与评论

给历史做上标记

📈

大数据图表统计

换个角度看看

GPLv3 License.

- +
Skip to content

SHMILY

历史的归档

QQ、Wechat、SMS……

VitePress

GPLv3 License.

+ \ No newline at end of file