diff --git a/dist/404.html b/dist/404.html index bf0590e..06f7d17 100644 --- a/dist/404.html +++ b/dist/404.html @@ -32,12 +32,12 @@ } Дмитрий Плешевский - - - + + + -

404

Мы потеряли страницу...
Вернуться на главную
- +

404

Верните страницу!
Вернуться на главную
+ diff --git a/dist/assets/404.html-ErxRt0bb.js b/dist/assets/404.html-ErxRt0bb.js new file mode 100644 index 0000000..64764fa --- /dev/null +++ b/dist/assets/404.html-ErxRt0bb.js @@ -0,0 +1 @@ +import{_ as e,c as o,a,o as n}from"./app-ByBFieB-.js";const r={};function l(p,t){return n(),o("div",null,t[0]||(t[0]=[a("p",null,"404 Not Found",-1)]))}const c=e(r,[["render",l],["__file","404.html.vue"]]),m=JSON.parse('{"path":"/404.html","title":"","lang":"ru-RU","frontmatter":{"layout":"NotFound","head":[["meta",{"property":"og:url","content":"https://pleshevski.ru/404.html"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\"}"]]},"headers":[],"git":{},"filePathRelative":null}');export{c as comp,m as data}; diff --git a/dist/assets/404.html-K48krAc8.js b/dist/assets/404.html-K48krAc8.js deleted file mode 100644 index 02c29a0..0000000 --- a/dist/assets/404.html-K48krAc8.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as e,o,a}from"./app-YqJ2N5FF.js";const n={},r=a("p",null,"404 Not Found",-1),c=[r];function s(l,p){return o(),e("div",null,c)}const i=t(n,[["render",s],["__file","404.html.vue"]]),m=JSON.parse('{"path":"/404.html","title":"","lang":"ru-RU","frontmatter":{"layout":"NotFound","head":[["meta",{"property":"og:url","content":"https://pleshevski.ru/404.html"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\"}"]]},"headers":[],"git":{},"filePathRelative":null}');export{i as comp,m as data}; diff --git a/dist/assets/app-ByBFieB-.js b/dist/assets/app-ByBFieB-.js new file mode 100644 index 0000000..02addd1 --- /dev/null +++ b/dist/assets/app-ByBFieB-.js @@ -0,0 +1,31 @@ +/** +* @vue/shared v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Ko(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const _e={},_n=[],bt=()=>{},Oa=()=>!1,sr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),qo=e=>e.startsWith("onUpdate:"),Oe=Object.assign,zo=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ma=Object.prototype.hasOwnProperty,pe=(e,t)=>Ma.call(e,t),ee=Array.isArray,bn=e=>Gr(e)==="[object Map]",Ni=e=>Gr(e)==="[object Set]",re=e=>typeof e=="function",Le=e=>typeof e=="string",Tt=e=>typeof e=="symbol",Se=e=>e!==null&&typeof e=="object",Hi=e=>(Se(e)||re(e))&&re(e.then)&&re(e.catch),Vi=Object.prototype.toString,Gr=e=>Vi.call(e),Ia=e=>Gr(e).slice(8,-1),ji=e=>Gr(e)==="[object Object]",Jo=e=>Le(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,yn=Ko(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Kr=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},$a=/-(\w)/g,Ye=Kr(e=>e.replace($a,(t,n)=>n?n.toUpperCase():"")),Na=/\B([A-Z])/g,Gt=Kr(e=>e.replace(Na,"-$1").toLowerCase()),ir=Kr(e=>e.charAt(0).toUpperCase()+e.slice(1)),lo=Kr(e=>e?`on${ir(e)}`:""),jt=(e,t)=>!Object.is(e,t),ao=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Ha=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Va=e=>{const t=Le(e)?Number(e):NaN;return isNaN(t)?e:t};let As;const qr=()=>As||(As=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function lr(e){if(ee(e)){const t={};for(let n=0;n{if(n){const r=n.split(Fa);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function qe(e){let t="";if(Le(e))t=e;else if(ee(e))for(let n=0;n!!(e&&e.__v_isRef===!0),ae=e=>Le(e)?e:e==null?"":ee(e)||Se(e)&&(e.toString===Vi||!re(e.toString))?Wi(e)?ae(e.value):JSON.stringify(e,Ui,2):String(e),Ui=(e,t)=>Wi(t)?Ui(e,t.value):bn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[co(r,s)+" =>"]=o,n),{})}:Ni(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>co(n))}:Tt(t)?co(t):Se(t)&&!ee(t)&&!ji(t)?String(t):t,co=(e,t="")=>{var n;return Tt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ge;class Ka{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ge,!t&&Ge&&(this.index=(Ge.scopes||(Ge.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(Bn){let t=Bn;for(Bn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Fn;){let t=Fn;for(Fn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Ji(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Yi(e){let t,n=e.depsTail,r=n;for(;r;){const o=r.prevDep;r.version===-1?(r===n&&(n=o),Zo(r),qa(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=o}e.deps=t,e.depsTail=n}function Lo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Qi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Qi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===zn))return;e.globalVersion=zn;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!Lo(e)){e.flags&=-3;return}const n=ye,r=at;ye=e,at=!0;try{Ji(e);const o=e.fn(e._value);(t.version===0||jt(o,e._value))&&(e._value=o,t.version++)}catch(o){throw t.version++,o}finally{ye=n,at=r,Yi(e),e.flags&=-3}}function Zo(e,t=!1){const{dep:n,prevSub:r,nextSub:o}=e;if(r&&(r.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)Zo(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function qa(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let at=!0;const Xi=[];function Kt(){Xi.push(at),at=!1}function qt(){const e=Xi.pop();at=e===void 0?!0:e}function Ls(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ye;ye=void 0;try{t()}finally{ye=n}}}let zn=0;class za{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class zr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!ye||!at||ye===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ye)n=this.activeLink=new za(ye,this),ye.deps?(n.prevDep=ye.depsTail,ye.depsTail.nextDep=n,ye.depsTail=n):ye.deps=ye.depsTail=n,Zi(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=ye.depsTail,n.nextDep=void 0,ye.depsTail.nextDep=n,ye.depsTail=n,ye.deps===n&&(ye.deps=r)}return n}trigger(t){this.version++,zn++,this.notify(t)}notify(t){Qo();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Xo()}}}function Zi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Zi(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Or=new WeakMap,rn=Symbol(""),To=Symbol(""),Jn=Symbol("");function je(e,t,n){if(at&&ye){let r=Or.get(e);r||Or.set(e,r=new Map);let o=r.get(n);o||(r.set(n,o=new zr),o.map=r,o.key=n),o.track()}}function kt(e,t,n,r,o,s){const i=Or.get(e);if(!i){zn++;return}const l=a=>{a&&a.trigger()};if(Qo(),t==="clear")i.forEach(l);else{const a=ee(e),u=a&&Jo(n);if(a&&n==="length"){const f=Number(r);i.forEach((c,h)=>{(h==="length"||h===Jn||!Tt(h)&&h>=f)&&l(c)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),u&&l(i.get(Jn)),t){case"add":a?u&&l(i.get("length")):(l(i.get(rn)),bn(e)&&l(i.get(To)));break;case"delete":a||(l(i.get(rn)),bn(e)&&l(i.get(To)));break;case"set":bn(e)&&l(i.get(rn));break}}Xo()}function Ja(e,t){const n=Or.get(e);return n&&n.get(t)}function pn(e){const t=ce(e);return t===e?t:(je(t,"iterate",Jn),it(e)?t:t.map(Fe))}function Jr(e){return je(e=ce(e),"iterate",Jn),e}const Ya={__proto__:null,[Symbol.iterator](){return fo(this,Symbol.iterator,Fe)},concat(...e){return pn(this).concat(...e.map(t=>ee(t)?pn(t):t))},entries(){return fo(this,"entries",e=>(e[1]=Fe(e[1]),e))},every(e,t){return St(this,"every",e,t,void 0,arguments)},filter(e,t){return St(this,"filter",e,t,n=>n.map(Fe),arguments)},find(e,t){return St(this,"find",e,t,Fe,arguments)},findIndex(e,t){return St(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return St(this,"findLast",e,t,Fe,arguments)},findLastIndex(e,t){return St(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return St(this,"forEach",e,t,void 0,arguments)},includes(...e){return po(this,"includes",e)},indexOf(...e){return po(this,"indexOf",e)},join(e){return pn(this).join(e)},lastIndexOf(...e){return po(this,"lastIndexOf",e)},map(e,t){return St(this,"map",e,t,void 0,arguments)},pop(){return Dn(this,"pop")},push(...e){return Dn(this,"push",e)},reduce(e,...t){return Ts(this,"reduce",e,t)},reduceRight(e,...t){return Ts(this,"reduceRight",e,t)},shift(){return Dn(this,"shift")},some(e,t){return St(this,"some",e,t,void 0,arguments)},splice(...e){return Dn(this,"splice",e)},toReversed(){return pn(this).toReversed()},toSorted(e){return pn(this).toSorted(e)},toSpliced(...e){return pn(this).toSpliced(...e)},unshift(...e){return Dn(this,"unshift",e)},values(){return fo(this,"values",Fe)}};function fo(e,t,n){const r=Jr(e),o=r[t]();return r!==e&&!it(e)&&(o._next=o.next,o.next=()=>{const s=o._next();return s.value&&(s.value=n(s.value)),s}),o}const Qa=Array.prototype;function St(e,t,n,r,o,s){const i=Jr(e),l=i!==e&&!it(e),a=i[t];if(a!==Qa[t]){const c=a.apply(e,s);return l?Fe(c):c}let u=n;i!==e&&(l?u=function(c,h){return n.call(this,Fe(c),h,e)}:n.length>2&&(u=function(c,h){return n.call(this,c,h,e)}));const f=a.call(i,u,r);return l&&o?o(f):f}function Ts(e,t,n,r){const o=Jr(e);let s=n;return o!==e&&(it(e)?n.length>3&&(s=function(i,l,a){return n.call(this,i,l,a,e)}):s=function(i,l,a){return n.call(this,i,Fe(l),a,e)}),o[t](s,...r)}function po(e,t,n){const r=ce(e);je(r,"iterate",Jn);const o=r[t](...n);return(o===-1||o===!1)&&ns(n[0])?(n[0]=ce(n[0]),r[t](...n)):o}function Dn(e,t,n=[]){Kt(),Qo();const r=ce(e)[t].apply(e,n);return Xo(),qt(),r}const Xa=Ko("__proto__,__v_isRef,__isVue"),el=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Tt));function Za(e){Tt(e)||(e=String(e));const t=ce(this);return je(t,"has",e),t.hasOwnProperty(e)}class tl{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const o=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw")return r===(o?s?cc:sl:s?ol:rl).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=ee(t);if(!o){let a;if(i&&(a=Ya[n]))return a;if(n==="hasOwnProperty")return Za}const l=Reflect.get(t,n,Ie(t)?t:r);return(Tt(n)?el.has(n):Xa(n))||(o||je(t,"get",n),s)?l:Ie(l)?i&&Jo(n)?l:l.value:Se(l)?o?cr(l):ar(l):l}}class nl extends tl{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(!this._isShallow){const a=cn(s);if(!it(r)&&!cn(r)&&(s=ce(s),r=ce(r)),!ee(t)&&Ie(s)&&!Ie(r))return a?!1:(s.value=r,!0)}const i=ee(t)&&Jo(n)?Number(n)e,_r=e=>Reflect.getPrototypeOf(e);function oc(e,t,n){return function(...r){const o=this.__v_raw,s=ce(o),i=bn(s),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,u=o[e](...r),f=n?Ro:t?Do:Fe;return!t&&je(s,"iterate",a?To:rn),{next(){const{value:c,done:h}=u.next();return h?{value:c,done:h}:{value:l?[f(c[0]),f(c[1])]:f(c),done:h}},[Symbol.iterator](){return this}}}}function br(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function sc(e,t){const n={get(o){const s=this.__v_raw,i=ce(s),l=ce(o);e||(jt(o,l)&&je(i,"get",o),je(i,"get",l));const{has:a}=_r(i),u=t?Ro:e?Do:Fe;if(a.call(i,o))return u(s.get(o));if(a.call(i,l))return u(s.get(l));s!==i&&s.get(o)},get size(){const o=this.__v_raw;return!e&&je(ce(o),"iterate",rn),Reflect.get(o,"size",o)},has(o){const s=this.__v_raw,i=ce(s),l=ce(o);return e||(jt(o,l)&&je(i,"has",o),je(i,"has",l)),o===l?s.has(o):s.has(o)||s.has(l)},forEach(o,s){const i=this,l=i.__v_raw,a=ce(l),u=t?Ro:e?Do:Fe;return!e&&je(a,"iterate",rn),l.forEach((f,c)=>o.call(s,u(f),u(c),i))}};return Oe(n,e?{add:br("add"),set:br("set"),delete:br("delete"),clear:br("clear")}:{add(o){!t&&!it(o)&&!cn(o)&&(o=ce(o));const s=ce(this);return _r(s).has.call(s,o)||(s.add(o),kt(s,"add",o,o)),this},set(o,s){!t&&!it(s)&&!cn(s)&&(s=ce(s));const i=ce(this),{has:l,get:a}=_r(i);let u=l.call(i,o);u||(o=ce(o),u=l.call(i,o));const f=a.call(i,o);return i.set(o,s),u?jt(s,f)&&kt(i,"set",o,s):kt(i,"add",o,s),this},delete(o){const s=ce(this),{has:i,get:l}=_r(s);let a=i.call(s,o);a||(o=ce(o),a=i.call(s,o)),l&&l.call(s,o);const u=s.delete(o);return a&&kt(s,"delete",o,void 0),u},clear(){const o=ce(this),s=o.size!==0,i=o.clear();return s&&kt(o,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=oc(o,e,t)}),n}function es(e,t){const n=sc(e,t);return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(pe(n,o)&&o in r?n:r,o,s)}const ic={get:es(!1,!1)},lc={get:es(!1,!0)},ac={get:es(!0,!1)};const rl=new WeakMap,ol=new WeakMap,sl=new WeakMap,cc=new WeakMap;function uc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function fc(e){return e.__v_skip||!Object.isExtensible(e)?0:uc(Ia(e))}function ar(e){return cn(e)?e:ts(e,!1,tc,ic,rl)}function il(e){return ts(e,!1,rc,lc,ol)}function cr(e){return ts(e,!0,nc,ac,sl)}function ts(e,t,n,r,o){if(!Se(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const i=fc(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return o.set(e,l),l}function on(e){return cn(e)?on(e.__v_raw):!!(e&&e.__v_isReactive)}function cn(e){return!!(e&&e.__v_isReadonly)}function it(e){return!!(e&&e.__v_isShallow)}function ns(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function dc(e){return!pe(e,"__v_skip")&&Object.isExtensible(e)&&Fi(e,"__v_skip",!0),e}const Fe=e=>Se(e)?ar(e):e,Do=e=>Se(e)?cr(e):e;function Ie(e){return e?e.__v_isRef===!0:!1}function ie(e){return ll(e,!1)}function At(e){return ll(e,!0)}function ll(e,t){return Ie(e)?e:new pc(e,t)}class pc{constructor(t,n){this.dep=new zr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:Fe(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||it(t)||cn(t);t=r?t:ce(t),jt(t,n)&&(this._rawValue=t,this._value=r?t:Fe(t),this.dep.trigger())}}function Ft(e){return Ie(e)?e.value:e}const hc={get:(e,t,n)=>t==="__v_raw"?e:Ft(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Ie(o)&&!Ie(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function al(e){return on(e)?e:new Proxy(e,hc)}class gc{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new zr,{get:r,set:o}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=o}get value(){return this._value=this._get()}set value(t){this._set(t)}}function mc(e){return new gc(e)}function cl(e){const t=ee(e)?new Array(e.length):{};for(const n in e)t[n]=ul(e,n);return t}class vc{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ja(ce(this._object),this._key)}}class _c{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function bc(e,t,n){return Ie(e)?e:re(e)?new _c(e):Se(e)&&arguments.length>1?ul(e,t,n):ie(e)}function ul(e,t,n){const r=e[t];return Ie(r)?r:new vc(e,t,n)}class yc{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new zr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=zn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&ye!==this)return zi(this,!0),!0}get value(){const t=this.dep.track();return Qi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Sc(e,t,n=!1){let r,o;return re(e)?r=e:(r=e.get,o=e.set),new yc(r,o,n)}const yr={},Mr=new WeakMap;let en;function wc(e,t=!1,n=en){if(n){let r=Mr.get(n);r||Mr.set(n,r=[]),r.push(e)}}function xc(e,t,n=_e){const{immediate:r,deep:o,once:s,scheduler:i,augmentJob:l,call:a}=n,u=y=>o?y:it(y)||o===!1||o===0?Et(y,1):Et(y);let f,c,h,p,v=!1,_=!1;if(Ie(e)?(c=()=>e.value,v=it(e)):on(e)?(c=()=>u(e),v=!0):ee(e)?(_=!0,v=e.some(y=>on(y)||it(y)),c=()=>e.map(y=>{if(Ie(y))return y.value;if(on(y))return u(y);if(re(y))return a?a(y,2):y()})):re(e)?t?c=a?()=>a(e,2):e:c=()=>{if(h){Kt();try{h()}finally{qt()}}const y=en;en=f;try{return a?a(e,3,[p]):e(p)}finally{en=y}}:c=bt,t&&o){const y=c,O=o===!0?1/0:o;c=()=>Et(y(),O)}const P=Yo(),k=()=>{f.stop(),P&&zo(P.effects,f)};if(s&&t){const y=t;t=(...O)=>{y(...O),k()}}let w=_?new Array(e.length).fill(yr):yr;const m=y=>{if(!(!(f.flags&1)||!f.dirty&&!y))if(t){const O=f.run();if(o||v||(_?O.some((U,G)=>jt(U,w[G])):jt(O,w))){h&&h();const U=en;en=f;try{const G=[O,w===yr?void 0:_&&w[0]===yr?[]:w,p];a?a(t,3,G):t(...G),w=O}finally{en=U}}}else f.run()};return l&&l(m),f=new Ki(c),f.scheduler=i?()=>i(m,!1):m,p=y=>wc(y,!1,f),h=f.onStop=()=>{const y=Mr.get(f);if(y){if(a)a(y,4);else for(const O of y)O();Mr.delete(f)}},t?r?m(!0):w=f.run():i?i(m.bind(null,!0),!0):f.run(),k.pause=f.pause.bind(f),k.resume=f.resume.bind(f),k.stop=k,k}function Et(e,t=1/0,n){if(t<=0||!Se(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,Ie(e))Et(e.value,t,n);else if(ee(e))for(let r=0;r{Et(r,t,n)});else if(ji(e)){for(const r in e)Et(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Et(e[r],t,n)}return e}/** +* @vue/runtime-core v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function ur(e,t,n,r){try{return r?e(...r):e()}catch(o){fr(o,t,n)}}function ut(e,t,n,r){if(re(e)){const o=ur(e,t,n,r);return o&&Hi(o)&&o.catch(s=>{fr(s,t,n)}),o}if(ee(e)){const o=[];for(let s=0;s>>1,o=Ke[r],s=Yn(o);s=Yn(n)?Ke.push(e):Ke.splice(Cc(t),0,e),e.flags|=1,dl()}}function dl(){Ir||(Ir=fl.then(pl))}function kc(e){ee(e)?Sn.push(...e):$t&&e.id===-1?$t.splice(gn+1,0,e):e.flags&1||(Sn.push(e),e.flags|=1),dl()}function Rs(e,t,n=vt+1){for(;nYn(n)-Yn(r));if(Sn.length=0,$t){$t.push(...t);return}for($t=t,gn=0;gn<$t.length;gn++){const n=$t[gn];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}$t=null,gn=0}}const Yn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function pl(e){try{for(vt=0;vt{r._d&&Ws(-1);const s=Nr(t);let i;try{i=e(...o)}finally{Nr(s),r._d&&Ws(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Hr(e,t){if(He===null)return e;const n=Zr(He),r=e.dirs||(e.dirs=[]);for(let o=0;oe.__isTeleport,Nt=Symbol("_leaveCb"),Sr=Symbol("_enterCb");function Ac(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return We(()=>{e.isMounted=!0}),ss(()=>{e.isUnmounting=!0}),e}const rt=[Function,Array],ml={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:rt,onEnter:rt,onAfterEnter:rt,onEnterCancelled:rt,onBeforeLeave:rt,onLeave:rt,onAfterLeave:rt,onLeaveCancelled:rt,onBeforeAppear:rt,onAppear:rt,onAfterAppear:rt,onAppearCancelled:rt},vl=e=>{const t=e.subTree;return t.component?vl(t.component):t},Lc={name:"BaseTransition",props:ml,setup(e,{slots:t}){const n=pr(),r=Ac();return()=>{const o=t.default&&yl(t.default(),!0);if(!o||!o.length)return;const s=_l(o),i=ce(e),{mode:l}=i;if(r.isLeaving)return ho(s);const a=Ds(s);if(!a)return ho(s);let u=Oo(a,i,r,n,h=>u=h);a.type!==Be&&Qn(a,u);const f=n.subTree,c=f&&Ds(f);if(c&&c.type!==Be&&!tn(a,c)&&vl(n).type!==Be){const h=Oo(c,i,r,n);if(Qn(c,h),l==="out-in"&&a.type!==Be)return r.isLeaving=!0,h.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete h.afterLeave},ho(s);l==="in-out"&&a.type!==Be&&(h.delayLeave=(p,v,_)=>{const P=bl(r,c);P[String(c.key)]=c,p[Nt]=()=>{v(),p[Nt]=void 0,delete u.delayedLeave},u.delayedLeave=_})}return s}}};function _l(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Be){t=n;break}}return t}const Tc=Lc;function bl(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Oo(e,t,n,r,o){const{appear:s,mode:i,persisted:l=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:f,onEnterCancelled:c,onBeforeLeave:h,onLeave:p,onAfterLeave:v,onLeaveCancelled:_,onBeforeAppear:P,onAppear:k,onAfterAppear:w,onAppearCancelled:m}=t,y=String(e.key),O=bl(n,e),U=(j,S)=>{j&&ut(j,r,9,S)},G=(j,S)=>{const $=S[1];U(j,S),ee(j)?j.every(E=>E.length<=1)&&$():j.length<=1&&$()},Q={mode:i,persisted:l,beforeEnter(j){let S=a;if(!n.isMounted)if(s)S=P||a;else return;j[Nt]&&j[Nt](!0);const $=O[y];$&&tn(e,$)&&$.el[Nt]&&$.el[Nt](),U(S,[j])},enter(j){let S=u,$=f,E=c;if(!n.isMounted)if(s)S=k||u,$=w||f,E=m||c;else return;let Z=!1;const ve=j[Sr]=Pe=>{Z||(Z=!0,Pe?U(E,[j]):U($,[j]),Q.delayedLeave&&Q.delayedLeave(),j[Sr]=void 0)};S?G(S,[j,ve]):ve()},leave(j,S){const $=String(e.key);if(j[Sr]&&j[Sr](!0),n.isUnmounting)return S();U(h,[j]);let E=!1;const Z=j[Nt]=ve=>{E||(E=!0,S(),ve?U(_,[j]):U(v,[j]),j[Nt]=void 0,O[$]===e&&delete O[$])};O[$]=e,p?G(p,[j,Z]):Z()},clone(j){const S=Oo(j,t,n,r,o);return o&&o(S),S}};return Q}function ho(e){if(dr(e))return e=Bt(e),e.children=null,e}function Ds(e){if(!dr(e))return gl(e.type)&&e.children?_l(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&re(n.default))return n.default()}}function Qn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Qn(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 yl(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;sVr(v,t&&(ee(t)?t[_]:t),n,r,o));return}if(sn(r)&&!o)return;const s=r.shapeFlag&4?Zr(r.component):r.el,i=o?null:s,{i:l,r:a}=e,u=t&&t.r,f=l.refs===_e?l.refs={}:l.refs,c=l.setupState,h=ce(c),p=c===_e?()=>!1:v=>pe(h,v);if(u!=null&&u!==a&&(Le(u)?(f[u]=null,p(u)&&(c[u]=null)):Ie(u)&&(u.value=null)),re(a))ur(a,l,12,[i,f]);else{const v=Le(a),_=Ie(a);if(v||_){const P=()=>{if(e.f){const k=v?p(a)?c[a]:f[a]:a.value;o?ee(k)&&zo(k,s):ee(k)?k.includes(s)||k.push(s):v?(f[a]=[s],p(a)&&(c[a]=f[a])):(a.value=[s],e.k&&(f[e.k]=a.value))}else v?(f[a]=i,p(a)&&(c[a]=i)):_&&(a.value=i,e.k&&(f[e.k]=i))};i?(P.id=-1,et(P,n)):P()}}}let Os=!1;const hn=()=>{Os||(console.error("Hydration completed but contains mismatches."),Os=!0)},Rc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Dc=e=>e.namespaceURI.includes("MathML"),wr=e=>{if(e.nodeType===1){if(Rc(e))return"svg";if(Dc(e))return"mathml"}},vn=e=>e.nodeType===8;function Oc(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:l,insert:a,createComment:u}}=e,f=(m,y)=>{if(!y.hasChildNodes()){n(null,m,y),$r(),y._vnode=m;return}c(y.firstChild,m,null,null,null),$r(),y._vnode=m},c=(m,y,O,U,G,Q=!1)=>{Q=Q||!!y.dynamicChildren;const j=vn(m)&&m.data==="[",S=()=>_(m,y,O,U,G,j),{type:$,ref:E,shapeFlag:Z,patchFlag:ve}=y;let Pe=m.nodeType;y.el=m,ve===-2&&(Q=!1,y.dynamicChildren=null);let z=null;switch($){case an:Pe!==3?y.children===""?(a(y.el=o(""),i(m),m),z=m):z=S():(m.data!==y.children&&(hn(),m.data=y.children),z=s(m));break;case Be:w(m)?(z=s(m),k(y.el=m.content.firstChild,m,O)):Pe!==8||j?z=S():z=s(m);break;case Un:if(j&&(m=s(m),Pe=m.nodeType),Pe===1||Pe===3){z=m;const oe=!y.children.length;for(let K=0;K{Q=Q||!!y.dynamicChildren;const{type:j,props:S,patchFlag:$,shapeFlag:E,dirs:Z,transition:ve}=y,Pe=j==="input"||j==="option";if(Pe||$!==-1){Z&&_t(y,null,O,"created");let z=!1;if(w(m)){z=Ml(null,ve)&&O&&O.vnode.props&&O.vnode.props.appear;const K=m.content.firstChild;z&&ve.beforeEnter(K),k(K,m,O),y.el=m=K}if(E&16&&!(S&&(S.innerHTML||S.textContent))){let K=p(m.firstChild,y,m,O,U,G,Q);for(;K;){xr(m,1)||hn();const Me=K;K=K.nextSibling,l(Me)}}else if(E&8){let K=y.children;K[0]===` +`&&(m.tagName==="PRE"||m.tagName==="TEXTAREA")&&(K=K.slice(1)),m.textContent!==K&&(xr(m,0)||hn(),m.textContent=y.children)}if(S){if(Pe||!Q||$&48){const K=m.tagName.includes("-");for(const Me in S)(Pe&&(Me.endsWith("value")||Me==="indeterminate")||sr(Me)&&!yn(Me)||Me[0]==="."||K)&&r(m,Me,null,S[Me],void 0,O)}else if(S.onClick)r(m,"onClick",null,S.onClick,void 0,O);else if($&4&&on(S.style))for(const K in S.style)S.style[K]}let oe;(oe=S&&S.onVnodeBeforeMount)&&ot(oe,O,y),Z&&_t(y,null,O,"beforeMount"),((oe=S&&S.onVnodeMounted)||Z||z)&&jl(()=>{oe&&ot(oe,O,y),z&&ve.enter(m),Z&&_t(y,null,O,"mounted")},U)}return m.nextSibling},p=(m,y,O,U,G,Q,j)=>{j=j||!!y.dynamicChildren;const S=y.children,$=S.length;for(let E=0;E<$;E++){const Z=j?S[E]:S[E]=st(S[E]),ve=Z.type===an;m?(ve&&!j&&E+1<$&&st(S[E+1]).type===an&&(a(o(m.data.slice(Z.children.length)),O,s(m)),m.data=Z.children),m=c(m,Z,U,G,Q,j)):ve&&!Z.children?a(Z.el=o(""),O):(xr(O,1)||hn(),n(null,Z,O,null,U,G,wr(O),Q))}return m},v=(m,y,O,U,G,Q)=>{const{slotScopeIds:j}=y;j&&(G=G?G.concat(j):j);const S=i(m),$=p(s(m),y,S,O,U,G,Q);return $&&vn($)&&$.data==="]"?s(y.anchor=$):(hn(),a(y.anchor=u("]"),S,$),$)},_=(m,y,O,U,G,Q)=>{if(xr(m.parentElement,1)||hn(),y.el=null,Q){const $=P(m);for(;;){const E=s(m);if(E&&E!==$)l(E);else break}}const j=s(m),S=i(m);return l(m),n(null,y,S,j,O,U,wr(S),G),j},P=(m,y="[",O="]")=>{let U=0;for(;m;)if(m=s(m),m&&vn(m)&&(m.data===y&&U++,m.data===O)){if(U===0)return s(m);U--}return m},k=(m,y,O)=>{const U=y.parentNode;U&&U.replaceChild(m,y);let G=O;for(;G;)G.vnode.el===y&&(G.vnode.el=G.subTree.el=m),G=G.parent},w=m=>m.nodeType===1&&m.tagName==="TEMPLATE";return[f,c]}const Ms="data-allow-mismatch",Mc={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function xr(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Ms);)e=e.parentElement;const n=e&&e.getAttribute(Ms);if(n==null)return!1;if(n==="")return!0;{const r=n.split(",");return t===0&&r.includes("children")?!0:n.split(",").includes(Mc[t])}}qr().requestIdleCallback;qr().cancelIdleCallback;function Ic(e,t){if(vn(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(vn(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const sn=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function $c(e){re(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,hydrate:s,timeout:i,suspensible:l=!0,onError:a}=e;let u=null,f,c=0;const h=()=>(c++,u=null,p()),p=()=>{let v;return u||(v=u=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),a)return new Promise((P,k)=>{a(_,()=>P(h()),()=>k(_),c+1)});throw _}).then(_=>v!==u&&u?u:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),f=_,_)))};return fe({name:"AsyncComponentWrapper",__asyncLoader:p,__asyncHydrate(v,_,P){const k=s?()=>{const w=s(P,m=>Ic(v,m));w&&(_.bum||(_.bum=[])).push(w)}:P;f?k():p().then(()=>!_.isUnmounted&&k())},get __asyncResolved(){return f},setup(){const v=Ne;if(os(v),f)return()=>go(f,v);const _=m=>{u=null,fr(m,v,13,!r)};if(l&&v.suspense||Cn)return p().then(m=>()=>go(m,v)).catch(m=>(_(m),()=>r?te(r,{error:m}):null));const P=ie(!1),k=ie(),w=ie(!!o);return o&&setTimeout(()=>{w.value=!1},o),i!=null&&setTimeout(()=>{if(!P.value&&!k.value){const m=new Error(`Async component timed out after ${i}ms.`);_(m),k.value=m}},i),p().then(()=>{P.value=!0,v.parent&&dr(v.parent.vnode)&&v.parent.update()}).catch(m=>{_(m),k.value=m}),()=>{if(P.value&&f)return go(f,v);if(k.value&&r)return te(r,{error:k.value});if(n&&!w.value)return te(n)}}})}function go(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,i=te(e,r,o);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const dr=e=>e.type.__isKeepAlive;function Nc(e,t){Sl(e,"a",t)}function Hc(e,t){Sl(e,"da",t)}function Sl(e,t,n=Ne){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Yr(t,r,n),n){let o=n.parent;for(;o&&o.parent;)dr(o.parent.vnode)&&Vc(r,t,n,o),o=o.parent}}function Vc(e,t,n,r){const o=Yr(t,e,r,!0);Qr(()=>{zo(r[t],o)},n)}function Yr(e,t,n=Ne,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{Kt();const l=hr(n),a=ut(t,n,e,i);return l(),qt(),a});return r?o.unshift(s):o.push(s),s}}const Rt=e=>(t,n=Ne)=>{(!Cn||e==="sp")&&Yr(e,(...r)=>t(...r),n)},jc=Rt("bm"),We=Rt("m"),Fc=Rt("bu"),Bc=Rt("u"),ss=Rt("bum"),Qr=Rt("um"),Wc=Rt("sp"),Uc=Rt("rtg"),Gc=Rt("rtc");function Kc(e,t=Ne){Yr("ec",e,t)}const qc="components";function is(e,t){return Jc(qc,e,!0,t)||e}const zc=Symbol.for("v-ndc");function Jc(e,t,n=!0,r=!1){const o=He||Ne;if(o){const s=o.type;{const l=Iu(s,!1);if(l&&(l===t||l===Ye(t)||l===ir(Ye(t))))return s}const i=Is(o[e]||s[e],t)||Is(o.appContext[e],t);return!i&&r?s:i}}function Is(e,t){return e&&(e[t]||e[Ye(t)]||e[ir(Ye(t))])}function Lt(e,t,n,r){let o;const s=n,i=ee(e);if(i||Le(e)){const l=i&&on(e);let a=!1;l&&(a=!it(e),e=Jr(e)),o=new Array(e.length);for(let u=0,f=e.length;ut(l,a,void 0,s));else{const l=Object.keys(e);o=new Array(l.length);for(let a=0,u=l.length;aZn(t)?!(t.type===Be||t.type===me&&!wl(t.children)):!0)?e:null}const Mo=e=>e?Wl(e)?Zr(e):Mo(e.parent):null,Wn=Oe(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=>Mo(e.parent),$root:e=>Mo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ls(e),$forceUpdate:e=>e.f||(e.f=()=>{rs(e.update)}),$nextTick:e=>e.n||(e.n=zt.bind(e.proxy)),$watch:e=>mu.bind(e)}),mo=(e,t)=>e!==_e&&!e.__isScriptSetup&&pe(e,t),Yc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:l,appContext:a}=e;let u;if(t[0]!=="$"){const p=i[t];if(p!==void 0)switch(p){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(mo(r,t))return i[t]=1,r[t];if(o!==_e&&pe(o,t))return i[t]=2,o[t];if((u=e.propsOptions[0])&&pe(u,t))return i[t]=3,s[t];if(n!==_e&&pe(n,t))return i[t]=4,n[t];Io&&(i[t]=0)}}const f=Wn[t];let c,h;if(f)return t==="$attrs"&&je(e.attrs,"get",""),f(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(n!==_e&&pe(n,t))return i[t]=4,n[t];if(h=a.config.globalProperties,pe(h,t))return h[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return mo(o,t)?(o[t]=n,!0):r!==_e&&pe(r,t)?(r[t]=n,!0):pe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},i){let l;return!!n[i]||e!==_e&&pe(e,i)||mo(t,i)||(l=s[0])&&pe(l,i)||pe(r,i)||pe(Wn,i)||pe(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:pe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function $s(e){return ee(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Io=!0;function Qc(e){const t=ls(e),n=e.proxy,r=e.ctx;Io=!1,t.beforeCreate&&Ns(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:l,provide:a,inject:u,created:f,beforeMount:c,mounted:h,beforeUpdate:p,updated:v,activated:_,deactivated:P,beforeDestroy:k,beforeUnmount:w,destroyed:m,unmounted:y,render:O,renderTracked:U,renderTriggered:G,errorCaptured:Q,serverPrefetch:j,expose:S,inheritAttrs:$,components:E,directives:Z,filters:ve}=t;if(u&&Xc(u,r,null),i)for(const oe in i){const K=i[oe];re(K)&&(r[oe]=K.bind(n))}if(o){const oe=o.call(n,n);Se(oe)&&(e.data=ar(oe))}if(Io=!0,s)for(const oe in s){const K=s[oe],Me=re(K)?K.bind(n,n):re(K.get)?K.get.bind(n,n):bt,Ot=!re(K)&&re(K.set)?K.set.bind(n):bt,gt=R({get:Me,set:Ot});Object.defineProperty(r,oe,{enumerable:!0,configurable:!0,get:()=>gt.value,set:Je=>gt.value=Je})}if(l)for(const oe in l)xl(l[oe],r,n,oe);if(a){const oe=re(a)?a.call(n):a;Reflect.ownKeys(oe).forEach(K=>{ln(K,oe[K])})}f&&Ns(f,e,"c");function z(oe,K){ee(K)?K.forEach(Me=>oe(Me.bind(n))):K&&oe(K.bind(n))}if(z(jc,c),z(We,h),z(Fc,p),z(Bc,v),z(Nc,_),z(Hc,P),z(Kc,Q),z(Gc,U),z(Uc,G),z(ss,w),z(Qr,y),z(Wc,j),ee(S))if(S.length){const oe=e.exposed||(e.exposed={});S.forEach(K=>{Object.defineProperty(oe,K,{get:()=>n[K],set:Me=>n[K]=Me})})}else e.exposed||(e.exposed={});O&&e.render===bt&&(e.render=O),$!=null&&(e.inheritAttrs=$),E&&(e.components=E),Z&&(e.directives=Z),j&&os(e)}function Xc(e,t,n=bt){ee(e)&&(e=$o(e));for(const r in e){const o=e[r];let s;Se(o)?"default"in o?s=ze(o.from||r,o.default,!0):s=ze(o.from||r):s=ze(o),Ie(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Ns(e,t,n){ut(ee(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function xl(e,t,n,r){let o=r.includes(".")?Nl(n,r):()=>n[r];if(Le(e)){const s=t[e];re(s)&&De(o,s)}else if(re(e))De(o,e.bind(n));else if(Se(e))if(ee(e))e.forEach(s=>xl(s,t,n,r));else{const s=re(e.handler)?e.handler.bind(n):t[e.handler];re(s)&&De(o,s,e)}}function ls(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,l=s.get(t);let a;return l?a=l:!o.length&&!n&&!r?a=t:(a={},o.length&&o.forEach(u=>jr(a,u,i,!0)),jr(a,t,i)),Se(t)&&s.set(t,a),a}function jr(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&jr(e,s,n,!0),o&&o.forEach(i=>jr(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Zc[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Zc={data:Hs,props:Vs,emits:Vs,methods:Vn,computed:Vn,beforeCreate:Ue,created:Ue,beforeMount:Ue,mounted:Ue,beforeUpdate:Ue,updated:Ue,beforeDestroy:Ue,beforeUnmount:Ue,destroyed:Ue,unmounted:Ue,activated:Ue,deactivated:Ue,errorCaptured:Ue,serverPrefetch:Ue,components:Vn,directives:Vn,watch:tu,provide:Hs,inject:eu};function Hs(e,t){return t?e?function(){return Oe(re(e)?e.call(this,this):e,re(t)?t.call(this,this):t)}:t:e}function eu(e,t){return Vn($o(e),$o(t))}function $o(e){if(ee(e)){const t={};for(let n=0;n1)return n&&re(t)?t.call(r&&r.proxy):t}}const Cl={},kl=()=>Object.create(Cl),El=e=>Object.getPrototypeOf(e)===Cl;function ou(e,t,n,r=!1){const o={},s=kl();e.propsDefaults=Object.create(null),Al(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:il(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function su(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,l=ce(o),[a]=e.propsOptions;let u=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let c=0;c{a=!0;const[h,p]=Ll(c,t,!0);Oe(i,h),p&&l.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!s&&!a)return Se(e)&&r.set(e,_n),_n;if(ee(s))for(let f=0;fe[0]==="_"||e==="$stable",as=e=>ee(e)?e.map(st):[st(e)],lu=(e,t,n)=>{if(t._n)return t;const r=Te((...o)=>as(t(...o)),n);return r._c=!1,r},Rl=(e,t,n)=>{const r=e._ctx;for(const o in e){if(Tl(o))continue;const s=e[o];if(re(s))t[o]=lu(o,s,r);else if(s!=null){const i=as(s);t[o]=()=>i}}},Dl=(e,t)=>{const n=as(t);e.slots.default=()=>n},Ol=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},au=(e,t,n)=>{const r=e.slots=kl();if(e.vnode.shapeFlag&32){const o=t._;o?(Ol(r,t,n),n&&Fi(r,"_",o,!0)):Rl(t,r)}else t&&Dl(e,t)},cu=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=_e;if(r.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:Ol(o,t,n):(s=!t.$stable,Rl(t,o)),i=t}else t&&(Dl(e,t),i={default:1});if(s)for(const l in o)!Tl(l)&&i[l]==null&&delete o[l]},et=jl;function uu(e){return fu(e,Oc)}function fu(e,t){const n=qr();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:l,createComment:a,setText:u,setElementText:f,parentNode:c,nextSibling:h,setScopeId:p=bt,insertStaticContent:v}=e,_=(d,g,b,A=null,x=null,L=null,H=void 0,I=null,M=!!g.dynamicChildren)=>{if(d===g)return;d&&!tn(d,g)&&(A=C(d),Je(d,x,L,!0),d=null),g.patchFlag===-2&&(M=!1,g.dynamicChildren=null);const{type:T,ref:X,shapeFlag:F}=g;switch(T){case an:P(d,g,b,A);break;case Be:k(d,g,b,A);break;case Un:d==null&&w(g,b,A,H);break;case me:E(d,g,b,A,x,L,H,I,M);break;default:F&1?O(d,g,b,A,x,L,H,I,M):F&6?Z(d,g,b,A,x,L,H,I,M):(F&64||F&128)&&T.process(d,g,b,A,x,L,H,I,M,q)}X!=null&&x&&Vr(X,d&&d.ref,L,g||d,!g)},P=(d,g,b,A)=>{if(d==null)r(g.el=l(g.children),b,A);else{const x=g.el=d.el;g.children!==d.children&&u(x,g.children)}},k=(d,g,b,A)=>{d==null?r(g.el=a(g.children||""),b,A):g.el=d.el},w=(d,g,b,A)=>{[d.el,d.anchor]=v(d.children,g,b,A,d.el,d.anchor)},m=({el:d,anchor:g},b,A)=>{let x;for(;d&&d!==g;)x=h(d),r(d,b,A),d=x;r(g,b,A)},y=({el:d,anchor:g})=>{let b;for(;d&&d!==g;)b=h(d),o(d),d=b;o(g)},O=(d,g,b,A,x,L,H,I,M)=>{g.type==="svg"?H="svg":g.type==="math"&&(H="mathml"),d==null?U(g,b,A,x,L,H,I,M):j(d,g,x,L,H,I,M)},U=(d,g,b,A,x,L,H,I)=>{let M,T;const{props:X,shapeFlag:F,transition:J,dirs:ne}=d;if(M=d.el=i(d.type,L,X&&X.is,X),F&8?f(M,d.children):F&16&&Q(d.children,M,null,A,x,vo(d,L),H,I),ne&&_t(d,null,A,"created"),G(M,d,d.scopeId,H,A),X){for(const be in X)be!=="value"&&!yn(be)&&s(M,be,null,X[be],L,A);"value"in X&&s(M,"value",null,X.value,L),(T=X.onVnodeBeforeMount)&&ot(T,A,d)}ne&&_t(d,null,A,"beforeMount");const le=Ml(x,J);le&&J.beforeEnter(M),r(M,g,b),((T=X&&X.onVnodeMounted)||le||ne)&&et(()=>{T&&ot(T,A,d),le&&J.enter(M),ne&&_t(d,null,A,"mounted")},x)},G=(d,g,b,A,x)=>{if(b&&p(d,b),A)for(let L=0;L{for(let T=M;T{const I=g.el=d.el;let{patchFlag:M,dynamicChildren:T,dirs:X}=g;M|=d.patchFlag&16;const F=d.props||_e,J=g.props||_e;let ne;if(b&&Yt(b,!1),(ne=J.onVnodeBeforeUpdate)&&ot(ne,b,g,d),X&&_t(g,d,b,"beforeUpdate"),b&&Yt(b,!0),(F.innerHTML&&J.innerHTML==null||F.textContent&&J.textContent==null)&&f(I,""),T?S(d.dynamicChildren,T,I,b,A,vo(g,x),L):H||K(d,g,I,null,b,A,vo(g,x),L,!1),M>0){if(M&16)$(I,F,J,b,x);else if(M&2&&F.class!==J.class&&s(I,"class",null,J.class,x),M&4&&s(I,"style",F.style,J.style,x),M&8){const le=g.dynamicProps;for(let be=0;be{ne&&ot(ne,b,g,d),X&&_t(g,d,b,"updated")},A)},S=(d,g,b,A,x,L,H)=>{for(let I=0;I{if(g!==b){if(g!==_e)for(const L in g)!yn(L)&&!(L in b)&&s(d,L,g[L],null,x,A);for(const L in b){if(yn(L))continue;const H=b[L],I=g[L];H!==I&&L!=="value"&&s(d,L,I,H,x,A)}"value"in b&&s(d,"value",g.value,b.value,x)}},E=(d,g,b,A,x,L,H,I,M)=>{const T=g.el=d?d.el:l(""),X=g.anchor=d?d.anchor:l("");let{patchFlag:F,dynamicChildren:J,slotScopeIds:ne}=g;ne&&(I=I?I.concat(ne):ne),d==null?(r(T,b,A),r(X,b,A),Q(g.children||[],b,X,x,L,H,I,M)):F>0&&F&64&&J&&d.dynamicChildren?(S(d.dynamicChildren,J,b,x,L,H,I),(g.key!=null||x&&g===x.subTree)&&Il(d,g,!0)):K(d,g,b,X,x,L,H,I,M)},Z=(d,g,b,A,x,L,H,I,M)=>{g.slotScopeIds=I,d==null?g.shapeFlag&512?x.ctx.activate(g,b,A,H,M):ve(g,b,A,x,L,H,M):Pe(d,g,M)},ve=(d,g,b,A,x,L,H)=>{const I=d.component=Tu(d,A,x);if(dr(d)&&(I.ctx.renderer=q),Ru(I,!1,H),I.asyncDep){if(x&&x.registerDep(I,z,H),!d.el){const M=I.subTree=te(Be);k(null,M,g,b)}}else z(I,d,g,b,x,L,H)},Pe=(d,g,b)=>{const A=g.component=d.component;if(Su(d,g,b))if(A.asyncDep&&!A.asyncResolved){oe(A,g,b);return}else A.next=g,A.update();else g.el=d.el,A.vnode=g},z=(d,g,b,A,x,L,H)=>{const I=()=>{if(d.isMounted){let{next:F,bu:J,u:ne,parent:le,vnode:be}=d;{const Xe=$l(d);if(Xe){F&&(F.el=be.el,oe(d,F,H)),Xe.asyncDep.then(()=>{d.isUnmounted||I()});return}}let he=F,Qe;Yt(d,!1),F?(F.el=be.el,oe(d,F,H)):F=be,J&&ao(J),(Qe=F.props&&F.props.onVnodeBeforeUpdate)&&ot(Qe,le,F,be),Yt(d,!0);const Ve=_o(d),lt=d.subTree;d.subTree=Ve,_(lt,Ve,c(lt.el),C(lt),d,x,L),F.el=Ve.el,he===null&&wu(d,Ve.el),ne&&et(ne,x),(Qe=F.props&&F.props.onVnodeUpdated)&&et(()=>ot(Qe,le,F,be),x)}else{let F;const{el:J,props:ne}=g,{bm:le,m:be,parent:he,root:Qe,type:Ve}=d,lt=sn(g);if(Yt(d,!1),le&&ao(le),!lt&&(F=ne&&ne.onVnodeBeforeMount)&&ot(F,he,g),Yt(d,!0),J&&xe){const Xe=()=>{d.subTree=_o(d),xe(J,d.subTree,d,x,null)};lt&&Ve.__asyncHydrate?Ve.__asyncHydrate(J,d,Xe):Xe()}else{Qe.ce&&Qe.ce._injectChildStyle(Ve);const Xe=d.subTree=_o(d);_(null,Xe,b,A,d,x,L),g.el=Xe.el}if(be&&et(be,x),!lt&&(F=ne&&ne.onVnodeMounted)){const Xe=g;et(()=>ot(F,he,Xe),x)}(g.shapeFlag&256||he&&sn(he.vnode)&&he.vnode.shapeFlag&256)&&d.a&&et(d.a,x),d.isMounted=!0,g=b=A=null}};d.scope.on();const M=d.effect=new Ki(I);d.scope.off();const T=d.update=M.run.bind(M),X=d.job=M.runIfDirty.bind(M);X.i=d,X.id=d.uid,M.scheduler=()=>rs(X),Yt(d,!0),T()},oe=(d,g,b)=>{g.component=d;const A=d.vnode.props;d.vnode=g,d.next=null,su(d,g.props,A,b),cu(d,g.children,b),Kt(),Rs(d),qt()},K=(d,g,b,A,x,L,H,I,M=!1)=>{const T=d&&d.children,X=d?d.shapeFlag:0,F=g.children,{patchFlag:J,shapeFlag:ne}=g;if(J>0){if(J&128){Ot(T,F,b,A,x,L,H,I,M);return}else if(J&256){Me(T,F,b,A,x,L,H,I,M);return}}ne&8?(X&16&&nt(T,x,L),F!==T&&f(b,F)):X&16?ne&16?Ot(T,F,b,A,x,L,H,I,M):nt(T,x,L,!0):(X&8&&f(b,""),ne&16&&Q(F,b,A,x,L,H,I,M))},Me=(d,g,b,A,x,L,H,I,M)=>{d=d||_n,g=g||_n;const T=d.length,X=g.length,F=Math.min(T,X);let J;for(J=0;JX?nt(d,x,L,!0,!1,F):Q(g,b,A,x,L,H,I,M,F)},Ot=(d,g,b,A,x,L,H,I,M)=>{let T=0;const X=g.length;let F=d.length-1,J=X-1;for(;T<=F&&T<=J;){const ne=d[T],le=g[T]=M?Ht(g[T]):st(g[T]);if(tn(ne,le))_(ne,le,b,null,x,L,H,I,M);else break;T++}for(;T<=F&&T<=J;){const ne=d[F],le=g[J]=M?Ht(g[J]):st(g[J]);if(tn(ne,le))_(ne,le,b,null,x,L,H,I,M);else break;F--,J--}if(T>F){if(T<=J){const ne=J+1,le=neJ)for(;T<=F;)Je(d[T],x,L,!0),T++;else{const ne=T,le=T,be=new Map;for(T=le;T<=J;T++){const Ze=g[T]=M?Ht(g[T]):st(g[T]);Ze.key!=null&&be.set(Ze.key,T)}let he,Qe=0;const Ve=J-le+1;let lt=!1,Xe=0;const Rn=new Array(Ve);for(T=0;T=Ve){Je(Ze,x,L,!0);continue}let mt;if(Ze.key!=null)mt=be.get(Ze.key);else for(he=le;he<=J;he++)if(Rn[he-le]===0&&tn(Ze,g[he])){mt=he;break}mt===void 0?Je(Ze,x,L,!0):(Rn[mt-le]=T+1,mt>=Xe?Xe=mt:lt=!0,_(Ze,g[mt],b,null,x,L,H,I,M),Qe++)}const ks=lt?du(Rn):_n;for(he=ks.length-1,T=Ve-1;T>=0;T--){const Ze=le+T,mt=g[Ze],Es=Ze+1{const{el:L,type:H,transition:I,children:M,shapeFlag:T}=d;if(T&6){gt(d.component.subTree,g,b,A);return}if(T&128){d.suspense.move(g,b,A);return}if(T&64){H.move(d,g,b,q);return}if(H===me){r(L,g,b);for(let F=0;FI.enter(L),x);else{const{leave:F,delayLeave:J,afterLeave:ne}=I,le=()=>r(L,g,b),be=()=>{F(L,()=>{le(),ne&&ne()})};J?J(L,le,be):be()}else r(L,g,b)},Je=(d,g,b,A=!1,x=!1)=>{const{type:L,props:H,ref:I,children:M,dynamicChildren:T,shapeFlag:X,patchFlag:F,dirs:J,cacheIndex:ne}=d;if(F===-2&&(x=!1),I!=null&&Vr(I,null,b,d,!0),ne!=null&&(g.renderCache[ne]=void 0),X&256){g.ctx.deactivate(d);return}const le=X&1&&J,be=!sn(d);let he;if(be&&(he=H&&H.onVnodeBeforeUnmount)&&ot(he,g,d),X&6)vr(d.component,b,A);else{if(X&128){d.suspense.unmount(b,A);return}le&&_t(d,null,g,"beforeUnmount"),X&64?d.type.remove(d,g,b,q,A):T&&!T.hasOnce&&(L!==me||F>0&&F&64)?nt(T,g,b,!1,!0):(L===me&&F&384||!x&&X&16)&&nt(M,g,b),A&&fn(d)}(be&&(he=H&&H.onVnodeUnmounted)||le)&&et(()=>{he&&ot(he,g,d),le&&_t(d,null,g,"unmounted")},b)},fn=d=>{const{type:g,el:b,anchor:A,transition:x}=d;if(g===me){dn(b,A);return}if(g===Un){y(d);return}const L=()=>{o(b),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(d.shapeFlag&1&&x&&!x.persisted){const{leave:H,delayLeave:I}=x,M=()=>H(b,L);I?I(d.el,L,M):M()}else L()},dn=(d,g)=>{let b;for(;d!==g;)b=h(d),o(d),d=b;o(g)},vr=(d,g,b)=>{const{bum:A,scope:x,job:L,subTree:H,um:I,m:M,a:T}=d;Fs(M),Fs(T),A&&ao(A),x.stop(),L&&(L.flags|=8,Je(H,d,g,b)),I&&et(I,g),et(()=>{d.isUnmounted=!0},g),g&&g.pendingBranch&&!g.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===g.pendingId&&(g.deps--,g.deps===0&&g.resolve())},nt=(d,g,b,A=!1,x=!1,L=0)=>{for(let H=L;H{if(d.shapeFlag&6)return C(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const g=h(d.anchor||d.el),b=g&&g[Ec];return b?h(b):g};let B=!1;const V=(d,g,b)=>{d==null?g._vnode&&Je(g._vnode,null,null,!0):_(g._vnode||null,d,g,null,null,null,b),g._vnode=d,B||(B=!0,Rs(),$r(),B=!1)},q={p:_,um:Je,m:gt,r:fn,mt:ve,mc:Q,pc:K,pbc:S,n:C,o:e};let de,xe;return t&&([de,xe]=t(q)),{render:V,hydrate:de,createApp:ru(V,de)}}function vo({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Yt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ml(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Il(e,t,n=!1){const r=e.children,o=t.children;if(ee(r)&&ee(o))for(let s=0;s>1,e[n[l]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function $l(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:$l(t)}function Fs(e){if(e)for(let t=0;tze(pu);function gu(e,t){return cs(e,null,t)}function De(e,t,n){return cs(e,t,n)}function cs(e,t,n=_e){const{immediate:r,deep:o,flush:s,once:i}=n,l=Oe({},n),a=t&&r||!t&&s!=="post";let u;if(Cn){if(s==="sync"){const p=hu();u=p.__watcherHandles||(p.__watcherHandles=[])}else if(!a){const p=()=>{};return p.stop=bt,p.resume=bt,p.pause=bt,p}}const f=Ne;l.call=(p,v,_)=>ut(p,f,v,_);let c=!1;s==="post"?l.scheduler=p=>{et(p,f&&f.suspense)}:s!=="sync"&&(c=!0,l.scheduler=(p,v)=>{v?p():rs(p)}),l.augmentJob=p=>{t&&(p.flags|=4),c&&(p.flags|=2,f&&(p.id=f.uid,p.i=f))};const h=xc(e,t,l);return Cn&&(u?u.push(h):a&&h()),h}function mu(e,t,n){const r=this.proxy,o=Le(e)?e.includes(".")?Nl(r,e):()=>r[e]:e.bind(r,r);let s;re(t)?s=t:(s=t.handler,n=t);const i=hr(this),l=cs(o,s.bind(r),n);return i(),l}function Nl(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ye(t)}Modifiers`]||e[`${Gt(t)}Modifiers`];function _u(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||_e;let o=n;const s=t.startsWith("update:"),i=s&&vu(r,t.slice(7));i&&(i.trim&&(o=n.map(f=>Le(f)?f.trim():f)),i.number&&(o=n.map(Ha)));let l,a=r[l=lo(t)]||r[l=lo(Ye(t))];!a&&s&&(a=r[l=lo(Gt(t))]),a&&ut(a,e,6,o);const u=r[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,ut(u,e,6,o)}}function Hl(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let i={},l=!1;if(!re(e)){const a=u=>{const f=Hl(u,t,!0);f&&(l=!0,Oe(i,f))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!s&&!l?(Se(e)&&r.set(e,null),null):(ee(s)?s.forEach(a=>i[a]=null):Oe(i,s),Se(e)&&r.set(e,i),i)}function Xr(e,t){return!e||!sr(t)?!1:(t=t.slice(2).replace(/Once$/,""),pe(e,t[0].toLowerCase()+t.slice(1))||pe(e,Gt(t))||pe(e,t))}function _o(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[s],slots:i,attrs:l,emit:a,render:u,renderCache:f,props:c,data:h,setupState:p,ctx:v,inheritAttrs:_}=e,P=Nr(e);let k,w;try{if(n.shapeFlag&4){const y=o||r,O=y;k=st(u.call(O,y,f,c,p,h,v)),w=l}else{const y=t;k=st(y.length>1?y(c,{attrs:l,slots:i,emit:a}):y(c,null)),w=t.props?l:bu(l)}}catch(y){Gn.length=0,fr(y,e,1),k=te(Be)}let m=k;if(w&&_!==!1){const y=Object.keys(w),{shapeFlag:O}=m;y.length&&O&7&&(s&&y.some(qo)&&(w=yu(w,s)),m=Bt(m,w,!1,!0))}return n.dirs&&(m=Bt(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(n.dirs):n.dirs),n.transition&&Qn(m,n.transition),k=m,Nr(P),k}const bu=e=>{let t;for(const n in e)(n==="class"||n==="style"||sr(n))&&((t||(t={}))[n]=e[n]);return t},yu=(e,t)=>{const n={};for(const r in e)(!qo(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Su(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:l,patchFlag:a}=t,u=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return r?Bs(r,i,u):!!i;if(a&8){const f=t.dynamicProps;for(let c=0;ce.__isSuspense;function jl(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):kc(e)}const me=Symbol.for("v-fgt"),an=Symbol.for("v-txt"),Be=Symbol.for("v-cmt"),Un=Symbol.for("v-stc"),Gn=[];let tt=null;function N(e=!1){Gn.push(tt=e?null:[])}function xu(){Gn.pop(),tt=Gn[Gn.length-1]||null}let Xn=1;function Ws(e){Xn+=e,e<0&&tt&&(tt.hasOnce=!0)}function Fl(e){return e.dynamicChildren=Xn>0?tt||_n:null,xu(),Xn>0&&tt&&tt.push(e),e}function Y(e,t,n,r,o,s){return Fl(W(e,t,n,r,o,s,!0))}function Ae(e,t,n,r,o){return Fl(te(e,t,n,r,o,!0))}function Zn(e){return e?e.__v_isVNode===!0:!1}function tn(e,t){return e.type===t.type&&e.key===t.key}const Bl=({key:e})=>e??null,Tr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Le(e)||Ie(e)||re(e)?{i:He,r:e,k:t,f:!!n}:e:null);function W(e,t=null,n=null,r=0,o=null,s=e===me?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Bl(t),ref:t&&Tr(t),scopeId:hl,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:He};return l?(us(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=Le(n)?8:16),Xn>0&&!i&&tt&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&&tt.push(a),a}const te=Pu;function Pu(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===zc)&&(e=Be),Zn(e)){const l=Bt(e,t,!0);return n&&us(l,n),Xn>0&&!s&&tt&&(l.shapeFlag&6?tt[tt.indexOf(e)]=l:tt.push(l)),l.patchFlag=-2,l}if($u(e)&&(e=e.__vccOpts),t){t=Cu(t);let{class:l,style:a}=t;l&&!Le(l)&&(t.class=qe(l)),Se(a)&&(ns(a)&&!ee(a)&&(a=Oe({},a)),t.style=lr(a))}const i=Le(e)?1:Vl(e)?128:gl(e)?64:Se(e)?4:re(e)?2:0;return W(e,t,n,r,o,i,s,!0)}function Cu(e){return e?ns(e)||El(e)?Oe({},e):e:null}function Bt(e,t,n=!1,r=!1){const{props:o,ref:s,patchFlag:i,children:l,transition:a}=e,u=t?Eu(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Bl(u),ref:t&&t.ref?n&&s?ee(s)?s.concat(Tr(t)):[s,Tr(t)]:Tr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==me?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Bt(e.ssContent),ssFallback:e.ssFallback&&Bt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&r&&Qn(f,a.clone(f)),f}function Wt(e=" ",t=0){return te(an,null,e,t)}function ku(e,t){const n=te(Un,null,e);return n.staticCount=t,n}function Re(e="",t=!1){return t?(N(),Ae(Be,null,e)):te(Be,null,e)}function st(e){return e==null||typeof e=="boolean"?te(Be):ee(e)?te(me,null,e.slice()):Zn(e)?Ht(e):te(an,null,String(e))}function Ht(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Bt(e)}function us(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(ee(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),us(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!El(t)?t._ctx=He:o===3&&He&&(He.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else re(t)?(t={default:t,_ctx:He},n=32):(t=String(t),r&64?(n=16,t=[Wt(t)]):n=8);e.children=t,e.shapeFlag|=n}function Eu(...e){const t={};for(let n=0;nNe||He;let Fr,Ho;{const e=qr(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),s=>{o.length>1?o.forEach(i=>i(s)):o[0](s)}};Fr=t("__VUE_INSTANCE_SETTERS__",n=>Ne=n),Ho=t("__VUE_SSR_SETTERS__",n=>Cn=n)}const hr=e=>{const t=Ne;return Fr(e),e.scope.on(),()=>{e.scope.off(),Fr(t)}},Us=()=>{Ne&&Ne.scope.off(),Fr(null)};function Wl(e){return e.vnode.shapeFlag&4}let Cn=!1;function Ru(e,t=!1,n=!1){t&&Ho(t);const{props:r,children:o}=e.vnode,s=Wl(e);ou(e,r,s,t),au(e,o,n);const i=s?Du(e,t):void 0;return t&&Ho(!1),i}function Du(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Yc);const{setup:r}=n;if(r){Kt();const o=e.setupContext=r.length>1?Mu(e):null,s=hr(e),i=ur(r,e,0,[e.props,o]),l=Hi(i);if(qt(),s(),(l||e.sp)&&!sn(e)&&os(e),l){if(i.then(Us,Us),t)return i.then(a=>{Gs(e,a,t)}).catch(a=>{fr(a,e,0)});e.asyncDep=i}else Gs(e,i,t)}else Ul(e,t)}function Gs(e,t,n){re(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Se(t)&&(e.setupState=al(t)),Ul(e,n)}let Ks;function Ul(e,t,n){const r=e.type;if(!e.render){if(!t&&Ks&&!r.render){const o=r.template||ls(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:a}=r,u=Oe(Oe({isCustomElement:s,delimiters:l},i),a);r.render=Ks(o,u)}}e.render=r.render||bt}{const o=hr(e);Kt();try{Qc(e)}finally{qt(),o()}}}const Ou={get(e,t){return je(e,"get",""),e[t]}};function Mu(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ou),slots:e.slots,emit:e.emit,expose:t}}function Zr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(al(dc(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Wn)return Wn[n](e)},has(t,n){return n in t||n in Wn}})):e.proxy}function Iu(e,t=!0){return re(e)?e.displayName||e.name:e.name||t&&e.__name}function $u(e){return re(e)&&"__vccOpts"in e}const R=(e,t)=>Sc(e,t,Cn);function Ce(e,t,n){const r=arguments.length;return r===2?Se(t)&&!ee(t)?Zn(t)?te(e,null,[t]):te(e,t):te(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Zn(n)&&(n=[n]),te(e,t,n))}const Nu="3.5.12";/** +* @vue/runtime-dom v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Vo;const qs=typeof window<"u"&&window.trustedTypes;if(qs)try{Vo=qs.createPolicy("vue",{createHTML:e=>e})}catch{}const Gl=Vo?e=>Vo.createHTML(e):e=>e,Hu="http://www.w3.org/2000/svg",Vu="http://www.w3.org/1998/Math/MathML",Ct=typeof document<"u"?document:null,zs=Ct&&Ct.createElement("template"),ju={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?Ct.createElementNS(Hu,e):t==="mathml"?Ct.createElementNS(Vu,e):n?Ct.createElement(e,{is:n}):Ct.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Ct.createTextNode(e),createComment:e=>Ct.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ct.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{zs.innerHTML=Gl(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const l=zs.content;if(r==="svg"||r==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Mt="transition",On="animation",er=Symbol("_vtc"),Kl={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},Fu=Oe({},ml,Kl),Bu=e=>(e.displayName="Transition",e.props=Fu,e),fs=Bu((e,{slots:t})=>Ce(Tc,Wu(e),t)),Qt=(e,t=[])=>{ee(e)?e.forEach(n=>n(...t)):e&&e(...t)},Js=e=>e?ee(e)?e.some(t=>t.length>1):e.length>1:!1;function Wu(e){const t={};for(const E in e)E in Kl||(t[E]=e[E]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=s,appearActiveClass:u=i,appearToClass:f=l,leaveFromClass:c=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,v=Uu(o),_=v&&v[0],P=v&&v[1],{onBeforeEnter:k,onEnter:w,onEnterCancelled:m,onLeave:y,onLeaveCancelled:O,onBeforeAppear:U=k,onAppear:G=w,onAppearCancelled:Q=m}=t,j=(E,Z,ve)=>{Xt(E,Z?f:l),Xt(E,Z?u:i),ve&&ve()},S=(E,Z)=>{E._isLeaving=!1,Xt(E,c),Xt(E,p),Xt(E,h),Z&&Z()},$=E=>(Z,ve)=>{const Pe=E?G:w,z=()=>j(Z,E,ve);Qt(Pe,[Z,z]),Ys(()=>{Xt(Z,E?a:s),It(Z,E?f:l),Js(Pe)||Qs(Z,r,_,z)})};return Oe(t,{onBeforeEnter(E){Qt(k,[E]),It(E,s),It(E,i)},onBeforeAppear(E){Qt(U,[E]),It(E,a),It(E,u)},onEnter:$(!1),onAppear:$(!0),onLeave(E,Z){E._isLeaving=!0;const ve=()=>S(E,Z);It(E,c),It(E,h),qu(),Ys(()=>{E._isLeaving&&(Xt(E,c),It(E,p),Js(y)||Qs(E,r,P,ve))}),Qt(y,[E,ve])},onEnterCancelled(E){j(E,!1),Qt(m,[E])},onAppearCancelled(E){j(E,!0),Qt(Q,[E])},onLeaveCancelled(E){S(E),Qt(O,[E])}})}function Uu(e){if(e==null)return null;if(Se(e))return[bo(e.enter),bo(e.leave)];{const t=bo(e);return[t,t]}}function bo(e){return Va(e)}function It(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[er]||(e[er]=new Set)).add(t)}function Xt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[er];n&&(n.delete(t),n.size||(e[er]=void 0))}function Ys(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Gu=0;function Qs(e,t,n,r){const o=e._endId=++Gu,s=()=>{o===e._endId&&r()};if(n!=null)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=Ku(e,t);if(!i)return r();const u=i+"end";let f=0;const c=()=>{e.removeEventListener(u,h),s()},h=p=>{p.target===e&&++f>=a&&c()};setTimeout(()=>{f(n[v]||"").split(", "),o=r(`${Mt}Delay`),s=r(`${Mt}Duration`),i=Xs(o,s),l=r(`${On}Delay`),a=r(`${On}Duration`),u=Xs(l,a);let f=null,c=0,h=0;t===Mt?i>0&&(f=Mt,c=i,h=s.length):t===On?u>0&&(f=On,c=u,h=a.length):(c=Math.max(i,u),f=c>0?i>u?Mt:On:null,h=f?f===Mt?s.length:a.length:0);const p=f===Mt&&/\b(transform|all)(,|$)/.test(r(`${Mt}Property`).toString());return{type:f,timeout:c,propCount:h,hasTransform:p}}function Xs(e,t){for(;e.lengthZs(n)+Zs(e[r])))}function Zs(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function qu(){return document.body.offsetHeight}function zu(e,t,n){const r=e[er];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Br=Symbol("_vod"),ql=Symbol("_vsh"),Wr={beforeMount(e,{value:t},{transition:n}){e[Br]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Mn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Mn(e,!0),r.enter(e)):r.leave(e,()=>{Mn(e,!1)}):Mn(e,t))},beforeUnmount(e,{value:t}){Mn(e,t)}};function Mn(e,t){e.style.display=t?e[Br]:"none",e[ql]=!t}const Ju=Symbol(""),Yu=/(^|;)\s*display\s*:/;function Qu(e,t,n){const r=e.style,o=Le(n);let s=!1;if(n&&!o){if(t)if(Le(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&Rr(r,l,"")}else for(const i in t)n[i]==null&&Rr(r,i,"");for(const i in n)i==="display"&&(s=!0),Rr(r,i,n[i])}else if(o){if(t!==n){const i=r[Ju];i&&(n+=";"+i),r.cssText=n,s=Yu.test(n)}}else t&&e.removeAttribute("style");Br in e&&(e[Br]=s?r.display:"",e[ql]&&(r.display="none"))}const ei=/\s*!important$/;function Rr(e,t,n){if(ee(n))n.forEach(r=>Rr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Xu(e,t);ei.test(n)?e.setProperty(Gt(r),n.replace(ei,""),"important"):e[r]=n}}const ti=["Webkit","Moz","ms"],yo={};function Xu(e,t){const n=yo[t];if(n)return n;let r=Ye(t);if(r!=="filter"&&r in e)return yo[t]=r;r=ir(r);for(let o=0;oSo||(rf.then(()=>So=0),So=Date.now());function sf(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;ut(lf(r,n.value),t,5,[r])};return n.value=e,n.attached=of(),n}function lf(e,t){if(ee(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const li=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,af=(e,t,n,r,o,s)=>{const i=o==="svg";t==="class"?zu(e,r,i):t==="style"?Qu(e,n,r):sr(t)?qo(t)||tf(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):cf(e,t,r,i))?(oi(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ri(e,t,r,i,s,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Le(r))?oi(e,Ye(t),r,s,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),ri(e,t,r,i))};function cf(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&li(t)&&re(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return li(t)&&Le(n)?!1:t in e}const uf={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},ff=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const s=Gt(o.key);if(t.some(i=>i===s||uf[i]===s))return e(o)})},df=Oe({patchProp:af},ju);let wo,ai=!1;function pf(){return wo=ai?wo:uu(df),ai=!0,wo}const hf=(...e)=>{const t=pf().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=mf(r);if(o)return n(o,!0,gf(o))},t};function gf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function mf(e){return Le(e)?document.querySelector(e):e}var gr=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),vf=/.md((\?|#).*)?$/,_f=(e,t="/")=>gr(e)||e.startsWith("/")&&!e.startsWith(t)&&!vf.test(e),eo=e=>/^(https?:)?\/\//.test(e),ci=e=>{if(!e||e.endsWith("/"))return e;let t=e.replace(/(^|\/)README.md$/i,"$1index.html");return t.endsWith(".md")?t=t.substring(0,t.length-3)+".html":t.endsWith(".html")||(t=t+".html"),t.endsWith("/index.html")&&(t=t.substring(0,t.length-10)),t},bf="http://.",yf=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return ci(new URL(`${n}/${e}`,bf).pathname)}return ci(e)},Sf=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const s=o.split("/").length-r.split("/").length;return s!==0?s:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},wf=/(#|\?)/,zl=e=>{const[t,...n]=e.split(wf);return{pathname:t,hashAndQueries:n.join("")}},xf=["link","meta","script","style","noscript","template"],Pf=["title","base"],Cf=([e,t,n])=>Pf.includes(e)?e:xf.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,kf=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=Cf(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},Ef=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Jl=e=>e[e.length-1]==="/"?e.slice(0,-1):e,Yl=e=>e[0]==="/"?e.slice(1):e,ds=e=>Object.prototype.toString.call(e)==="[object Object]",ct=e=>typeof e=="string";const Af="modulepreload",Lf=function(e){return"/"+e},ui={},In=function(t,n,r){let o=Promise.resolve();return n&&n.length>0&&(document.getElementsByTagName("link"),o=Promise.all(n.map(s=>{if(s=Lf(s),s in ui)return;ui[s]=!0;const i=s.endsWith(".css"),l=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${l}`))return;const a=document.createElement("link");if(a.rel=i?"stylesheet":Af,i||(a.as="script",a.crossOrigin=""),a.href=s,document.head.appendChild(a),i)return new Promise((u,f)=>{a.addEventListener("load",u),a.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${s}`)))})}))),o.then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},Tf=JSON.parse("{}"),Rf=Object.fromEntries([["/",{loader:()=>In(()=>import("./index.html-DPTHXHCg.js"),__vite__mapDeps([])),meta:{title:"Резюме"}}],["/works.html",{loader:()=>In(()=>import("./works.html-Ci6qNWZ7.js"),__vite__mapDeps([])),meta:{title:"Работы"}}],["/eng/",{loader:()=>In(()=>import("./index.html-CwTV9L9D.js"),__vite__mapDeps([])),meta:{title:"Resume"}}],["/eng/works.html",{loader:()=>In(()=>import("./works.html-ClfRVstQ.js"),__vite__mapDeps([])),meta:{title:"Works"}}],["/404.html",{loader:()=>In(()=>import("./404.html-ErxRt0bb.js"),__vite__mapDeps([])),meta:{title:""}}]]);/*! + * vue-router v4.4.3 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const mn=typeof document<"u";function Df(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ge=Object.assign;function xo(e,t){const n={};for(const r in t){const o=t[r];n[r]=ft(o)?o.map(e):e(o)}return n}const Kn=()=>{},ft=Array.isArray,Ql=/#/g,Of=/&/g,Mf=/\//g,If=/=/g,$f=/\?/g,Xl=/\+/g,Nf=/%5B/g,Hf=/%5D/g,Zl=/%5E/g,Vf=/%60/g,ea=/%7B/g,jf=/%7C/g,ta=/%7D/g,Ff=/%20/g;function ps(e){return encodeURI(""+e).replace(jf,"|").replace(Nf,"[").replace(Hf,"]")}function Bf(e){return ps(e).replace(ea,"{").replace(ta,"}").replace(Zl,"^")}function jo(e){return ps(e).replace(Xl,"%2B").replace(Ff,"+").replace(Ql,"%23").replace(Of,"%26").replace(Vf,"`").replace(ea,"{").replace(ta,"}").replace(Zl,"^")}function Wf(e){return jo(e).replace(If,"%3D")}function Uf(e){return ps(e).replace(Ql,"%23").replace($f,"%3F")}function Gf(e){return e==null?"":Uf(e).replace(Mf,"%2F")}function tr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Kf=/\/$/,qf=e=>e.replace(Kf,"");function Po(e,t,n="/"){let r,o={},s="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(r=t.slice(0,a),s=t.slice(a+1,l>-1?l:t.length),o=e(s)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=Qf(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:tr(i)}}function zf(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function fi(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Jf(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&kn(t.matched[r],n.matched[o])&&na(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function kn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function na(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Yf(e[n],t[n]))return!1;return!0}function Yf(e,t){return ft(e)?di(e,t):ft(t)?di(t,e):e===t}function di(e,t){return ft(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Qf(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,l;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i).join("/")}const Pt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var nr;(function(e){e.pop="pop",e.push="push"})(nr||(nr={}));var qn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(qn||(qn={}));function Xf(e){if(!e)if(mn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),qf(e)}const Zf=/^[^#]+#/;function ed(e,t){return e.replace(Zf,"#")+t}function td(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const to=()=>({left:window.scrollX,top:window.scrollY});function nd(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=td(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function pi(e,t){return(history.state?history.state.position-t:-1)+e}const Fo=new Map;function rd(e,t){Fo.set(e,t)}function od(e){const t=Fo.get(e);return Fo.delete(e),t}let sd=()=>location.protocol+"//"+location.host;function ra(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let l=o.includes(e.slice(s))?e.slice(s).length:1,a=o.slice(l);return a[0]!=="/"&&(a="/"+a),fi(a,"")}return fi(n,e)+r+o}function id(e,t,n,r){let o=[],s=[],i=null;const l=({state:h})=>{const p=ra(e,location),v=n.value,_=t.value;let P=0;if(h){if(n.value=p,t.value=h,i&&i===v){i=null;return}P=_?h.position-_.position:0}else r(p);o.forEach(k=>{k(n.value,v,{delta:P,type:nr.pop,direction:P?P>0?qn.forward:qn.back:qn.unknown})})};function a(){i=n.value}function u(h){o.push(h);const p=()=>{const v=o.indexOf(h);v>-1&&o.splice(v,1)};return s.push(p),p}function f(){const{history:h}=window;h.state&&h.replaceState(ge({},h.state,{scroll:to()}),"")}function c(){for(const h of s)h();s=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:a,listen:u,destroy:c}}function hi(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?to():null}}function ld(e){const{history:t,location:n}=window,r={value:ra(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(a,u,f){const c=e.indexOf("#"),h=c>-1?(n.host&&document.querySelector("base")?e:e.slice(c))+a:sd()+e+a;try{t[f?"replaceState":"pushState"](u,"",h),o.value=u}catch(p){console.error(p),n[f?"replace":"assign"](h)}}function i(a,u){const f=ge({},t.state,hi(o.value.back,a,o.value.forward,!0),u,{position:o.value.position});s(a,f,!0),r.value=a}function l(a,u){const f=ge({},o.value,t.state,{forward:a,scroll:to()});s(f.current,f,!0);const c=ge({},hi(r.value,a,null),{position:f.position+1},u);s(a,c,!1),r.value=a}return{location:r,state:o,push:l,replace:i}}function ad(e){e=Xf(e);const t=ld(e),n=id(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=ge({location:"",base:e,go:r,createHref:ed.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function cd(e){return typeof e=="string"||e&&typeof e=="object"}function oa(e){return typeof e=="string"||typeof e=="symbol"}const sa=Symbol("");var gi;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(gi||(gi={}));function En(e,t){return ge(new Error,{type:e,[sa]:!0},t)}function wt(e,t){return e instanceof Error&&sa in e&&(t==null||!!(e.type&t))}const mi="[^/]+?",ud={sensitive:!1,strict:!1,start:!0,end:!0},fd=/[.+*?^${}()[\]/\\]/g;function dd(e,t){const n=ge({},ud,t),r=[];let o=n.start?"^":"";const s=[];for(const u of e){const f=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let c=0;ct.length?t.length===1&&t[0]===80?1:-1:0}function ia(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const hd={type:0,value:""},gd=/[a-zA-Z0-9_]/;function md(e){if(!e)return[[]];if(e==="/")return[[hd]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${u}": ${p}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let l=0,a,u="",f="";function c(){u&&(n===0?s.push({type:0,value:u}):n===1||n===2||n===3?(s.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:u,regexp:f,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),u="")}function h(){u+=a}for(;l{i(m)}:Kn}function i(c){if(oa(c)){const h=r.get(c);h&&(r.delete(c),n.splice(n.indexOf(h),1),h.children.forEach(i),h.alias.forEach(i))}else{const h=n.indexOf(c);h>-1&&(n.splice(h,1),c.record.name&&r.delete(c.record.name),c.children.forEach(i),c.alias.forEach(i))}}function l(){return n}function a(c){const h=wd(c,n);n.splice(h,0,c),c.record.name&&!bi(c)&&r.set(c.record.name,c)}function u(c,h){let p,v={},_,P;if("name"in c&&c.name){if(p=r.get(c.name),!p)throw En(1,{location:c});P=p.record.name,v=ge(_i(h.params,p.keys.filter(m=>!m.optional).concat(p.parent?p.parent.keys.filter(m=>m.optional):[]).map(m=>m.name)),c.params&&_i(c.params,p.keys.map(m=>m.name))),_=p.stringify(v)}else if(c.path!=null)_=c.path,p=n.find(m=>m.re.test(_)),p&&(v=p.parse(_),P=p.record.name);else{if(p=h.name?r.get(h.name):n.find(m=>m.re.test(h.path)),!p)throw En(1,{location:c,currentLocation:h});P=p.record.name,v=ge({},h.params,c.params),_=p.stringify(v)}const k=[];let w=p;for(;w;)k.unshift(w.record),w=w.parent;return{name:P,path:_,params:v,matched:k,meta:Sd(k)}}e.forEach(c=>s(c));function f(){n.length=0,r.clear()}return{addRoute:s,resolve:u,removeRoute:i,clearRoutes:f,getRoutes:l,getRecordMatcher:o}}function _i(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function bd(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:yd(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function yd(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function bi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Sd(e){return e.reduce((t,n)=>ge(t,n.meta),{})}function yi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function wd(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;ia(e,t[s])<0?r=s:n=s+1}const o=xd(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function xd(e){let t=e;for(;t=t.parent;)if(la(t)&&ia(e,t)===0)return t}function la({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Pd(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&jo(s)):[r&&jo(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Cd(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ft(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const kd=Symbol(""),wi=Symbol(""),no=Symbol(""),hs=Symbol(""),Bo=Symbol("");function $n(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Vt(e,t,n,r,o,s=i=>i()){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const u=h=>{h===!1?a(En(4,{from:n,to:t})):h instanceof Error?a(h):cd(h)?a(En(2,{from:t,to:h})):(i&&r.enterCallbacks[o]===i&&typeof h=="function"&&i.push(h),l())},f=s(()=>e.call(r&&r.instances[o],t,n,u));let c=Promise.resolve(f);e.length<3&&(c=c.then(u)),c.catch(h=>a(h))})}function Co(e,t,n,r,o=s=>s()){const s=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(Ed(a)){const f=(a.__vccOpts||a)[t];f&&s.push(Vt(f,n,r,i,l,o))}else{let u=a();s.push(()=>u.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${l}" at "${i.path}"`));const c=Df(f)?f.default:f;i.components[l]=c;const p=(c.__vccOpts||c)[t];return p&&Vt(p,n,r,i,l,o)()}))}}return s}function Ed(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function xi(e){const t=ze(no),n=ze(hs),r=R(()=>{const a=Ft(e.to);return t.resolve(a)}),o=R(()=>{const{matched:a}=r.value,{length:u}=a,f=a[u-1],c=n.matched;if(!f||!c.length)return-1;const h=c.findIndex(kn.bind(null,f));if(h>-1)return h;const p=Pi(a[u-2]);return u>1&&Pi(f)===p&&c[c.length-1].path!==p?c.findIndex(kn.bind(null,a[u-2])):h}),s=R(()=>o.value>-1&&Rd(n.params,r.value.params)),i=R(()=>o.value>-1&&o.value===n.matched.length-1&&na(n.params,r.value.params));function l(a={}){return Td(a)?t[Ft(e.replace)?"replace":"push"](Ft(e.to)).catch(Kn):Promise.resolve()}return{route:r,href:R(()=>r.value.href),isActive:s,isExactActive:i,navigate:l}}const Ad=fe({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:xi,setup(e,{slots:t}){const n=ar(xi(e)),{options:r}=ze(no),o=R(()=>({[Ci(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Ci(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:Ce("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),Ld=Ad;function Td(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Rd(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!ft(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function Pi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ci=(e,t,n)=>e??t??n,Dd=fe({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=ze(Bo),o=R(()=>e.route||r.value),s=ze(wi,0),i=R(()=>{let u=Ft(s);const{matched:f}=o.value;let c;for(;(c=f[u])&&!c.components;)u++;return u}),l=R(()=>o.value.matched[i.value]);ln(wi,R(()=>i.value+1)),ln(kd,l),ln(Bo,o);const a=ie();return De(()=>[a.value,l.value,e.name],([u,f,c],[h,p,v])=>{f&&(f.instances[c]=u,p&&p!==f&&u&&u===h&&(f.leaveGuards.size||(f.leaveGuards=p.leaveGuards),f.updateGuards.size||(f.updateGuards=p.updateGuards))),u&&f&&(!p||!kn(f,p)||!h)&&(f.enterCallbacks[c]||[]).forEach(_=>_(u))},{flush:"post"}),()=>{const u=o.value,f=e.name,c=l.value,h=c&&c.components[f];if(!h)return ki(n.default,{Component:h,route:u});const p=c.props[f],v=p?p===!0?u.params:typeof p=="function"?p(u):p:null,P=Ce(h,ge({},v,t,{onVnodeUnmounted:k=>{k.component.isUnmounted&&(c.instances[f]=null)},ref:a}));return ki(n.default,{Component:P,route:u})||P}}});function ki(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Od=Dd;function Md(e){const t=_d(e.routes,e),n=e.parseQuery||Pd,r=e.stringifyQuery||Si,o=e.history,s=$n(),i=$n(),l=$n(),a=At(Pt);let u=Pt;mn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=xo.bind(null,C=>""+C),c=xo.bind(null,Gf),h=xo.bind(null,tr);function p(C,B){let V,q;return oa(C)?(V=t.getRecordMatcher(C),q=B):q=C,t.addRoute(q,V)}function v(C){const B=t.getRecordMatcher(C);B&&t.removeRoute(B)}function _(){return t.getRoutes().map(C=>C.record)}function P(C){return!!t.getRecordMatcher(C)}function k(C,B){if(B=ge({},B||a.value),typeof C=="string"){const g=Po(n,C,B.path),b=t.resolve({path:g.path},B),A=o.createHref(g.fullPath);return ge(g,b,{params:h(b.params),hash:tr(g.hash),redirectedFrom:void 0,href:A})}let V;if(C.path!=null)V=ge({},C,{path:Po(n,C.path,B.path).path});else{const g=ge({},C.params);for(const b in g)g[b]==null&&delete g[b];V=ge({},C,{params:c(g)}),B.params=c(B.params)}const q=t.resolve(V,B),de=C.hash||"";q.params=f(h(q.params));const xe=zf(r,ge({},C,{hash:Bf(de),path:q.path})),d=o.createHref(xe);return ge({fullPath:xe,hash:de,query:r===Si?Cd(C.query):C.query||{}},q,{redirectedFrom:void 0,href:d})}function w(C){return typeof C=="string"?Po(n,C,a.value.path):ge({},C)}function m(C,B){if(u!==C)return En(8,{from:B,to:C})}function y(C){return G(C)}function O(C){return y(ge(w(C),{replace:!0}))}function U(C){const B=C.matched[C.matched.length-1];if(B&&B.redirect){const{redirect:V}=B;let q=typeof V=="function"?V(C):V;return typeof q=="string"&&(q=q.includes("?")||q.includes("#")?q=w(q):{path:q},q.params={}),ge({query:C.query,hash:C.hash,params:q.path!=null?{}:C.params},q)}}function G(C,B){const V=u=k(C),q=a.value,de=C.state,xe=C.force,d=C.replace===!0,g=U(V);if(g)return G(ge(w(g),{state:typeof g=="object"?ge({},de,g.state):de,force:xe,replace:d}),B||V);const b=V;b.redirectedFrom=B;let A;return!xe&&Jf(r,q,V)&&(A=En(16,{to:b,from:q}),gt(q,q,!0,!1)),(A?Promise.resolve(A):S(b,q)).catch(x=>wt(x)?wt(x,2)?x:Ot(x):K(x,b,q)).then(x=>{if(x){if(wt(x,2))return G(ge({replace:d},w(x.to),{state:typeof x.to=="object"?ge({},de,x.to.state):de,force:xe}),B||b)}else x=E(b,q,!0,d,de);return $(b,q,x),x})}function Q(C,B){const V=m(C,B);return V?Promise.reject(V):Promise.resolve()}function j(C){const B=dn.values().next().value;return B&&typeof B.runWithContext=="function"?B.runWithContext(C):C()}function S(C,B){let V;const[q,de,xe]=Id(C,B);V=Co(q.reverse(),"beforeRouteLeave",C,B);for(const g of q)g.leaveGuards.forEach(b=>{V.push(Vt(b,C,B))});const d=Q.bind(null,C,B);return V.push(d),nt(V).then(()=>{V=[];for(const g of s.list())V.push(Vt(g,C,B));return V.push(d),nt(V)}).then(()=>{V=Co(de,"beforeRouteUpdate",C,B);for(const g of de)g.updateGuards.forEach(b=>{V.push(Vt(b,C,B))});return V.push(d),nt(V)}).then(()=>{V=[];for(const g of xe)if(g.beforeEnter)if(ft(g.beforeEnter))for(const b of g.beforeEnter)V.push(Vt(b,C,B));else V.push(Vt(g.beforeEnter,C,B));return V.push(d),nt(V)}).then(()=>(C.matched.forEach(g=>g.enterCallbacks={}),V=Co(xe,"beforeRouteEnter",C,B,j),V.push(d),nt(V))).then(()=>{V=[];for(const g of i.list())V.push(Vt(g,C,B));return V.push(d),nt(V)}).catch(g=>wt(g,8)?g:Promise.reject(g))}function $(C,B,V){l.list().forEach(q=>j(()=>q(C,B,V)))}function E(C,B,V,q,de){const xe=m(C,B);if(xe)return xe;const d=B===Pt,g=mn?history.state:{};V&&(q||d?o.replace(C.fullPath,ge({scroll:d&&g&&g.scroll},de)):o.push(C.fullPath,de)),a.value=C,gt(C,B,V,d),Ot()}let Z;function ve(){Z||(Z=o.listen((C,B,V)=>{if(!vr.listening)return;const q=k(C),de=U(q);if(de){G(ge(de,{replace:!0}),q).catch(Kn);return}u=q;const xe=a.value;mn&&rd(pi(xe.fullPath,V.delta),to()),S(q,xe).catch(d=>wt(d,12)?d:wt(d,2)?(G(d.to,q).then(g=>{wt(g,20)&&!V.delta&&V.type===nr.pop&&o.go(-1,!1)}).catch(Kn),Promise.reject()):(V.delta&&o.go(-V.delta,!1),K(d,q,xe))).then(d=>{d=d||E(q,xe,!1),d&&(V.delta&&!wt(d,8)?o.go(-V.delta,!1):V.type===nr.pop&&wt(d,20)&&o.go(-1,!1)),$(q,xe,d)}).catch(Kn)}))}let Pe=$n(),z=$n(),oe;function K(C,B,V){Ot(C);const q=z.list();return q.length?q.forEach(de=>de(C,B,V)):console.error(C),Promise.reject(C)}function Me(){return oe&&a.value!==Pt?Promise.resolve():new Promise((C,B)=>{Pe.add([C,B])})}function Ot(C){return oe||(oe=!C,ve(),Pe.list().forEach(([B,V])=>C?V(C):B()),Pe.reset()),C}function gt(C,B,V,q){const{scrollBehavior:de}=e;if(!mn||!de)return Promise.resolve();const xe=!V&&od(pi(C.fullPath,0))||(q||!V)&&history.state&&history.state.scroll||null;return zt().then(()=>de(C,B,xe)).then(d=>d&&nd(d)).catch(d=>K(d,C,B))}const Je=C=>o.go(C);let fn;const dn=new Set,vr={currentRoute:a,listening:!0,addRoute:p,removeRoute:v,clearRoutes:t.clearRoutes,hasRoute:P,getRoutes:_,resolve:k,options:e,push:y,replace:O,go:Je,back:()=>Je(-1),forward:()=>Je(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:z.add,isReady:Me,install(C){const B=this;C.component("RouterLink",Ld),C.component("RouterView",Od),C.config.globalProperties.$router=B,Object.defineProperty(C.config.globalProperties,"$route",{enumerable:!0,get:()=>Ft(a)}),mn&&!fn&&a.value===Pt&&(fn=!0,y(o.location).catch(de=>{}));const V={};for(const de in Pt)Object.defineProperty(V,de,{get:()=>a.value[de],enumerable:!0});C.provide(no,B),C.provide(hs,il(V)),C.provide(Bo,a);const q=C.unmount;dn.add(C),C.unmount=function(){dn.delete(C),dn.size<1&&(u=Pt,Z&&Z(),Z=null,a.value=Pt,fn=!1,oe=!1),q()}}};function nt(C){return C.reduce((B,V)=>B.then(()=>j(V)),Promise.resolve())}return vr}function Id(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;ikn(u,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(u=>kn(u,a))||o.push(a))}return[n,r,o]}function un(){return ze(no)}function Dt(e){return ze(hs)}var gs=Symbol(""),yt=()=>{const e=ze(gs);if(!e)throw new Error("useClientData() is called without provider.");return e},$d=()=>yt().pageComponent,Ln=()=>yt().pageData,ht=()=>yt().pageFrontmatter,Nd=()=>yt().pageHead,Hd=()=>yt().pageLang,Vd=()=>yt().pageLayout,mr=()=>yt().routeLocale,jd=()=>yt().routes,aa=()=>yt().siteData,ms=()=>yt().siteLocaleData,Fd=Symbol(""),Wo=At(Tf),xn=At(Rf),ca=(e,t)=>{const n=yf(e,t);if(xn.value[n])return n;const r=encodeURI(n);if(xn.value[r])return r;const o=Wo.value[n]||Wo.value[r];return o||n},rr=(e,t)=>{const{pathname:n,hashAndQueries:r}=zl(e),o=ca(n,t),s=o+r;return xn.value[o]?{...xn.value[o],path:s,notFound:!1}:{...xn.value["/404.html"],path:s,notFound:!0}},Bd=(e,t)=>{const{pathname:n,hashAndQueries:r}=zl(e);return ca(n,t)+r},Wd=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget){const t=e.currentTarget.getAttribute("target");if(t!=null&&t.match(/\b_blank\b/i))return}return e.preventDefault(),!0}},ro=fe({name:"RouteLink",props:{to:{type:String,required:!0},active:Boolean,activeClass:{type:String,default:"route-link-active"}},slots:Object,setup(e,{slots:t}){const n=un(),r=Dt(),o=R(()=>e.to.startsWith("#")||e.to.startsWith("?")?e.to:`/${Bd(e.to,r.path).substring(1)}`);return()=>{var s;return Ce("a",{class:["route-link",{[e.activeClass]:e.active}],href:o.value,onClick:(i={})=>{Wd(i)&&n.push(e.to).catch()}},(s=t.default)==null?void 0:s.call(t))}}}),Tn=fe({name:"AutoLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=bc(e,"config"),r=Dt(),o=aa(),s=R(()=>gr(n.value.link)),i=R(()=>n.value.target||(s.value?"_blank":void 0)),l=R(()=>i.value==="_blank"),a=R(()=>!s.value&&!l.value),u=R(()=>n.value.rel||(l.value?"noopener noreferrer":null)),f=R(()=>n.value.ariaLabel??n.value.text),c=R(()=>{if(n.value.exact)return!1;const p=Object.keys(o.value.locales);return p.length?p.every(v=>v!==n.value.link):n.value.link!=="/"}),h=R(()=>a.value?n.value.activeMatch?(n.value.activeMatch instanceof RegExp?n.value.activeMatch:new RegExp(n.value.activeMatch,"u")).test(r.path):c.value?r.path.startsWith(n.value.link):r.path===n.value.link:!1);return()=>{const{before:p,after:v,default:_}=t,P=(_==null?void 0:_(n.value))||[p==null?void 0:p(n.value),n.value.text,v==null?void 0:v(n.value)];return a.value?Ce(ro,{class:"auto-link",to:n.value.link,active:h.value,"aria-label":f.value},()=>P):Ce("a",{class:"auto-link external-link",href:n.value.link,"aria-label":f.value,rel:u.value,target:i.value},P)}}}),vs=fe({name:"ClientOnly",setup(e,t){const n=ie(!1);return We(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),_s=fe({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=$d(),n=R(()=>{if(!e.path)return t.value;const r=rr(e.path);return $c(()=>r.loader().then(({comp:o})=>o))});return()=>Ce(n.value)}}),Ud="Layout",Gd="en-US",Zt=ar({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=ct(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return kf(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||Gd,resolvePageLayout:(e,t)=>{const n=ct(e.frontmatter.layout)?e.frontmatter.layout:Ud;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>Sf(e,decodeURI(t)),resolveSiteLocaleData:({base:e,locales:t,...n},r)=>{var o;return{...n,...t[r],head:[...((o=t[r])==null?void 0:o.head)??[],...n.head??[]]}}}),Jt=(e={})=>e,bs=e=>eo(e)?e:`/${Yl(e)}`;function oo(e){return Yo()?(Gi(e),!0):!1}function dt(e){return typeof e=="function"?e():Ft(e)}const ys=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Kd=Object.prototype.toString,qd=e=>Kd.call(e)==="[object Object]",Uo=()=>{};function ua(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const fa=e=>e();function zd(e,t={}){let n,r,o=Uo;const s=l=>{clearTimeout(l),o(),o=Uo};return l=>{const a=dt(e),u=dt(t.maxWait);return n&&s(n),a<=0||u!==void 0&&u<=0?(r&&(s(r),r=null),Promise.resolve(l())):new Promise((f,c)=>{o=t.rejectOnCancel?c:f,u&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,f(l())},u)),n=setTimeout(()=>{r&&s(r),r=null,f(l())},a)})}}function Jd(e=fa){const t=ie(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:cr(t),pause:n,resume:r,eventFilter:o}}function Yd(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const r=t;t=void 0,r&&await r},n}function Qd(e){return pr()}function Xd(e,t=200,n={}){return ua(zd(t,n),e)}function Zd(e,t,n={}){const{eventFilter:r=fa,...o}=n;return De(e,ua(r,t),o)}function ep(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:l,isActive:a}=Jd(r);return{stop:Zd(e,t,{...o,eventFilter:s}),pause:i,resume:l,isActive:a}}function Ss(e,t=!0,n){Qd()?We(e,n):t?e():zt(e)}function tp(e,t,n={}){const{immediate:r=!0}=n,o=ie(!1);let s=null;function i(){s&&(clearTimeout(s),s=null)}function l(){o.value=!1,i()}function a(...u){i(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...u)},dt(t))}return r&&(o.value=!0,ys&&a()),oo(l),{isPending:cr(o),start:a,stop:l}}function np(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=Ie(e),s=ie(e);function i(l){if(arguments.length)return s.value=l,s.value;{const a=dt(n);return s.value=s.value===a?dt(r):a,s.value}}return o?i:[s,i]}const Ut=ys?window:void 0,da=ys?window.navigator:void 0;function nn(e){var t;const n=dt(e);return(t=n==null?void 0:n.$el)!=null?t:n}function pt(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=Ut):[t,n,r,o]=e,!t)return Uo;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(f=>f()),s.length=0},l=(f,c,h,p)=>(f.addEventListener(c,h,p),()=>f.removeEventListener(c,h,p)),a=De(()=>[nn(t),dt(o)],([f,c])=>{if(i(),!f)return;const h=qd(c)?{...c}:c;s.push(...n.flatMap(p=>r.map(v=>l(f,p,v,h))))},{immediate:!0,flush:"post"}),u=()=>{a(),i()};return oo(u),u}function rp(){const e=ie(!1),t=pr();return t&&We(()=>{e.value=!0},t),e}function so(e){const t=rp();return R(()=>(t.value,!!e()))}function ws(e,t={}){const{window:n=Ut}=t,r=so(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=ie(!1),i=u=>{s.value=u.matches},l=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",i):o.removeListener(i))},a=gu(()=>{r.value&&(l(),o=n.matchMedia(dt(e)),"addEventListener"in o?o.addEventListener("change",i):o.addListener(i),s.value=o.matches)});return oo(()=>{a(),l(),o=void 0}),s}function Ei(e,t={}){const{controls:n=!1,navigator:r=da}=t,o=so(()=>r&&"permissions"in r),s=At(),i=typeof e=="string"?{name:e}:e,l=At(),a=()=>{var f,c;l.value=(c=(f=s.value)==null?void 0:f.state)!=null?c:"prompt"};pt(s,"change",a);const u=Yd(async()=>{if(o.value){if(!s.value)try{s.value=await r.permissions.query(i)}catch{s.value=void 0}finally{a()}if(n)return ce(s.value)}});return u(),n?{state:l,isSupported:o,query:u}:l}function op(e={}){const{navigator:t=da,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=so(()=>t&&"clipboard"in t),l=Ei("clipboard-read"),a=Ei("clipboard-write"),u=R(()=>i.value||s),f=ie(""),c=ie(!1),h=tp(()=>c.value=!1,o);function p(){i.value&&k(l.value)?t.clipboard.readText().then(w=>{f.value=w}):f.value=P()}u.value&&n&&pt(["copy","cut"],p);async function v(w=dt(r)){u.value&&w!=null&&(i.value&&k(a.value)?await t.clipboard.writeText(w):_(w),f.value=w,c.value=!0,h.start())}function _(w){const m=document.createElement("textarea");m.value=w??"",m.style.position="absolute",m.style.opacity="0",document.body.appendChild(m),m.select(),document.execCommand("copy"),m.remove()}function P(){var w,m,y;return(y=(m=(w=document==null?void 0:document.getSelection)==null?void 0:w.call(document))==null?void 0:m.toString())!=null?y:""}function k(w){return w==="granted"||w==="prompt"}return{isSupported:u,text:f,copied:c,copy:v}}const Pr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Cr="__vueuse_ssr_handlers__",sp=ip();function ip(){return Cr in Pr||(Pr[Cr]=Pr[Cr]||{}),Pr[Cr]}function lp(e,t){return sp[e]||t}function ap(e){return ws("(prefers-color-scheme: dark)",e)}function cp(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 up={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()}},Ai="vueuse-storage";function pa(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:u=!1,shallow:f,window:c=Ut,eventFilter:h,onError:p=S=>{console.error(S)},initOnMounted:v}=r,_=(f?At:ie)(typeof t=="function"?t():t);if(!n)try{n=lp("getDefaultStorage",()=>{var S;return(S=Ut)==null?void 0:S.localStorage})()}catch(S){p(S)}if(!n)return _;const P=dt(t),k=cp(P),w=(o=r.serializer)!=null?o:up[k],{pause:m,resume:y}=ep(_,()=>U(_.value),{flush:s,deep:i,eventFilter:h});c&&l&&Ss(()=>{n instanceof Storage?pt(c,"storage",Q):pt(c,Ai,j),v&&Q()}),v||Q();function O(S,$){if(c){const E={key:e,oldValue:S,newValue:$,storageArea:n};c.dispatchEvent(n instanceof Storage?new StorageEvent("storage",E):new CustomEvent(Ai,{detail:E}))}}function U(S){try{const $=n.getItem(e);if(S==null)O($,null),n.removeItem(e);else{const E=w.write(S);$!==E&&(n.setItem(e,E),O($,E))}}catch($){p($)}}function G(S){const $=S?S.newValue:n.getItem(e);if($==null)return a&&P!=null&&n.setItem(e,w.write(P)),P;if(!S&&u){const E=w.read($);return typeof u=="function"?u(E,P):k==="object"&&!Array.isArray(E)?{...P,...E}:E}else return typeof $!="string"?$:w.read($)}function Q(S){if(!(S&&S.storageArea!==n)){if(S&&S.key==null){_.value=P;return}if(!(S&&S.key!==e)){m();try{(S==null?void 0:S.newValue)!==w.write(_.value)&&(_.value=G(S))}catch($){p($)}finally{S?zt(y):y()}}}}function j(S){Q(S.detail)}return _}function fp(e,t,n={}){const{window:r=Ut,...o}=n;let s;const i=so(()=>r&&"ResizeObserver"in r),l=()=>{s&&(s.disconnect(),s=void 0)},a=R(()=>{const c=dt(e);return Array.isArray(c)?c.map(h=>nn(h)):[nn(c)]}),u=De(a,c=>{if(l(),i.value&&r){s=new ResizeObserver(t);for(const h of c)h&&s.observe(h,o)}},{immediate:!0,flush:"post"}),f=()=>{l(),u()};return oo(f),{isSupported:i,stop:f}}function dp(e,t={width:0,height:0},n={}){const{window:r=Ut,box:o="content-box"}=n,s=R(()=>{var c,h;return(h=(c=nn(e))==null?void 0:c.namespaceURI)==null?void 0:h.includes("svg")}),i=ie(t.width),l=ie(t.height),{stop:a}=fp(e,([c])=>{const h=o==="border-box"?c.borderBoxSize:o==="content-box"?c.contentBoxSize:c.devicePixelContentBoxSize;if(r&&s.value){const p=nn(e);if(p){const v=p.getBoundingClientRect();i.value=v.width,l.value=v.height}}else if(h){const p=Array.isArray(h)?h:[h];i.value=p.reduce((v,{inlineSize:_})=>v+_,0),l.value=p.reduce((v,{blockSize:_})=>v+_,0)}else i.value=c.contentRect.width,l.value=c.contentRect.height},n);Ss(()=>{const c=nn(e);c&&(i.value="offsetWidth"in c?c.offsetWidth:t.width,l.value="offsetHeight"in c?c.offsetHeight:t.height)});const u=De(()=>nn(e),c=>{i.value=c?t.width:0,l.value=c?t.height:0});function f(){a(),u()}return{width:i,height:l,stop:f}}function pp(e={}){const{window:t=Ut,behavior:n="auto"}=e;if(!t)return{x:ie(0),y:ie(0)};const r=ie(t.scrollX),o=ie(t.scrollY),s=R({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=R({get(){return o.value},set(l){scrollTo({top:l,behavior:n})}});return pt(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:s,y:i}}function hp(e={}){const{window:t=Ut,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0,type:i="inner"}=e,l=ie(n),a=ie(r),u=()=>{t&&(i==="outer"?(l.value=t.outerWidth,a.value=t.outerHeight):s?(l.value=t.innerWidth,a.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,a.value=t.document.documentElement.clientHeight))};if(u(),Ss(u),pt("resize",u,{passive:!0}),o){const f=ws("(orientation: portrait)");De(f,()=>u())}return{width:l,height:a}}const Li=async(e,t)=>{const{path:n,query:r}=e.currentRoute.value,{scrollBehavior:o}=e.options;e.options.scrollBehavior=void 0,await e.replace({path:n,query:r,hash:t}),e.options.scrollBehavior=o},gp=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=un();pt("scroll",Xd(()=>{var v,_;const i=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(i-0)c.some(k=>k.hash===P.hash));for(let P=0;P=(((v=k.parentElement)==null?void 0:v.offsetTop)??0)-r,y=!w||i<(((_=w.parentElement)==null?void 0:_.offsetTop)??0)-r;if(!(m&&y))continue;const U=decodeURIComponent(o.currentRoute.value.hash),G=decodeURIComponent(k.hash);if(U===G)return;if(f){for(let Q=P+1;Q{const t=mr();return R(()=>e[t.value]??{})},wp=()=>{const e=jd();return R(()=>Object.keys(e.value))},ko=(e,t)=>{var r;const n=(r=pr())==null?void 0:r.appContext.components;return n?e in n||Ye(e)in n||ir(Ye(e))in n:!1},xp=e=>new Promise(t=>{setTimeout(t,e)}),Pp=(e,t=2)=>{if(t===!1)return[];const[n,r]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t,o=e.filter(i=>i.level>=n&&i.level<=r),s=[];e:for(let i=0;i=0;a--){const u=o[a];if(u.level{let n;if(t.length){const r=e.cloneNode(!0);r.querySelectorAll(t.join(",")).forEach(o=>{o.remove()}),n=r.textContent||""}else n=e.textContent||"";return n.trim()},kp=({selector:e=[...new Array(6)].map((r,o)=>`[vp-content] h${o+1}`).join(","),levels:t=2,ignore:n=[]}={})=>{const r=Array.from(document.querySelectorAll(e)).filter(o=>o.id&&o.hasChildNodes()).map(o=>{const s=Number(o.tagName[1]);return{element:o,title:Cp(o,n),link:`#${o.id}`,slug:o.id,level:s}});return Pp(r,t)},Ep=e=>typeof e<"u",ga=(e,t)=>ct(e)&&e.startsWith(t),{keys:Ap}=Object,ma=e=>ga(e,"/");var Lp={"/eng/":{backToTop:"Back to top"},"/":{backToTop:"Вернуться к началу"}};const Tp=fe({name:"BackToTop",setup(){const e=ht(),t=ha(Lp),n=At(),{height:r}=dp(n),{height:o}=hp(),{y:s}=pp(),i=R(()=>e.value.backToTop!==!1&&s.value>100),l=R(()=>s.value/(r.value-o.value)*100);return We(()=>{n.value=document.body}),()=>Ce(fs,{name:"back-to-top"},()=>i.value?Ce("button",{type:"button",class:"vp-back-to-top-button","aria-label":t.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[Ce("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":l.value},Ce("svg",Ce("circle",{cx:"26",cy:"26",r:"24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-dasharray":`${Math.PI*l.value*.48} ${Math.PI*(100-l.value)*.48}`}))),Ce("div",{class:"back-to-top-icon"})]):null)}}),Rp=Jt({rootComponents:[Tp]}),Dp=Object.freeze(Object.defineProperty({__proto__:null,default:Rp},Symbol.toStringTag,{value:"Module"})),Op=/language-(shellscript|shell|bash|sh|zsh)/,Mp=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o,ignoreSelector:s=[],transform:i})=>{const l=ws("(max-width: 419px)"),a=R(()=>!l.value||o),u=ha(n),f=Ln(),c=P=>{var w;if(P.hasAttribute("copy-code"))return;const k=document.createElement("button");k.type="button",k.classList.add("vp-copy-code-button"),k.setAttribute("aria-label",u.value.copy),k.setAttribute("data-copied",u.value.copied),(w=P.parentElement)==null||w.insertBefore(k,P),P.setAttribute("copy-code","")};De(()=>[f.value.path,a.value],async()=>{document.body.classList.toggle("no-copy-code",!a.value),a.value&&(await zt(),await xp(e),document.querySelectorAll(r.join(",")).forEach(c))},{immediate:!0});const{copy:p}=op({legacy:!0}),v=new WeakMap,_=async(P,k,w)=>{const m=k.cloneNode(!0);s.length&&m.querySelectorAll(s.join(",")).forEach(U=>{U.remove()}),i&&i(m);let y=m.textContent||"";if(Op.test(P.className)&&(y=y.replace(/^ *(\$|>) /gm,"")),await p(y),t<=0)return;w.classList.add("copied"),clearTimeout(v.get(w));const O=setTimeout(()=>{w.classList.remove("copied"),w.blur(),v.delete(w)},t);v.set(w,O)};pt("click",P=>{const k=P.target;if(a.value&&k.matches('div[class*="language-"] > button.vp-copy-code-button')){const w=k.parentElement,m=k.nextElementSibling;if(!w||!m)return;_(w,m,k)}})};var Ip=[],$p={"/eng/":{copy:"Copy code",copied:"Copied"},"/":{copy:"Скопировать код",copied:"Скопировано"}},Np=['[vp-content] div[class*="language-"] pre'];const Hp=Jt({setup:()=>{Mp({selector:Np,ignoreSelector:Ip,locales:$p,duration:2e3,delay:500,showInMobile:!1})}}),Vp=Object.freeze(Object.defineProperty({__proto__:null,default:Hp},Symbol.toStringTag,{value:"Module"})),jp=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));/** + * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT + */const Ti=(e,t)=>{e.classList.add(t)},Ri=(e,t)=>{e.classList.remove(t)},Fp=e=>{var t;(t=e==null?void 0:e.parentNode)==null||t.removeChild(e)},Eo=(e,t,n)=>en?n:e,Di=e=>(-1+e)*100,Bp=(()=>{const e=[],t=()=>{const n=e.shift();n&&n(t)};return n=>{e.push(n),e.length===1&&t()}})(),Wp=e=>e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(t,n)=>n.toUpperCase()),kr=(()=>{const e=["Webkit","O","Moz","ms"],t={},n=s=>{const{style:i}=document.body;if(s in i)return s;const l=s.charAt(0).toUpperCase()+s.slice(1);let a=e.length;for(;a--;){const u=`${e[a]}${l}`;if(u in i)return u}return s},r=s=>{const i=Wp(s);return t[i]??(t[i]=n(i))},o=(s,i,l)=>{s.style[r(i)]=l};return(s,i)=>{for(const l in i){const a=i[l];Object.hasOwn(i,l)&&Ep(a)&&o(s,l,a)}}})(),xt={minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},ke={percent:null,isRendered:()=>!!document.getElementById("nprogress"),set:e=>{const{speed:t,easing:n}=xt,r=ke.isStarted(),o=Eo(e,xt.minimum,1);ke.percent=o===1?null:o;const s=ke.render(!r),i=s.querySelector(xt.barSelector);return s.offsetWidth,Bp(l=>{kr(i,{transform:`translate3d(${Di(o)}%,0,0)`,transition:`all ${t}ms ${n}`}),o===1?(kr(s,{transition:"none",opacity:"1"}),s.offsetWidth,setTimeout(()=>{kr(s,{transition:`all ${t}ms linear`,opacity:"0"}),setTimeout(()=>{ke.remove(),l()},t)},t)):setTimeout(()=>{l()},t)}),ke},isStarted:()=>typeof ke.percent=="number",start:()=>{ke.percent||ke.set(0);const e=()=>{setTimeout(()=>{ke.percent&&(ke.trickle(),e())},xt.trickleSpeed)};return e(),ke},done:e=>!e&&!ke.percent?ke:ke.increase(.3+.5*Math.random()).set(1),increase:e=>{let{percent:t}=ke;return t?(t=Eo(t+(typeof e=="number"?e:(1-t)*Eo(Math.random()*t,.1,.95)),0,.994),ke.set(t)):ke.start()},trickle:()=>ke.increase(Math.random()*xt.trickleRate),render:e=>{if(ke.isRendered())return document.getElementById("nprogress");Ti(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=xt.template;const n=t.querySelector(xt.barSelector),r=document.querySelector(xt.parent),o=e?"-100":Di(ke.percent??0);return kr(n,{transition:"all 0 linear",transform:`translate3d(${o}%,0,0)`}),r&&(r!==document.body&&Ti(r,"nprogress-custom-parent"),r.appendChild(t)),t},remove:()=>{Ri(document.documentElement,"nprogress-busy"),Ri(document.querySelector(xt.parent),"nprogress-custom-parent"),Fp(document.getElementById("nprogress"))}},Up=()=>{We(()=>{const e=un(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||ke.start()}),e.afterEach(n=>{t.add(n.path),ke.done()})})},Gp=Jt({setup(){Up()}}),Kp=Object.freeze(Object.defineProperty({__proto__:null,default:Gp},Symbol.toStringTag,{value:"Module"})),qp=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),zp=JSON.parse(`{"repo":"https://git.pleshevski.ru/pleshevskiy/pleshevski.ru","locales":{"/":{"selectLanguageName":"Русский","navbar":["/","/works"],"notFound":["Верните страницу!","Мы потеряли страницу...","Вы заблокированы в лабиринте.","Искали кота?","Страница украдена.","Ошиблись в параллельной вселенной."],"backToHome":"Вернуться на главную","worksTable":{"name":"Название","description":"Описание","role":"Роль","technologies":"Технологии","status":"Статус","dates":"Даты"}},"/eng/":{"selectLanguageName":"English","navbar":["/eng/","/eng/works"],"notFound":["Return the page!","We lost a page...","You're blocked in a labyrinth.","Looking for a cat?","The page has been stolen.","Wrong turn in parallel universe."],"backToHome":"Back to home","worksTable":{"name":"Name","description":"Description","role":"Role","technologies":"Technologies","status":"Status","dates":"Dates"}}},"colorMode":"auto","colorModeSwitch":true,"navbar":[],"logo":null,"selectLanguageText":"Languages","selectLanguageAriaLabel":"Select language","sidebar":"heading","sidebarDepth":2,"editLink":true,"editLinkText":"Edit this page","lastUpdated":true,"lastUpdatedText":"Last Updated","contributors":true,"contributorsText":"Contributors","notFound":["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],"backToHome":"Take me home","openInNewWindow":"open in new window","toggleColorMode":"toggle color mode","toggleSidebar":"toggle sidebar"}`),Jp=ie(zp),va=()=>Jp,_a=Symbol(""),Yp=()=>{const e=ze(_a);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},Qp=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},Xp=Jt({enhance({app:e}){const t=va(),n=e._context.provides[gs],r=R(()=>Qp(t.value,n.routeLocale.value));e.provide(_a,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),Zp=Object.freeze(Object.defineProperty({__proto__:null,default:Xp},Symbol.toStringTag,{value:"Module"})),eh=()=>va(),$e=()=>Yp(),ba=Symbol(""),th=e=>{const t=(n=e.value)=>{const r=window.document.documentElement;r.dataset.theme=n?"dark":"light"};We(()=>{De(e,t,{immediate:!0})}),Qr(()=>{t()})},io=()=>{const e=ze(ba);if(!e)throw new Error("useDarkMode() is called without provider.");return e},nh=()=>{const e=$e(),t=ap(),n=pa("vuepress-color-scheme",e.value.colorMode),r=R({get(){return e.value.colorModeSwitch?n.value==="auto"?t.value:n.value==="dark":e.value.colorMode==="dark"},set(o){o===t.value?n.value="auto":n.value=o?"dark":"light"}});ln(ba,r),th(r)};let Ao=null,Nn=null;const rh={wait:()=>Ao,pending:()=>{Ao=new Promise(e=>{Nn=e})},resolve:()=>{Nn==null||Nn(),Ao=null,Nn=null}},ya=()=>rh,An=(e,t)=>{const{notFound:n,meta:r,path:o}=rr(e,t);return n?{text:o,link:o}:{text:r.title||o,link:o}},Oi=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),oh=(e,t)=>{if(t.hash===e)return!0;const n=Oi(t.path),r=Oi(e);return n===r},Sa=(e,t)=>e.link&&oh(e.link,t)?!0:"children"in e?e.children.some(n=>Sa(n,t)):!1,wa=e=>!_f(e)&&!gr(e),xa=e=>!eo(e)||e.includes("github.com")?"GitHub":e.includes("bitbucket.org")?"Bitbucket":e.includes("gitlab.com")?"GitLab":e.includes("gitee.com")?"Gitee":null,sh={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},ih=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const n=xa(e);return n!==null?sh[n]:null},lh=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=ih({docsRepo:e,editLinkPattern:o});return s?s.replace(/:repo/,eo(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,Yl(`${Jl(n)}/${r}`)):null},Pn=(e="",t="")=>ma(t)||gr(t)?t:`${Ef(e)}${t}`,Dr=ie([]),ah=()=>{const e=un(),t=$e(),n=ht(),r=R(()=>n.value.sidebarDepth??t.value.sidebarDepth??2);e.beforeEach((s,i)=>{s.path!==i.path&&(Dr.value=[])});const o=()=>{if(r.value<=0){Dr.value=[];return}Dr.value=kp({levels:[2,r.value+1],ignore:[".vp-badge"]})};De(r,o),We(o)},ch=()=>Dr,uh=e=>({text:e.title,link:e.link,children:xs(e.children)}),xs=e=>e?e.map(t=>uh(t)):[],Pa=(e,t)=>[{text:e.title,children:xs(t)}],Ca=(e,t,n,r="")=>{const o=(s,i)=>{var a;const l=ct(s)?An(Pn(i,s)):ct(s.link)?{...s,link:wa(s.link)?An(Pn(i,s.link)).link:s.link}:s;if("children"in l)return{...l,children:l.children.map(u=>o(u,Pn(i,l.prefix)))};if(l.link===n){const u=((a=t[0])==null?void 0:a.level)===1?t[0].children:t;return{...l,children:xs(u)}}return l};return e.map(s=>o(s,r))},fh=(e,t,n,r)=>{const o=Ap(e).sort((s,i)=>i.length-s.length);for(const s of o)if(ga(decodeURI(r),s)){const i=e[s];return i?i==="heading"?Pa(t,n):Ca(i,n,r,s):[]}return console.warn(`${decodeURI(r)} is missing sidebar config.`),[]},ka=Symbol("sidebarItems"),Ps=()=>{const e=ze(ka);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},dh=(e,t,n,r,o)=>e===!1?[]:e==="heading"?Pa(t,o):Array.isArray(e)?Ca(e,o,n,r):ds(e)?fh(e,t,o,n):[],ph=()=>{const e=$e(),t=ht(),n=Ln(),r=Dt(),o=mr(),s=ch(),i=R(()=>t.value.home?!1:t.value.sidebar??e.value.sidebar??"heading"),l=R(()=>dh(i.value,n.value,r.path,o.value,s.value));ln(ka,l)},hh=fe({__name:"Badge",props:{type:{default:"tip"},text:{default:""},vertical:{default:void 0}},setup(e,{expose:t}){t();const n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),we=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n};function gh(e,t,n,r,o,s){return N(),Y("span",{class:qe(["vp-badge",n.type]),style:lr({verticalAlign:n.vertical})},[Ee(e.$slots,"default",{},()=>[Wt(ae(n.text),1)])],6)}const mh=we(hh,[["render",gh],["__file","Badge.vue"]]),vh=fe({name:"CodeGroup",slots:Object,setup(e,{slots:t}){const n=ie([]),r=io(),o=ie();We(()=>{if(!o.value)return;const c=o.value.querySelector('div[class*="language-"]');if(c&&c.dataset.highlighter==="shiki"){const h=c.style.getPropertyValue("--shiki-light"),p=c.style.getPropertyValue("--shiki-dark"),v=c.style.getPropertyValue("--shiki-light-bg"),_=c.style.getPropertyValue("--shiki-dark-bg");De(r,P=>{o.value.style.setProperty("--vp-c-code-tab-bg",P?_:v),o.value.style.setProperty("--vp-c-code-tab-title",P?p:h)},{immediate:!0})}});const s=ie(-1),i=pa("vuepress-code-group",{}),l=R(()=>n.value.map(c=>c.innerText).join(","));We(()=>{De(()=>i.value[l.value],(c=-1)=>{s.value!==c&&(s.value=c)},{immediate:!0}),De(s,c=>{i.value[l.value]!==c&&(i.value[l.value]=c)})});const a=(c=s.value)=>{c{c>0?s.value=c-1:s.value=n.value.length-1,n.value[s.value].focus()},f=(c,h)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),s.value=h):c.key==="ArrowRight"?(c.preventDefault(),a(h)):c.key==="ArrowLeft"&&(c.preventDefault(),u(h))};return()=>{var h;const c=(((h=t.default)==null?void 0:h.call(t))??[]).filter(p=>p.type.name==="CodeGroupItem").map(p=>(p.props===null&&(p.props={}),p));return c.length===0?null:(s.value<0||s.value>c.length-1?(s.value=c.findIndex(p=>p.props.active===""||p.props.active===!0),s.value===-1&&(s.value=0)):c.forEach((p,v)=>{p.props.active=v===s.value}),Ce("div",{class:"code-group",ref:o},[Ce("div",{class:"code-group-nav",role:"tablist"},c.map((p,v)=>{const _=v===s.value;return Ce("button",{ref:P=>{P&&(n.value[v]=P)},class:{"code-group-nav-tab":!0,active:_},role:"tab",ariaSelected:_,onClick:()=>{s.value=v},onKeydown:P=>{f(P,v)}},p.props.title)})),c]))}}}),_h=fe({name:"CodeGroupItem",__name:"CodeGroupItem",props:{title:{},active:{type:Boolean}},setup(e,{expose:t}){t();const n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}});function bh(e,t,n,r,o,s){return N(),Y("div",{class:qe(["code-group-item",{active:n.active}]),role:"tabpanel"},[Ee(e.$slots,"default")],2)}const yh=we(_h,[["render",bh],["__file","CodeGroupItem.vue"]]),Sh=fe({__name:"VPHomeFeatures",setup(e,{expose:t}){t();const n=ht(),r=R(()=>n.value.features??[]),o={frontmatter:n,features:r};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),wh={key:0,class:"vp-features"};function xh(e,t,n,r,o,s){return r.features.length?(N(),Y("div",wh,[(N(!0),Y(me,null,Lt(r.features,i=>(N(),Y("div",{key:i.title,class:"vp-feature"},[W("h2",null,ae(i.title),1),W("p",null,ae(i.details),1)]))),128))])):Re("",!0)}const Ph=we(Sh,[["render",xh],["__file","VPHomeFeatures.vue"]]),Ch=fe({__name:"VPHomeFooter",setup(e,{expose:t}){t();const n=ht(),r=R(()=>n.value.footer),o=R(()=>n.value.footerHtml),s={frontmatter:n,footer:r,footerHtml:o};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),kh=["innerHTML"],Eh=["textContent"];function Ah(e,t,n,r,o,s){return r.footer?(N(),Y(me,{key:0},[r.footerHtml?(N(),Y("div",{key:0,class:"vp-footer","vp-footer":"",innerHTML:r.footer},null,8,kh)):(N(),Y("div",{key:1,class:"vp-footer","vp-footer":"",textContent:ae(r.footer)},null,8,Eh))],64)):Re("",!0)}const Lh=we(Ch,[["render",Ah],["__file","VPHomeFooter.vue"]]),Th=fe({__name:"VPHomeHero",setup(e,{expose:t}){t();const n=ht(),r=ms(),o=io(),s=R(()=>n.value.heroText===null?null:n.value.heroText||r.value.title||"Hello"),i=R(()=>n.value.tagline===null?null:n.value.tagline||r.value.description||"Welcome to your VuePress site"),l=R(()=>o.value&&n.value.heroImageDark!==void 0?n.value.heroImageDark:n.value.heroImage),a=R(()=>n.value.heroAlt||s.value||"hero"),u=R(()=>n.value.heroHeight??280),f=R(()=>Array.isArray(n.value.actions)?n.value.actions.map(({text:p,link:v,type:_="primary"})=>({text:p,link:v,type:_})):[]),h={frontmatter:n,siteLocale:r,isDarkMode:o,heroText:s,tagline:i,heroImage:l,heroAlt:a,heroHeight:u,actions:f,HomeHeroImage:()=>{if(!l.value)return null;const p=Ce("img",{class:"vp-hero-image",src:bs(l.value),alt:a.value,height:u.value});return n.value.heroImageDark===void 0?p:Ce(vs,()=>p)},get AutoLink(){return Tn}};return Object.defineProperty(h,"__isScriptSetup",{enumerable:!1,value:!0}),h}}),Rh={class:"vp-hero"},Dh={key:0,id:"main-title"},Oh={key:1,class:"vp-hero-description"},Mh={key:2,class:"vp-hero-actions"};function Ih(e,t,n,r,o,s){return N(),Y("header",Rh,[te(r.HomeHeroImage),r.heroText?(N(),Y("h1",Dh,ae(r.heroText),1)):Re("",!0),r.tagline?(N(),Y("p",Oh,ae(r.tagline),1)):Re("",!0),r.actions.length?(N(),Y("p",Mh,[(N(!0),Y(me,null,Lt(r.actions,i=>(N(),Ae(r.AutoLink,{key:i.text,class:qe(["vp-hero-action-button",[i.type]]),config:i},null,8,["class","config"]))),128))])):Re("",!0)])}const $h=we(Th,[["render",Ih],["__file","VPHomeHero.vue"]]),Nh=fe({__name:"VPHome",setup(e,{expose:t}){t();const n={VPHomeFeatures:Ph,VPHomeFooter:Lh,VPHomeHero:$h,get Content(){return _s}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Hh={class:"vp-home"},Vh={class:"theme-default-content","vp-content":""};function jh(e,t,n,r,o,s){return N(),Y("main",Hh,[te(r.VPHomeHero),te(r.VPHomeFeatures),W("div",Vh,[te(r.Content)]),te(r.VPHomeFooter)])}const Fh=we(Nh,[["render",jh],["__file","VPHome.vue"]]),Bh=fe({__name:"VPNavbarBrand",setup(e,{expose:t}){t();const n=mr(),r=ms(),o=$e(),s=io(),i=R(()=>o.value.home||n.value),l=R(()=>r.value.title),a=R(()=>s.value&&o.value.logoDark!==void 0?o.value.logoDark:o.value.logo),u=R(()=>o.value.logoAlt??l.value),f=R(()=>l.value.toLocaleUpperCase().trim()===u.value.toLocaleUpperCase().trim()),h={routeLocale:n,siteLocale:r,themeLocale:o,isDarkMode:s,navbarBrandLink:i,navbarBrandTitle:l,navbarBrandLogo:a,navbarBrandLogoAlt:u,navBarLogoAltMatchesTitle:f,NavbarBrandLogo:()=>{if(!a.value)return null;const p=Ce("img",{class:"vp-site-logo",src:bs(a.value),alt:u.value});return o.value.logoDark===void 0?p:Ce(vs,()=>p)},get RouteLink(){return ro}};return Object.defineProperty(h,"__isScriptSetup",{enumerable:!1,value:!0}),h}}),Wh=["aria-hidden"];function Uh(e,t,n,r,o,s){return N(),Ae(r.RouteLink,{to:r.navbarBrandLink},{default:Te(()=>[te(r.NavbarBrandLogo),r.navbarBrandTitle?(N(),Y("span",{key:0,class:qe(["vp-site-name",{"vp-hide-mobile":r.navbarBrandLogo}]),"aria-hidden":r.navBarLogoAltMatchesTitle},ae(r.navbarBrandTitle),11,Wh)):Re("",!0)]),_:1},8,["to"])}const Gh=we(Bh,[["render",Uh],["__file","VPNavbarBrand.vue"]]),Kh=fe({__name:"VPDropdownTransition",setup(e,{expose:t}){t();const o={setHeight:s=>{s.style.height=`${s.scrollHeight}px`},unsetHeight:s=>{s.style.height=""}};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}});function qh(e,t,n,r,o,s){return N(),Ae(fs,{name:"vp-dropdown",onEnter:r.setHeight,onAfterEnter:r.unsetHeight,onBeforeLeave:r.setHeight},{default:Te(()=>[Ee(e.$slots,"default")]),_:3})}const Ea=we(Kh,[["render",qh],["__file","VPDropdownTransition.vue"]]),zh=fe({__name:"VPNavbarDropdown",props:{item:{}},setup(e,{expose:t}){t();const n=e,{item:r}=cl(n),o=Dt(),s=ie(!1),i=R(()=>r.value.ariaLabel||r.value.text),l=(f,c)=>c[c.length-1]===f,a=f=>{const c=f.detail===0;s.value=c?!s.value:!1};De(()=>o.path,()=>{s.value=!1});const u={props:n,item:r,route:o,open:s,dropdownAriaLabel:i,isLastItemOfArray:l,handleDropdown:a,VPDropdownTransition:Ea,get AutoLink(){return Tn}};return Object.defineProperty(u,"__isScriptSetup",{enumerable:!1,value:!0}),u}}),Jh=["aria-label"],Yh={class:"title"},Qh=["aria-label"],Xh={class:"title"},Zh={class:"vp-navbar-dropdown"},eg={class:"vp-navbar-dropdown-subtitle"},tg={key:1},ng={class:"vp-navbar-dropdown-subitem-wrapper"};function rg(e,t,n,r,o,s){return N(),Y("div",{class:qe(["vp-navbar-dropdown-wrapper",{open:r.open}])},[W("button",{class:"vp-navbar-dropdown-title",type:"button","aria-label":r.dropdownAriaLabel,onClick:r.handleDropdown},[W("span",Yh,ae(r.item.text),1),t[1]||(t[1]=W("span",{class:"arrow down"},null,-1))],8,Jh),W("button",{class:"vp-navbar-dropdown-title-mobile",type:"button","aria-label":r.dropdownAriaLabel,onClick:t[0]||(t[0]=i=>r.open=!r.open)},[W("span",Xh,ae(r.item.text),1),W("span",{class:qe(["arrow",r.open?"down":"right"])},null,2)],8,Qh),te(r.VPDropdownTransition,null,{default:Te(()=>[Hr(W("ul",Zh,[(N(!0),Y(me,null,Lt(r.item.children,i=>(N(),Y("li",{key:i.text,class:"vp-navbar-dropdown-item"},["children"in i?(N(),Y(me,{key:0},[W("h4",eg,[i.link?(N(),Ae(r.AutoLink,{key:0,config:i,onFocusout:l=>r.isLastItemOfArray(i,r.item.children)&&i.children.length===0&&(r.open=!1)},null,8,["config","onFocusout"])):(N(),Y("span",tg,ae(i.text),1))]),W("ul",ng,[(N(!0),Y(me,null,Lt(i.children,l=>(N(),Y("li",{key:l.link,class:"vp-navbar-dropdown-subitem"},[te(r.AutoLink,{config:l,onFocusout:a=>r.isLastItemOfArray(l,i.children)&&r.isLastItemOfArray(i,r.item.children)&&(r.open=!1)},null,8,["config","onFocusout"])]))),128))])],64)):(N(),Ae(r.AutoLink,{key:1,config:i,onFocusout:l=>r.isLastItemOfArray(i,r.item.children)&&(r.open=!1)},null,8,["config","onFocusout"]))]))),128))],512),[[Wr,r.open]])]),_:1})],2)}const og=we(zh,[["render",rg],["__file","VPNavbarDropdown.vue"]]),Aa=(e,t="")=>ct(e)?An(Pn(t,e)):"children"in e?{...e,children:e.children.map(n=>Aa(n,Pn(t,e.prefix)))}:{...e,link:wa(e.link)?An(Pn(t,e.link)).link:e.link},sg=()=>{const e=$e();return R(()=>(e.value.navbar||[]).map(t=>Aa(t)))},ig=()=>{const e=$e(),t=R(()=>e.value.repo),n=R(()=>t.value?xa(t.value):null),r=R(()=>t.value&&!eo(t.value)?`https://github.com/${t.value}`:t.value),o=R(()=>r.value?e.value.repoLabel?e.value.repoLabel:n.value===null?"Source":n.value:null);return R(()=>!r.value||!o.value?[]:[{text:o.value,link:r.value}])},lg=()=>{const e=Dt(),t=wp(),n=mr(),r=aa(),o=ms(),s=eh(),i=$e();return R(()=>{const l=Object.keys(r.value.locales);if(l.length<2)return[];const a=e.path,u=e.fullPath;return[{text:`${i.value.selectLanguageText}`,ariaLabel:`${i.value.selectLanguageAriaLabel??i.value.selectLanguageText}`,children:l.map(c=>{var k,w;const h=((k=r.value.locales)==null?void 0:k[c])??{},p=((w=s.value.locales)==null?void 0:w[c])??{},v=`${h.lang}`,_=p.selectLanguageName??v;if(v===o.value.lang)return{text:_,activeMatch:".",link:e.fullPath};const P=a.replace(n.value,c);return{text:_,link:t.value.some(m=>m===P)?u.replace(a,P):p.home??c}})}]})},ag="719px",cg={mobile:ag};var or;(function(e){e.Mobile="mobile"})(or||(or={}));const ug={[or.Mobile]:Number.parseInt(cg.mobile.replace("px",""),10)},La=(e,t)=>{const n=ug[e];Number.isInteger(n)&&(pt("orientationchange",()=>{t(n)},!1),pt("resize",()=>{t(n)},!1),We(()=>{t(n)}))},fg=fe({__name:"VPNavbarItems",setup(e,{expose:t}){t();const n=sg(),r=lg(),o=ig(),s=ie(!1),i=R(()=>$e().value.navbarLabel??"site navigation"),l=R(()=>[...n.value,...r.value,...o.value]);La(or.Mobile,u=>{s.value=window.innerWidth(N(),Y("div",{key:i.text,class:"vp-navbar-item"},["children"in i?(N(),Ae(r.VPNavbarDropdown,{key:0,class:qe({mobile:r.isMobile}),item:i},null,8,["class","item"])):(N(),Ae(r.AutoLink,{key:1,config:i},null,8,["config"]))]))),128))],8,dg)):Re("",!0)}const Ta=we(fg,[["render",pg],["__file","VPNavbarItems.vue"]]),hg={},gg={class:"dark-icon",viewBox:"0 0 32 32"};function mg(e,t){return N(),Y("svg",gg,t[0]||(t[0]=[W("path",{d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z",fill:"currentColor"},null,-1)]))}const vg=we(hg,[["render",mg],["__file","VPDarkIcon.vue"]]),_g={},bg={class:"light-icon",viewBox:"0 0 32 32"};function yg(e,t){return N(),Y("svg",bg,t[0]||(t[0]=[ku('',9)]))}const Sg=we(_g,[["render",yg],["__file","VPLightIcon.vue"]]),wg=fe({__name:"VPToggleColorModeButton",setup(e,{expose:t}){t();const n=$e(),r=io(),s={themeLocale:n,isDarkMode:r,toggleColorMode:()=>{r.value=!r.value},VPDarkIcon:vg,VPLightIcon:Sg};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),xg=["title"];function Pg(e,t,n,r,o,s){return N(),Y("button",{type:"button",class:"vp-toggle-color-mode-button",title:r.themeLocale.toggleColorMode,onClick:r.toggleColorMode},[Hr(te(r.VPLightIcon,null,null,512),[[Wr,!r.isDarkMode]]),Hr(te(r.VPDarkIcon,null,null,512),[[Wr,r.isDarkMode]])],8,xg)}const Cg=we(wg,[["render",Pg],["__file","VPToggleColorModeButton.vue"]]),kg=fe({__name:"VPToggleSidebarButton",emits:["toggle"],setup(e,{expose:t}){t();const r={themeLocale:$e()};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),Eg=["title"];function Ag(e,t,n,r,o,s){return N(),Y("div",{class:"vp-toggle-sidebar-button",title:r.themeLocale.toggleSidebar,"aria-expanded":"false",role:"button",tabindex:"0",onClick:t[0]||(t[0]=i=>e.$emit("toggle"))},t[1]||(t[1]=[W("div",{class:"icon","aria-hidden":"true"},[W("span"),W("span"),W("span")],-1)]),8,Eg)}const Lg=we(kg,[["render",Ag],["__file","VPToggleSidebarButton.vue"]]),Tg=fe({__name:"VPNavbar",emits:["toggleSidebar"],setup(e,{expose:t}){t();const n=$e(),r=ie(null),o=ie(null),s=ie(0),i=R(()=>s.value?{maxWidth:`${s.value}px`}:{}),l=(u,f)=>{var p;const c=(p=u==null?void 0:u.ownerDocument.defaultView)==null?void 0:p.getComputedStyle(u,null)[f],h=Number.parseInt(c,10);return Number.isNaN(h)?0:h};La(or.Mobile,u=>{var c;const f=l(r.value,"paddingLeft")+l(r.value,"paddingRight");window.innerWidthe.$emit("toggleSidebar"))}),W("span",Dg,[te(r.VPNavbarBrand)],512),W("div",{class:"vp-navbar-items-wrapper",style:lr(r.linksWrapperStyle)},[Ee(e.$slots,"before"),te(r.VPNavbarItems,{class:"vp-hide-mobile"}),Ee(e.$slots,"after"),r.themeLocale.colorModeSwitch?(N(),Ae(r.VPToggleColorModeButton,{key:0})):Re("",!0),te(i)],4)],512)}const Mg=we(Tg,[["render",Og],["__file","VPNavbar.vue"]]),Ig={},$g={class:"edit-icon",viewBox:"0 0 1024 1024"};function Ng(e,t){return N(),Y("svg",$g,t[0]||(t[0]=[W("g",{fill:"currentColor"},[W("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),W("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})],-1)]))}const Hg=we(Ig,[["render",Ng],["__file","VPEditIcon.vue"]]),Vg=()=>{const e=$e(),t=Ln(),n=ht();return R(()=>{var o;return n.value.contributors??e.value.contributors??!0?((o=t.value.git)==null?void 0:o.contributors)??null:null})},jg=()=>{const e=$e(),t=Ln(),n=ht();return R(()=>{if(!(n.value.editLink??e.value.editLink??!0))return null;const{repo:o,docsRepo:s=o,docsBranch:i="main",docsDir:l="",editLinkText:a}=e.value;if(!s)return null;const u=lh({docsRepo:s,docsBranch:i,docsDir:l,filePathRelative:t.value.filePathRelative,editLinkPattern:n.value.editLinkPattern??e.value.editLinkPattern});return u?{text:a??"Edit this page",link:u}:null})},Fg=()=>{const e=$e(),t=Ln(),n=ht();return R(()=>{var s;return!(n.value.lastUpdated??e.value.lastUpdated??!0)||!((s=t.value.git)!=null&&s.updatedTime)?null:new Date(t.value.git.updatedTime).toLocaleString()})},Bg=fe({__name:"VPPageMeta",setup(e,{expose:t}){t();const n=$e(),r=jg(),o=Fg(),s=Vg(),i={themeLocale:n,editLink:r,lastUpdated:o,contributors:s,VPEditIcon:Hg,get AutoLink(){return Tn}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),Wg={class:"vp-page-meta"},Ug={key:0,class:"vp-meta-item edit-link"},Gg={class:"vp-meta-item git-info"},Kg={key:0,class:"vp-meta-item last-updated"},qg={class:"meta-item-label"},zg={class:"meta-item-info"},Jg={key:1,class:"vp-meta-item contributors"},Yg={class:"meta-item-label"},Qg={class:"meta-item-info"},Xg=["title"];function Zg(e,t,n,r,o,s){const i=is("ClientOnly");return N(),Y("footer",Wg,[r.editLink?(N(),Y("div",Ug,[te(r.AutoLink,{class:"label",config:r.editLink},{before:Te(()=>[te(r.VPEditIcon)]),_:1},8,["config"])])):Re("",!0),W("div",Gg,[r.lastUpdated?(N(),Y("div",Kg,[W("span",qg,ae(r.themeLocale.lastUpdatedText)+": ",1),te(i,null,{default:Te(()=>[W("span",zg,ae(r.lastUpdated),1)]),_:1})])):Re("",!0),r.contributors&&r.contributors.length?(N(),Y("div",Jg,[W("span",Yg,ae(r.themeLocale.contributorsText)+": ",1),W("span",Qg,[(N(!0),Y(me,null,Lt(r.contributors,(l,a)=>(N(),Y(me,{key:a},[W("span",{class:"contributor",title:`email: ${l.email}`},ae(l.name),9,Xg),a!==r.contributors.length-1?(N(),Y(me,{key:0},[Wt(", ")],64)):Re("",!0)],64))),128))])])):Re("",!0)])])}const em=we(Bg,[["render",Zg],["__file","VPPageMeta.vue"]]),tm=()=>{const e=un(),t=Dt();return n=>{n&&(ma(n)?t.path!==n&&e.push(n):gr(n)?window.open(n):e.push(encodeURI(n)))}},Mi=(e,t)=>e===!1?!1:ct(e)?An(e,t):ds(e)?{...e,link:An(e.link,t).link}:null,Go=(e,t,n)=>{const r=e.findIndex(s=>s.link===t);if(r!==-1){const s=e[r+n];return s?s.link?s:"prefix"in s&&!rr(s.prefix).notFound?{...s,link:s.prefix}:null:null}for(const s of e)if("children"in s){const i=Go(s.children,t,n);if(i)return i}const o=e.findIndex(s=>"prefix"in s&&s.prefix===t);if(o!==-1){const s=e[o+n];return s?s.link?s:"prefix"in s&&!rr(s.prefix).notFound?{...s,link:s.prefix}:null:null}return null},nm=()=>{const e=ht(),t=$e(),n=Ps(),r=Dt(),o=R(()=>{const i=Mi(e.value.prev,r.path);return i===!1?null:i??(t.value.prev===!1?null:Go(n.value,r.path,-1))}),s=R(()=>{const i=Mi(e.value.next,r.path);return i===!1?null:i??(t.value.next===!1?null:Go(n.value,r.path,1))});return{prevLink:o,nextLink:s}},rm=fe({__name:"VPPageNav",setup(e,{expose:t}){t();const n=$e(),r=tm(),{prevLink:o,nextLink:s}=nm(),i=R(()=>n.value.pageNavbarLabel??"page navigation");pt("keydown",a=>{a.altKey&&(a.key==="ArrowRight"?s.value&&(r(s.value.link),a.preventDefault()):a.key==="ArrowLeft"&&o.value&&(r(o.value.link),a.preventDefault()))});const l={themeLocale:n,navigate:r,prevLink:o,nextLink:s,navbarLabel:i,get AutoLink(){return Tn}};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),om=["aria-label"],sm={class:"hint"},im={class:"link"},lm={class:"hint"},am={class:"link"};function cm(e,t,n,r,o,s){return r.prevLink||r.nextLink?(N(),Y("nav",{key:0,class:"vp-page-nav","aria-label":r.navbarLabel},[r.prevLink?(N(),Ae(r.AutoLink,{key:0,class:"prev",config:r.prevLink},{default:Te(()=>[W("div",sm,[t[0]||(t[0]=W("span",{class:"arrow left"},null,-1)),Wt(" "+ae(r.themeLocale.prev??"Prev"),1)]),W("div",im,[W("span",null,ae(r.prevLink.text),1)])]),_:1},8,["config"])):Re("",!0),r.nextLink?(N(),Ae(r.AutoLink,{key:1,class:"next",config:r.nextLink},{default:Te(()=>[W("div",lm,[Wt(ae(r.themeLocale.next??"Next")+" ",1),t[1]||(t[1]=W("span",{class:"arrow right"},null,-1))]),W("div",am,[W("span",null,ae(r.nextLink.text),1)])]),_:1},8,["config"])):Re("",!0)],8,om)):Re("",!0)}const um=we(rm,[["render",cm],["__file","VPPageNav.vue"]]),fm=fe({__name:"VPPage",setup(e,{expose:t}){t(),ah();const n={VPPageMeta:em,VPPageNav:um,get Content(){return _s}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),dm={class:"vp-page"},pm={class:"theme-default-content","vp-content":""};function hm(e,t,n,r,o,s){return N(),Y("main",dm,[Ee(e.$slots,"top"),W("div",pm,[Ee(e.$slots,"content-top"),te(r.Content),Ee(e.$slots,"content-bottom")]),te(r.VPPageMeta),te(r.VPPageNav),Ee(e.$slots,"bottom")])}const gm=we(fm,[["render",hm],["__file","VPPage.vue"]]),mm=fe({__name:"VPSidebarItem",props:{item:{},depth:{default:0}},setup(e,{expose:t}){t();const n=e,{item:r,depth:o}=cl(n),s=Dt(),i=un(),l=R(()=>"collapsible"in r.value&&r.value.collapsible),a=R(()=>Sa(r.value,s)),u=R(()=>({"vp-sidebar-item":!0,"vp-sidebar-heading":o.value===0,active:a.value,collapsible:l.value})),f=R(()=>l.value?a.value:!0),[c,h]=np(f.value),p=P=>{l.value&&(P.preventDefault(),h())},v=i.afterEach(()=>{zt(()=>{c.value=f.value})});ss(()=>{v()});const _={props:n,item:r,depth:o,route:s,router:i,collapsible:l,isActive:a,itemClass:u,isOpenDefault:f,isOpen:c,toggleIsOpen:h,onClick:p,unregisterRouterHook:v,VPDropdownTransition:Ea,get AutoLink(){return Tn}};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}}),vm={class:"vp-sidebar-children"};function _m(e,t,n,r,o,s){const i=is("VPSidebarItem",!0);return N(),Y("li",null,[r.item.link?(N(),Ae(r.AutoLink,{key:0,class:qe(r.itemClass),config:r.item},null,8,["class","config"])):(N(),Y("p",{key:1,tabindex:"0",class:qe(r.itemClass),onClick:r.onClick,onKeydown:ff(r.onClick,["enter"])},[Wt(ae(r.item.text)+" ",1),r.collapsible?(N(),Y("span",{key:0,class:qe(["arrow",r.isOpen?"down":"right"])},null,2)):Re("",!0)],34)),"children"in r.item&&r.item.children.length?(N(),Ae(r.VPDropdownTransition,{key:2},{default:Te(()=>[Hr(W("ul",vm,[(N(!0),Y(me,null,Lt(r.item.children,l=>(N(),Ae(i,{key:`${r.depth}${l.text}${l.link}`,item:l,depth:r.depth+1},null,8,["item","depth"]))),128))],512),[[Wr,r.isOpen]])]),_:1})):Re("",!0)])}const bm=we(mm,[["render",_m],["__file","VPSidebarItem.vue"]]),ym=fe({__name:"VPSidebarItems",setup(e,{expose:t}){t();const n=Dt(),r=Ps();We(()=>{De(()=>n.hash,s=>{const i=document.querySelector(".vp-sidebar");if(!i)return;const l=document.querySelector(`.vp-sidebar a.vp-sidebar-item[href="${n.path}${s}"]`);if(!l)return;const{top:a,height:u}=i.getBoundingClientRect(),{top:f,height:c}=l.getBoundingClientRect();fa+u&&l.scrollIntoView(!1)})});const o={route:n,sidebarItems:r,VPSidebarItem:bm};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),Sm={key:0,class:"vp-sidebar-items"};function wm(e,t,n,r,o,s){return r.sidebarItems.length?(N(),Y("ul",Sm,[(N(!0),Y(me,null,Lt(r.sidebarItems,i=>(N(),Ae(r.VPSidebarItem,{key:`${i.text}${i.link}`,item:i},null,8,["item"]))),128))])):Re("",!0)}const xm=we(ym,[["render",wm],["__file","VPSidebarItems.vue"]]),Pm=fe({__name:"VPSidebar",setup(e,{expose:t}){t();const n={VPNavbarItems:Ta,VPSidebarItems:xm};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Cm={class:"vp-sidebar","vp-sidebar":""};function km(e,t,n,r,o,s){return N(),Y("aside",Cm,[te(r.VPNavbarItems),Ee(e.$slots,"top"),te(r.VPSidebarItems),Ee(e.$slots,"bottom")])}const Em=we(Pm,[["render",km],["__file","VPSidebar.vue"]]),Am=fe({__name:"Layout",setup(e,{expose:t}){t();const n=Ln(),r=ht(),o=$e(),s=R(()=>r.value.navbar!==!1&&o.value.navbar!==!1),i=Ps(),l=ie(!1),a=m=>{l.value=typeof m=="boolean"?m:!l.value},u={x:0,y:0},f=m=>{u.x=m.changedTouches[0].clientX,u.y=m.changedTouches[0].clientY},c=m=>{const y=m.changedTouches[0].clientX-u.x,O=m.changedTouches[0].clientY-u.y;Math.abs(y)>Math.abs(O)&&Math.abs(y)>40&&(y>0&&u.x<=80?a(!0):a(!1))},h=R(()=>r.value.externalLinkIcon??o.value.externalLinkIcon??!0),p=R(()=>[{"no-navbar":!s.value,"no-sidebar":!i.value.length,"sidebar-open":l.value,"external-link-icon":h.value},r.value.pageClass]);let v;We(()=>{v=un().afterEach(()=>{a(!1)})}),Qr(()=>{v()});const _=ya(),P=_.resolve,k=_.pending,w={page:n,frontmatter:r,themeLocale:o,shouldShowNavbar:s,sidebarItems:i,isSidebarOpen:l,toggleSidebar:a,touchStart:u,onTouchStart:f,onTouchEnd:c,enableExternalLinkIcon:h,containerClass:p,get unregisterRouterHook(){return v},set unregisterRouterHook(m){v=m},scrollPromise:_,onBeforeEnter:P,onBeforeLeave:k,VPHome:Fh,VPNavbar:Mg,VPPage:gm,VPSidebar:Em};return Object.defineProperty(w,"__isScriptSetup",{enumerable:!1,value:!0}),w}});function Lm(e,t,n,r,o,s){return N(),Y("div",{class:qe(["vp-theme-container",r.containerClass]),"vp-container":"",onTouchstart:r.onTouchStart,onTouchend:r.onTouchEnd},[Ee(e.$slots,"navbar",{},()=>[r.shouldShowNavbar?(N(),Ae(r.VPNavbar,{key:0,onToggleSidebar:r.toggleSidebar},{before:Te(()=>[Ee(e.$slots,"navbar-before")]),after:Te(()=>[Ee(e.$slots,"navbar-after")]),_:3})):Re("",!0)]),W("div",{class:"vp-sidebar-mask",onClick:t[0]||(t[0]=i=>r.toggleSidebar(!1))}),Ee(e.$slots,"sidebar",{},()=>[te(r.VPSidebar,null,{top:Te(()=>[Ee(e.$slots,"sidebar-top")]),bottom:Te(()=>[Ee(e.$slots,"sidebar-bottom")]),_:3})]),Ee(e.$slots,"page",{},()=>[r.frontmatter.home?(N(),Ae(r.VPHome,{key:0})):(N(),Ae(fs,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:r.onBeforeEnter,onBeforeLeave:r.onBeforeLeave},{default:Te(()=>[(N(),Ae(r.VPPage,{key:r.page.path},{top:Te(()=>[Ee(e.$slots,"page-top")]),"content-top":Te(()=>[Ee(e.$slots,"page-content-top")]),"content-bottom":Te(()=>[Ee(e.$slots,"page-content-bottom")]),bottom:Te(()=>[Ee(e.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34)}const Ra=we(Am,[["render",Lm],["__file","Layout.vue"]]),Tm=fe({__name:"NotFound",setup(e,{expose:t}){t();const n=mr(),r=$e(),o=r.value.notFound??["Not Found"],s=()=>o[Math.floor(Math.random()*o.length)],i=r.value.home??n.value,l=r.value.backToHome??"Back to home",a={routeLocale:n,themeLocale:r,messages:o,getMsg:s,homeLink:i,homeText:l,get RouteLink(){return ro}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),Rm={class:"vp-theme-container","vp-container":""},Dm={class:"page"},Om={class:"theme-default-content","vp-content":""};function Mm(e,t,n,r,o,s){return N(),Y("div",Rm,[W("main",Dm,[W("div",Om,[t[0]||(t[0]=W("h1",null,"404",-1)),W("blockquote",null,ae(r.getMsg()),1),te(r.RouteLink,{to:r.homeLink},{default:Te(()=>[Wt(ae(r.homeText),1)]),_:1},8,["to"])])])])}const Im=we(Tm,[["render",Mm],["__scopeId","data-v-4d935c3c"],["__file","NotFound.vue"]]),$m=Jt({enhance({app:e,router:t}){ko("Badge")||e.component("Badge",mh),ko("CodeGroup")||e.component("CodeGroup",vh),ko("CodeGroupItem")||e.component("CodeGroupItem",yh),e.component("VPSearch",()=>{const r=e.component("Docsearch")??e.component("SearchBox");return r?Ce(r):null});const n=t.options.scrollBehavior;t.options.scrollBehavior=async(...r)=>(await ya().wait(),n(...r))},setup(){nh(),ph()},layouts:{Layout:Ra,NotFound:Im}}),Nm=Object.freeze(Object.defineProperty({__proto__:null,default:$m},Symbol.toStringTag,{value:"Module"}));function Hm(e){return Yo()?(Gi(e),!0):!1}function Cs(e){return typeof e=="function"?e():Ft(e)}const Vm=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const jm=Object.prototype.toString,Fm=e=>jm.call(e)==="[object Object]",Bm=()=>{};function Wm(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const Da=e=>e();function Um(e=Da){const t=ie(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:cr(t),pause:n,resume:r,eventFilter:o}}function Gm(e){return pr()}function Km(e,t,n={}){const{eventFilter:r=Da,...o}=n;return De(e,Wm(r,t),o)}function qm(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:l,isActive:a}=Um(r);return{stop:Km(e,t,{...o,eventFilter:s}),pause:i,resume:l,isActive:a}}function zm(e,t=!0,n){Gm()?We(e,n):t?e():zt(e)}function Jm(e){var t;const n=Cs(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Ur=Vm?window:void 0;function Ii(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=Ur):[t,n,r,o]=e,!t)return Bm;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(f=>f()),s.length=0},l=(f,c,h,p)=>(f.addEventListener(c,h,p),()=>f.removeEventListener(c,h,p)),a=De(()=>[Jm(t),Cs(o)],([f,c])=>{if(i(),!f)return;const h=Fm(c)?{...c}:c;s.push(...n.flatMap(p=>r.map(v=>l(f,p,v,h))))},{immediate:!0,flush:"post"}),u=()=>{a(),i()};return Hm(u),u}const Er=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Ar="__vueuse_ssr_handlers__",Ym=Qm();function Qm(){return Ar in Er||(Er[Ar]=Er[Ar]||{}),Er[Ar]}function Xm(e,t){return Ym[e]||t}function Zm(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 ev={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()}},$i="vueuse-storage";function tv(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:u=!1,shallow:f,window:c=Ur,eventFilter:h,onError:p=S=>{console.error(S)},initOnMounted:v}=r,_=(f?At:ie)(typeof t=="function"?t():t);if(!n)try{n=Xm("getDefaultStorage",()=>{var S;return(S=Ur)==null?void 0:S.localStorage})()}catch(S){p(S)}if(!n)return _;const P=Cs(t),k=Zm(P),w=(o=r.serializer)!=null?o:ev[k],{pause:m,resume:y}=qm(_,()=>U(_.value),{flush:s,deep:i,eventFilter:h});c&&l&&zm(()=>{Ii(c,"storage",Q),Ii(c,$i,j),v&&Q()}),v||Q();function O(S,$){c&&c.dispatchEvent(new CustomEvent($i,{detail:{key:e,oldValue:S,newValue:$,storageArea:n}}))}function U(S){try{const $=n.getItem(e);if(S==null)O($,null),n.removeItem(e);else{const E=w.write(S);$!==E&&(n.setItem(e,E),O($,E))}}catch($){p($)}}function G(S){const $=S?S.newValue:n.getItem(e);if($==null)return a&&P!=null&&n.setItem(e,w.write(P)),P;if(!S&&u){const E=w.read($);return typeof u=="function"?u(E,P):k==="object"&&!Array.isArray(E)?{...P,...E}:E}else return typeof $!="string"?$:w.read($)}function Q(S){if(!(S&&S.storageArea!==n)){if(S&&S.key==null){_.value=P;return}if(!(S&&S.key!==e)){m();try{(S==null?void 0:S.newValue)!==w.write(_.value)&&(_.value=G(S))}catch($){p($)}finally{S?zt(y):y()}}}}function j(S){Q(S.detail)}return _}function nv(e,t,n={}){const{window:r=Ur}=n;return tv(e,t,r==null?void 0:r.sessionStorage,n)}const rv=Object.entries;var ov={autoLocale:!1,switchLocale:!1,localeConfig:{"/eng/":["en-US"]},defaultLocale:"/eng/",localeFallback:!0,defaultBehavior:"defaultLocale"};const sv=ov;rv(sv.localeConfig);nv("VUEPRESS_REDIRECT_LOCALES",{});const iv=Jt({setup(){},rootComponents:[]}),lv=Object.freeze(Object.defineProperty({__proto__:null,default:iv},Symbol.toStringTag,{value:"Module"}));var se=(e=>(e.Collaborator="collaborator",e.Author="author",e.TechLead="tech lead",e.TeamLead="team lead",e.Developer="developer",e))(se||{}),ue=(e=>(e.ActiveDeveloped="actively-developed",e.PassivelyMaintained="passively-maintained",e.AsIs="as-is",e.Experimental="experimental",e.LookingForMaintainer="looking-for-maintainer",e.Deprecated="deprecated",e))(ue||{}),D=(e=>(e.C="C",e.Go="Go",e.JavaScript="JS",e.TypeScript="TS",e.Rust="Rust",e.Python="Python",e.Php="PHP",e.Deno="Deno",e.NodeJS="NodeJS",e.Flask="Flask",e.React="React",e.Antd="Antd",e.Postgresql="PostgreSQL",e.Docker="Docker",e.Drone="Drone CI",e.Woodpecker="Woodpecker CI",e.Bash="Bash",e.TreeSitter="TreeSitter",e.Nix="Nix",e.Lua="Lua",e.Sqlite="Sqlite",e.Vue="Vue",e.Vuepress="Vuepress",e.Godot="Godot",e.Haskell="Haskell",e))(D||{});const av=[{name:"nixeovim",url:"/pleshevskiy/nixeovim",description:"Configure and build neovim editor using nix",roles:[se.Author],technologies:[D.Nix],startDate:new Date("2024-04-24"),status:ue.ActiveDeveloped},{name:"picsg",url:"/pleshevskiy/picsg",description:"A tool for steganographing information in a picture encoded using the Vernam cipher.",roles:[se.Author],technologies:[D.Haskell],startDate:new Date("2024-04-13"),endDate:new Date("2024-07-25"),status:ue.AsIs},{name:"Mindustry tools",url:"/pleshevskiy/mindustry-tools",description:"Tools for the Mindustry game",roles:[se.Author],technologies:[D.Nix,D.Godot],startDate:new Date("2024-01-07"),status:ue.PassivelyMaintained},{name:"Master Progress Rosmintrud tools",url:"https://rosmintrud.masterprogress.ru",description:"Internal service to prepare documents for the rosmintrud (SPA)",roles:[se.TechLead],technologies:[D.Deno,D.Sqlite,D.TypeScript,D.Vue,D.Docker,D.Woodpecker,D.Nix],startDate:new Date("2023-07-03"),status:ue.PassivelyMaintained},{name:"yandexgpt_tg_bot",url:"/pleshevskiy/yandexgpt_tg_bot",description:"The Telegram bot to describe article with link by YandexGPT.",roles:[se.Author],technologies:[D.JavaScript,D.NodeJS,D.Nix],startDate:new Date("2023-06-27"),endDate:new Date("2024-07-25"),status:ue.AsIs},{name:"tree-sitter-plpgsql",url:"/pleshevskiy/tree-sitter-plpgsql",description:"plpgsql grammar for tree-sitter",roles:[se.Author],technologies:[D.C,D.JavaScript,D.TreeSitter,D.Nix],startDate:new Date("2023-01-05"),status:ue.PassivelyMaintained},{name:"wd2",url:"/pleshevskiy/wd2",description:"A wrapper over d2 which allows to use additional configs from d2 file",roles:[se.Author],technologies:[D.Bash,D.Nix],startDate:new Date("2022-12-12"),endDate:new Date("2023-07-31"),status:ue.AsIs},{name:"tree-sitter-d2",url:"/pleshevskiy/tree-sitter-d2",description:"d2 grammar for tree-sitter",roles:[se.Author],technologies:[D.C,D.JavaScript,D.TreeSitter,D.Nix],startDate:new Date("2022-12-04"),status:ue.ActiveDeveloped},{name:"nix2lua",url:"/mynix/nix2lua",description:"This is a small but functional library that converts your nix configurations into lua format.",roles:[se.Author],technologies:[D.Nix,D.Lua],startDate:new Date("2022-11-22"),status:ue.PassivelyMaintained},{name:"vnetod",url:"/pleshevskiy/vnetod",description:"Dotenv section switcher",roles:[se.Author],technologies:[D.Rust],startDate:new Date("2022-07-29"),status:ue.PassivelyMaintained},{name:"estring",url:"/pleshevskiy/estring",description:"A simple way to parse a string using type annotations.",roles:[se.Author],technologies:[D.Rust],startDate:new Date("2022-07-23"),endDate:new Date("2024-07-25"),status:ue.AsIs},{name:"enve",url:"/pleshevskiy/enve",description:"It helps you work with environment variables and convert it to any type using only type annotations",roles:[se.Author],technologies:[D.Rust],startDate:new Date("2022-07-18"),endDate:new Date("2024-07-25"),status:ue.AsIs},{name:"docker stack drone plugin",url:"/pleshevskiy/docker_stack",description:"Deploy to production using `docker stack deploy`",roles:[se.Author],technologies:[D.Docker,D.Drone,D.Woodpecker],startDate:new Date("2022-06-06"),endDate:new Date("2024-07-25"),status:ue.AsIs},{name:"dexios",url:"/github/dexios",description:"Dexios is a fast, secure, and open source command-line encryption tool.",roles:[se.Collaborator],technologies:[D.Rust],startDate:new Date("2022-06-01"),endDate:new Date("2023-02-28")},{name:"recipes",url:"/pleshevskiy/recipes",description:"Site with recipes which cares about privacy",roles:[se.Author],technologies:[D.TypeScript,D.Deno,D.Rust],startDate:new Date("2022-05-04"),status:ue.PassivelyMaintained},{name:"pleshevski.ru",url:"/pleshevskiy/pleshevski.ru",description:"Source code of my personal site",roles:[se.Author],technologies:[D.TypeScript,D.Vue,D.Vuepress,D.Nix],startDate:new Date("2022-03-16"),status:ue.PassivelyMaintained},{name:"paren",url:"/pleshevskiy/paren",description:"Library for parsing and rendering information.",roles:[se.Author],technologies:[D.TypeScript,D.Deno],startDate:new Date("2022-03-14"),endDate:new Date("2024-07-25"),status:ue.Experimental},{name:"hwt",url:"/pleshevskiy/hwt",description:"healthy workaholic timer – A tool that keeps you from breaking your health by working all day.",roles:[se.Author],technologies:[D.Rust],startDate:new Date("2022-02-04"),endDate:new Date("2024-07-25"),status:ue.AsIs},{name:"ood_persistence",url:"/pleshevskiy/ood_persistence",description:"Asynchronous and synchronous interfaces and persistence implementations for your OOD architecture ",roles:[se.Author],technologies:[D.Rust],startDate:new Date("2021-10-12"),endDate:new Date("2021-10-21"),status:ue.Deprecated},{name:"migra",url:"/pleshevskiy/migra",description:"Simple SQL migration manager for your project.",roles:[se.Author],technologies:[D.Rust],startDate:new Date("2021-01-31"),endDate:new Date("2022-03-17"),status:ue.AsIs},{name:"espruino-starter",url:"/pleshevskiy/espruino-starter",description:"Quickly start creating your new project on the espruino board or a board based on it.",roles:[se.Author],technologies:[D.JavaScript],startDate:new Date("2021-08-23"),status:ue.AsIs},{name:"react-rest-request",url:"/pleshevskiy/react-rest-request",description:"Minimalistic REST API client for React inspired by Apollo.",roles:[se.Author],technologies:[D.TypeScript,D.React],startDate:new Date("2020-10-04"),endDate:new Date("2023-03-02"),status:ue.Deprecated},{name:"sonic-channel",url:"/pleshevskiy/sonic-channel",description:"Rust client for sonic search backend.",roles:[se.Author],technologies:[D.Rust],startDate:new Date("2020-07-18"),status:ue.PassivelyMaintained},{name:"itconfig",url:"/pleshevskiy/itconfig",description:"Easy build a configs from environment variables and use it in globally.",roles:[se.Author],technologies:[D.Rust],startDate:new Date("2019-12-22"),endDate:new Date("2022-07-24"),status:ue.Deprecated},{name:"it-fsm",url:"/pleshevskiy/it-fsm",description:"Simple full-featured finite state machine for your project",roles:[se.Author],technologies:[D.TypeScript,D.NodeJS,D.Deno],startDate:new Date("2019-10-11"),status:ue.PassivelyMaintained},{name:"Cabinet Master Progress",url:"https://cabinet.masterprogress.ru",description:"Student's cabinet of the educational center Master Progress (SSR + SPA)",roles:[se.TechLead],technologies:[D.Python,D.Flask,D.Postgresql,D.TypeScript,D.React,D.Docker,D.Woodpecker,D.Nix],startDate:new Date("2019-09-22"),status:ue.PassivelyMaintained},{name:"genrss",url:"/pleshevskiy/genrss",description:"RSS generator for python",roles:[se.Author],technologies:[D.Python],startDate:new Date("2019-07-23"),status:ue.AsIs},{name:"marshmallow_pageinfo",url:"/pleshevskiy/marshmallow_pageinfo",description:"Page info marshmallow schema for api",roles:[se.Author],technologies:[D.Python],startDate:new Date("2019-10-05"),endDate:new Date("2023-03-02"),status:ue.AsIs},{name:"Binary Management",url:"https://www.binarymanagement.com",description:"Project management tool for interior designers",roles:[se.Developer,se.TechLead,se.TeamLead],technologies:[D.TypeScript,D.NodeJS,D.React,D.Antd,D.Docker,D.Drone,D.Rust,D.Nix],startDate:new Date("2018-09-15"),status:ue.ActiveDeveloped},{name:"Core Spirit",url:"https://corespirit.com",description:"Social platform focusing on human and planetary enhancement",roles:[se.Developer],technologies:[D.TypeScript,D.NodeJS,D.Go,D.Python,D.React,D.Docker,D.Drone],startDate:new Date("2018-09-05"),endDate:new Date("2019-12-31")},{name:"Master Progress",url:"https://masterprogress.ru",description:"Main website of the educational center Master Progress (SSR + Forms)",roles:[se.TechLead],technologies:[D.Python,D.Flask,D.JavaScript,D.Nix],startDate:new Date("2018-04-10"),status:ue.PassivelyMaintained},{name:"ictmpl",url:"/pleshevskiy/ictmpl",description:"Generate projects from templates",roles:[se.Author],technologies:[D.Python],startDate:new Date("2018-06-30"),endDate:new Date("2023-03-02"),status:ue.AsIs},{name:"jjcrypto",url:"/pleshevskiy/jjcrypto",description:"Javascript encoder and decoder",roles:[se.Author],technologies:[D.Php],startDate:new Date("2015-11-01"),endDate:new Date("2015-11-01"),status:ue.AsIs}];function cv(e){return e.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})}const uv=e=>e.url.startsWith("https://")?e.url:new URL(e.url,"https://git.pleshevski.ru").toString(),fv=Object.freeze(Object.defineProperty({__proto__:null,getExternalLink:uv},Symbol.toStringTag,{value:"Module"}));function Hn(e){return(e==null?void 0:e.valueOf())??1/0}const dv={name:"WorksPage",computed:{tableTheme(){return this.$themeLocale.worksTable??{}}}},pv=fe({...dv,setup(e,{expose:t}){t();const n=R(()=>av.concat().sort((o,s)=>Hn(s.endDate)-Hn(o.endDate)||Hn(s.startDate)-Hn(o.startDate))),r={date2num:Hn,works:n,get renderDate(){return cv},get w(){return fv}};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),hv=["href"],gv=["innerHTML"],mv={key:0};function vv(e,t,n,r,o,s){return N(),Y("table",null,[W("thead",null,[W("tr",null,[W("th",null,ae(s.tableTheme.name),1),W("th",null,ae(s.tableTheme.description),1),W("th",null,ae(s.tableTheme.role),1),W("th",null,ae(s.tableTheme.technologies),1),W("th",null,ae(s.tableTheme.status),1),W("th",null,ae(s.tableTheme.dates),1)])]),W("tbody",null,[(N(!0),Y(me,null,Lt(r.works,i=>(N(),Y("tr",null,[W("td",null,[W("a",{rel:"nofollow noopener",href:r.w.getExternalLink(i)},ae(i.name),9,hv)]),W("td",null,ae(i.description),1),W("td",{innerHTML:i.roles.join(", ")},null,8,gv),W("td",null,ae(i.technologies.join(", ")),1),W("td",null,ae(i.status),1),W("td",null,[W("div",null,[W("small",{class:qe({grey:i.endDate})},ae(r.renderDate(i.startDate)),3)]),i.endDate?(N(),Y("div",mv,[W("small",null,ae(r.renderDate(i.endDate)),1)])):Re("",!0)])]))),256))])])}const _v=we(pv,[["render",vv],["__file","ChronologicalWorksTable.vue"]]),bv={__name:"WorksPage",setup(e,{expose:t}){t();const n={ParentLayout:Ra,get ChronologicalWorksTable(){return _v}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}},yv={class:"works-table-wrapper"};function Sv(e,t,n,r,o,s){return N(),Ae(r.ParentLayout,null,{"page-bottom":Te(()=>[W("div",yv,[te(r.ChronologicalWorksTable)])]),_:1})}const wv=we(bv,[["render",Sv],["__scopeId","data-v-765855fb"],["__file","WorksPage.vue"]]),xv=Jt({layouts:{WorksPage:wv}}),Pv=Object.freeze(Object.defineProperty({__proto__:null,default:xv},Symbol.toStringTag,{value:"Module"})),Lr=[Sp,Dp,Vp,jp,Kp,qp,Zp,Nm,lv,Pv].map(e=>e.default).filter(Boolean),Cv=JSON.parse('{"base":"/","lang":"ru-RU","title":"Дмитрий Плешевский","description":" ","head":[],"locales":{"/":{"lang":"ru-RU","title":"Дмитрий Плешевский"},"/eng/":{"lang":"en-US","title":"Dmitriy Pleshevskiy"}}}');var jn=At(Cv),kv=ad,Ev=()=>{const e=Md({history:kv(Jl("/")),routes:[{name:"vuepress-route",path:"/:catchAll(.*)",components:{}}],scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{if(t.path!==n.path||n===Pt){const r=rr(t.fullPath);if(r.path!==t.fullPath)return r.path;const o=await r.loader();t.meta={...r.meta,_pageChunk:o}}else t.path===n.path&&(t.meta=n.meta)}),e},Av=e=>{e.component("ClientOnly",vs),e.component("Content",_s),e.component("RouteLink",ro)},Lv=(e,t,n)=>{const r=R(()=>t.currentRoute.value.path),o=mc((P,k)=>({get(){return P(),t.currentRoute.value.meta._pageChunk},set(w){t.currentRoute.value.meta._pageChunk=w,k()}})),s=R(()=>Zt.resolveLayouts(n)),i=R(()=>Zt.resolveRouteLocale(jn.value.locales,r.value)),l=R(()=>Zt.resolveSiteLocaleData(jn.value,i.value)),a=R(()=>o.value.comp),u=R(()=>o.value.data),f=R(()=>u.value.frontmatter),c=R(()=>Zt.resolvePageHeadTitle(u.value,l.value)),h=R(()=>Zt.resolvePageHead(c.value,f.value,l.value)),p=R(()=>Zt.resolvePageLang(u.value,l.value)),v=R(()=>Zt.resolvePageLayout(u.value,s.value)),_={layouts:s,pageData:u,pageComponent:a,pageFrontmatter:f,pageHead:h,pageHeadTitle:c,pageLang:p,pageLayout:v,redirects:Wo,routeLocale:i,routePath:r,routes:xn,siteData:jn,siteLocaleData:l};return e.provide(gs,_),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>h.value},$headTitle:{get:()=>c.value},$lang:{get:()=>p.value},$page:{get:()=>u.value},$routeLocale:{get:()=>i.value},$site:{get:()=>jn.value},$siteLocale:{get:()=>l.value},$withBase:{get:()=>bs}}),_},Tv=()=>{const e=Nd(),t=Hd();let n=[];const r=()=>{e.value.forEach(i=>{const l=Rv(i);l&&n.push(l)})},o=()=>{const i=[];return e.value.forEach(l=>{const a=Dv(l);a&&i.push(a)}),i},s=()=>{document.documentElement.lang=t.value;const i=o();n.forEach((l,a)=>{const u=i.findIndex(f=>l.isEqualNode(f));u===-1?(l.remove(),delete n[a]):i.splice(u,1)}),i.forEach(l=>document.head.appendChild(l)),n=[...n.filter(l=>!!l),...i]};ln(Fd,s),We(()=>{r(),De(e,s,{immediate:!1})})},Rv=([e,t,n=""])=>{const r=Object.entries(t).map(([l,a])=>ct(a)?`[${l}=${JSON.stringify(a)}]`:a===!0?`[${l}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(l=>l.innerText===n)||null},Dv=([e,t,n])=>{if(!ct(e))return null;const r=document.createElement(e);return ds(t)&&Object.entries(t).forEach(([o,s])=>{ct(s)?r.setAttribute(o,s):s===!0&&r.setAttribute(o,"")}),ct(n)&&r.appendChild(document.createTextNode(n)),r},Ov=hf,Mv=async()=>{var n;const e=Ov({name:"Vuepress",setup(){var s;Tv();for(const i of Lr)(s=i.setup)==null||s.call(i);const r=Lr.flatMap(({rootComponents:i=[]})=>i.map(l=>Ce(l))),o=Vd();return()=>[Ce(o.value),r]}}),t=Ev();Av(e),Lv(e,t,Lr);for(const r of Lr)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:jn}));return e.use(t),{app:e,router:t}};Mv().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{we as _,W as a,Wt as b,Y as c,Mv as createVueApp,te as d,ku as e,N as o,is as r,Te as w}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = [] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} diff --git a/dist/assets/app-YqJ2N5FF.js b/dist/assets/app-YqJ2N5FF.js deleted file mode 100644 index 31730f9..0000000 --- a/dist/assets/app-YqJ2N5FF.js +++ /dev/null @@ -1,30 +0,0 @@ -/** -* @vue/shared v3.4.38 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function No(e,t){const n=new Set(e.split(","));return r=>n.has(r)}const Ce={},fn=[],nt=()=>{},Sa=()=>!1,Qn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ho=e=>e.startsWith("onUpdate:"),Ne=Object.assign,Vo=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ca=Object.prototype.hasOwnProperty,ce=(e,t)=>Ca.call(e,t),Z=Array.isArray,dn=e=>jr(e)==="[object Map]",Ri=e=>jr(e)==="[object Set]",ne=e=>typeof e=="function",Re=e=>typeof e=="string",jt=e=>typeof e=="symbol",be=e=>e!==null&&typeof e=="object",Oi=e=>(be(e)||ne(e))&&ne(e.then)&&ne(e.catch),Di=Object.prototype.toString,jr=e=>Di.call(e),Pa=e=>jr(e).slice(8,-1),Ii=e=>jr(e)==="[object Object]",jo=e=>Re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,hn=No(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Fr=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ea=/-(\w)/g,Ye=Fr(e=>e.replace(Ea,(t,n)=>n?n.toUpperCase():"")),ka=/\B([A-Z])/g,Ft=Fr(e=>e.replace(ka,"-$1").toLowerCase()),Yn=Fr(e=>e.charAt(0).toUpperCase()+e.slice(1)),no=Fr(e=>e?`on${Yn(e)}`:""),$t=(e,t)=>!Object.is(e,t),ro=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},xa=e=>{const t=parseFloat(e);return isNaN(t)?e:t},La=e=>{const t=Re(e)?Number(e):NaN;return isNaN(t)?e:t};let ys;const $i=()=>ys||(ys=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Xn(e){if(Z(e)){const t={};for(let n=0;n{if(n){const r=n.split(Ta);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function We(e){let t="";if(Re(e))t=e;else if(Z(e))for(let n=0;n!!(e&&e.__v_isRef===!0),ae=e=>Re(e)?e:e==null?"":Z(e)||be(e)&&(e.toString===Di||!ne(e.toString))?Hi(e)?ae(e.value):JSON.stringify(e,Vi,2):String(e),Vi=(e,t)=>Hi(t)?Vi(e,t.value):dn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[oo(r,s)+" =>"]=o,n),{})}:Ri(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>oo(n))}:jt(t)?oo(t):be(t)&&!Z(t)&&!Ii(t)?String(t):t,oo=(e,t="")=>{var n;return jt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.4.38 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Je;class Ma{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Je,!t&&Je&&(this.index=(Je.scopes||(Je.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Je;try{return Je=this,t()}finally{Je=n}}}on(){Je=this}off(){Je=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Wt()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Dt,n=Zt;try{return Dt=!0,Zt=this,this._runnings++,ws(this),this.fn()}finally{Ss(this),this._runnings--,Zt=n,Dt=t}}stop(){this.active&&(ws(this),Ss(this),this.onStop&&this.onStop(),this.active=!1)}}function Na(e){return e.value}function ws(e){e._trackId++,e._depsLength=0}function Ss(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},Lr=new WeakMap,en=Symbol(""),Co=Symbol("");function qe(e,t,n){if(Dt&&Zt){let r=Lr.get(e);r||Lr.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=Gi(()=>r.delete(n))),Wi(Zt,o)}}function bt(e,t,n,r,o,s){const i=Lr.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&Z(e)){const a=Number(r);i.forEach((u,f)=>{(f==="length"||!jt(f)&&f>=a)&&l.push(u)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":Z(e)?jo(n)&&l.push(i.get("length")):(l.push(i.get(en)),dn(e)&&l.push(i.get(Co)));break;case"delete":Z(e)||(l.push(i.get(en)),dn(e)&&l.push(i.get(Co)));break;case"set":dn(e)&&l.push(i.get(en));break}Wo();for(const a of l)a&&Ui(a,4);Uo()}function Ha(e,t){const n=Lr.get(e);return n&&n.get(t)}const Va=No("__proto__,__v_isRef,__isVue"),Ki=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(jt)),Cs=ja();function ja(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=ue(this);for(let s=0,i=this.length;s{e[t]=function(...n){Bt(),Wo();const r=ue(this)[t].apply(this,n);return Uo(),Wt(),r}}),e}function Fa(e){jt(e)||(e=String(e));const t=ue(this);return qe(t,"has",e),t.hasOwnProperty(e)}class qi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const o=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw")return r===(o?s?ec:Yi:s?Qi:Ji).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=Z(t);if(!o){if(i&&ce(Cs,n))return Reflect.get(Cs,n,r);if(n==="hasOwnProperty")return Fa}const l=Reflect.get(t,n,r);return(jt(n)?Ki.has(n):Va(n))||(o||qe(t,"get",n),s)?l:He(l)?i&&jo(n)?l:l.value:be(l)?o?er(l):Zn(l):l}}class zi extends qi{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(!this._isShallow){const a=rn(s);if(!yn(r)&&!rn(r)&&(s=ue(s),r=ue(r)),!Z(t)&&He(s)&&!He(r))return a?!1:(s.value=r,!0)}const i=Z(t)&&jo(n)?Number(n)e,Br=e=>Reflect.getPrototypeOf(e);function ur(e,t,n=!1,r=!1){e=e.__v_raw;const o=ue(e),s=ue(t);n||($t(t,s)&&qe(o,"get",t),qe(o,"get",s));const{has:i}=Br(o),l=r?Go:n?zo:Fn;if(i.call(o,t))return l(e.get(t));if(i.call(o,s))return l(e.get(s));e!==o&&e.get(t)}function fr(e,t=!1){const n=this.__v_raw,r=ue(n),o=ue(e);return t||($t(e,o)&&qe(r,"has",e),qe(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function dr(e,t=!1){return e=e.__v_raw,!t&&qe(ue(e),"iterate",en),Reflect.get(e,"size",e)}function Ps(e,t=!1){!t&&!yn(e)&&!rn(e)&&(e=ue(e));const n=ue(this);return Br(n).has.call(n,e)||(n.add(e),bt(n,"add",e,e)),this}function Es(e,t,n=!1){!n&&!yn(t)&&!rn(t)&&(t=ue(t));const r=ue(this),{has:o,get:s}=Br(r);let i=o.call(r,e);i||(e=ue(e),i=o.call(r,e));const l=s.call(r,e);return r.set(e,t),i?$t(t,l)&&bt(r,"set",e,t):bt(r,"add",e,t),this}function ks(e){const t=ue(this),{has:n,get:r}=Br(t);let o=n.call(t,e);o||(e=ue(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&&bt(t,"delete",e,void 0),s}function xs(){const e=ue(this),t=e.size!==0,n=e.clear();return t&&bt(e,"clear",void 0,void 0),n}function hr(e,t){return function(r,o){const s=this,i=s.__v_raw,l=ue(i),a=t?Go:e?zo:Fn;return!e&&qe(l,"iterate",en),i.forEach((u,f)=>r.call(o,a(u),a(f),s))}}function pr(e,t,n){return function(...r){const o=this.__v_raw,s=ue(o),i=dn(s),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,u=o[e](...r),f=n?Go:t?zo:Fn;return!t&&qe(s,"iterate",a?Co:en),{next(){const{value:c,done:p}=u.next();return p?{value:c,done:p}:{value:l?[f(c[0]),f(c[1])]:f(c),done:p}},[Symbol.iterator](){return this}}}}function Et(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ka(){const e={get(s){return ur(this,s)},get size(){return dr(this)},has:fr,add:Ps,set:Es,delete:ks,clear:xs,forEach:hr(!1,!1)},t={get(s){return ur(this,s,!1,!0)},get size(){return dr(this)},has:fr,add(s){return Ps.call(this,s,!0)},set(s,i){return Es.call(this,s,i,!0)},delete:ks,clear:xs,forEach:hr(!1,!0)},n={get(s){return ur(this,s,!0)},get size(){return dr(this,!0)},has(s){return fr.call(this,s,!0)},add:Et("add"),set:Et("set"),delete:Et("delete"),clear:Et("clear"),forEach:hr(!0,!1)},r={get(s){return ur(this,s,!0,!0)},get size(){return dr(this,!0)},has(s){return fr.call(this,s,!0)},add:Et("add"),set:Et("set"),delete:Et("delete"),clear:Et("clear"),forEach:hr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=pr(s,!1,!1),n[s]=pr(s,!0,!1),t[s]=pr(s,!1,!0),r[s]=pr(s,!0,!0)}),[e,n,t,r]}const[qa,za,Ja,Qa]=Ka();function Ko(e,t){const n=t?e?Qa:Ja:e?za:qa;return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(ce(n,o)&&o in r?n:r,o,s)}const Ya={get:Ko(!1,!1)},Xa={get:Ko(!1,!0)},Za={get:Ko(!0,!1)};const Ji=new WeakMap,Qi=new WeakMap,Yi=new WeakMap,ec=new WeakMap;function tc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function nc(e){return e.__v_skip||!Object.isExtensible(e)?0:tc(Pa(e))}function Zn(e){return rn(e)?e:qo(e,!1,Wa,Ya,Ji)}function Xi(e){return qo(e,!1,Ga,Xa,Qi)}function er(e){return qo(e,!0,Ua,Za,Yi)}function qo(e,t,n,r,o){if(!be(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const i=nc(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return o.set(e,l),l}function pn(e){return rn(e)?pn(e.__v_raw):!!(e&&e.__v_isReactive)}function rn(e){return!!(e&&e.__v_isReadonly)}function yn(e){return!!(e&&e.__v_isShallow)}function Zi(e){return e?!!e.__v_raw:!1}function ue(e){const t=e&&e.__v_raw;return t?ue(t):e}function rc(e){return Object.isExtensible(e)&&Mi(e,"__v_skip",!0),e}const Fn=e=>be(e)?Zn(e):e,zo=e=>be(e)?er(e):e;class el{constructor(t,n,r,o){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Bo(()=>t(this._value),()=>Mn(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=ue(this);return(!t._cacheable||t.effect.dirty)&&$t(t._value,t._value=t.effect.run())&&Mn(t,4),Jo(t),t.effect._dirtyLevel>=2&&Mn(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function oc(e,t,n=!1){let r,o;const s=ne(e);return s?(r=e,o=nt):(r=e.get,o=e.set),new el(r,o,s||!o,n)}function Jo(e){var t;Dt&&Zt&&(e=ue(e),Wi(Zt,(t=e.dep)!=null?t:e.dep=Gi(()=>e.dep=void 0,e instanceof el?e:void 0)))}function Mn(e,t=4,n,r){e=ue(e);const o=e.dep;o&&Ui(o,t)}function He(e){return!!(e&&e.__v_isRef===!0)}function le(e){return tl(e,!1)}function yt(e){return tl(e,!0)}function tl(e,t){return He(e)?e:new sc(e,t)}class sc{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:ue(t),this._value=n?t:Fn(t)}get value(){return Jo(this),this._value}set value(t){const n=this.__v_isShallow||yn(t)||rn(t);t=n?t:ue(t),$t(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:Fn(t),Mn(this,4))}}function It(e){return He(e)?e.value:e}const ic={get:(e,t,n)=>It(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return He(o)&&!He(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function nl(e){return pn(e)?e:new Proxy(e,ic)}class lc{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Jo(this),()=>Mn(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function ac(e){return new lc(e)}function rl(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=ol(e,n);return t}class cc{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,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 Ha(ue(this._object),this._key)}}class uc{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function fc(e,t,n){return He(e)?e:ne(e)?new uc(e):be(e)&&arguments.length>1?ol(e,t,n):le(e)}function ol(e,t,n){const r=e[t];return He(r)?r:new cc(e,t,n)}/** -* @vue/runtime-core v3.4.38 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Mt(e,t,n,r){try{return r?e(...r):e()}catch(o){tr(o,t,n)}}function rt(e,t,n,r){if(ne(e)){const o=Mt(e,t,n,r);return o&&Oi(o)&&o.catch(s=>{tr(s,t,n)}),o}if(Z(e)){const o=[];for(let s=0;s>>1,o=Ve[r],s=Wn(o);sht&&Ve.splice(t,1)}function gc(e){Z(e)?gn.push(...e):(!Lt||!Lt.includes(e,e.allowRecurse?Qt+1:Qt))&&gn.push(e),il()}function Ls(e,t,n=Bn?ht+1:0){for(;nWn(n)-Wn(r));if(gn.length=0,Lt){Lt.push(...t);return}for(Lt=t,Qt=0;Qte.id==null?1/0:e.id,mc=(e,t)=>{const n=Wn(e)-Wn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function ll(e){Po=!1,Bn=!0,Ve.sort(mc);try{for(ht=0;ht{r._d&&Vs(-1);const s=Tr(t);let i;try{i=e(...o)}finally{Tr(s),r._d&&Vs(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Rr(e,t){if($e===null)return e;const n=zr($e),r=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),Yo(()=>{e.isUnmounting=!0}),e}const Ze=[Function,Array],al={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ze,onEnter:Ze,onAfterEnter:Ze,onEnterCancelled:Ze,onBeforeLeave:Ze,onLeave:Ze,onAfterLeave:Ze,onLeaveCancelled:Ze,onBeforeAppear:Ze,onAppear:Ze,onAfterAppear:Ze,onAppearCancelled:Ze},cl=e=>{const t=e.subTree;return t.component?cl(t.component):t},yc={name:"BaseTransition",props:al,setup(e,{slots:t}){const n=rr(),r=bc();return()=>{const o=t.default&&fl(t.default(),!0);if(!o||!o.length)return;let s=o[0];if(o.length>1){for(const p of o)if(p.type!==Be){s=p;break}}const i=ue(e),{mode:l}=i;if(r.isLeaving)return so(s);const a=As(s);if(!a)return so(s);let u=Eo(a,i,r,n,p=>u=p);Or(a,u);const f=n.subTree,c=f&&As(f);if(c&&c.type!==Be&&!Yt(a,c)&&cl(n).type!==Be){const p=Eo(c,i,r,n);if(Or(c,p),l==="out-in"&&a.type!==Be)return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},so(s);l==="in-out"&&a.type!==Be&&(p.delayLeave=(g,_,y)=>{const P=ul(r,c);P[String(c.key)]=c,g[At]=()=>{_(),g[At]=void 0,delete u.delayedLeave},u.delayedLeave=y})}return s}}},wc=yc;function ul(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Eo(e,t,n,r,o){const{appear:s,mode:i,persisted:l=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:f,onEnterCancelled:c,onBeforeLeave:p,onLeave:g,onAfterLeave:_,onLeaveCancelled:y,onBeforeAppear:P,onAppear:A,onAfterAppear:b,onAppearCancelled:m}=t,S=String(e.key),V=ul(n,e),O=(F,w)=>{F&&rt(F,r,9,w)},G=(F,w)=>{const $=w[1];O(F,w),Z(F)?F.every(x=>x.length<=1)&&$():F.length<=1&&$()},Q={mode:i,persisted:l,beforeEnter(F){let w=a;if(!n.isMounted)if(s)w=P||a;else return;F[At]&&F[At](!0);const $=V[S];$&&Yt(e,$)&&$.el[At]&&$.el[At](),O(w,[F])},enter(F){let w=u,$=f,x=c;if(!n.isMounted)if(s)w=A||u,$=b||f,x=m||c;else return;let ee=!1;const me=F[gr]=ve=>{ee||(ee=!0,ve?O(x,[F]):O($,[F]),Q.delayedLeave&&Q.delayedLeave(),F[gr]=void 0)};w?G(w,[F,me]):me()},leave(F,w){const $=String(e.key);if(F[gr]&&F[gr](!0),n.isUnmounting)return w();O(p,[F]);let x=!1;const ee=F[At]=me=>{x||(x=!0,w(),me?O(y,[F]):O(_,[F]),F[At]=void 0,V[$]===e&&delete V[$])};V[$]=e,g?G(g,[F,ee]):ee()},clone(F){const w=Eo(F,t,n,r,o);return o&&o(w),w}};return Q}function so(e){if(nr(e))return e=Nt(e),e.children=null,e}function As(e){if(!nr(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ne(n.default))return n.default()}}function Or(e,t){e.shapeFlag&6&&e.component?Or(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 fl(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;s!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function Sc(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:s,suspensible:i=!0,onError:l}=e;let a=null,u,f=0;const c=()=>(f++,a=null,p()),p=()=>{let g;return a||(g=a=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),l)return new Promise((y,P)=>{l(_,()=>y(c()),()=>P(_),f+1)});throw _}).then(_=>g!==a&&a?a:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),u=_,_)))};return de({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return u},setup(){const g=Me;if(u)return()=>io(u,g);const _=b=>{a=null,tr(b,g,13,!r)};if(i&&g.suspense||sr)return p().then(b=>()=>io(b,g)).catch(b=>(_(b),()=>r?te(r,{error:b}):null));const y=le(!1),P=le(),A=le(!!o);return o&&setTimeout(()=>{A.value=!1},o),s!=null&&setTimeout(()=>{if(!y.value&&!P.value){const b=new Error(`Async component timed out after ${s}ms.`);_(b),P.value=b}},s),p().then(()=>{y.value=!0,g.parent&&nr(g.parent.vnode)&&(g.parent.effect.dirty=!0,Wr(g.parent.update))}).catch(b=>{_(b),P.value=b}),()=>{if(y.value&&u)return io(u,g);if(P.value&&r)return te(r,{error:P.value});if(n&&!A.value)return te(n)}}})}function io(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,i=te(e,r,o);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const nr=e=>e.type.__isKeepAlive;function Cc(e,t){dl(e,"a",t)}function Pc(e,t){dl(e,"da",t)}function dl(e,t,n=Me){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Gr(t,r,n),n){let o=n.parent;for(;o&&o.parent;)nr(o.parent.vnode)&&Ec(r,t,n,o),o=o.parent}}function Ec(e,t,n,r){const o=Gr(t,e,r,!0);Kr(()=>{Vo(r[t],o)},n)}function Gr(e,t,n=Me,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{Bt();const l=or(n),a=rt(t,n,e,i);return l(),Wt(),a});return r?o.unshift(s):o.push(s),s}}const St=e=>(t,n=Me)=>{(!sr||e==="sp")&&Gr(e,(...r)=>t(...r),n)},kc=St("bm"),je=St("m"),xc=St("bu"),Lc=St("u"),Yo=St("bum"),Kr=St("um"),Ac=St("sp"),Tc=St("rtg"),Rc=St("rtc");function Oc(e,t=Me){Gr("ec",e,t)}const Dc="components";function Xo(e,t){return Mc(Dc,e,!0,t)||e}const Ic=Symbol.for("v-ndc");function Mc(e,t,n=!0,r=!1){const o=$e||Me;if(o){const s=o.type;{const l=xu(s,!1);if(l&&(l===t||l===Ye(t)||l===Yn(Ye(t))))return s}const i=Ts(o[e]||s[e],t)||Ts(o.appContext[e],t);return!i&&r?s:i}}function Ts(e,t){return e&&(e[t]||e[Ye(t)]||e[Yn(Ye(t))])}function wt(e,t,n,r){let o;const s=n;if(Z(e)||Re(e)){o=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,s));else{const i=Object.keys(e);o=new Array(i.length);for(let l=0,a=i.length;lMr(t)?!(t.type===Be||t.type===_e&&!hl(t.children)):!0)?e:null}const ko=e=>e?Dl(e)?zr(e):ko(e.parent):null,$n=Ne(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=>ko(e.parent),$root:e=>ko(e.root),$emit:e=>e.emit,$options:e=>Zo(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Wr(e.update)}),$nextTick:e=>e.n||(e.n=Ut.bind(e.proxy)),$watch:e=>lu.bind(e)}),lo=(e,t)=>e!==Ce&&!e.__isScriptSetup&&ce(e,t),$c={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:l,appContext:a}=e;let u;if(t[0]!=="$"){const g=i[t];if(g!==void 0)switch(g){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(lo(r,t))return i[t]=1,r[t];if(o!==Ce&&ce(o,t))return i[t]=2,o[t];if((u=e.propsOptions[0])&&ce(u,t))return i[t]=3,s[t];if(n!==Ce&&ce(n,t))return i[t]=4,n[t];xo&&(i[t]=0)}}const f=$n[t];let c,p;if(f)return t==="$attrs"&&qe(e.attrs,"get",""),f(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(n!==Ce&&ce(n,t))return i[t]=4,n[t];if(p=a.config.globalProperties,ce(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return lo(o,t)?(o[t]=n,!0):r!==Ce&&ce(r,t)?(r[t]=n,!0):ce(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},i){let l;return!!n[i]||e!==Ce&&ce(e,i)||lo(t,i)||(l=s[0])&&ce(l,i)||ce(r,i)||ce($n,i)||ce(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ce(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Rs(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let xo=!0;function Nc(e){const t=Zo(e),n=e.proxy,r=e.ctx;xo=!1,t.beforeCreate&&Os(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:l,provide:a,inject:u,created:f,beforeMount:c,mounted:p,beforeUpdate:g,updated:_,activated:y,deactivated:P,beforeDestroy:A,beforeUnmount:b,destroyed:m,unmounted:S,render:V,renderTracked:O,renderTriggered:G,errorCaptured:Q,serverPrefetch:F,expose:w,inheritAttrs:$,components:x,directives:ee,filters:me}=t;if(u&&Hc(u,r,null),i)for(const oe in i){const Y=i[oe];ne(Y)&&(r[oe]=Y.bind(n))}if(o){const oe=o.call(n,n);be(oe)&&(e.data=Zn(oe))}if(xo=!0,s)for(const oe in s){const Y=s[oe],Oe=ne(Y)?Y.bind(n,n):ne(Y.get)?Y.get.bind(n,n):nt,Pt=!ne(Y)&&ne(Y.set)?Y.set.bind(n):nt,ut=R({get:Oe,set:Pt});Object.defineProperty(r,oe,{enumerable:!0,configurable:!0,get:()=>ut.value,set:Ge=>ut.value=Ge})}if(l)for(const oe in l)pl(l[oe],r,n,oe);if(a){const oe=ne(a)?a.call(n):a;Reflect.ownKeys(oe).forEach(Y=>{tn(Y,oe[Y])})}f&&Os(f,e,"c");function z(oe,Y){Z(Y)?Y.forEach(Oe=>oe(Oe.bind(n))):Y&&oe(Y.bind(n))}if(z(kc,c),z(je,p),z(xc,g),z(Lc,_),z(Cc,y),z(Pc,P),z(Oc,Q),z(Rc,O),z(Tc,G),z(Yo,b),z(Kr,S),z(Ac,F),Z(w))if(w.length){const oe=e.exposed||(e.exposed={});w.forEach(Y=>{Object.defineProperty(oe,Y,{get:()=>n[Y],set:Oe=>n[Y]=Oe})})}else e.exposed||(e.exposed={});V&&e.render===nt&&(e.render=V),$!=null&&(e.inheritAttrs=$),x&&(e.components=x),ee&&(e.directives=ee)}function Hc(e,t,n=nt){Z(e)&&(e=Lo(e));for(const r in e){const o=e[r];let s;be(o)?"default"in o?s=Ue(o.from||r,o.default,!0):s=Ue(o.from||r):s=Ue(o),He(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Os(e,t,n){rt(Z(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function pl(e,t,n,r){const o=r.includes(".")?Ll(n,r):()=>n[r];if(Re(e)){const s=t[e];ne(s)&&Te(o,s)}else if(ne(e))Te(o,e.bind(n));else if(be(e))if(Z(e))e.forEach(s=>pl(s,t,n,r));else{const s=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(s)&&Te(o,s,e)}}function Zo(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,l=s.get(t);let a;return l?a=l:!o.length&&!n&&!r?a=t:(a={},o.length&&o.forEach(u=>Dr(a,u,i,!0)),Dr(a,t,i)),be(t)&&s.set(t,a),a}function Dr(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Dr(e,s,n,!0),o&&o.forEach(i=>Dr(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Vc[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Vc={data:Ds,props:Is,emits:Is,methods:Dn,computed:Dn,beforeCreate:Fe,created:Fe,beforeMount:Fe,mounted:Fe,beforeUpdate:Fe,updated:Fe,beforeDestroy:Fe,beforeUnmount:Fe,destroyed:Fe,unmounted:Fe,activated:Fe,deactivated:Fe,errorCaptured:Fe,serverPrefetch:Fe,components:Dn,directives:Dn,watch:Fc,provide:Ds,inject:jc};function Ds(e,t){return t?e?function(){return Ne(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function jc(e,t){return Dn(Lo(e),Lo(t))}function Lo(e){if(Z(e)){const t={};for(let n=0;n1)return n&&ne(t)?t.call(r&&r.proxy):t}}const ml={},vl=()=>Object.create(ml),_l=e=>Object.getPrototypeOf(e)===ml;function Uc(e,t,n,r=!1){const o={},s=vl();e.propsDefaults=Object.create(null),bl(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:Xi(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function Gc(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,l=ue(o),[a]=e.propsOptions;let u=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let c=0;c{a=!0;const[p,g]=yl(c,t,!0);Ne(i,p),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!s&&!a)return be(e)&&r.set(e,fn),fn;if(Z(s))for(let f=0;fe[0]==="_"||e==="$stable",es=e=>Z(e)?e.map(tt):[tt(e)],qc=(e,t,n)=>{if(t._n)return t;const r=Le((...o)=>es(t(...o)),n);return r._c=!1,r},Sl=(e,t,n)=>{const r=e._ctx;for(const o in e){if(wl(o))continue;const s=e[o];if(ne(s))t[o]=qc(o,s,r);else if(s!=null){const i=es(s);t[o]=()=>i}}},Cl=(e,t)=>{const n=es(t);e.slots.default=()=>n},Pl=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},zc=(e,t,n)=>{const r=e.slots=vl();if(e.vnode.shapeFlag&32){const o=t._;o?(Pl(r,t,n),n&&Mi(r,"_",o,!0)):Sl(t,r)}else t&&Cl(e,t)},Jc=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=Ce;if(r.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:Pl(o,t,n):(s=!t.$stable,Sl(t,o)),i=t}else t&&(Cl(e,t),i={default:1});if(s)for(const l in o)!wl(l)&&i[l]==null&&delete o[l]};function Ir(e,t,n,r,o=!1){if(Z(e)){e.forEach((p,g)=>Ir(p,t&&(Z(t)?t[g]:t),n,r,o));return}if(mn(r)&&!o)return;const s=r.shapeFlag&4?zr(r.component):r.el,i=o?null:s,{i:l,r:a}=e,u=t&&t.r,f=l.refs===Ce?l.refs={}:l.refs,c=l.setupState;if(u!=null&&u!==a&&(Re(u)?(f[u]=null,ce(c,u)&&(c[u]=null)):He(u)&&(u.value=null)),ne(a))Mt(a,l,12,[i,f]);else{const p=Re(a),g=He(a);if(p||g){const _=()=>{if(e.f){const y=p?ce(c,a)?c[a]:f[a]:a.value;o?Z(y)&&Vo(y,s):Z(y)?y.includes(s)||y.push(s):p?(f[a]=[s],ce(c,a)&&(c[a]=f[a])):(a.value=[s],e.k&&(f[e.k]=a.value))}else p?(f[a]=i,ce(c,a)&&(c[a]=i)):g&&(a.value=i,e.k&&(f[e.k]=i))};i?(_.id=-1,Ke(_,n)):_()}}}const Qc=Symbol("_vte"),Yc=e=>e.__isTeleport;let $s=!1;const cn=()=>{$s||(console.error("Hydration completed but contains mismatches."),$s=!0)},Xc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Zc=e=>e.namespaceURI.includes("MathML"),mr=e=>{if(Xc(e))return"svg";if(Zc(e))return"mathml"},vr=e=>e.nodeType===8;function eu(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:l,insert:a,createComment:u}}=e,f=(m,S)=>{if(!S.hasChildNodes()){n(null,m,S),Ar(),S._vnode=m;return}c(S.firstChild,m,null,null,null),Ar(),S._vnode=m},c=(m,S,V,O,G,Q=!1)=>{Q=Q||!!S.dynamicChildren;const F=vr(m)&&m.data==="[",w=()=>y(m,S,V,O,G,F),{type:$,ref:x,shapeFlag:ee,patchFlag:me}=S;let ve=m.nodeType;S.el=m,me===-2&&(Q=!1,S.dynamicChildren=null);let z=null;switch($){case nn:ve!==3?S.children===""?(a(S.el=o(""),i(m),m),z=m):z=w():(m.data!==S.children&&(cn(),m.data=S.children),z=s(m));break;case Be:b(m)?(z=s(m),A(S.el=m.content.firstChild,m,V)):ve!==8||F?z=w():z=s(m);break;case Nn:if(F&&(m=s(m),ve=m.nodeType),ve===1||ve===3){z=m;const oe=!S.children.length;for(let Y=0;Y{Q=Q||!!S.dynamicChildren;const{type:F,props:w,patchFlag:$,shapeFlag:x,dirs:ee,transition:me}=S,ve=F==="input"||F==="option";if(ve||$!==-1){ee&&dt(S,null,V,"created");let z=!1;if(b(m)){z=El(O,me)&&V&&V.vnode.props&&V.vnode.props.appear;const Y=m.content.firstChild;z&&me.beforeEnter(Y),A(Y,m,V),S.el=m=Y}if(x&16&&!(w&&(w.innerHTML||w.textContent))){let Y=g(m.firstChild,S,m,V,O,G,Q);for(;Y;){cn();const Oe=Y;Y=Y.nextSibling,l(Oe)}}else x&8&&m.textContent!==S.children&&(cn(),m.textContent=S.children);if(w){if(ve||!Q||$&48){const Y=m.tagName.includes("-");for(const Oe in w)(ve&&(Oe.endsWith("value")||Oe==="indeterminate")||Qn(Oe)&&!hn(Oe)||Oe[0]==="."||Y)&&r(m,Oe,null,w[Oe],void 0,V)}else if(w.onClick)r(m,"onClick",null,w.onClick,void 0,V);else if($&4&&pn(w.style))for(const Y in w.style)w.style[Y]}let oe;(oe=w&&w.onVnodeBeforeMount)&&et(oe,V,S),ee&&dt(S,null,V,"beforeMount"),((oe=w&&w.onVnodeMounted)||ee||z)&&Tl(()=>{oe&&et(oe,V,S),z&&me.enter(m),ee&&dt(S,null,V,"mounted")},O)}return m.nextSibling},g=(m,S,V,O,G,Q,F)=>{F=F||!!S.dynamicChildren;const w=S.children,$=w.length;for(let x=0;x<$;x++){const ee=F?w[x]:w[x]=tt(w[x]),me=ee.type===nn;if(m){if(me&&!F){let ve=w[x+1];ve&&(ve=tt(ve)).type===nn&&(a(o(m.data.slice(ee.children.length)),V,s(m)),m.data=ee.children)}m=c(m,ee,O,G,Q,F)}else me&&!ee.children?a(ee.el=o(""),V):(cn(),n(null,ee,V,null,O,G,mr(V),Q))}return m},_=(m,S,V,O,G,Q)=>{const{slotScopeIds:F}=S;F&&(G=G?G.concat(F):F);const w=i(m),$=g(s(m),S,w,V,O,G,Q);return $&&vr($)&&$.data==="]"?s(S.anchor=$):(cn(),a(S.anchor=u("]"),w,$),$)},y=(m,S,V,O,G,Q)=>{if(cn(),S.el=null,Q){const $=P(m);for(;;){const x=s(m);if(x&&x!==$)l(x);else break}}const F=s(m),w=i(m);return l(m),n(null,S,w,F,V,O,mr(w),G),F},P=(m,S="[",V="]")=>{let O=0;for(;m;)if(m=s(m),m&&vr(m)&&(m.data===S&&O++,m.data===V)){if(O===0)return s(m);O--}return m},A=(m,S,V)=>{const O=S.parentNode;O&&O.replaceChild(m,S);let G=V;for(;G;)G.vnode.el===S&&(G.vnode.el=G.subTree.el=m),G=G.parent},b=m=>m.nodeType===1&&m.tagName.toLowerCase()==="template";return[f,c]}const Ke=Tl;function tu(e){return nu(e,eu)}function nu(e,t){const n=$i();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:l,createComment:a,setText:u,setElementText:f,parentNode:c,nextSibling:p,setScopeId:g=nt,insertStaticContent:_}=e,y=(d,h,v,k=null,C=null,T=null,H=void 0,I=null,M=!!h.dynamicChildren)=>{if(d===h)return;d&&!Yt(d,h)&&(k=E(d),Ge(d,C,T,!0),d=null),h.patchFlag===-2&&(M=!1,h.dynamicChildren=null);const{type:L,ref:W,shapeFlag:J}=h;switch(L){case nn:P(d,h,v,k);break;case Be:A(d,h,v,k);break;case Nn:d==null&&b(h,v,k,H);break;case _e:x(d,h,v,k,C,T,H,I,M);break;default:J&1?V(d,h,v,k,C,T,H,I,M):J&6?ee(d,h,v,k,C,T,H,I,M):(J&64||J&128)&&L.process(d,h,v,k,C,T,H,I,M,K)}W!=null&&C&&Ir(W,d&&d.ref,T,h||d,!h)},P=(d,h,v,k)=>{if(d==null)r(h.el=l(h.children),v,k);else{const C=h.el=d.el;h.children!==d.children&&u(C,h.children)}},A=(d,h,v,k)=>{d==null?r(h.el=a(h.children||""),v,k):h.el=d.el},b=(d,h,v,k)=>{[d.el,d.anchor]=_(d.children,h,v,k,d.el,d.anchor)},m=({el:d,anchor:h},v,k)=>{let C;for(;d&&d!==h;)C=p(d),r(d,v,k),d=C;r(h,v,k)},S=({el:d,anchor:h})=>{let v;for(;d&&d!==h;)v=p(d),o(d),d=v;o(h)},V=(d,h,v,k,C,T,H,I,M)=>{h.type==="svg"?H="svg":h.type==="math"&&(H="mathml"),d==null?O(h,v,k,C,T,H,I,M):F(d,h,C,T,H,I,M)},O=(d,h,v,k,C,T,H,I)=>{let M,L;const{props:W,shapeFlag:J,transition:q,dirs:re}=d;if(M=d.el=i(d.type,T,W&&W.is,W),J&8?f(M,d.children):J&16&&Q(d.children,M,null,k,C,ao(d,T),H,I),re&&dt(d,null,k,"created"),G(M,d,d.scopeId,H,k),W){for(const we in W)we!=="value"&&!hn(we)&&s(M,we,null,W[we],T,k);"value"in W&&s(M,"value",null,W.value,T),(L=W.onVnodeBeforeMount)&&et(L,k,d)}re&&dt(d,null,k,"beforeMount");const se=El(C,q);se&&q.beforeEnter(M),r(M,h,v),((L=W&&W.onVnodeMounted)||se||re)&&Ke(()=>{L&&et(L,k,d),se&&q.enter(M),re&&dt(d,null,k,"mounted")},C)},G=(d,h,v,k,C)=>{if(v&&g(d,v),k)for(let T=0;T{for(let L=M;L{const I=h.el=d.el;let{patchFlag:M,dynamicChildren:L,dirs:W}=h;M|=d.patchFlag&16;const J=d.props||Ce,q=h.props||Ce;let re;if(v&&Kt(v,!1),(re=q.onVnodeBeforeUpdate)&&et(re,v,h,d),W&&dt(h,d,v,"beforeUpdate"),v&&Kt(v,!0),(J.innerHTML&&q.innerHTML==null||J.textContent&&q.textContent==null)&&f(I,""),L?w(d.dynamicChildren,L,I,v,k,ao(h,C),T):H||Y(d,h,I,null,v,k,ao(h,C),T,!1),M>0){if(M&16)$(I,J,q,v,C);else if(M&2&&J.class!==q.class&&s(I,"class",null,q.class,C),M&4&&s(I,"style",J.style,q.style,C),M&8){const se=h.dynamicProps;for(let we=0;we{re&&et(re,v,h,d),W&&dt(h,d,v,"updated")},k)},w=(d,h,v,k,C,T,H)=>{for(let I=0;I{if(h!==v){if(h!==Ce)for(const T in h)!hn(T)&&!(T in v)&&s(d,T,h[T],null,C,k);for(const T in v){if(hn(T))continue;const H=v[T],I=h[T];H!==I&&T!=="value"&&s(d,T,I,H,C,k)}"value"in v&&s(d,"value",h.value,v.value,C)}},x=(d,h,v,k,C,T,H,I,M)=>{const L=h.el=d?d.el:l(""),W=h.anchor=d?d.anchor:l("");let{patchFlag:J,dynamicChildren:q,slotScopeIds:re}=h;re&&(I=I?I.concat(re):re),d==null?(r(L,v,k),r(W,v,k),Q(h.children||[],v,W,C,T,H,I,M)):J>0&&J&64&&q&&d.dynamicChildren?(w(d.dynamicChildren,q,v,C,T,H,I),(h.key!=null||C&&h===C.subTree)&&kl(d,h,!0)):Y(d,h,v,W,C,T,H,I,M)},ee=(d,h,v,k,C,T,H,I,M)=>{h.slotScopeIds=I,d==null?h.shapeFlag&512?C.ctx.activate(h,v,k,H,M):me(h,v,k,C,T,H,M):ve(d,h,M)},me=(d,h,v,k,C,T,H)=>{const I=d.component=Su(d,k,C);if(nr(d)&&(I.ctx.renderer=K),Cu(I,!1,H),I.asyncDep){if(C&&C.registerDep(I,z,H),!d.el){const M=I.subTree=te(Be);A(null,M,h,v)}}else z(I,d,h,v,C,T,H)},ve=(d,h,v)=>{const k=h.component=d.component;if(du(d,h,v))if(k.asyncDep&&!k.asyncResolved){oe(k,h,v);return}else k.next=h,pc(k.update),k.effect.dirty=!0,k.update();else h.el=d.el,k.vnode=h},z=(d,h,v,k,C,T,H)=>{const I=()=>{if(d.isMounted){let{next:W,bu:J,u:q,parent:re,vnode:se}=d;{const an=xl(d);if(an){W&&(W.el=se.el,oe(d,W,H)),an.asyncDep.then(()=>{d.isUnmounted||I()});return}}let we=W,pe;Kt(d,!1),W?(W.el=se.el,oe(d,W,H)):W=se,J&&ro(J),(pe=W.props&&W.props.onVnodeBeforeUpdate)&&et(pe,re,W,se),Kt(d,!0);const Ie=co(d),ot=d.subTree;d.subTree=Ie,y(ot,Ie,c(ot.el),E(ot),d,C,T),W.el=Ie.el,we===null&&hu(d,Ie.el),q&&Ke(q,C),(pe=W.props&&W.props.onVnodeUpdated)&&Ke(()=>et(pe,re,W,se),C)}else{let W;const{el:J,props:q}=h,{bm:re,m:se,parent:we}=d,pe=mn(h);if(Kt(d,!1),re&&ro(re),!pe&&(W=q&&q.onVnodeBeforeMount)&&et(W,we,h),Kt(d,!0),J&&Se){const Ie=()=>{d.subTree=co(d),Se(J,d.subTree,d,C,null)};pe?h.type.__asyncLoader().then(()=>!d.isUnmounted&&Ie()):Ie()}else{const Ie=d.subTree=co(d);y(null,Ie,v,k,d,C,T),h.el=Ie.el}if(se&&Ke(se,C),!pe&&(W=q&&q.onVnodeMounted)){const Ie=h;Ke(()=>et(W,we,Ie),C)}(h.shapeFlag&256||we&&mn(we.vnode)&&we.vnode.shapeFlag&256)&&d.a&&Ke(d.a,C),d.isMounted=!0,h=v=k=null}},M=d.effect=new Bo(I,nt,()=>Wr(L),d.scope),L=d.update=()=>{M.dirty&&M.run()};L.i=d,L.id=d.uid,Kt(d,!0),L()},oe=(d,h,v)=>{h.component=d;const k=d.vnode.props;d.vnode=h,d.next=null,Gc(d,h.props,k,v),Jc(d,h.children,v),Bt(),Ls(d),Wt()},Y=(d,h,v,k,C,T,H,I,M=!1)=>{const L=d&&d.children,W=d?d.shapeFlag:0,J=h.children,{patchFlag:q,shapeFlag:re}=h;if(q>0){if(q&128){Pt(L,J,v,k,C,T,H,I,M);return}else if(q&256){Oe(L,J,v,k,C,T,H,I,M);return}}re&8?(W&16&&Xe(L,C,T),J!==L&&f(v,J)):W&16?re&16?Pt(L,J,v,k,C,T,H,I,M):Xe(L,C,T,!0):(W&8&&f(v,""),re&16&&Q(J,v,k,C,T,H,I,M))},Oe=(d,h,v,k,C,T,H,I,M)=>{d=d||fn,h=h||fn;const L=d.length,W=h.length,J=Math.min(L,W);let q;for(q=0;qW?Xe(d,C,T,!0,!1,J):Q(h,v,k,C,T,H,I,M,J)},Pt=(d,h,v,k,C,T,H,I,M)=>{let L=0;const W=h.length;let J=d.length-1,q=W-1;for(;L<=J&&L<=q;){const re=d[L],se=h[L]=M?Tt(h[L]):tt(h[L]);if(Yt(re,se))y(re,se,v,null,C,T,H,I,M);else break;L++}for(;L<=J&&L<=q;){const re=d[J],se=h[q]=M?Tt(h[q]):tt(h[q]);if(Yt(re,se))y(re,se,v,null,C,T,H,I,M);else break;J--,q--}if(L>J){if(L<=q){const re=q+1,se=req)for(;L<=J;)Ge(d[L],C,T,!0),L++;else{const re=L,se=L,we=new Map;for(L=se;L<=q;L++){const ze=h[L]=M?Tt(h[L]):tt(h[L]);ze.key!=null&&we.set(ze.key,L)}let pe,Ie=0;const ot=q-se+1;let an=!1,vs=0;const kn=new Array(ot);for(L=0;L=ot){Ge(ze,C,T,!0);continue}let ft;if(ze.key!=null)ft=we.get(ze.key);else for(pe=se;pe<=q;pe++)if(kn[pe-se]===0&&Yt(ze,h[pe])){ft=pe;break}ft===void 0?Ge(ze,C,T,!0):(kn[ft-se]=L+1,ft>=vs?vs=ft:an=!0,y(ze,h[ft],v,null,C,T,H,I,M),Ie++)}const _s=an?ru(kn):fn;for(pe=_s.length-1,L=ot-1;L>=0;L--){const ze=se+L,ft=h[ze],bs=ze+1{const{el:T,type:H,transition:I,children:M,shapeFlag:L}=d;if(L&6){ut(d.component.subTree,h,v,k);return}if(L&128){d.suspense.move(h,v,k);return}if(L&64){H.move(d,h,v,K);return}if(H===_e){r(T,h,v);for(let J=0;JI.enter(T),C);else{const{leave:J,delayLeave:q,afterLeave:re}=I,se=()=>r(T,h,v),we=()=>{J(T,()=>{se(),re&&re()})};q?q(T,se,we):we()}else r(T,h,v)},Ge=(d,h,v,k=!1,C=!1)=>{const{type:T,props:H,ref:I,children:M,dynamicChildren:L,shapeFlag:W,patchFlag:J,dirs:q,cacheIndex:re}=d;if(J===-2&&(C=!1),I!=null&&Ir(I,null,v,d,!0),re!=null&&(h.renderCache[re]=void 0),W&256){h.ctx.deactivate(d);return}const se=W&1&&q,we=!mn(d);let pe;if(we&&(pe=H&&H.onVnodeBeforeUnmount)&&et(pe,h,d),W&6)cr(d.component,v,k);else{if(W&128){d.suspense.unmount(v,k);return}se&&dt(d,null,h,"beforeUnmount"),W&64?d.type.remove(d,h,v,K,k):L&&!L.hasOnce&&(T!==_e||J>0&&J&64)?Xe(L,h,v,!1,!0):(T===_e&&J&384||!C&&W&16)&&Xe(M,h,v),k&&sn(d)}(we&&(pe=H&&H.onVnodeUnmounted)||se)&&Ke(()=>{pe&&et(pe,h,d),se&&dt(d,null,h,"unmounted")},v)},sn=d=>{const{type:h,el:v,anchor:k,transition:C}=d;if(h===_e){ln(v,k);return}if(h===Nn){S(d);return}const T=()=>{o(v),C&&!C.persisted&&C.afterLeave&&C.afterLeave()};if(d.shapeFlag&1&&C&&!C.persisted){const{leave:H,delayLeave:I}=C,M=()=>H(v,T);I?I(d.el,T,M):M()}else T()},ln=(d,h)=>{let v;for(;d!==h;)v=p(d),o(d),d=v;o(h)},cr=(d,h,v)=>{const{bum:k,scope:C,update:T,subTree:H,um:I,m:M,a:L}=d;Ns(M),Ns(L),k&&ro(k),C.stop(),T&&(T.active=!1,Ge(H,d,h,v)),I&&Ke(I,h),Ke(()=>{d.isUnmounted=!0},h),h&&h.pendingBranch&&!h.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===h.pendingId&&(h.deps--,h.deps===0&&h.resolve())},Xe=(d,h,v,k=!1,C=!1,T=0)=>{for(let H=T;H{if(d.shapeFlag&6)return E(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const h=p(d.anchor||d.el),v=h&&h[Qc];return v?p(v):h};let B=!1;const j=(d,h,v)=>{d==null?h._vnode&&Ge(h._vnode,null,null,!0):y(h._vnode||null,d,h,null,null,null,v),h._vnode=d,B||(B=!0,Ls(),Ar(),B=!1)},K={p:y,um:Ge,m:ut,r:sn,mt:me,mc:Q,pc:Y,pbc:w,n:E,o:e};let he,Se;return t&&([he,Se]=t(K)),{render:j,hydrate:he,createApp:Wc(j,he)}}function ao({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Kt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function El(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function kl(e,t,n=!1){const r=e.children,o=t.children;if(Z(r)&&Z(o))for(let s=0;s>1,e[n[l]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function xl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:xl(t)}function Ns(e){if(e)for(let t=0;tUe(ou);function iu(e,t){return ts(e,null,t)}const _r={};function Te(e,t,n){return ts(e,t,n)}function ts(e,t,{immediate:n,deep:r,flush:o,once:s,onTrack:i,onTrigger:l}=Ce){if(t&&s){const O=t;t=(...G)=>{O(...G),V()}}const a=Me,u=O=>r===!0?O:Ot(O,r===!1?1:void 0);let f,c=!1,p=!1;if(He(e)?(f=()=>e.value,c=yn(e)):pn(e)?(f=()=>u(e),c=!0):Z(e)?(p=!0,c=e.some(O=>pn(O)||yn(O)),f=()=>e.map(O=>{if(He(O))return O.value;if(pn(O))return u(O);if(ne(O))return Mt(O,a,2)})):ne(e)?t?f=()=>Mt(e,a,2):f=()=>(g&&g(),rt(e,a,3,[_])):f=nt,t&&r){const O=f;f=()=>Ot(O())}let g,_=O=>{g=m.onStop=()=>{Mt(O,a,4),g=m.onStop=void 0}},y;if(sr)if(_=nt,t?n&&rt(t,a,3,[f(),p?[]:void 0,_]):f(),o==="sync"){const O=su();y=O.__watcherHandles||(O.__watcherHandles=[])}else return nt;let P=p?new Array(e.length).fill(_r):_r;const A=()=>{if(!(!m.active||!m.dirty))if(t){const O=m.run();(r||c||(p?O.some((G,Q)=>$t(G,P[Q])):$t(O,P)))&&(g&&g(),rt(t,a,3,[O,P===_r?void 0:p&&P[0]===_r?[]:P,_]),P=O)}else m.run()};A.allowRecurse=!!t;let b;o==="sync"?b=A:o==="post"?b=()=>Ke(A,a&&a.suspense):(A.pre=!0,a&&(A.id=a.uid),b=()=>Wr(A));const m=new Bo(f,nt,b),S=Fo(),V=()=>{m.stop(),S&&Vo(S.effects,m)};return t?n?A():P=m.run():o==="post"?Ke(m.run.bind(m),a&&a.suspense):m.run(),y&&y.push(V),V}function lu(e,t,n){const r=this.proxy,o=Re(e)?e.includes(".")?Ll(r,e):()=>r[e]:e.bind(r,r);let s;ne(t)?s=t:(s=t.handler,n=t);const i=or(this),l=ts(o,s.bind(r),n);return i(),l}function Ll(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{Ot(r,t,n)});else if(Ii(e)){for(const r in e)Ot(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Ot(e[r],t,n)}return e}const au=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ye(t)}Modifiers`]||e[`${Ft(t)}Modifiers`];function cu(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Ce;let o=n;const s=t.startsWith("update:"),i=s&&au(r,t.slice(7));i&&(i.trim&&(o=n.map(f=>Re(f)?f.trim():f)),i.number&&(o=n.map(xa)));let l,a=r[l=no(t)]||r[l=no(Ye(t))];!a&&s&&(a=r[l=no(Ft(t))]),a&&rt(a,e,6,o);const u=r[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,rt(u,e,6,o)}}function Al(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let i={},l=!1;if(!ne(e)){const a=u=>{const f=Al(u,t,!0);f&&(l=!0,Ne(i,f))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!s&&!l?(be(e)&&r.set(e,null),null):(Z(s)?s.forEach(a=>i[a]=null):Ne(i,s),be(e)&&r.set(e,i),i)}function qr(e,t){return!e||!Qn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,Ft(t))||ce(e,t))}function co(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[s],slots:i,attrs:l,emit:a,render:u,renderCache:f,props:c,data:p,setupState:g,ctx:_,inheritAttrs:y}=e,P=Tr(e);let A,b;try{if(n.shapeFlag&4){const S=o||r,V=S;A=tt(u.call(V,S,f,c,g,p,_)),b=l}else{const S=t;A=tt(S.length>1?S(c,{attrs:l,slots:i,emit:a}):S(c,null)),b=t.props?l:uu(l)}}catch(S){Hn.length=0,tr(S,e,1),A=te(Be)}let m=A;if(b&&y!==!1){const S=Object.keys(b),{shapeFlag:V}=m;S.length&&V&7&&(s&&S.some(Ho)&&(b=fu(b,s)),m=Nt(m,b,!1,!0))}return n.dirs&&(m=Nt(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(n.dirs):n.dirs),n.transition&&(m.transition=n.transition),A=m,Tr(P),A}const uu=e=>{let t;for(const n in e)(n==="class"||n==="style"||Qn(n))&&((t||(t={}))[n]=e[n]);return t},fu=(e,t)=>{const n={};for(const r in e)(!Ho(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function du(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:l,patchFlag:a}=t,u=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return r?Hs(r,i,u):!!i;if(a&8){const f=t.dynamicProps;for(let c=0;ce.__isSuspense;function Tl(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):gc(e)}const _e=Symbol.for("v-fgt"),nn=Symbol.for("v-txt"),Be=Symbol.for("v-cmt"),Nn=Symbol.for("v-stc"),Hn=[];let Qe=null;function N(e=!1){Hn.push(Qe=e?null:[])}function gu(){Hn.pop(),Qe=Hn[Hn.length-1]||null}let Un=1;function Vs(e){Un+=e,e<0&&Qe&&(Qe.hasOnce=!0)}function Rl(e){return e.dynamicChildren=Un>0?Qe||fn:null,gu(),Un>0&&Qe&&Qe.push(e),e}function X(e,t,n,r,o,s){return Rl(U(e,t,n,r,o,s,!0))}function xe(e,t,n,r,o){return Rl(te(e,t,n,r,o,!0))}function Mr(e){return e?e.__v_isVNode===!0:!1}function Yt(e,t){return e.type===t.type&&e.key===t.key}const Ol=({key:e})=>e??null,Er=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Re(e)||He(e)||ne(e)?{i:$e,r:e,k:t,f:!!n}:e:null);function U(e,t=null,n=null,r=0,o=null,s=e===_e?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ol(t),ref:t&&Er(t),scopeId:Ur,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:$e};return l?(ns(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=Re(n)?8:16),Un>0&&!i&&Qe&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&&Qe.push(a),a}const te=mu;function mu(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===Ic)&&(e=Be),Mr(e)){const l=Nt(e,t,!0);return n&&ns(l,n),Un>0&&!s&&Qe&&(l.shapeFlag&6?Qe[Qe.indexOf(e)]=l:Qe.push(l)),l.patchFlag=-2,l}if(Lu(e)&&(e=e.__vccOpts),t){t=vu(t);let{class:l,style:a}=t;l&&!Re(l)&&(t.class=We(l)),be(a)&&(Zi(a)&&!Z(a)&&(a=Ne({},a)),t.style=Xn(a))}const i=Re(e)?1:pu(e)?128:Yc(e)?64:be(e)?4:ne(e)?2:0;return U(e,t,n,r,o,i,s,!0)}function vu(e){return e?Zi(e)||_l(e)?Ne({},e):e:null}function Nt(e,t,n=!1,r=!1){const{props:o,ref:s,patchFlag:i,children:l,transition:a}=e,u=t?bu(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Ol(u),ref:t&&t.ref?n&&s?Z(s)?s.concat(Er(t)):[s,Er(t)]:Er(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==_e?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Nt(e.ssContent),ssFallback:e.ssFallback&&Nt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&r&&Or(f,a.clone(f)),f}function Ht(e=" ",t=0){return te(nn,null,e,t)}function _u(e,t){const n=te(Nn,null,e);return n.staticCount=t,n}function Ae(e="",t=!1){return t?(N(),xe(Be,null,e)):te(Be,null,e)}function tt(e){return e==null||typeof e=="boolean"?te(Be):Z(e)?te(_e,null,e.slice()):typeof e=="object"?Tt(e):te(nn,null,String(e))}function Tt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Nt(e)}function ns(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),ns(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!_l(t)?t._ctx=$e:o===3&&$e&&($e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:$e},n=32):(t=String(t),r&64?(n=16,t=[Ht(t)]):n=8);e.children=t,e.shapeFlag|=n}function bu(...e){const t={};for(let n=0;nMe||$e;let $r,To;{const e=$i(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),s=>{o.length>1?o.forEach(i=>i(s)):o[0](s)}};$r=t("__VUE_INSTANCE_SETTERS__",n=>Me=n),To=t("__VUE_SSR_SETTERS__",n=>sr=n)}const or=e=>{const t=Me;return $r(e),e.scope.on(),()=>{e.scope.off(),$r(t)}},js=()=>{Me&&Me.scope.off(),$r(null)};function Dl(e){return e.vnode.shapeFlag&4}let sr=!1;function Cu(e,t=!1,n=!1){t&&To(t);const{props:r,children:o}=e.vnode,s=Dl(e);Uc(e,r,s,t),zc(e,o,n);const i=s?Pu(e,t):void 0;return t&&To(!1),i}function Pu(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,$c);const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?ku(e):null,s=or(e);Bt();const i=Mt(r,e,0,[e.props,o]);if(Wt(),s(),Oi(i)){if(i.then(js,js),t)return i.then(l=>{Fs(e,l,t)}).catch(l=>{tr(l,e,0)});e.asyncDep=i}else Fs(e,i,t)}else Il(e,t)}function Fs(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:be(t)&&(e.setupState=nl(t)),Il(e,n)}let Bs;function Il(e,t,n){const r=e.type;if(!e.render){if(!t&&Bs&&!r.render){const o=r.template||Zo(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:a}=r,u=Ne(Ne({isCustomElement:s,delimiters:l},i),a);r.render=Bs(o,u)}}e.render=r.render||nt}{const o=or(e);Bt();try{Nc(e)}finally{Wt(),o()}}}const Eu={get(e,t){return qe(e,"get",""),e[t]}};function ku(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Eu),slots:e.slots,emit:e.emit,expose:t}}function zr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(nl(rc(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in $n)return $n[n](e)},has(t,n){return n in t||n in $n}})):e.proxy}function xu(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function Lu(e){return ne(e)&&"__vccOpts"in e}const R=(e,t)=>oc(e,t,sr);function Pe(e,t,n){const r=arguments.length;return r===2?be(t)&&!Z(t)?Mr(t)?te(e,null,[t]):te(e,t):te(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Mr(n)&&(n=[n]),te(e,t,n))}const Au="3.4.38";/** -* @vue/runtime-dom v3.4.38 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const Tu="http://www.w3.org/2000/svg",Ru="http://www.w3.org/1998/Math/MathML",_t=typeof document<"u"?document:null,Ws=_t&&_t.createElement("template"),Ou={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?_t.createElementNS(Tu,e):t==="mathml"?_t.createElementNS(Ru,e):n?_t.createElement(e,{is:n}):_t.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>_t.createTextNode(e),createComment:e=>_t.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>_t.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Ws.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Ws.content;if(r==="svg"||r==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},kt="transition",xn="animation",Gn=Symbol("_vtc"),ir=(e,{slots:t})=>Pe(wc,Du(e),t);ir.displayName="Transition";const Ml={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};ir.props=Ne({},al,Ml);const qt=(e,t=[])=>{Z(e)?e.forEach(n=>n(...t)):e&&e(...t)},Us=e=>e?Z(e)?e.some(t=>t.length>1):e.length>1:!1;function Du(e){const t={};for(const x in e)x in Ml||(t[x]=e[x]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=s,appearActiveClass:u=i,appearToClass:f=l,leaveFromClass:c=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,_=Iu(o),y=_&&_[0],P=_&&_[1],{onBeforeEnter:A,onEnter:b,onEnterCancelled:m,onLeave:S,onLeaveCancelled:V,onBeforeAppear:O=A,onAppear:G=b,onAppearCancelled:Q=m}=t,F=(x,ee,me)=>{zt(x,ee?f:l),zt(x,ee?u:i),me&&me()},w=(x,ee)=>{x._isLeaving=!1,zt(x,c),zt(x,g),zt(x,p),ee&&ee()},$=x=>(ee,me)=>{const ve=x?G:b,z=()=>F(ee,x,me);qt(ve,[ee,z]),Gs(()=>{zt(ee,x?a:s),xt(ee,x?f:l),Us(ve)||Ks(ee,r,y,z)})};return Ne(t,{onBeforeEnter(x){qt(A,[x]),xt(x,s),xt(x,i)},onBeforeAppear(x){qt(O,[x]),xt(x,a),xt(x,u)},onEnter:$(!1),onAppear:$(!0),onLeave(x,ee){x._isLeaving=!0;const me=()=>w(x,ee);xt(x,c),xt(x,p),Nu(),Gs(()=>{x._isLeaving&&(zt(x,c),xt(x,g),Us(S)||Ks(x,r,P,me))}),qt(S,[x,me])},onEnterCancelled(x){F(x,!1),qt(m,[x])},onAppearCancelled(x){F(x,!0),qt(Q,[x])},onLeaveCancelled(x){w(x),qt(V,[x])}})}function Iu(e){if(e==null)return null;if(be(e))return[uo(e.enter),uo(e.leave)];{const t=uo(e);return[t,t]}}function uo(e){return La(e)}function xt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Gn]||(e[Gn]=new Set)).add(t)}function zt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Gn];n&&(n.delete(t),n.size||(e[Gn]=void 0))}function Gs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Mu=0;function Ks(e,t,n,r){const o=e._endId=++Mu,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=$u(e,t);if(!i)return r();const u=i+"end";let f=0;const c=()=>{e.removeEventListener(u,p),s()},p=g=>{g.target===e&&++f>=a&&c()};setTimeout(()=>{f(n[_]||"").split(", "),o=r(`${kt}Delay`),s=r(`${kt}Duration`),i=qs(o,s),l=r(`${xn}Delay`),a=r(`${xn}Duration`),u=qs(l,a);let f=null,c=0,p=0;t===kt?i>0&&(f=kt,c=i,p=s.length):t===xn?u>0&&(f=xn,c=u,p=a.length):(c=Math.max(i,u),f=c>0?i>u?kt:xn:null,p=f?f===kt?s.length:a.length:0);const g=f===kt&&/\b(transform|all)(,|$)/.test(r(`${kt}Property`).toString());return{type:f,timeout:c,propCount:p,hasTransform:g}}function qs(e,t){for(;e.lengthzs(n)+zs(e[r])))}function zs(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Nu(){return document.body.offsetHeight}function Hu(e,t,n){const r=e[Gn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Nr=Symbol("_vod"),$l=Symbol("_vsh"),Hr={beforeMount(e,{value:t},{transition:n}){e[Nr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Ln(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Ln(e,!0),r.enter(e)):r.leave(e,()=>{Ln(e,!1)}):Ln(e,t))},beforeUnmount(e,{value:t}){Ln(e,t)}};function Ln(e,t){e.style.display=t?e[Nr]:"none",e[$l]=!t}const Vu=Symbol(""),ju=/(^|;)\s*display\s*:/;function Fu(e,t,n){const r=e.style,o=Re(n);let s=!1;if(n&&!o){if(t)if(Re(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&kr(r,l,"")}else for(const i in t)n[i]==null&&kr(r,i,"");for(const i in n)i==="display"&&(s=!0),kr(r,i,n[i])}else if(o){if(t!==n){const i=r[Vu];i&&(n+=";"+i),r.cssText=n,s=ju.test(n)}}else t&&e.removeAttribute("style");Nr in e&&(e[Nr]=s?r.display:"",e[$l]&&(r.display="none"))}const Js=/\s*!important$/;function kr(e,t,n){if(Z(n))n.forEach(r=>kr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Bu(e,t);Js.test(n)?e.setProperty(Ft(r),n.replace(Js,""),"important"):e[r]=n}}const Qs=["Webkit","Moz","ms"],fo={};function Bu(e,t){const n=fo[t];if(n)return n;let r=Ye(t);if(r!=="filter"&&r in e)return fo[t]=r;r=Yn(r);for(let o=0;oho||(zu.then(()=>ho=0),ho=Date.now());function Qu(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;rt(Yu(r,n.value),t,5,[r])};return n.value=e,n.attached=Ju(),n}function Yu(e,t){if(Z(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const ti=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Xu=(e,t,n,r,o,s)=>{const i=o==="svg";t==="class"?Hu(e,r,i):t==="style"?Fu(e,n,r):Qn(t)?Ho(t)||Ku(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Zu(e,t,r,i))?(Wu(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Xs(e,t,r,i,s,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Xs(e,t,r,i))};function Zu(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&ti(t)&&ne(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return ti(t)&&Re(n)?!1:t in e}const ef={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},tf=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const s=Ft(o.key);if(t.some(i=>i===s||ef[i]===s))return e(o)})},nf=Ne({patchProp:Xu},Ou);let po,ni=!1;function rf(){return po=ni?po:tu(nf),ni=!0,po}const of=(...e)=>{const t=rf().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=lf(r);if(o)return n(o,!0,sf(o))},t};function sf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function lf(e){return Re(e)?document.querySelector(e):e}var lr=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),af=/.md((\?|#).*)?$/,cf=(e,t="/")=>lr(e)||e.startsWith("/")&&!e.startsWith(t)&&!af.test(e),Jr=e=>/^(https?:)?\/\//.test(e),ri=e=>{if(!e||e.endsWith("/"))return e;let t=e.replace(/(^|\/)README.md$/i,"$1index.html");return t.endsWith(".md")?t=t.substring(0,t.length-3)+".html":t.endsWith(".html")||(t=t+".html"),t.endsWith("/index.html")&&(t=t.substring(0,t.length-10)),t},uf="http://.",ff=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return ri(new URL(`${n}/${e}`,uf).pathname)}return ri(e)},df=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const s=o.split("/").length-r.split("/").length;return s!==0?s:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},hf=/(#|\?)/,Nl=e=>{const[t,...n]=e.split(hf);return{pathname:t,hashAndQueries:n.join("")}},pf=["link","meta","script","style","noscript","template"],gf=["title","base"],mf=([e,t,n])=>gf.includes(e)?e:pf.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,vf=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=mf(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},_f=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Hl=e=>e[e.length-1]==="/"?e.slice(0,-1):e,Vl=e=>e[0]==="/"?e.slice(1):e,rs=e=>Object.prototype.toString.call(e)==="[object Object]",st=e=>typeof e=="string";const bf="modulepreload",yf=function(e){return"/"+e},oi={},An=function(t,n,r){let o=Promise.resolve();return n&&n.length>0&&(document.getElementsByTagName("link"),o=Promise.all(n.map(s=>{if(s=yf(s),s in oi)return;oi[s]=!0;const i=s.endsWith(".css"),l=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${l}`))return;const a=document.createElement("link");if(a.rel=i?"stylesheet":bf,i||(a.as="script",a.crossOrigin=""),a.href=s,document.head.appendChild(a),i)return new Promise((u,f)=>{a.addEventListener("load",u),a.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${s}`)))})}))),o.then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},wf=JSON.parse("{}"),Sf=Object.fromEntries([["/",{loader:()=>An(()=>import("./index.html-D3SBAZ5R.js"),__vite__mapDeps([])),meta:{title:"Резюме"}}],["/works.html",{loader:()=>An(()=>import("./works.html-DDM5nDLC.js"),__vite__mapDeps([])),meta:{title:"Работы"}}],["/eng/",{loader:()=>An(()=>import("./index.html-BCgSEOwK.js"),__vite__mapDeps([])),meta:{title:"Resume"}}],["/eng/works.html",{loader:()=>An(()=>import("./works.html-EdO4hOM5.js"),__vite__mapDeps([])),meta:{title:"Works"}}],["/404.html",{loader:()=>An(()=>import("./404.html-K48krAc8.js"),__vite__mapDeps([])),meta:{title:""}}]]);/*! - * vue-router v4.4.3 - * (c) 2024 Eduardo San Martin Morote - * @license MIT - */const un=typeof document<"u";function Cf(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ge=Object.assign;function go(e,t){const n={};for(const r in t){const o=t[r];n[r]=it(o)?o.map(e):e(o)}return n}const Vn=()=>{},it=Array.isArray,jl=/#/g,Pf=/&/g,Ef=/\//g,kf=/=/g,xf=/\?/g,Fl=/\+/g,Lf=/%5B/g,Af=/%5D/g,Bl=/%5E/g,Tf=/%60/g,Wl=/%7B/g,Rf=/%7C/g,Ul=/%7D/g,Of=/%20/g;function os(e){return encodeURI(""+e).replace(Rf,"|").replace(Lf,"[").replace(Af,"]")}function Df(e){return os(e).replace(Wl,"{").replace(Ul,"}").replace(Bl,"^")}function Ro(e){return os(e).replace(Fl,"%2B").replace(Of,"+").replace(jl,"%23").replace(Pf,"%26").replace(Tf,"`").replace(Wl,"{").replace(Ul,"}").replace(Bl,"^")}function If(e){return Ro(e).replace(kf,"%3D")}function Mf(e){return os(e).replace(jl,"%23").replace(xf,"%3F")}function $f(e){return e==null?"":Mf(e).replace(Ef,"%2F")}function Kn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Nf=/\/$/,Hf=e=>e.replace(Nf,"");function mo(e,t,n="/"){let r,o={},s="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(r=t.slice(0,a),s=t.slice(a+1,l>-1?l:t.length),o=e(s)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=Bf(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:Kn(i)}}function Vf(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function si(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function jf(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&wn(t.matched[r],n.matched[o])&&Gl(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function wn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Gl(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Ff(e[n],t[n]))return!1;return!0}function Ff(e,t){return it(e)?ii(e,t):it(t)?ii(t,e):e===t}function ii(e,t){return it(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Bf(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,l;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i).join("/")}const vt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var qn;(function(e){e.pop="pop",e.push="push"})(qn||(qn={}));var jn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(jn||(jn={}));function Wf(e){if(!e)if(un){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Hf(e)}const Uf=/^[^#]+#/;function Gf(e,t){return e.replace(Uf,"#")+t}function Kf(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Qr=()=>({left:window.scrollX,top:window.scrollY});function qf(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Kf(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function li(e,t){return(history.state?history.state.position-t:-1)+e}const Oo=new Map;function zf(e,t){Oo.set(e,t)}function Jf(e){const t=Oo.get(e);return Oo.delete(e),t}let Qf=()=>location.protocol+"//"+location.host;function Kl(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let l=o.includes(e.slice(s))?e.slice(s).length:1,a=o.slice(l);return a[0]!=="/"&&(a="/"+a),si(a,"")}return si(n,e)+r+o}function Yf(e,t,n,r){let o=[],s=[],i=null;const l=({state:p})=>{const g=Kl(e,location),_=n.value,y=t.value;let P=0;if(p){if(n.value=g,t.value=p,i&&i===_){i=null;return}P=y?p.position-y.position:0}else r(g);o.forEach(A=>{A(n.value,_,{delta:P,type:qn.pop,direction:P?P>0?jn.forward:jn.back:jn.unknown})})};function a(){i=n.value}function u(p){o.push(p);const g=()=>{const _=o.indexOf(p);_>-1&&o.splice(_,1)};return s.push(g),g}function f(){const{history:p}=window;p.state&&p.replaceState(ge({},p.state,{scroll:Qr()}),"")}function c(){for(const p of s)p();s=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:a,listen:u,destroy:c}}function ai(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Qr():null}}function Xf(e){const{history:t,location:n}=window,r={value:Kl(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(a,u,f){const c=e.indexOf("#"),p=c>-1?(n.host&&document.querySelector("base")?e:e.slice(c))+a:Qf()+e+a;try{t[f?"replaceState":"pushState"](u,"",p),o.value=u}catch(g){console.error(g),n[f?"replace":"assign"](p)}}function i(a,u){const f=ge({},t.state,ai(o.value.back,a,o.value.forward,!0),u,{position:o.value.position});s(a,f,!0),r.value=a}function l(a,u){const f=ge({},o.value,t.state,{forward:a,scroll:Qr()});s(f.current,f,!0);const c=ge({},ai(r.value,a,null),{position:f.position+1},u);s(a,c,!1),r.value=a}return{location:r,state:o,push:l,replace:i}}function Zf(e){e=Wf(e);const t=Xf(e),n=Yf(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=ge({location:"",base:e,go:r,createHref:Gf.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function ed(e){return typeof e=="string"||e&&typeof e=="object"}function ql(e){return typeof e=="string"||typeof e=="symbol"}const zl=Symbol("");var ci;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ci||(ci={}));function Sn(e,t){return ge(new Error,{type:e,[zl]:!0},t)}function gt(e,t){return e instanceof Error&&zl in e&&(t==null||!!(e.type&t))}const ui="[^/]+?",td={sensitive:!1,strict:!1,start:!0,end:!0},nd=/[.+*?^${}()[\]/\\]/g;function rd(e,t){const n=ge({},td,t),r=[];let o=n.start?"^":"";const s=[];for(const u of e){const f=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let c=0;ct.length?t.length===1&&t[0]===80?1:-1:0}function Jl(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const sd={type:0,value:""},id=/[a-zA-Z0-9_]/;function ld(e){if(!e)return[[]];if(e==="/")return[[sd]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${u}": ${g}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let l=0,a,u="",f="";function c(){u&&(n===0?s.push({type:0,value:u}):n===1||n===2||n===3?(s.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:u,regexp:f,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),u="")}function p(){u+=a}for(;l{i(m)}:Vn}function i(c){if(ql(c)){const p=r.get(c);p&&(r.delete(c),n.splice(n.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=n.indexOf(c);p>-1&&(n.splice(p,1),c.record.name&&r.delete(c.record.name),c.children.forEach(i),c.alias.forEach(i))}}function l(){return n}function a(c){const p=hd(c,n);n.splice(p,0,c),c.record.name&&!hi(c)&&r.set(c.record.name,c)}function u(c,p){let g,_={},y,P;if("name"in c&&c.name){if(g=r.get(c.name),!g)throw Sn(1,{location:c});P=g.record.name,_=ge(di(p.params,g.keys.filter(m=>!m.optional).concat(g.parent?g.parent.keys.filter(m=>m.optional):[]).map(m=>m.name)),c.params&&di(c.params,g.keys.map(m=>m.name))),y=g.stringify(_)}else if(c.path!=null)y=c.path,g=n.find(m=>m.re.test(y)),g&&(_=g.parse(y),P=g.record.name);else{if(g=p.name?r.get(p.name):n.find(m=>m.re.test(p.path)),!g)throw Sn(1,{location:c,currentLocation:p});P=g.record.name,_=ge({},p.params,c.params),y=g.stringify(_)}const A=[];let b=g;for(;b;)A.unshift(b.record),b=b.parent;return{name:P,path:y,params:_,matched:A,meta:dd(A)}}e.forEach(c=>s(c));function f(){n.length=0,r.clear()}return{addRoute:s,resolve:u,removeRoute:i,clearRoutes:f,getRoutes:l,getRecordMatcher:o}}function di(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function ud(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:fd(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function fd(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function hi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function dd(e){return e.reduce((t,n)=>ge(t,n.meta),{})}function pi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function hd(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;Jl(e,t[s])<0?r=s:n=s+1}const o=pd(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function pd(e){let t=e;for(;t=t.parent;)if(Ql(t)&&Jl(e,t)===0)return t}function Ql({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function gd(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&Ro(s)):[r&&Ro(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function md(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=it(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const vd=Symbol(""),mi=Symbol(""),Yr=Symbol(""),ss=Symbol(""),Do=Symbol("");function Tn(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Rt(e,t,n,r,o,s=i=>i()){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const u=p=>{p===!1?a(Sn(4,{from:n,to:t})):p instanceof Error?a(p):ed(p)?a(Sn(2,{from:t,to:p})):(i&&r.enterCallbacks[o]===i&&typeof p=="function"&&i.push(p),l())},f=s(()=>e.call(r&&r.instances[o],t,n,u));let c=Promise.resolve(f);e.length<3&&(c=c.then(u)),c.catch(p=>a(p))})}function vo(e,t,n,r,o=s=>s()){const s=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(_d(a)){const f=(a.__vccOpts||a)[t];f&&s.push(Rt(f,n,r,i,l,o))}else{let u=a();s.push(()=>u.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${l}" at "${i.path}"`));const c=Cf(f)?f.default:f;i.components[l]=c;const g=(c.__vccOpts||c)[t];return g&&Rt(g,n,r,i,l,o)()}))}}return s}function _d(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function vi(e){const t=Ue(Yr),n=Ue(ss),r=R(()=>{const a=It(e.to);return t.resolve(a)}),o=R(()=>{const{matched:a}=r.value,{length:u}=a,f=a[u-1],c=n.matched;if(!f||!c.length)return-1;const p=c.findIndex(wn.bind(null,f));if(p>-1)return p;const g=_i(a[u-2]);return u>1&&_i(f)===g&&c[c.length-1].path!==g?c.findIndex(wn.bind(null,a[u-2])):p}),s=R(()=>o.value>-1&&Sd(n.params,r.value.params)),i=R(()=>o.value>-1&&o.value===n.matched.length-1&&Gl(n.params,r.value.params));function l(a={}){return wd(a)?t[It(e.replace)?"replace":"push"](It(e.to)).catch(Vn):Promise.resolve()}return{route:r,href:R(()=>r.value.href),isActive:s,isExactActive:i,navigate:l}}const bd=de({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:vi,setup(e,{slots:t}){const n=Zn(vi(e)),{options:r}=Ue(Yr),o=R(()=>({[bi(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[bi(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:Pe("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),yd=bd;function wd(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Sd(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!it(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function _i(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const bi=(e,t,n)=>e??t??n,Cd=de({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ue(Do),o=R(()=>e.route||r.value),s=Ue(mi,0),i=R(()=>{let u=It(s);const{matched:f}=o.value;let c;for(;(c=f[u])&&!c.components;)u++;return u}),l=R(()=>o.value.matched[i.value]);tn(mi,R(()=>i.value+1)),tn(vd,l),tn(Do,o);const a=le();return Te(()=>[a.value,l.value,e.name],([u,f,c],[p,g,_])=>{f&&(f.instances[c]=u,g&&g!==f&&u&&u===p&&(f.leaveGuards.size||(f.leaveGuards=g.leaveGuards),f.updateGuards.size||(f.updateGuards=g.updateGuards))),u&&f&&(!g||!wn(f,g)||!p)&&(f.enterCallbacks[c]||[]).forEach(y=>y(u))},{flush:"post"}),()=>{const u=o.value,f=e.name,c=l.value,p=c&&c.components[f];if(!p)return yi(n.default,{Component:p,route:u});const g=c.props[f],_=g?g===!0?u.params:typeof g=="function"?g(u):g:null,P=Pe(p,ge({},_,t,{onVnodeUnmounted:A=>{A.component.isUnmounted&&(c.instances[f]=null)},ref:a}));return yi(n.default,{Component:P,route:u})||P}}});function yi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Pd=Cd;function Ed(e){const t=cd(e.routes,e),n=e.parseQuery||gd,r=e.stringifyQuery||gi,o=e.history,s=Tn(),i=Tn(),l=Tn(),a=yt(vt);let u=vt;un&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=go.bind(null,E=>""+E),c=go.bind(null,$f),p=go.bind(null,Kn);function g(E,B){let j,K;return ql(E)?(j=t.getRecordMatcher(E),K=B):K=E,t.addRoute(K,j)}function _(E){const B=t.getRecordMatcher(E);B&&t.removeRoute(B)}function y(){return t.getRoutes().map(E=>E.record)}function P(E){return!!t.getRecordMatcher(E)}function A(E,B){if(B=ge({},B||a.value),typeof E=="string"){const h=mo(n,E,B.path),v=t.resolve({path:h.path},B),k=o.createHref(h.fullPath);return ge(h,v,{params:p(v.params),hash:Kn(h.hash),redirectedFrom:void 0,href:k})}let j;if(E.path!=null)j=ge({},E,{path:mo(n,E.path,B.path).path});else{const h=ge({},E.params);for(const v in h)h[v]==null&&delete h[v];j=ge({},E,{params:c(h)}),B.params=c(B.params)}const K=t.resolve(j,B),he=E.hash||"";K.params=f(p(K.params));const Se=Vf(r,ge({},E,{hash:Df(he),path:K.path})),d=o.createHref(Se);return ge({fullPath:Se,hash:he,query:r===gi?md(E.query):E.query||{}},K,{redirectedFrom:void 0,href:d})}function b(E){return typeof E=="string"?mo(n,E,a.value.path):ge({},E)}function m(E,B){if(u!==E)return Sn(8,{from:B,to:E})}function S(E){return G(E)}function V(E){return S(ge(b(E),{replace:!0}))}function O(E){const B=E.matched[E.matched.length-1];if(B&&B.redirect){const{redirect:j}=B;let K=typeof j=="function"?j(E):j;return typeof K=="string"&&(K=K.includes("?")||K.includes("#")?K=b(K):{path:K},K.params={}),ge({query:E.query,hash:E.hash,params:K.path!=null?{}:E.params},K)}}function G(E,B){const j=u=A(E),K=a.value,he=E.state,Se=E.force,d=E.replace===!0,h=O(j);if(h)return G(ge(b(h),{state:typeof h=="object"?ge({},he,h.state):he,force:Se,replace:d}),B||j);const v=j;v.redirectedFrom=B;let k;return!Se&&jf(r,K,j)&&(k=Sn(16,{to:v,from:K}),ut(K,K,!0,!1)),(k?Promise.resolve(k):w(v,K)).catch(C=>gt(C)?gt(C,2)?C:Pt(C):Y(C,v,K)).then(C=>{if(C){if(gt(C,2))return G(ge({replace:d},b(C.to),{state:typeof C.to=="object"?ge({},he,C.to.state):he,force:Se}),B||v)}else C=x(v,K,!0,d,he);return $(v,K,C),C})}function Q(E,B){const j=m(E,B);return j?Promise.reject(j):Promise.resolve()}function F(E){const B=ln.values().next().value;return B&&typeof B.runWithContext=="function"?B.runWithContext(E):E()}function w(E,B){let j;const[K,he,Se]=kd(E,B);j=vo(K.reverse(),"beforeRouteLeave",E,B);for(const h of K)h.leaveGuards.forEach(v=>{j.push(Rt(v,E,B))});const d=Q.bind(null,E,B);return j.push(d),Xe(j).then(()=>{j=[];for(const h of s.list())j.push(Rt(h,E,B));return j.push(d),Xe(j)}).then(()=>{j=vo(he,"beforeRouteUpdate",E,B);for(const h of he)h.updateGuards.forEach(v=>{j.push(Rt(v,E,B))});return j.push(d),Xe(j)}).then(()=>{j=[];for(const h of Se)if(h.beforeEnter)if(it(h.beforeEnter))for(const v of h.beforeEnter)j.push(Rt(v,E,B));else j.push(Rt(h.beforeEnter,E,B));return j.push(d),Xe(j)}).then(()=>(E.matched.forEach(h=>h.enterCallbacks={}),j=vo(Se,"beforeRouteEnter",E,B,F),j.push(d),Xe(j))).then(()=>{j=[];for(const h of i.list())j.push(Rt(h,E,B));return j.push(d),Xe(j)}).catch(h=>gt(h,8)?h:Promise.reject(h))}function $(E,B,j){l.list().forEach(K=>F(()=>K(E,B,j)))}function x(E,B,j,K,he){const Se=m(E,B);if(Se)return Se;const d=B===vt,h=un?history.state:{};j&&(K||d?o.replace(E.fullPath,ge({scroll:d&&h&&h.scroll},he)):o.push(E.fullPath,he)),a.value=E,ut(E,B,j,d),Pt()}let ee;function me(){ee||(ee=o.listen((E,B,j)=>{if(!cr.listening)return;const K=A(E),he=O(K);if(he){G(ge(he,{replace:!0}),K).catch(Vn);return}u=K;const Se=a.value;un&&zf(li(Se.fullPath,j.delta),Qr()),w(K,Se).catch(d=>gt(d,12)?d:gt(d,2)?(G(d.to,K).then(h=>{gt(h,20)&&!j.delta&&j.type===qn.pop&&o.go(-1,!1)}).catch(Vn),Promise.reject()):(j.delta&&o.go(-j.delta,!1),Y(d,K,Se))).then(d=>{d=d||x(K,Se,!1),d&&(j.delta&&!gt(d,8)?o.go(-j.delta,!1):j.type===qn.pop&>(d,20)&&o.go(-1,!1)),$(K,Se,d)}).catch(Vn)}))}let ve=Tn(),z=Tn(),oe;function Y(E,B,j){Pt(E);const K=z.list();return K.length?K.forEach(he=>he(E,B,j)):console.error(E),Promise.reject(E)}function Oe(){return oe&&a.value!==vt?Promise.resolve():new Promise((E,B)=>{ve.add([E,B])})}function Pt(E){return oe||(oe=!E,me(),ve.list().forEach(([B,j])=>E?j(E):B()),ve.reset()),E}function ut(E,B,j,K){const{scrollBehavior:he}=e;if(!un||!he)return Promise.resolve();const Se=!j&&Jf(li(E.fullPath,0))||(K||!j)&&history.state&&history.state.scroll||null;return Ut().then(()=>he(E,B,Se)).then(d=>d&&qf(d)).catch(d=>Y(d,E,B))}const Ge=E=>o.go(E);let sn;const ln=new Set,cr={currentRoute:a,listening:!0,addRoute:g,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:P,getRoutes:y,resolve:A,options:e,push:S,replace:V,go:Ge,back:()=>Ge(-1),forward:()=>Ge(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:z.add,isReady:Oe,install(E){const B=this;E.component("RouterLink",yd),E.component("RouterView",Pd),E.config.globalProperties.$router=B,Object.defineProperty(E.config.globalProperties,"$route",{enumerable:!0,get:()=>It(a)}),un&&!sn&&a.value===vt&&(sn=!0,S(o.location).catch(he=>{}));const j={};for(const he in vt)Object.defineProperty(j,he,{get:()=>a.value[he],enumerable:!0});E.provide(Yr,B),E.provide(ss,Xi(j)),E.provide(Do,a);const K=E.unmount;ln.add(E),E.unmount=function(){ln.delete(E),ln.size<1&&(u=vt,ee&&ee(),ee=null,a.value=vt,sn=!1,oe=!1),K()}}};function Xe(E){return E.reduce((B,j)=>B.then(()=>F(j)),Promise.resolve())}return cr}function kd(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;iwn(u,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(u=>wn(u,a))||o.push(a))}return[n,r,o]}function on(){return Ue(Yr)}function Ct(e){return Ue(ss)}var is=Symbol(""),pt=()=>{const e=Ue(is);if(!e)throw new Error("useClientData() is called without provider.");return e},xd=()=>pt().pageComponent,Pn=()=>pt().pageData,ct=()=>pt().pageFrontmatter,Ld=()=>pt().pageHead,Ad=()=>pt().pageLang,Td=()=>pt().pageLayout,ar=()=>pt().routeLocale,Rd=()=>pt().routes,Yl=()=>pt().siteData,ls=()=>pt().siteLocaleData,Od=Symbol(""),Io=yt(wf),_n=yt(Sf),Xl=(e,t)=>{const n=ff(e,t);if(_n.value[n])return n;const r=encodeURI(n);if(_n.value[r])return r;const o=Io.value[n]||Io.value[r];return o||n},zn=(e,t)=>{const{pathname:n,hashAndQueries:r}=Nl(e),o=Xl(n,t),s=o+r;return _n.value[o]?{..._n.value[o],path:s,notFound:!1}:{..._n.value["/404.html"],path:s,notFound:!0}},Dd=(e,t)=>{const{pathname:n,hashAndQueries:r}=Nl(e);return Xl(n,t)+r},Id=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget){const t=e.currentTarget.getAttribute("target");if(t!=null&&t.match(/\b_blank\b/i))return}return e.preventDefault(),!0}},Xr=de({name:"RouteLink",props:{to:{type:String,required:!0},active:Boolean,activeClass:{type:String,default:"route-link-active"}},slots:Object,setup(e,{slots:t}){const n=on(),r=Ct(),o=R(()=>e.to.startsWith("#")||e.to.startsWith("?")?e.to:`/${Dd(e.to,r.path).substring(1)}`);return()=>{var s;return Pe("a",{class:["route-link",{[e.activeClass]:e.active}],href:o.value,onClick:(i={})=>{Id(i)&&n.push(e.to).catch()}},(s=t.default)==null?void 0:s.call(t))}}}),En=de({name:"AutoLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=fc(e,"config"),r=Ct(),o=Yl(),s=R(()=>lr(n.value.link)),i=R(()=>n.value.target||(s.value?"_blank":void 0)),l=R(()=>i.value==="_blank"),a=R(()=>!s.value&&!l.value),u=R(()=>n.value.rel||(l.value?"noopener noreferrer":null)),f=R(()=>n.value.ariaLabel??n.value.text),c=R(()=>{if(n.value.exact)return!1;const g=Object.keys(o.value.locales);return g.length?g.every(_=>_!==n.value.link):n.value.link!=="/"}),p=R(()=>a.value?n.value.activeMatch?(n.value.activeMatch instanceof RegExp?n.value.activeMatch:new RegExp(n.value.activeMatch,"u")).test(r.path):c.value?r.path.startsWith(n.value.link):r.path===n.value.link:!1);return()=>{const{before:g,after:_,default:y}=t,P=(y==null?void 0:y(n.value))||[g==null?void 0:g(n.value),n.value.text,_==null?void 0:_(n.value)];return a.value?Pe(Xr,{class:"auto-link",to:n.value.link,active:p.value,"aria-label":f.value},()=>P):Pe("a",{class:"auto-link external-link",href:n.value.link,"aria-label":f.value,rel:u.value,target:i.value},P)}}}),as=de({name:"ClientOnly",setup(e,t){const n=le(!1);return je(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),cs=de({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=xd(),n=R(()=>{if(!e.path)return t.value;const r=zn(e.path);return Sc(()=>r.loader().then(({comp:o})=>o))});return()=>Pe(n.value)}}),Md="Layout",$d="en-US",Jt=Zn({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=st(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return vf(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||$d,resolvePageLayout:(e,t)=>{const n=st(e.frontmatter.layout)?e.frontmatter.layout:Md;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>df(e,decodeURI(t)),resolveSiteLocaleData:({base:e,locales:t,...n},r)=>{var o;return{...n,...t[r],head:[...((o=t[r])==null?void 0:o.head)??[],...n.head??[]]}}}),Gt=(e={})=>e,us=e=>Jr(e)?e:`/${Vl(e)}`;function Zr(e){return Fo()?(ji(e),!0):!1}function lt(e){return typeof e=="function"?e():It(e)}const fs=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Nd=Object.prototype.toString,Hd=e=>Nd.call(e)==="[object Object]",Mo=()=>{};function Zl(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const ea=e=>e();function Vd(e,t={}){let n,r,o=Mo;const s=l=>{clearTimeout(l),o(),o=Mo};return l=>{const a=lt(e),u=lt(t.maxWait);return n&&s(n),a<=0||u!==void 0&&u<=0?(r&&(s(r),r=null),Promise.resolve(l())):new Promise((f,c)=>{o=t.rejectOnCancel?c:f,u&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,f(l())},u)),n=setTimeout(()=>{r&&s(r),r=null,f(l())},a)})}}function jd(e=ea){const t=le(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:er(t),pause:n,resume:r,eventFilter:o}}function Fd(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const r=t;t=void 0,r&&await r},n}function Bd(e){return rr()}function Wd(e,t=200,n={}){return Zl(Vd(t,n),e)}function Ud(e,t,n={}){const{eventFilter:r=ea,...o}=n;return Te(e,Zl(r,t),o)}function Gd(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:l,isActive:a}=jd(r);return{stop:Ud(e,t,{...o,eventFilter:s}),pause:i,resume:l,isActive:a}}function ds(e,t=!0,n){Bd()?je(e,n):t?e():Ut(e)}function Kd(e,t,n={}){const{immediate:r=!0}=n,o=le(!1);let s=null;function i(){s&&(clearTimeout(s),s=null)}function l(){o.value=!1,i()}function a(...u){i(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...u)},lt(t))}return r&&(o.value=!0,fs&&a()),Zr(l),{isPending:er(o),start:a,stop:l}}function qd(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=He(e),s=le(e);function i(l){if(arguments.length)return s.value=l,s.value;{const a=lt(n);return s.value=s.value===a?lt(r):a,s.value}}return o?i:[s,i]}function Xt(e){var t;const n=lt(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Vt=fs?window:void 0,ta=fs?window.navigator:void 0;function at(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=Vt):[t,n,r,o]=e,!t)return Mo;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(f=>f()),s.length=0},l=(f,c,p,g)=>(f.addEventListener(c,p,g),()=>f.removeEventListener(c,p,g)),a=Te(()=>[Xt(t),lt(o)],([f,c])=>{if(i(),!f)return;const p=Hd(c)?{...c}:c;s.push(...n.flatMap(g=>r.map(_=>l(f,g,_,p))))},{immediate:!0,flush:"post"}),u=()=>{a(),i()};return Zr(u),u}function zd(){const e=le(!1),t=rr();return t&&je(()=>{e.value=!0},t),e}function eo(e){const t=zd();return R(()=>(t.value,!!e()))}function hs(e,t={}){const{window:n=Vt}=t,r=eo(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=le(!1),i=u=>{s.value=u.matches},l=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",i):o.removeListener(i))},a=iu(()=>{r.value&&(l(),o=n.matchMedia(lt(e)),"addEventListener"in o?o.addEventListener("change",i):o.addListener(i),s.value=o.matches)});return Zr(()=>{a(),l(),o=void 0}),s}function wi(e,t={}){const{controls:n=!1,navigator:r=ta}=t,o=eo(()=>r&&"permissions"in r),s=yt(),i=typeof e=="string"?{name:e}:e,l=yt(),a=()=>{var f,c;l.value=(c=(f=s.value)==null?void 0:f.state)!=null?c:"prompt"};at(s,"change",a);const u=Fd(async()=>{if(o.value){if(!s.value)try{s.value=await r.permissions.query(i)}catch{s.value=void 0}finally{a()}if(n)return ue(s.value)}});return u(),n?{state:l,isSupported:o,query:u}:l}function Jd(e={}){const{navigator:t=ta,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=eo(()=>t&&"clipboard"in t),l=wi("clipboard-read"),a=wi("clipboard-write"),u=R(()=>i.value||s),f=le(""),c=le(!1),p=Kd(()=>c.value=!1,o);function g(){i.value&&A(l.value)?t.clipboard.readText().then(b=>{f.value=b}):f.value=P()}u.value&&n&&at(["copy","cut"],g);async function _(b=lt(r)){u.value&&b!=null&&(i.value&&A(a.value)?await t.clipboard.writeText(b):y(b),f.value=b,c.value=!0,p.start())}function y(b){const m=document.createElement("textarea");m.value=b??"",m.style.position="absolute",m.style.opacity="0",document.body.appendChild(m),m.select(),document.execCommand("copy"),m.remove()}function P(){var b,m,S;return(S=(m=(b=document==null?void 0:document.getSelection)==null?void 0:b.call(document))==null?void 0:m.toString())!=null?S:""}function A(b){return b==="granted"||b==="prompt"}return{isSupported:u,text:f,copied:c,copy:_}}const br=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},yr="__vueuse_ssr_handlers__",Qd=Yd();function Yd(){return yr in br||(br[yr]=br[yr]||{}),br[yr]}function Xd(e,t){return Qd[e]||t}function Zd(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 eh={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()}},Si="vueuse-storage";function na(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:u=!1,shallow:f,window:c=Vt,eventFilter:p,onError:g=w=>{console.error(w)},initOnMounted:_}=r,y=(f?yt:le)(typeof t=="function"?t():t);if(!n)try{n=Xd("getDefaultStorage",()=>{var w;return(w=Vt)==null?void 0:w.localStorage})()}catch(w){g(w)}if(!n)return y;const P=lt(t),A=Zd(P),b=(o=r.serializer)!=null?o:eh[A],{pause:m,resume:S}=Gd(y,()=>O(y.value),{flush:s,deep:i,eventFilter:p});c&&l&&ds(()=>{n instanceof Storage?at(c,"storage",Q):at(c,Si,F),_&&Q()}),_||Q();function V(w,$){if(c){const x={key:e,oldValue:w,newValue:$,storageArea:n};c.dispatchEvent(n instanceof Storage?new StorageEvent("storage",x):new CustomEvent(Si,{detail:x}))}}function O(w){try{const $=n.getItem(e);if(w==null)V($,null),n.removeItem(e);else{const x=b.write(w);$!==x&&(n.setItem(e,x),V($,x))}}catch($){g($)}}function G(w){const $=w?w.newValue:n.getItem(e);if($==null)return a&&P!=null&&n.setItem(e,b.write(P)),P;if(!w&&u){const x=b.read($);return typeof u=="function"?u(x,P):A==="object"&&!Array.isArray(x)?{...P,...x}:x}else return typeof $!="string"?$:b.read($)}function Q(w){if(!(w&&w.storageArea!==n)){if(w&&w.key==null){y.value=P;return}if(!(w&&w.key!==e)){m();try{(w==null?void 0:w.newValue)!==b.write(y.value)&&(y.value=G(w))}catch($){g($)}finally{w?Ut(S):S()}}}}function F(w){Q(w.detail)}return y}function th(e){return hs("(prefers-color-scheme: dark)",e)}function nh(e,t,n={}){const{window:r=Vt,...o}=n;let s;const i=eo(()=>r&&"ResizeObserver"in r),l=()=>{s&&(s.disconnect(),s=void 0)},a=R(()=>{const c=lt(e);return Array.isArray(c)?c.map(p=>Xt(p)):[Xt(c)]}),u=Te(a,c=>{if(l(),i.value&&r){s=new ResizeObserver(t);for(const p of c)p&&s.observe(p,o)}},{immediate:!0,flush:"post"}),f=()=>{l(),u()};return Zr(f),{isSupported:i,stop:f}}function rh(e,t={width:0,height:0},n={}){const{window:r=Vt,box:o="content-box"}=n,s=R(()=>{var c,p;return(p=(c=Xt(e))==null?void 0:c.namespaceURI)==null?void 0:p.includes("svg")}),i=le(t.width),l=le(t.height),{stop:a}=nh(e,([c])=>{const p=o==="border-box"?c.borderBoxSize:o==="content-box"?c.contentBoxSize:c.devicePixelContentBoxSize;if(r&&s.value){const g=Xt(e);if(g){const _=g.getBoundingClientRect();i.value=_.width,l.value=_.height}}else if(p){const g=Array.isArray(p)?p:[p];i.value=g.reduce((_,{inlineSize:y})=>_+y,0),l.value=g.reduce((_,{blockSize:y})=>_+y,0)}else i.value=c.contentRect.width,l.value=c.contentRect.height},n);ds(()=>{const c=Xt(e);c&&(i.value="offsetWidth"in c?c.offsetWidth:t.width,l.value="offsetHeight"in c?c.offsetHeight:t.height)});const u=Te(()=>Xt(e),c=>{i.value=c?t.width:0,l.value=c?t.height:0});function f(){a(),u()}return{width:i,height:l,stop:f}}function oh(e={}){const{window:t=Vt,behavior:n="auto"}=e;if(!t)return{x:le(0),y:le(0)};const r=le(t.scrollX),o=le(t.scrollY),s=R({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=R({get(){return o.value},set(l){scrollTo({top:l,behavior:n})}});return at(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:s,y:i}}function sh(e={}){const{window:t=Vt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0,type:i="inner"}=e,l=le(n),a=le(r),u=()=>{t&&(i==="outer"?(l.value=t.outerWidth,a.value=t.outerHeight):s?(l.value=t.innerWidth,a.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,a.value=t.document.documentElement.clientHeight))};if(u(),ds(u),at("resize",u,{passive:!0}),o){const f=hs("(orientation: portrait)");Te(f,()=>u())}return{width:l,height:a}}const Ci=async(e,t)=>{const{path:n,query:r}=e.currentRoute.value,{scrollBehavior:o}=e.options;e.options.scrollBehavior=void 0,await e.replace({path:n,query:r,hash:t}),e.options.scrollBehavior=o},ih=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=on();at("scroll",Wd(()=>{var _,y;const i=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(i-0)c.some(A=>A.hash===P.hash));for(let P=0;P=(((_=A.parentElement)==null?void 0:_.offsetTop)??0)-r,S=!b||i<(((y=b.parentElement)==null?void 0:y.offsetTop)??0)-r;if(!(m&&S))continue;const O=decodeURIComponent(o.currentRoute.value.hash),G=decodeURIComponent(A.hash);if(O===G)return;if(f){for(let Q=P+1;Q{const t=ar();return R(()=>e[t.value]??{})},hh=()=>{const e=Rd();return R(()=>Object.keys(e.value))},_o=(e,t)=>{var r;const n=(r=rr())==null?void 0:r.appContext.components;return n?e in n||Ye(e)in n||Yn(Ye(e))in n:!1},ph=e=>new Promise(t=>{setTimeout(t,e)}),gh=(e,t=2)=>{if(t===!1)return[];const[n,r]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t,o=e.filter(i=>i.level>=n&&i.level<=r),s=[];e:for(let i=0;i=0;a--){const u=o[a];if(u.level{let n;if(t.length){const r=e.cloneNode(!0);r.querySelectorAll(t.join(",")).forEach(o=>{o.remove()}),n=r.textContent||""}else n=e.textContent||"";return n.trim()},vh=({selector:e=[...new Array(6)].map((r,o)=>`[vp-content] h${o+1}`).join(","),levels:t=2,ignore:n=[]}={})=>{const r=Array.from(document.querySelectorAll(e)).filter(o=>o.id&&o.hasChildNodes()).map(o=>{const s=Number(o.tagName[1]);return{element:o,title:mh(o,n),link:`#${o.id}`,slug:o.id,level:s}});return gh(r,t)},_h=e=>typeof e<"u",oa=(e,t)=>st(e)&&e.startsWith(t),{keys:bh}=Object,sa=e=>oa(e,"/");var yh={"/eng/":{backToTop:"Back to top"},"/":{backToTop:"Вернуться к началу"}};const wh=de({name:"BackToTop",setup(){const e=ct(),t=ra(yh),n=yt(),{height:r}=rh(n),{height:o}=sh(),{y:s}=oh(),i=R(()=>e.value.backToTop!==!1&&s.value>100),l=R(()=>s.value/(r.value-o.value)*100);return je(()=>{n.value=document.body}),()=>Pe(ir,{name:"back-to-top"},()=>i.value?Pe("button",{type:"button",class:"vp-back-to-top-button","aria-label":t.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[Pe("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":l.value},Pe("svg",Pe("circle",{cx:"26",cy:"26",r:"24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-dasharray":`${Math.PI*l.value*.48} ${Math.PI*(100-l.value)*.48}`}))),Pe("div",{class:"back-to-top-icon"})]):null)}}),Sh=Gt({rootComponents:[wh]}),Ch=Object.freeze(Object.defineProperty({__proto__:null,default:Sh},Symbol.toStringTag,{value:"Module"})),Ph=/language-(shellscript|shell|bash|sh|zsh)/,Eh=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o,ignoreSelector:s=[],transform:i})=>{const l=hs("(max-width: 419px)"),a=R(()=>!l.value||o),u=ra(n),f=Pn(),c=P=>{var b;if(P.hasAttribute("copy-code"))return;const A=document.createElement("button");A.type="button",A.classList.add("vp-copy-code-button"),A.setAttribute("aria-label",u.value.copy),A.setAttribute("data-copied",u.value.copied),(b=P.parentElement)==null||b.insertBefore(A,P),P.setAttribute("copy-code","")};Te(()=>[f.value.path,a.value],async()=>{document.body.classList.toggle("no-copy-code",!a.value),a.value&&(await Ut(),await ph(e),document.querySelectorAll(r.join(",")).forEach(c))},{immediate:!0});const{copy:g}=Jd({legacy:!0}),_=new WeakMap,y=async(P,A,b)=>{const m=A.cloneNode(!0);s.length&&m.querySelectorAll(s.join(",")).forEach(O=>{O.remove()}),i&&i(m);let S=m.textContent||"";if(Ph.test(P.className)&&(S=S.replace(/^ *(\$|>) /gm,"")),await g(S),t<=0)return;b.classList.add("copied"),clearTimeout(_.get(b));const V=setTimeout(()=>{b.classList.remove("copied"),b.blur(),_.delete(b)},t);_.set(b,V)};at("click",P=>{const A=P.target;if(a.value&&A.matches('div[class*="language-"] > button.vp-copy-code-button')){const b=A.parentElement,m=A.nextElementSibling;if(!b||!m)return;y(b,m,A)}})};var kh=[],xh={"/eng/":{copy:"Copy code",copied:"Copied"},"/":{copy:"Скопировать код",copied:"Скопировано"}},Lh=['[vp-content] div[class*="language-"] pre'];const Ah=Gt({setup:()=>{Eh({selector:Lh,ignoreSelector:kh,locales:xh,duration:2e3,delay:500,showInMobile:!1})}}),Th=Object.freeze(Object.defineProperty({__proto__:null,default:Ah},Symbol.toStringTag,{value:"Module"})),Rh=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));/** - * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress - * @license MIT - */const Pi=(e,t)=>{e.classList.add(t)},Ei=(e,t)=>{e.classList.remove(t)},Oh=e=>{var t;(t=e==null?void 0:e.parentNode)==null||t.removeChild(e)},bo=(e,t,n)=>en?n:e,ki=e=>(-1+e)*100,Dh=(()=>{const e=[],t=()=>{const n=e.shift();n&&n(t)};return n=>{e.push(n),e.length===1&&t()}})(),Ih=e=>e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(t,n)=>n.toUpperCase()),wr=(()=>{const e=["Webkit","O","Moz","ms"],t={},n=s=>{const{style:i}=document.body;if(s in i)return s;const l=s.charAt(0).toUpperCase()+s.slice(1);let a=e.length;for(;a--;){const u=`${e[a]}${l}`;if(u in i)return u}return s},r=s=>{const i=Ih(s);return t[i]??(t[i]=n(i))},o=(s,i,l)=>{s.style[r(i)]=l};return(s,i)=>{for(const l in i){const a=i[l];Object.hasOwn(i,l)&&_h(a)&&o(s,l,a)}}})(),mt={minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},Ee={percent:null,isRendered:()=>!!document.getElementById("nprogress"),set:e=>{const{speed:t,easing:n}=mt,r=Ee.isStarted(),o=bo(e,mt.minimum,1);Ee.percent=o===1?null:o;const s=Ee.render(!r),i=s.querySelector(mt.barSelector);return s.offsetWidth,Dh(l=>{wr(i,{transform:`translate3d(${ki(o)}%,0,0)`,transition:`all ${t}ms ${n}`}),o===1?(wr(s,{transition:"none",opacity:"1"}),s.offsetWidth,setTimeout(()=>{wr(s,{transition:`all ${t}ms linear`,opacity:"0"}),setTimeout(()=>{Ee.remove(),l()},t)},t)):setTimeout(()=>{l()},t)}),Ee},isStarted:()=>typeof Ee.percent=="number",start:()=>{Ee.percent||Ee.set(0);const e=()=>{setTimeout(()=>{Ee.percent&&(Ee.trickle(),e())},mt.trickleSpeed)};return e(),Ee},done:e=>!e&&!Ee.percent?Ee:Ee.increase(.3+.5*Math.random()).set(1),increase:e=>{let{percent:t}=Ee;return t?(t=bo(t+(typeof e=="number"?e:(1-t)*bo(Math.random()*t,.1,.95)),0,.994),Ee.set(t)):Ee.start()},trickle:()=>Ee.increase(Math.random()*mt.trickleRate),render:e=>{if(Ee.isRendered())return document.getElementById("nprogress");Pi(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=mt.template;const n=t.querySelector(mt.barSelector),r=document.querySelector(mt.parent),o=e?"-100":ki(Ee.percent??0);return wr(n,{transition:"all 0 linear",transform:`translate3d(${o}%,0,0)`}),r&&(r!==document.body&&Pi(r,"nprogress-custom-parent"),r.appendChild(t)),t},remove:()=>{Ei(document.documentElement,"nprogress-busy"),Ei(document.querySelector(mt.parent),"nprogress-custom-parent"),Oh(document.getElementById("nprogress"))}},Mh=()=>{je(()=>{const e=on(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||Ee.start()}),e.afterEach(n=>{t.add(n.path),Ee.done()})})},$h=Gt({setup(){Mh()}}),Nh=Object.freeze(Object.defineProperty({__proto__:null,default:$h},Symbol.toStringTag,{value:"Module"})),Hh=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Vh=JSON.parse(`{"repo":"https://git.pleshevski.ru/pleshevskiy/pleshevski.ru","locales":{"/":{"selectLanguageName":"Русский","navbar":["/","/works"],"notFound":["Верните страницу!","Мы потеряли страницу...","Вы заблокированы в лабиринте.","Искали кота?","Страница украдена.","Ошиблись в параллельной вселенной."],"backToHome":"Вернуться на главную","worksTable":{"name":"Название","description":"Описание","role":"Роль","technologies":"Технологии","status":"Статус","dates":"Даты"}},"/eng/":{"selectLanguageName":"English","navbar":["/eng/","/eng/works"],"notFound":["Return the page!","We lost a page...","You're blocked in a labyrinth.","Looking for a cat?","The page has been stolen.","Wrong turn in parallel universe."],"backToHome":"Back to home","worksTable":{"name":"Name","description":"Description","role":"Role","technologies":"Technologies","status":"Status","dates":"Dates"}}},"colorMode":"auto","colorModeSwitch":true,"navbar":[],"logo":null,"selectLanguageText":"Languages","selectLanguageAriaLabel":"Select language","sidebar":"heading","sidebarDepth":2,"editLink":true,"editLinkText":"Edit this page","lastUpdated":true,"lastUpdatedText":"Last Updated","contributors":true,"contributorsText":"Contributors","notFound":["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],"backToHome":"Take me home","openInNewWindow":"open in new window","toggleColorMode":"toggle color mode","toggleSidebar":"toggle sidebar"}`),jh=le(Vh),ia=()=>jh,la=Symbol(""),Fh=()=>{const e=Ue(la);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},Bh=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},Wh=Gt({enhance({app:e}){const t=ia(),n=e._context.provides[is],r=R(()=>Bh(t.value,n.routeLocale.value));e.provide(la,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),Uh=Object.freeze(Object.defineProperty({__proto__:null,default:Wh},Symbol.toStringTag,{value:"Module"})),Gh=()=>ia(),De=()=>Fh(),aa=Symbol(""),Kh=e=>{const t=(n=e.value)=>{const r=window.document.documentElement;r.dataset.theme=n?"dark":"light"};je(()=>{Te(e,t,{immediate:!0})}),Kr(()=>{t()})},to=()=>{const e=Ue(aa);if(!e)throw new Error("useDarkMode() is called without provider.");return e},qh=()=>{const e=De(),t=th(),n=na("vuepress-color-scheme",e.value.colorMode),r=R({get(){return e.value.colorModeSwitch?n.value==="auto"?t.value:n.value==="dark":e.value.colorMode==="dark"},set(o){o===t.value?n.value="auto":n.value=o?"dark":"light"}});tn(aa,r),Kh(r)};let yo=null,Rn=null;const zh={wait:()=>yo,pending:()=>{yo=new Promise(e=>{Rn=e})},resolve:()=>{Rn==null||Rn(),yo=null,Rn=null}},ca=()=>zh,Cn=(e,t)=>{const{notFound:n,meta:r,path:o}=zn(e,t);return n?{text:o,link:o}:{text:r.title||o,link:o}},xi=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),Jh=(e,t)=>{if(t.hash===e)return!0;const n=xi(t.path),r=xi(e);return n===r},ua=(e,t)=>e.link&&Jh(e.link,t)?!0:"children"in e?e.children.some(n=>ua(n,t)):!1,fa=e=>!cf(e)&&!lr(e),da=e=>!Jr(e)||e.includes("github.com")?"GitHub":e.includes("bitbucket.org")?"Bitbucket":e.includes("gitlab.com")?"GitLab":e.includes("gitee.com")?"Gitee":null,Qh={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},Yh=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const n=da(e);return n!==null?Qh[n]:null},Xh=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=Yh({docsRepo:e,editLinkPattern:o});return s?s.replace(/:repo/,Jr(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,Vl(`${Hl(n)}/${r}`)):null},bn=(e="",t="")=>sa(t)||lr(t)?t:`${_f(e)}${t}`,xr=le([]),Zh=()=>{const e=on(),t=De(),n=ct(),r=R(()=>n.value.sidebarDepth??t.value.sidebarDepth??2);e.beforeEach((s,i)=>{s.path!==i.path&&(xr.value=[])});const o=()=>{if(r.value<=0){xr.value=[];return}xr.value=vh({levels:[2,r.value+1],ignore:[".vp-badge"]})};Te(r,o),je(o)},ep=()=>xr,tp=e=>({text:e.title,link:e.link,children:ps(e.children)}),ps=e=>e?e.map(t=>tp(t)):[],ha=(e,t)=>[{text:e.title,children:ps(t)}],pa=(e,t,n,r="")=>{const o=(s,i)=>{var a;const l=st(s)?Cn(bn(i,s)):st(s.link)?{...s,link:fa(s.link)?Cn(bn(i,s.link)).link:s.link}:s;if("children"in l)return{...l,children:l.children.map(u=>o(u,bn(i,l.prefix)))};if(l.link===n){const u=((a=t[0])==null?void 0:a.level)===1?t[0].children:t;return{...l,children:ps(u)}}return l};return e.map(s=>o(s,r))},np=(e,t,n,r)=>{const o=bh(e).sort((s,i)=>i.length-s.length);for(const s of o)if(oa(decodeURI(r),s)){const i=e[s];return i?i==="heading"?ha(t,n):pa(i,n,r,s):[]}return console.warn(`${decodeURI(r)} is missing sidebar config.`),[]},ga=Symbol("sidebarItems"),gs=()=>{const e=Ue(ga);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},rp=(e,t,n,r,o)=>e===!1?[]:e==="heading"?ha(t,o):Array.isArray(e)?pa(e,o,n,r):rs(e)?np(e,t,o,n):[],op=()=>{const e=De(),t=ct(),n=Pn(),r=Ct(),o=ar(),s=ep(),i=R(()=>t.value.home?!1:t.value.sidebar??e.value.sidebar??"heading"),l=R(()=>rp(i.value,n.value,r.path,o.value,s.value));tn(ga,l)},sp=de({__name:"Badge",props:{type:{default:"tip"},text:{default:""},vertical:{default:void 0}},setup(e,{expose:t}){t();const n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),ye=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n};function ip(e,t,n,r,o,s){return N(),X("span",{class:We(["vp-badge",n.type]),style:Xn({verticalAlign:n.vertical})},[ke(e.$slots,"default",{},()=>[Ht(ae(n.text),1)])],6)}const lp=ye(sp,[["render",ip],["__file","Badge.vue"]]),ap=de({name:"CodeGroup",slots:Object,setup(e,{slots:t}){const n=le([]),r=to(),o=le();je(()=>{if(!o.value)return;const c=o.value.querySelector('div[class*="language-"]');if(c&&c.dataset.highlighter==="shiki"){const p=c.style.getPropertyValue("--shiki-light"),g=c.style.getPropertyValue("--shiki-dark"),_=c.style.getPropertyValue("--shiki-light-bg"),y=c.style.getPropertyValue("--shiki-dark-bg");Te(r,P=>{o.value.style.setProperty("--vp-c-code-tab-bg",P?y:_),o.value.style.setProperty("--vp-c-code-tab-title",P?g:p)},{immediate:!0})}});const s=le(-1),i=na("vuepress-code-group",{}),l=R(()=>n.value.map(c=>c.innerText).join(","));je(()=>{Te(()=>i.value[l.value],(c=-1)=>{s.value!==c&&(s.value=c)},{immediate:!0}),Te(s,c=>{i.value[l.value]!==c&&(i.value[l.value]=c)})});const a=(c=s.value)=>{c{c>0?s.value=c-1:s.value=n.value.length-1,n.value[s.value].focus()},f=(c,p)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),s.value=p):c.key==="ArrowRight"?(c.preventDefault(),a(p)):c.key==="ArrowLeft"&&(c.preventDefault(),u(p))};return()=>{var p;const c=(((p=t.default)==null?void 0:p.call(t))??[]).filter(g=>g.type.name==="CodeGroupItem").map(g=>(g.props===null&&(g.props={}),g));return c.length===0?null:(s.value<0||s.value>c.length-1?(s.value=c.findIndex(g=>g.props.active===""||g.props.active===!0),s.value===-1&&(s.value=0)):c.forEach((g,_)=>{g.props.active=_===s.value}),Pe("div",{class:"code-group",ref:o},[Pe("div",{class:"code-group-nav",role:"tablist"},c.map((g,_)=>{const y=_===s.value;return Pe("button",{ref:P=>{P&&(n.value[_]=P)},class:{"code-group-nav-tab":!0,active:y},role:"tab",ariaSelected:y,onClick:()=>{s.value=_},onKeydown:P=>{f(P,_)}},g.props.title)})),c]))}}}),cp=de({name:"CodeGroupItem",__name:"CodeGroupItem",props:{title:{},active:{type:Boolean}},setup(e,{expose:t}){t();const n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}});function up(e,t,n,r,o,s){return N(),X("div",{class:We(["code-group-item",{active:n.active}]),role:"tabpanel"},[ke(e.$slots,"default")],2)}const fp=ye(cp,[["render",up],["__file","CodeGroupItem.vue"]]),dp=de({__name:"VPHomeFeatures",setup(e,{expose:t}){t();const n=ct(),r=R(()=>n.value.features??[]),o={frontmatter:n,features:r};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),hp={key:0,class:"vp-features"};function pp(e,t,n,r,o,s){return r.features.length?(N(),X("div",hp,[(N(!0),X(_e,null,wt(r.features,i=>(N(),X("div",{key:i.title,class:"vp-feature"},[U("h2",null,ae(i.title),1),U("p",null,ae(i.details),1)]))),128))])):Ae("",!0)}const gp=ye(dp,[["render",pp],["__file","VPHomeFeatures.vue"]]),mp=de({__name:"VPHomeFooter",setup(e,{expose:t}){t();const n=ct(),r=R(()=>n.value.footer),o=R(()=>n.value.footerHtml),s={frontmatter:n,footer:r,footerHtml:o};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),vp=["innerHTML"],_p=["textContent"];function bp(e,t,n,r,o,s){return r.footer?(N(),X(_e,{key:0},[r.footerHtml?(N(),X("div",{key:0,class:"vp-footer","vp-footer":"",innerHTML:r.footer},null,8,vp)):(N(),X("div",{key:1,class:"vp-footer","vp-footer":"",textContent:ae(r.footer)},null,8,_p))],64)):Ae("",!0)}const yp=ye(mp,[["render",bp],["__file","VPHomeFooter.vue"]]),wp=de({__name:"VPHomeHero",setup(e,{expose:t}){t();const n=ct(),r=ls(),o=to(),s=R(()=>n.value.heroText===null?null:n.value.heroText||r.value.title||"Hello"),i=R(()=>n.value.tagline===null?null:n.value.tagline||r.value.description||"Welcome to your VuePress site"),l=R(()=>o.value&&n.value.heroImageDark!==void 0?n.value.heroImageDark:n.value.heroImage),a=R(()=>n.value.heroAlt||s.value||"hero"),u=R(()=>n.value.heroHeight??280),f=R(()=>Array.isArray(n.value.actions)?n.value.actions.map(({text:g,link:_,type:y="primary"})=>({text:g,link:_,type:y})):[]),p={frontmatter:n,siteLocale:r,isDarkMode:o,heroText:s,tagline:i,heroImage:l,heroAlt:a,heroHeight:u,actions:f,HomeHeroImage:()=>{if(!l.value)return null;const g=Pe("img",{class:"vp-hero-image",src:us(l.value),alt:a.value,height:u.value});return n.value.heroImageDark===void 0?g:Pe(as,()=>g)},get AutoLink(){return En}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),Sp={class:"vp-hero"},Cp={key:0,id:"main-title"},Pp={key:1,class:"vp-hero-description"},Ep={key:2,class:"vp-hero-actions"};function kp(e,t,n,r,o,s){return N(),X("header",Sp,[te(r.HomeHeroImage),r.heroText?(N(),X("h1",Cp,ae(r.heroText),1)):Ae("",!0),r.tagline?(N(),X("p",Pp,ae(r.tagline),1)):Ae("",!0),r.actions.length?(N(),X("p",Ep,[(N(!0),X(_e,null,wt(r.actions,i=>(N(),xe(r.AutoLink,{key:i.text,class:We(["vp-hero-action-button",[i.type]]),config:i},null,8,["class","config"]))),128))])):Ae("",!0)])}const xp=ye(wp,[["render",kp],["__file","VPHomeHero.vue"]]),Lp=de({__name:"VPHome",setup(e,{expose:t}){t();const n={VPHomeFeatures:gp,VPHomeFooter:yp,VPHomeHero:xp,get Content(){return cs}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Ap={class:"vp-home"},Tp={class:"theme-default-content","vp-content":""};function Rp(e,t,n,r,o,s){return N(),X("main",Ap,[te(r.VPHomeHero),te(r.VPHomeFeatures),U("div",Tp,[te(r.Content)]),te(r.VPHomeFooter)])}const Op=ye(Lp,[["render",Rp],["__file","VPHome.vue"]]),Dp=de({__name:"VPNavbarBrand",setup(e,{expose:t}){t();const n=ar(),r=ls(),o=De(),s=to(),i=R(()=>o.value.home||n.value),l=R(()=>r.value.title),a=R(()=>s.value&&o.value.logoDark!==void 0?o.value.logoDark:o.value.logo),u=R(()=>o.value.logoAlt??l.value),f=R(()=>l.value.toLocaleUpperCase().trim()===u.value.toLocaleUpperCase().trim()),p={routeLocale:n,siteLocale:r,themeLocale:o,isDarkMode:s,navbarBrandLink:i,navbarBrandTitle:l,navbarBrandLogo:a,navbarBrandLogoAlt:u,navBarLogoAltMatchesTitle:f,NavbarBrandLogo:()=>{if(!a.value)return null;const g=Pe("img",{class:"vp-site-logo",src:us(a.value),alt:u.value});return o.value.logoDark===void 0?g:Pe(as,()=>g)},get RouteLink(){return Xr}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),Ip=["aria-hidden"];function Mp(e,t,n,r,o,s){return N(),xe(r.RouteLink,{to:r.navbarBrandLink},{default:Le(()=>[te(r.NavbarBrandLogo),r.navbarBrandTitle?(N(),X("span",{key:0,class:We(["vp-site-name",{"vp-hide-mobile":r.navbarBrandLogo}]),"aria-hidden":r.navBarLogoAltMatchesTitle},ae(r.navbarBrandTitle),11,Ip)):Ae("",!0)]),_:1},8,["to"])}const $p=ye(Dp,[["render",Mp],["__file","VPNavbarBrand.vue"]]),Np=de({__name:"VPDropdownTransition",setup(e,{expose:t}){t();const o={setHeight:s=>{s.style.height=`${s.scrollHeight}px`},unsetHeight:s=>{s.style.height=""}};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}});function Hp(e,t,n,r,o,s){return N(),xe(ir,{name:"vp-dropdown",onEnter:r.setHeight,onAfterEnter:r.unsetHeight,onBeforeLeave:r.setHeight},{default:Le(()=>[ke(e.$slots,"default")]),_:3})}const ma=ye(Np,[["render",Hp],["__file","VPDropdownTransition.vue"]]),Vp=de({__name:"VPNavbarDropdown",props:{item:{}},setup(e,{expose:t}){t();const n=e,{item:r}=rl(n),o=Ct(),s=le(!1),i=R(()=>r.value.ariaLabel||r.value.text),l=(f,c)=>c[c.length-1]===f,a=f=>{const c=f.detail===0;s.value=c?!s.value:!1};Te(()=>o.path,()=>{s.value=!1});const u={props:n,item:r,route:o,open:s,dropdownAriaLabel:i,isLastItemOfArray:l,handleDropdown:a,VPDropdownTransition:ma,get AutoLink(){return En}};return Object.defineProperty(u,"__isScriptSetup",{enumerable:!1,value:!0}),u}}),jp=["aria-label"],Fp={class:"title"},Bp=U("span",{class:"arrow down"},null,-1),Wp=["aria-label"],Up={class:"title"},Gp={class:"vp-navbar-dropdown"},Kp={class:"vp-navbar-dropdown-subtitle"},qp={key:1},zp={class:"vp-navbar-dropdown-subitem-wrapper"};function Jp(e,t,n,r,o,s){return N(),X("div",{class:We(["vp-navbar-dropdown-wrapper",{open:r.open}])},[U("button",{class:"vp-navbar-dropdown-title",type:"button","aria-label":r.dropdownAriaLabel,onClick:r.handleDropdown},[U("span",Fp,ae(r.item.text),1),Bp],8,jp),U("button",{class:"vp-navbar-dropdown-title-mobile",type:"button","aria-label":r.dropdownAriaLabel,onClick:t[0]||(t[0]=i=>r.open=!r.open)},[U("span",Up,ae(r.item.text),1),U("span",{class:We(["arrow",r.open?"down":"right"])},null,2)],8,Wp),te(r.VPDropdownTransition,null,{default:Le(()=>[Rr(U("ul",Gp,[(N(!0),X(_e,null,wt(r.item.children,i=>(N(),X("li",{key:i.text,class:"vp-navbar-dropdown-item"},["children"in i?(N(),X(_e,{key:0},[U("h4",Kp,[i.link?(N(),xe(r.AutoLink,{key:0,config:i,onFocusout:l=>r.isLastItemOfArray(i,r.item.children)&&i.children.length===0&&(r.open=!1)},null,8,["config","onFocusout"])):(N(),X("span",qp,ae(i.text),1))]),U("ul",zp,[(N(!0),X(_e,null,wt(i.children,l=>(N(),X("li",{key:l.link,class:"vp-navbar-dropdown-subitem"},[te(r.AutoLink,{config:l,onFocusout:a=>r.isLastItemOfArray(l,i.children)&&r.isLastItemOfArray(i,r.item.children)&&(r.open=!1)},null,8,["config","onFocusout"])]))),128))])],64)):(N(),xe(r.AutoLink,{key:1,config:i,onFocusout:l=>r.isLastItemOfArray(i,r.item.children)&&(r.open=!1)},null,8,["config","onFocusout"]))]))),128))],512),[[Hr,r.open]])]),_:1})],2)}const Qp=ye(Vp,[["render",Jp],["__file","VPNavbarDropdown.vue"]]),va=(e,t="")=>st(e)?Cn(bn(t,e)):"children"in e?{...e,children:e.children.map(n=>va(n,bn(t,e.prefix)))}:{...e,link:fa(e.link)?Cn(bn(t,e.link)).link:e.link},Yp=()=>{const e=De();return R(()=>(e.value.navbar||[]).map(t=>va(t)))},Xp=()=>{const e=De(),t=R(()=>e.value.repo),n=R(()=>t.value?da(t.value):null),r=R(()=>t.value&&!Jr(t.value)?`https://github.com/${t.value}`:t.value),o=R(()=>r.value?e.value.repoLabel?e.value.repoLabel:n.value===null?"Source":n.value:null);return R(()=>!r.value||!o.value?[]:[{text:o.value,link:r.value}])},Zp=()=>{const e=Ct(),t=hh(),n=ar(),r=Yl(),o=ls(),s=Gh(),i=De();return R(()=>{const l=Object.keys(r.value.locales);if(l.length<2)return[];const a=e.path,u=e.fullPath;return[{text:`${i.value.selectLanguageText}`,ariaLabel:`${i.value.selectLanguageAriaLabel??i.value.selectLanguageText}`,children:l.map(c=>{var A,b;const p=((A=r.value.locales)==null?void 0:A[c])??{},g=((b=s.value.locales)==null?void 0:b[c])??{},_=`${p.lang}`,y=g.selectLanguageName??_;if(_===o.value.lang)return{text:y,activeMatch:".",link:e.fullPath};const P=a.replace(n.value,c);return{text:y,link:t.value.some(m=>m===P)?u.replace(a,P):g.home??c}})}]})},eg="719px",tg={mobile:eg};var Jn;(function(e){e.Mobile="mobile"})(Jn||(Jn={}));const ng={[Jn.Mobile]:Number.parseInt(tg.mobile.replace("px",""),10)},_a=(e,t)=>{const n=ng[e];Number.isInteger(n)&&(at("orientationchange",()=>{t(n)},!1),at("resize",()=>{t(n)},!1),je(()=>{t(n)}))},rg=de({__name:"VPNavbarItems",setup(e,{expose:t}){t();const n=Yp(),r=Zp(),o=Xp(),s=le(!1),i=R(()=>De().value.navbarLabel??"site navigation"),l=R(()=>[...n.value,...r.value,...o.value]);_a(Jn.Mobile,u=>{s.value=window.innerWidth(N(),X("div",{key:i.text,class:"vp-navbar-item"},["children"in i?(N(),xe(r.VPNavbarDropdown,{key:0,class:We({mobile:r.isMobile}),item:i},null,8,["class","item"])):(N(),xe(r.AutoLink,{key:1,config:i},null,8,["config"]))]))),128))],8,og)):Ae("",!0)}const ba=ye(rg,[["render",sg],["__file","VPNavbarItems.vue"]]),ig={},lg={class:"dark-icon",viewBox:"0 0 32 32"},ag=U("path",{d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z",fill:"currentColor"},null,-1),cg=[ag];function ug(e,t){return N(),X("svg",lg,cg)}const fg=ye(ig,[["render",ug],["__file","VPDarkIcon.vue"]]),dg={},hg={class:"light-icon",viewBox:"0 0 32 32"},pg=_u('',9),gg=[pg];function mg(e,t){return N(),X("svg",hg,gg)}const vg=ye(dg,[["render",mg],["__file","VPLightIcon.vue"]]),_g=de({__name:"VPToggleColorModeButton",setup(e,{expose:t}){t();const n=De(),r=to(),s={themeLocale:n,isDarkMode:r,toggleColorMode:()=>{r.value=!r.value},VPDarkIcon:fg,VPLightIcon:vg};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),bg=["title"];function yg(e,t,n,r,o,s){return N(),X("button",{type:"button",class:"vp-toggle-color-mode-button",title:r.themeLocale.toggleColorMode,onClick:r.toggleColorMode},[Rr(te(r.VPLightIcon,null,null,512),[[Hr,!r.isDarkMode]]),Rr(te(r.VPDarkIcon,null,null,512),[[Hr,r.isDarkMode]])],8,bg)}const wg=ye(_g,[["render",yg],["__file","VPToggleColorModeButton.vue"]]),Sg=de({__name:"VPToggleSidebarButton",emits:["toggle"],setup(e,{expose:t}){t();const r={themeLocale:De()};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),Cg=["title"],Pg=U("div",{class:"icon","aria-hidden":"true"},[U("span"),U("span"),U("span")],-1),Eg=[Pg];function kg(e,t,n,r,o,s){return N(),X("div",{class:"vp-toggle-sidebar-button",title:r.themeLocale.toggleSidebar,"aria-expanded":"false",role:"button",tabindex:"0",onClick:t[0]||(t[0]=i=>e.$emit("toggle"))},Eg,8,Cg)}const xg=ye(Sg,[["render",kg],["__file","VPToggleSidebarButton.vue"]]),Lg=de({__name:"VPNavbar",emits:["toggleSidebar"],setup(e,{expose:t}){t();const n=De(),r=le(null),o=le(null),s=le(0),i=R(()=>s.value?{maxWidth:`${s.value}px`}:{}),l=(u,f)=>{var g;const c=(g=u==null?void 0:u.ownerDocument.defaultView)==null?void 0:g.getComputedStyle(u,null)[f],p=Number.parseInt(c,10);return Number.isNaN(p)?0:p};_a(Jn.Mobile,u=>{var c;const f=l(r.value,"paddingLeft")+l(r.value,"paddingRight");window.innerWidthe.$emit("toggleSidebar"))}),U("span",Tg,[te(r.VPNavbarBrand)],512),U("div",{class:"vp-navbar-items-wrapper",style:Xn(r.linksWrapperStyle)},[ke(e.$slots,"before"),te(r.VPNavbarItems,{class:"vp-hide-mobile"}),ke(e.$slots,"after"),r.themeLocale.colorModeSwitch?(N(),xe(r.VPToggleColorModeButton,{key:0})):Ae("",!0),te(i)],4)],512)}const Og=ye(Lg,[["render",Rg],["__file","VPNavbar.vue"]]),Dg={},Ig={class:"edit-icon",viewBox:"0 0 1024 1024"},Mg=U("g",{fill:"currentColor"},[U("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),U("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})],-1),$g=[Mg];function Ng(e,t){return N(),X("svg",Ig,$g)}const Hg=ye(Dg,[["render",Ng],["__file","VPEditIcon.vue"]]),Vg=()=>{const e=De(),t=Pn(),n=ct();return R(()=>{var o;return n.value.contributors??e.value.contributors??!0?((o=t.value.git)==null?void 0:o.contributors)??null:null})},jg=()=>{const e=De(),t=Pn(),n=ct();return R(()=>{if(!(n.value.editLink??e.value.editLink??!0))return null;const{repo:o,docsRepo:s=o,docsBranch:i="main",docsDir:l="",editLinkText:a}=e.value;if(!s)return null;const u=Xh({docsRepo:s,docsBranch:i,docsDir:l,filePathRelative:t.value.filePathRelative,editLinkPattern:n.value.editLinkPattern??e.value.editLinkPattern});return u?{text:a??"Edit this page",link:u}:null})},Fg=()=>{const e=De(),t=Pn(),n=ct();return R(()=>{var s;return!(n.value.lastUpdated??e.value.lastUpdated??!0)||!((s=t.value.git)!=null&&s.updatedTime)?null:new Date(t.value.git.updatedTime).toLocaleString()})},Bg=de({__name:"VPPageMeta",setup(e,{expose:t}){t();const n=De(),r=jg(),o=Fg(),s=Vg(),i={themeLocale:n,editLink:r,lastUpdated:o,contributors:s,VPEditIcon:Hg,get AutoLink(){return En}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),Wg={class:"vp-page-meta"},Ug={key:0,class:"vp-meta-item edit-link"},Gg={class:"vp-meta-item git-info"},Kg={key:0,class:"vp-meta-item last-updated"},qg={class:"meta-item-label"},zg={class:"meta-item-info"},Jg={key:1,class:"vp-meta-item contributors"},Qg={class:"meta-item-label"},Yg={class:"meta-item-info"},Xg=["title"];function Zg(e,t,n,r,o,s){const i=Xo("ClientOnly");return N(),X("footer",Wg,[r.editLink?(N(),X("div",Ug,[te(r.AutoLink,{class:"label",config:r.editLink},{before:Le(()=>[te(r.VPEditIcon)]),_:1},8,["config"])])):Ae("",!0),U("div",Gg,[r.lastUpdated?(N(),X("div",Kg,[U("span",qg,ae(r.themeLocale.lastUpdatedText)+": ",1),te(i,null,{default:Le(()=>[U("span",zg,ae(r.lastUpdated),1)]),_:1})])):Ae("",!0),r.contributors&&r.contributors.length?(N(),X("div",Jg,[U("span",Qg,ae(r.themeLocale.contributorsText)+": ",1),U("span",Yg,[(N(!0),X(_e,null,wt(r.contributors,(l,a)=>(N(),X(_e,{key:a},[U("span",{class:"contributor",title:`email: ${l.email}`},ae(l.name),9,Xg),a!==r.contributors.length-1?(N(),X(_e,{key:0},[Ht(", ")],64)):Ae("",!0)],64))),128))])])):Ae("",!0)])])}const em=ye(Bg,[["render",Zg],["__file","VPPageMeta.vue"]]),tm=()=>{const e=on(),t=Ct();return n=>{n&&(sa(n)?t.path!==n&&e.push(n):lr(n)?window.open(n):e.push(encodeURI(n)))}},Li=(e,t)=>e===!1?!1:st(e)?Cn(e,t):rs(e)?{...e,link:Cn(e.link,t).link}:null,$o=(e,t,n)=>{const r=e.findIndex(s=>s.link===t);if(r!==-1){const s=e[r+n];return s?s.link?s:"prefix"in s&&!zn(s.prefix).notFound?{...s,link:s.prefix}:null:null}for(const s of e)if("children"in s){const i=$o(s.children,t,n);if(i)return i}const o=e.findIndex(s=>"prefix"in s&&s.prefix===t);if(o!==-1){const s=e[o+n];return s?s.link?s:"prefix"in s&&!zn(s.prefix).notFound?{...s,link:s.prefix}:null:null}return null},nm=()=>{const e=ct(),t=De(),n=gs(),r=Ct(),o=R(()=>{const i=Li(e.value.prev,r.path);return i===!1?null:i??(t.value.prev===!1?null:$o(n.value,r.path,-1))}),s=R(()=>{const i=Li(e.value.next,r.path);return i===!1?null:i??(t.value.next===!1?null:$o(n.value,r.path,1))});return{prevLink:o,nextLink:s}},rm=de({__name:"VPPageNav",setup(e,{expose:t}){t();const n=De(),r=tm(),{prevLink:o,nextLink:s}=nm(),i=R(()=>n.value.pageNavbarLabel??"page navigation");at("keydown",a=>{a.altKey&&(a.key==="ArrowRight"?s.value&&(r(s.value.link),a.preventDefault()):a.key==="ArrowLeft"&&o.value&&(r(o.value.link),a.preventDefault()))});const l={themeLocale:n,navigate:r,prevLink:o,nextLink:s,navbarLabel:i,get AutoLink(){return En}};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),om=["aria-label"],sm={class:"hint"},im=U("span",{class:"arrow left"},null,-1),lm={class:"link"},am={class:"hint"},cm=U("span",{class:"arrow right"},null,-1),um={class:"link"};function fm(e,t,n,r,o,s){return r.prevLink||r.nextLink?(N(),X("nav",{key:0,class:"vp-page-nav","aria-label":r.navbarLabel},[r.prevLink?(N(),xe(r.AutoLink,{key:0,class:"prev",config:r.prevLink},{default:Le(()=>[U("div",sm,[im,Ht(" "+ae(r.themeLocale.prev??"Prev"),1)]),U("div",lm,[U("span",null,ae(r.prevLink.text),1)])]),_:1},8,["config"])):Ae("",!0),r.nextLink?(N(),xe(r.AutoLink,{key:1,class:"next",config:r.nextLink},{default:Le(()=>[U("div",am,[Ht(ae(r.themeLocale.next??"Next")+" ",1),cm]),U("div",um,[U("span",null,ae(r.nextLink.text),1)])]),_:1},8,["config"])):Ae("",!0)],8,om)):Ae("",!0)}const dm=ye(rm,[["render",fm],["__file","VPPageNav.vue"]]),hm=de({__name:"VPPage",setup(e,{expose:t}){t(),Zh();const n={VPPageMeta:em,VPPageNav:dm,get Content(){return cs}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),pm={class:"vp-page"},gm={class:"theme-default-content","vp-content":""};function mm(e,t,n,r,o,s){return N(),X("main",pm,[ke(e.$slots,"top"),U("div",gm,[ke(e.$slots,"content-top"),te(r.Content),ke(e.$slots,"content-bottom")]),te(r.VPPageMeta),te(r.VPPageNav),ke(e.$slots,"bottom")])}const vm=ye(hm,[["render",mm],["__file","VPPage.vue"]]),_m=de({__name:"VPSidebarItem",props:{item:{},depth:{default:0}},setup(e,{expose:t}){t();const n=e,{item:r,depth:o}=rl(n),s=Ct(),i=on(),l=R(()=>"collapsible"in r.value&&r.value.collapsible),a=R(()=>ua(r.value,s)),u=R(()=>({"vp-sidebar-item":!0,"vp-sidebar-heading":o.value===0,active:a.value,collapsible:l.value})),f=R(()=>l.value?a.value:!0),[c,p]=qd(f.value),g=P=>{l.value&&(P.preventDefault(),p())},_=i.afterEach(()=>{Ut(()=>{c.value=f.value})});Yo(()=>{_()});const y={props:n,item:r,depth:o,route:s,router:i,collapsible:l,isActive:a,itemClass:u,isOpenDefault:f,isOpen:c,toggleIsOpen:p,onClick:g,unregisterRouterHook:_,VPDropdownTransition:ma,get AutoLink(){return En}};return Object.defineProperty(y,"__isScriptSetup",{enumerable:!1,value:!0}),y}}),bm={class:"vp-sidebar-children"};function ym(e,t,n,r,o,s){const i=Xo("VPSidebarItem",!0);return N(),X("li",null,[r.item.link?(N(),xe(r.AutoLink,{key:0,class:We(r.itemClass),config:r.item},null,8,["class","config"])):(N(),X("p",{key:1,tabindex:"0",class:We(r.itemClass),onClick:r.onClick,onKeydown:tf(r.onClick,["enter"])},[Ht(ae(r.item.text)+" ",1),r.collapsible?(N(),X("span",{key:0,class:We(["arrow",r.isOpen?"down":"right"])},null,2)):Ae("",!0)],34)),"children"in r.item&&r.item.children.length?(N(),xe(r.VPDropdownTransition,{key:2},{default:Le(()=>[Rr(U("ul",bm,[(N(!0),X(_e,null,wt(r.item.children,l=>(N(),xe(i,{key:`${r.depth}${l.text}${l.link}`,item:l,depth:r.depth+1},null,8,["item","depth"]))),128))],512),[[Hr,r.isOpen]])]),_:1})):Ae("",!0)])}const wm=ye(_m,[["render",ym],["__file","VPSidebarItem.vue"]]),Sm=de({__name:"VPSidebarItems",setup(e,{expose:t}){t();const n=Ct(),r=gs();je(()=>{Te(()=>n.hash,s=>{const i=document.querySelector(".vp-sidebar");if(!i)return;const l=document.querySelector(`.vp-sidebar a.vp-sidebar-item[href="${n.path}${s}"]`);if(!l)return;const{top:a,height:u}=i.getBoundingClientRect(),{top:f,height:c}=l.getBoundingClientRect();fa+u&&l.scrollIntoView(!1)})});const o={route:n,sidebarItems:r,VPSidebarItem:wm};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),Cm={key:0,class:"vp-sidebar-items"};function Pm(e,t,n,r,o,s){return r.sidebarItems.length?(N(),X("ul",Cm,[(N(!0),X(_e,null,wt(r.sidebarItems,i=>(N(),xe(r.VPSidebarItem,{key:`${i.text}${i.link}`,item:i},null,8,["item"]))),128))])):Ae("",!0)}const Em=ye(Sm,[["render",Pm],["__file","VPSidebarItems.vue"]]),km=de({__name:"VPSidebar",setup(e,{expose:t}){t();const n={VPNavbarItems:ba,VPSidebarItems:Em};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),xm={class:"vp-sidebar","vp-sidebar":""};function Lm(e,t,n,r,o,s){return N(),X("aside",xm,[te(r.VPNavbarItems),ke(e.$slots,"top"),te(r.VPSidebarItems),ke(e.$slots,"bottom")])}const Am=ye(km,[["render",Lm],["__file","VPSidebar.vue"]]),Tm=de({__name:"Layout",setup(e,{expose:t}){t();const n=Pn(),r=ct(),o=De(),s=R(()=>r.value.navbar!==!1&&o.value.navbar!==!1),i=gs(),l=le(!1),a=m=>{l.value=typeof m=="boolean"?m:!l.value},u={x:0,y:0},f=m=>{u.x=m.changedTouches[0].clientX,u.y=m.changedTouches[0].clientY},c=m=>{const S=m.changedTouches[0].clientX-u.x,V=m.changedTouches[0].clientY-u.y;Math.abs(S)>Math.abs(V)&&Math.abs(S)>40&&(S>0&&u.x<=80?a(!0):a(!1))},p=R(()=>r.value.externalLinkIcon??o.value.externalLinkIcon??!0),g=R(()=>[{"no-navbar":!s.value,"no-sidebar":!i.value.length,"sidebar-open":l.value,"external-link-icon":p.value},r.value.pageClass]);let _;je(()=>{_=on().afterEach(()=>{a(!1)})}),Kr(()=>{_()});const y=ca(),P=y.resolve,A=y.pending,b={page:n,frontmatter:r,themeLocale:o,shouldShowNavbar:s,sidebarItems:i,isSidebarOpen:l,toggleSidebar:a,touchStart:u,onTouchStart:f,onTouchEnd:c,enableExternalLinkIcon:p,containerClass:g,get unregisterRouterHook(){return _},set unregisterRouterHook(m){_=m},scrollPromise:y,onBeforeEnter:P,onBeforeLeave:A,VPHome:Op,VPNavbar:Og,VPPage:vm,VPSidebar:Am};return Object.defineProperty(b,"__isScriptSetup",{enumerable:!1,value:!0}),b}});function Rm(e,t,n,r,o,s){return N(),X("div",{class:We(["vp-theme-container",r.containerClass]),"vp-container":"",onTouchstart:r.onTouchStart,onTouchend:r.onTouchEnd},[ke(e.$slots,"navbar",{},()=>[r.shouldShowNavbar?(N(),xe(r.VPNavbar,{key:0,onToggleSidebar:r.toggleSidebar},{before:Le(()=>[ke(e.$slots,"navbar-before")]),after:Le(()=>[ke(e.$slots,"navbar-after")]),_:3})):Ae("",!0)]),U("div",{class:"vp-sidebar-mask",onClick:t[0]||(t[0]=i=>r.toggleSidebar(!1))}),ke(e.$slots,"sidebar",{},()=>[te(r.VPSidebar,null,{top:Le(()=>[ke(e.$slots,"sidebar-top")]),bottom:Le(()=>[ke(e.$slots,"sidebar-bottom")]),_:3})]),ke(e.$slots,"page",{},()=>[r.frontmatter.home?(N(),xe(r.VPHome,{key:0})):(N(),xe(ir,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:r.onBeforeEnter,onBeforeLeave:r.onBeforeLeave},{default:Le(()=>[(N(),xe(r.VPPage,{key:r.page.path},{top:Le(()=>[ke(e.$slots,"page-top")]),"content-top":Le(()=>[ke(e.$slots,"page-content-top")]),"content-bottom":Le(()=>[ke(e.$slots,"page-content-bottom")]),bottom:Le(()=>[ke(e.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34)}const ya=ye(Tm,[["render",Rm],["__file","Layout.vue"]]),Om=de({__name:"NotFound",setup(e,{expose:t}){t();const n=ar(),r=De(),o=r.value.notFound??["Not Found"],s=()=>o[Math.floor(Math.random()*o.length)],i=r.value.home??n.value,l=r.value.backToHome??"Back to home",a={routeLocale:n,themeLocale:r,messages:o,getMsg:s,homeLink:i,homeText:l,get RouteLink(){return Xr}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),Dm=e=>(vc("data-v-1c3b23e8"),e=e(),_c(),e),Im={class:"vp-theme-container","vp-container":""},Mm={class:"page"},$m={class:"theme-default-content","vp-content":""},Nm=Dm(()=>U("h1",null,"404",-1));function Hm(e,t,n,r,o,s){return N(),X("div",Im,[U("main",Mm,[U("div",$m,[Nm,U("blockquote",null,ae(r.getMsg()),1),te(r.RouteLink,{to:r.homeLink},{default:Le(()=>[Ht(ae(r.homeText),1)]),_:1},8,["to"])])])])}const Vm=ye(Om,[["render",Hm],["__scopeId","data-v-1c3b23e8"],["__file","NotFound.vue"]]),jm=Gt({enhance({app:e,router:t}){_o("Badge")||e.component("Badge",lp),_o("CodeGroup")||e.component("CodeGroup",ap),_o("CodeGroupItem")||e.component("CodeGroupItem",fp),e.component("VPSearch",()=>{const r=e.component("Docsearch")??e.component("SearchBox");return r?Pe(r):null});const n=t.options.scrollBehavior;t.options.scrollBehavior=async(...r)=>(await ca().wait(),n(...r))},setup(){qh(),op()},layouts:{Layout:ya,NotFound:Vm}}),Fm=Object.freeze(Object.defineProperty({__proto__:null,default:jm},Symbol.toStringTag,{value:"Module"}));function Bm(e){return Fo()?(ji(e),!0):!1}function ms(e){return typeof e=="function"?e():It(e)}const Wm=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Um=Object.prototype.toString,Gm=e=>Um.call(e)==="[object Object]",Km=()=>{};function qm(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const wa=e=>e();function zm(e=wa){const t=le(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:er(t),pause:n,resume:r,eventFilter:o}}function Jm(e){return rr()}function Qm(e,t,n={}){const{eventFilter:r=wa,...o}=n;return Te(e,qm(r,t),o)}function Ym(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:l,isActive:a}=zm(r);return{stop:Qm(e,t,{...o,eventFilter:s}),pause:i,resume:l,isActive:a}}function Xm(e,t=!0,n){Jm()?je(e,n):t?e():Ut(e)}function Zm(e){var t;const n=ms(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Vr=Wm?window:void 0;function Ai(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=Vr):[t,n,r,o]=e,!t)return Km;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(f=>f()),s.length=0},l=(f,c,p,g)=>(f.addEventListener(c,p,g),()=>f.removeEventListener(c,p,g)),a=Te(()=>[Zm(t),ms(o)],([f,c])=>{if(i(),!f)return;const p=Gm(c)?{...c}:c;s.push(...n.flatMap(g=>r.map(_=>l(f,g,_,p))))},{immediate:!0,flush:"post"}),u=()=>{a(),i()};return Bm(u),u}const Sr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Cr="__vueuse_ssr_handlers__",ev=tv();function tv(){return Cr in Sr||(Sr[Cr]=Sr[Cr]||{}),Sr[Cr]}function nv(e,t){return ev[e]||t}function rv(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 ov={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()}},Ti="vueuse-storage";function sv(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:u=!1,shallow:f,window:c=Vr,eventFilter:p,onError:g=w=>{console.error(w)},initOnMounted:_}=r,y=(f?yt:le)(typeof t=="function"?t():t);if(!n)try{n=nv("getDefaultStorage",()=>{var w;return(w=Vr)==null?void 0:w.localStorage})()}catch(w){g(w)}if(!n)return y;const P=ms(t),A=rv(P),b=(o=r.serializer)!=null?o:ov[A],{pause:m,resume:S}=Ym(y,()=>O(y.value),{flush:s,deep:i,eventFilter:p});c&&l&&Xm(()=>{Ai(c,"storage",Q),Ai(c,Ti,F),_&&Q()}),_||Q();function V(w,$){c&&c.dispatchEvent(new CustomEvent(Ti,{detail:{key:e,oldValue:w,newValue:$,storageArea:n}}))}function O(w){try{const $=n.getItem(e);if(w==null)V($,null),n.removeItem(e);else{const x=b.write(w);$!==x&&(n.setItem(e,x),V($,x))}}catch($){g($)}}function G(w){const $=w?w.newValue:n.getItem(e);if($==null)return a&&P!=null&&n.setItem(e,b.write(P)),P;if(!w&&u){const x=b.read($);return typeof u=="function"?u(x,P):A==="object"&&!Array.isArray(x)?{...P,...x}:x}else return typeof $!="string"?$:b.read($)}function Q(w){if(!(w&&w.storageArea!==n)){if(w&&w.key==null){y.value=P;return}if(!(w&&w.key!==e)){m();try{(w==null?void 0:w.newValue)!==b.write(y.value)&&(y.value=G(w))}catch($){g($)}finally{w?Ut(S):S()}}}}function F(w){Q(w.detail)}return y}function iv(e,t,n={}){const{window:r=Vr}=n;return sv(e,t,r==null?void 0:r.sessionStorage,n)}const lv=Object.entries;var av={autoLocale:!1,switchLocale:!1,localeConfig:{"/eng/":["en-US"]},defaultLocale:"/eng/",localeFallback:!0,defaultBehavior:"defaultLocale"};const cv=av;lv(cv.localeConfig);iv("VUEPRESS_REDIRECT_LOCALES",{});const uv=Gt({setup(){},rootComponents:[]}),fv=Object.freeze(Object.defineProperty({__proto__:null,default:uv},Symbol.toStringTag,{value:"Module"}));var ie=(e=>(e.Collaborator="collaborator",e.Author="author",e.TechLead="tech lead",e.TeamLead="team lead",e.Developer="developer",e))(ie||{}),fe=(e=>(e.ActiveDeveloped="actively-developed",e.PassivelyMaintained="passively-maintained",e.AsIs="as-is",e.Experimental="experimental",e.LookingForMaintainer="looking-for-maintainer",e.Deprecated="deprecated",e))(fe||{}),D=(e=>(e.C="C",e.Go="Go",e.JavaScript="JS",e.TypeScript="TS",e.Rust="Rust",e.Python="Python",e.Php="PHP",e.Deno="Deno",e.NodeJS="NodeJS",e.Flask="Flask",e.React="React",e.Antd="Antd",e.Postgresql="PostgreSQL",e.Docker="Docker",e.Drone="Drone CI",e.Woodpecker="Woodpecker CI",e.Bash="Bash",e.TreeSitter="TreeSitter",e.Nix="Nix",e.Lua="Lua",e.Sqlite="Sqlite",e.Vue="Vue",e.Vuepress="Vuepress",e.Godot="Godot",e.Haskell="Haskell",e))(D||{});const dv=[{name:"picsg",url:"/pleshevskiy/picsg",description:"A tool for steganographing information in a picture encoded using the Vernam cipher.",roles:[ie.Author],technologies:[D.Haskell],startDate:new Date("2024-04-13"),endDate:new Date("2024-07-25"),status:fe.AsIs},{name:"Mindustry tools",url:"/pleshevskiy/mindustry-tools",description:"Tools for the Mindustry game",roles:[ie.Author],technologies:[D.Nix,D.Godot],startDate:new Date("2024-01-07"),status:fe.PassivelyMaintained},{name:"Master Progress Rosmintrud tools",url:"https://rosmintrud.masterprogress.ru",description:"Internal service to prepare documents for the rosmintrud (SPA)",roles:[ie.TechLead],technologies:[D.Deno,D.Sqlite,D.TypeScript,D.Vue,D.Docker,D.Woodpecker,D.Nix],startDate:new Date("2023-07-03"),status:fe.PassivelyMaintained},{name:"yandexgpt_tg_bot",url:"/pleshevskiy/yandexgpt_tg_bot",description:"The Telegram bot to describe article with link by YandexGPT.",roles:[ie.Author],technologies:[D.JavaScript,D.NodeJS,D.Nix],startDate:new Date("2023-06-27"),endDate:new Date("2024-07-25"),status:fe.AsIs},{name:"tree-sitter-plpgsql",url:"/pleshevskiy/tree-sitter-plpgsql",description:"plpgsql grammar for tree-sitter",roles:[ie.Author],technologies:[D.C,D.JavaScript,D.TreeSitter,D.Nix],startDate:new Date("2023-01-05"),status:fe.PassivelyMaintained},{name:"wd2",url:"/pleshevskiy/wd2",description:"A wrapper over d2 which allows to use additional configs from d2 file",roles:[ie.Author],technologies:[D.Bash,D.Nix],startDate:new Date("2022-12-12"),endDate:new Date("2023-07-31"),status:fe.AsIs},{name:"tree-sitter-d2",url:"/pleshevskiy/tree-sitter-d2",description:"d2 grammar for tree-sitter",roles:[ie.Author],technologies:[D.C,D.JavaScript,D.TreeSitter,D.Nix],startDate:new Date("2022-12-04"),status:fe.ActiveDeveloped},{name:"nix2lua",url:"/mynix/nix2lua",description:"This is a small but functional library that converts your nix configurations into lua format.",roles:[ie.Author],technologies:[D.Nix,D.Lua],startDate:new Date("2022-11-22"),status:fe.PassivelyMaintained},{name:"vnetod",url:"/pleshevskiy/vnetod",description:"Dotenv section switcher",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2022-07-29"),status:fe.PassivelyMaintained},{name:"estring",url:"/pleshevskiy/estring",description:"A simple way to parse a string using type annotations.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2022-07-23"),endDate:new Date("2024-07-25"),status:fe.AsIs},{name:"enve",url:"/pleshevskiy/enve",description:"It helps you work with environment variables and convert it to any type using only type annotations",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2022-07-18"),endDate:new Date("2024-07-25"),status:fe.AsIs},{name:"docker stack drone plugin",url:"/pleshevskiy/docker_stack",description:"Deploy to production using `docker stack deploy`",roles:[ie.Author],technologies:[D.Docker,D.Drone,D.Woodpecker],startDate:new Date("2022-06-06"),endDate:new Date("2024-07-25"),status:fe.AsIs},{name:"dexios",url:"/github/dexios",description:"Dexios is a fast, secure, and open source command-line encryption tool.",roles:[ie.Collaborator],technologies:[D.Rust],startDate:new Date("2022-06-01"),endDate:new Date("2023-02-28")},{name:"recipes",url:"/pleshevskiy/recipes",description:"Site with recipes which cares about privacy",roles:[ie.Author],technologies:[D.TypeScript,D.Deno,D.Rust],startDate:new Date("2022-05-04"),status:fe.PassivelyMaintained},{name:"pleshevski.ru",url:"/pleshevskiy/pleshevski.ru",description:"Source code of my personal site",roles:[ie.Author],technologies:[D.TypeScript,D.Vue,D.Vuepress,D.Nix],startDate:new Date("2022-03-16"),status:fe.PassivelyMaintained},{name:"paren",url:"/pleshevskiy/paren",description:"Library for parsing and rendering information.",roles:[ie.Author],technologies:[D.TypeScript,D.Deno],startDate:new Date("2022-03-14"),endDate:new Date("2024-07-25"),status:fe.Experimental},{name:"hwt",url:"/pleshevskiy/hwt",description:"healthy workaholic timer – A tool that keeps you from breaking your health by working all day.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2022-02-04"),endDate:new Date("2024-07-25"),status:fe.AsIs},{name:"ood_persistence",url:"/pleshevskiy/ood_persistence",description:"Asynchronous and synchronous interfaces and persistence implementations for your OOD architecture ",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2021-10-12"),endDate:new Date("2021-10-21"),status:fe.Deprecated},{name:"migra",url:"/pleshevskiy/migra",description:"Simple SQL migration manager for your project.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2021-01-31"),endDate:new Date("2022-03-17"),status:fe.AsIs},{name:"espruino-starter",url:"/pleshevskiy/espruino-starter",description:"Quickly start creating your new project on the espruino board or a board based on it.",roles:[ie.Author],technologies:[D.JavaScript],startDate:new Date("2021-08-23"),status:fe.AsIs},{name:"react-rest-request",url:"/pleshevskiy/react-rest-request",description:"Minimalistic REST API client for React inspired by Apollo.",roles:[ie.Author],technologies:[D.TypeScript,D.React],startDate:new Date("2020-10-04"),endDate:new Date("2023-03-02"),status:fe.Deprecated},{name:"sonic-channel",url:"/pleshevskiy/sonic-channel",description:"Rust client for sonic search backend.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2020-07-18"),status:fe.PassivelyMaintained},{name:"itconfig",url:"/pleshevskiy/itconfig",description:"Easy build a configs from environment variables and use it in globally.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2019-12-22"),endDate:new Date("2022-07-24"),status:fe.Deprecated},{name:"it-fsm",url:"/pleshevskiy/it-fsm",description:"Simple full-featured finite state machine for your project",roles:[ie.Author],technologies:[D.TypeScript,D.NodeJS,D.Deno],startDate:new Date("2019-10-11"),status:fe.PassivelyMaintained},{name:"Cabinet Master Progress",url:"https://cabinet.masterprogress.ru",description:"Student's cabinet of the educational center Master Progress (SSR + SPA)",roles:[ie.TechLead],technologies:[D.Python,D.Flask,D.Postgresql,D.TypeScript,D.React,D.Docker,D.Woodpecker,D.Nix],startDate:new Date("2019-09-22"),status:fe.PassivelyMaintained},{name:"genrss",url:"/pleshevskiy/genrss",description:"RSS generator for python",roles:[ie.Author],technologies:[D.Python],startDate:new Date("2019-07-23"),status:fe.AsIs},{name:"marshmallow_pageinfo",url:"/pleshevskiy/marshmallow_pageinfo",description:"Page info marshmallow schema for api",roles:[ie.Author],technologies:[D.Python],startDate:new Date("2019-10-05"),endDate:new Date("2023-03-02"),status:fe.AsIs},{name:"Binary Management",url:"https://www.binarymanagement.com",description:"Project management tool for interior designers",roles:[ie.Developer,ie.TechLead,ie.TeamLead],technologies:[D.TypeScript,D.NodeJS,D.React,D.Antd,D.Docker,D.Drone,D.Rust,D.Nix],startDate:new Date("2018-09-15"),status:fe.ActiveDeveloped},{name:"Core Spirit",url:"https://corespirit.com",description:"Social platform focusing on human and planetary enhancement",roles:[ie.Developer],technologies:[D.TypeScript,D.NodeJS,D.Go,D.Python,D.React,D.Docker,D.Drone],startDate:new Date("2018-09-05"),endDate:new Date("2019-12-31")},{name:"Master Progress",url:"https://masterprogress.ru",description:"Main website of the educational center Master Progress (SSR + Forms)",roles:[ie.TechLead],technologies:[D.Python,D.Flask,D.JavaScript,D.Nix],startDate:new Date("2018-04-10"),status:fe.PassivelyMaintained},{name:"ictmpl",url:"/pleshevskiy/ictmpl",description:"Generate projects from templates",roles:[ie.Author],technologies:[D.Python],startDate:new Date("2018-06-30"),endDate:new Date("2023-03-02"),status:fe.AsIs},{name:"jjcrypto",url:"/pleshevskiy/jjcrypto",description:"Javascript encoder and decoder",roles:[ie.Author],technologies:[D.Php],startDate:new Date("2015-11-01"),endDate:new Date("2015-11-01"),status:fe.AsIs}];function hv(e){return e.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})}const pv=e=>e.url.startsWith("https://")?e.url:new URL(e.url,"https://git.pleshevski.ru").toString(),gv=Object.freeze(Object.defineProperty({__proto__:null,getExternalLink:pv},Symbol.toStringTag,{value:"Module"}));function On(e){return(e==null?void 0:e.valueOf())??1/0}const mv={name:"WorksPage",computed:{tableTheme(){return this.$themeLocale.worksTable??{}}}},vv=de({...mv,setup(e,{expose:t}){t();const n=R(()=>dv.concat().sort((o,s)=>On(s.endDate)-On(o.endDate)||On(s.startDate)-On(o.startDate))),r={date2num:On,works:n,get renderDate(){return hv},get w(){return gv}};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),_v=["href"],bv=["innerHTML"],yv={key:0};function wv(e,t,n,r,o,s){return N(),X("table",null,[U("thead",null,[U("tr",null,[U("th",null,ae(s.tableTheme.name),1),U("th",null,ae(s.tableTheme.description),1),U("th",null,ae(s.tableTheme.role),1),U("th",null,ae(s.tableTheme.technologies),1),U("th",null,ae(s.tableTheme.status),1),U("th",null,ae(s.tableTheme.dates),1)])]),U("tbody",null,[(N(!0),X(_e,null,wt(r.works,i=>(N(),X("tr",null,[U("td",null,[U("a",{rel:"nofollow noopener",href:r.w.getExternalLink(i)},ae(i.name),9,_v)]),U("td",null,ae(i.description),1),U("td",{innerHTML:i.roles.join(", ")},null,8,bv),U("td",null,ae(i.technologies.join(", ")),1),U("td",null,ae(i.status),1),U("td",null,[U("div",null,[U("small",{class:We({grey:i.endDate})},ae(r.renderDate(i.startDate)),3)]),i.endDate?(N(),X("div",yv,[U("small",null,ae(r.renderDate(i.endDate)),1)])):Ae("",!0)])]))),256))])])}const Sv=ye(vv,[["render",wv],["__file","ChronologicalWorksTable.vue"]]),Cv={__name:"WorksPage",setup(e,{expose:t}){t();const n={ParentLayout:ya,get ChronologicalWorksTable(){return Sv}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}},Pv={class:"works-table-wrapper"};function Ev(e,t,n,r,o,s){return N(),xe(r.ParentLayout,null,{"page-bottom":Le(()=>[U("div",Pv,[te(r.ChronologicalWorksTable)])]),_:1})}const kv=ye(Cv,[["render",Ev],["__scopeId","data-v-765855fb"],["__file","WorksPage.vue"]]),xv=Gt({layouts:{WorksPage:kv}}),Lv=Object.freeze(Object.defineProperty({__proto__:null,default:xv},Symbol.toStringTag,{value:"Module"})),Pr=[dh,Ch,Th,Rh,Nh,Hh,Uh,Fm,fv,Lv].map(e=>e.default).filter(Boolean),Av=JSON.parse('{"base":"/","lang":"ru-RU","title":"Дмитрий Плешевский","description":" ","head":[],"locales":{"/":{"lang":"ru-RU","title":"Дмитрий Плешевский"},"/eng/":{"lang":"en-US","title":"Dmitriy Pleshevskiy"}}}');var In=yt(Av),Tv=Zf,Rv=()=>{const e=Ed({history:Tv(Hl("/")),routes:[{name:"vuepress-route",path:"/:catchAll(.*)",components:{}}],scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{if(t.path!==n.path||n===vt){const r=zn(t.fullPath);if(r.path!==t.fullPath)return r.path;const o=await r.loader();t.meta={...r.meta,_pageChunk:o}}else t.path===n.path&&(t.meta=n.meta)}),e},Ov=e=>{e.component("ClientOnly",as),e.component("Content",cs),e.component("RouteLink",Xr)},Dv=(e,t,n)=>{const r=R(()=>t.currentRoute.value.path),o=ac((P,A)=>({get(){return P(),t.currentRoute.value.meta._pageChunk},set(b){t.currentRoute.value.meta._pageChunk=b,A()}})),s=R(()=>Jt.resolveLayouts(n)),i=R(()=>Jt.resolveRouteLocale(In.value.locales,r.value)),l=R(()=>Jt.resolveSiteLocaleData(In.value,i.value)),a=R(()=>o.value.comp),u=R(()=>o.value.data),f=R(()=>u.value.frontmatter),c=R(()=>Jt.resolvePageHeadTitle(u.value,l.value)),p=R(()=>Jt.resolvePageHead(c.value,f.value,l.value)),g=R(()=>Jt.resolvePageLang(u.value,l.value)),_=R(()=>Jt.resolvePageLayout(u.value,s.value)),y={layouts:s,pageData:u,pageComponent:a,pageFrontmatter:f,pageHead:p,pageHeadTitle:c,pageLang:g,pageLayout:_,redirects:Io,routeLocale:i,routePath:r,routes:_n,siteData:In,siteLocaleData:l};return e.provide(is,y),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>p.value},$headTitle:{get:()=>c.value},$lang:{get:()=>g.value},$page:{get:()=>u.value},$routeLocale:{get:()=>i.value},$site:{get:()=>In.value},$siteLocale:{get:()=>l.value},$withBase:{get:()=>us}}),y},Iv=()=>{const e=Ld(),t=Ad();let n=[];const r=()=>{e.value.forEach(i=>{const l=Mv(i);l&&n.push(l)})},o=()=>{const i=[];return e.value.forEach(l=>{const a=$v(l);a&&i.push(a)}),i},s=()=>{document.documentElement.lang=t.value;const i=o();n.forEach((l,a)=>{const u=i.findIndex(f=>l.isEqualNode(f));u===-1?(l.remove(),delete n[a]):i.splice(u,1)}),i.forEach(l=>document.head.appendChild(l)),n=[...n.filter(l=>!!l),...i]};tn(Od,s),je(()=>{r(),Te(e,s,{immediate:!1})})},Mv=([e,t,n=""])=>{const r=Object.entries(t).map(([l,a])=>st(a)?`[${l}=${JSON.stringify(a)}]`:a===!0?`[${l}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(l=>l.innerText===n)||null},$v=([e,t,n])=>{if(!st(e))return null;const r=document.createElement(e);return rs(t)&&Object.entries(t).forEach(([o,s])=>{st(s)?r.setAttribute(o,s):s===!0&&r.setAttribute(o,"")}),st(n)&&r.appendChild(document.createTextNode(n)),r},Nv=of,Hv=async()=>{var n;const e=Nv({name:"Vuepress",setup(){var s;Iv();for(const i of Pr)(s=i.setup)==null||s.call(i);const r=Pr.flatMap(({rootComponents:i=[]})=>i.map(l=>Pe(l))),o=Td();return()=>[Pe(o.value),r]}}),t=Rv();Ov(e),Dv(e,t,Pr);for(const r of Pr)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:In}));return e.use(t),{app:e,router:t}};Hv().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{ye as _,U as a,Ht as b,X as c,Hv as createVueApp,te as d,_u as e,N as o,Xo as r,Le as w}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = [] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} diff --git a/dist/assets/index.html-BCgSEOwK.js b/dist/assets/index.html-BCgSEOwK.js deleted file mode 100644 index 623af34..0000000 --- a/dist/assets/index.html-BCgSEOwK.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as l,c as a,a as r,b as e,d as o,w as s,e as t,r as n,o as d}from"./app-YqJ2N5FF.js";const c={},p=t('

Overview

My name is Dmitriy Pleshevskiy.

I'm an open source software enthusiast, a lead software developer, architect, team leader and also mentor.

Skills

Programming Languages:

  • TypeScript (prefer, solid 9-year exp)
  • SQL (prefer, solid 8-year exp)
  • Rust (prefer, solid 5-year exp)
  • Python (solid 9-year exp)
  • Haskell
  • Bash (8-year exp)
  • Java
  • C#
  • C++

Repositories:

  • PostgreSQL (prefer, solid 8-year exp)
  • MySQL
  • Sqlite
  • MsSQL
  • MongoDB
  • Reddis
  • Minio (prefer, solid 5-year exp)

I also have extensive experience in creating the following applications:

  • Traditional (SSR + Forms)
  • API (REST/GraphQL/WebSocket/EventSource)
  • Dynamic (SPA)
  • Hybrid (SSR + SPA)
  • Console
  • Cross-platform

Stack

Backend (Rust)

  • axum (prefer, solid 2-year exp)
  • async-graphql (prefer, solid 2-year exp)
  • shaku (prefer, solid 2-year exp)
  • bb8 + postgres-types (prefer, solid 5-year exp)
  • diesel (2-year exp)

Backend (Node.JS)

  • Apollo (solid 5-year exp)
  • Express (solid 9-year exp)
  • Nest.JS
  • Knex.js / Objection.js (solid 5-year exp)
  • Sequelize

Frontend

  • React (solid 8-year exp)
  • VueJS (prefer, solid 3-year exp)
  • Cypress (prefer, solid 3-year exp)
  • JQuery
  • Antd / Antdv
  • PostCSS (prefer, solid 5-year exp)
  • Sass (prefer, solid 8-year exp)
  • Less (weak 4-year exp)

DevOps

  • NixOS / NixOps / Nix dev shell (prefer, solid 3-year exp)
  • Docker Swarm (solid 6-year exp)
  • Kubernetes (weak 5-year exp)
  • Woodpecker CI (prefer, solid 4-year exp)
  • Drone CI (solid 3-year exp)
  • Gitlab CI (solid 7-year exp)
  • GitHub Actions (4-year exp)

Interests

Open-source projects are my passion! I develop, maintain and improve projects in my spare time.

Besides programming, I love to cook and spend time with my beloved family!

Contacts

Simplex (Prefer): Dmitriy Pleshevskiy

Telegram: Dmitriy Pleshevskiy

Matrix: @pleshevskiy:matrix.org

Email: dmitriy[at]pleshevski[dot]ru

',30);function h(m,u){const i=n("RouteLink");return d(),a("div",null,[r("p",null,[e("Always up-to-date link to "),o(i,{to:"/eng/"},{default:s(()=>[e("resume")]),_:1}),e(".")]),p])}const x=l(c,[["render",h],["__file","index.html.vue"]]),k=JSON.parse('{"path":"/eng/","title":"Resume","lang":"en-US","frontmatter":{"home":true,"title":"Resume","heroText":null,"head":[["link",{"rel":"alternate","hreflang":"ru-ru","href":"https://pleshevski.ru/"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/eng/"}],["meta",{"property":"og:site_name","content":"Dmitriy Pleshevskiy"}],["meta",{"property":"og:title","content":"Resume"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"ru-RU"}],["meta",{"property":"og:updated_time","content":"2024-09-05T22:11:51.000Z"}],["meta",{"property":"article:modified_time","content":"2024-09-05T22:11:51.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Resume\\"}"]]},"headers":[{"level":2,"title":"Overview","slug":"overview","link":"#overview","children":[]},{"level":2,"title":"Skills","slug":"skills","link":"#skills","children":[]},{"level":2,"title":"Stack","slug":"stack","link":"#stack","children":[]},{"level":2,"title":"Interests","slug":"interests","link":"#interests","children":[]},{"level":2,"title":"Contacts","slug":"contacts","link":"#contacts","children":[]},{"level":2,"title":"Links","slug":"links","link":"#links","children":[]}],"git":{"updatedTime":1725574311000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":6}]},"filePathRelative":"eng/index.md"}');export{x as comp,k as data}; diff --git a/dist/assets/index.html-CwTV9L9D.js b/dist/assets/index.html-CwTV9L9D.js new file mode 100644 index 0000000..051aeca --- /dev/null +++ b/dist/assets/index.html-CwTV9L9D.js @@ -0,0 +1 @@ +import{_ as a,c as r,a as o,b as i,d as s,w as t,e as n,r as d,o as p}from"./app-ByBFieB-.js";const c={};function h(m,e){const l=d("RouteLink");return p(),r("div",null,[o("p",null,[e[1]||(e[1]=i("Always up-to-date link to ")),s(l,{to:"/eng/"},{default:t(()=>e[0]||(e[0]=[i("resume")])),_:1}),e[2]||(e[2]=i("."))]),e[3]||(e[3]=n('

Overview

My name is Dmitriy Pleshevskiy.

I'm an open source software enthusiast, a lead software developer, architect, team leader and also mentor.

Skills

Programming Languages:

  • TypeScript (prefer, solid 9-year exp)
  • SQL (prefer, solid 8-year exp)
  • Rust (prefer, solid 5-year exp)
  • Python (solid 9-year exp)
  • Haskell
  • Bash (8-year exp)
  • Java
  • C#
  • C++

Repositories:

  • PostgreSQL (prefer, solid 8-year exp)
  • MySQL
  • Sqlite
  • MsSQL
  • MongoDB
  • Reddis
  • Minio (prefer, solid 5-year exp)

I also have extensive experience in creating the following applications:

  • Traditional (SSR + Forms)
  • API (REST/GraphQL/WebSocket/EventSource)
  • Dynamic (SPA)
  • Hybrid (SSR + SPA)
  • Console
  • Cross-platform

Stack

Backend (Rust)

  • axum (prefer, solid 2-year exp)
  • async-graphql (prefer, solid 2-year exp)
  • shaku (prefer, solid 2-year exp)
  • bb8 + postgres-types (prefer, solid 5-year exp)
  • diesel (2-year exp)

Backend (Node.JS)

  • Apollo (solid 5-year exp)
  • Express (solid 9-year exp)
  • Nest.JS
  • Knex.js / Objection.js (solid 5-year exp)
  • Sequelize

Frontend

  • React (solid 8-year exp)
  • VueJS (prefer, solid 3-year exp)
  • Cypress (prefer, solid 3-year exp)
  • JQuery
  • Antd / Antdv
  • PostCSS (prefer, solid 5-year exp)
  • Sass (prefer, solid 8-year exp)
  • Less (weak 4-year exp)

DevOps

  • NixOS / NixOps / Nix dev shell (prefer, solid 3-year exp)
  • Docker Swarm (solid 6-year exp)
  • Kubernetes (weak 5-year exp)
  • Woodpecker CI (prefer, solid 4-year exp)
  • Drone CI (solid 3-year exp)
  • Gitlab CI (solid 7-year exp)
  • GitHub Actions (4-year exp)

Interests

Open-source projects are my passion! I develop, maintain and improve projects in my spare time.

Besides programming, I love to cook and spend time with my beloved family!

Contacts

Simplex (Prefer): Dmitriy Pleshevskiy

Telegram: Dmitriy Pleshevskiy

Matrix: @pleshevskiy:matrix.org

Email: dmitriy[at]pleshevski[dot]ru

',30))])}const y=a(c,[["render",h],["__file","index.html.vue"]]),x=JSON.parse('{"path":"/eng/","title":"Resume","lang":"en-US","frontmatter":{"home":true,"title":"Resume","heroText":null,"head":[["link",{"rel":"alternate","hreflang":"ru-ru","href":"https://pleshevski.ru/"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/eng/"}],["meta",{"property":"og:site_name","content":"Dmitriy Pleshevskiy"}],["meta",{"property":"og:title","content":"Resume"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"ru-RU"}],["meta",{"property":"og:updated_time","content":"2024-09-05T22:11:51.000Z"}],["meta",{"property":"article:modified_time","content":"2024-09-05T22:11:51.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Resume\\"}"]]},"headers":[{"level":2,"title":"Overview","slug":"overview","link":"#overview","children":[]},{"level":2,"title":"Skills","slug":"skills","link":"#skills","children":[]},{"level":2,"title":"Stack","slug":"stack","link":"#stack","children":[]},{"level":2,"title":"Interests","slug":"interests","link":"#interests","children":[]},{"level":2,"title":"Contacts","slug":"contacts","link":"#contacts","children":[]},{"level":2,"title":"Links","slug":"links","link":"#links","children":[]}],"git":{"updatedTime":1725574311000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":6}]},"filePathRelative":"eng/index.md"}');export{y as comp,x as data}; diff --git a/dist/assets/index.html-D3SBAZ5R.js b/dist/assets/index.html-D3SBAZ5R.js deleted file mode 100644 index 7371350..0000000 --- a/dist/assets/index.html-D3SBAZ5R.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,c as a,a as t,b as e,d as o,w as r,e as n,r as s,o as c}from"./app-YqJ2N5FF.js";const d={},h=n('

Общие сведения

Меня зовут Дмитрий Плешевский.

Я энтузиаст программного обеспечения с открытым исходным кодом, ведущий разработчик програмного обеспечения, архитектор, руководитель команды, а так же ментор.

Умения

Языки программирования:

  • TypeScript (предпочитаю, твёрдый 9-летний опыт)
  • SQL (предпочитаю, твёрдый 8-летний опыт)
  • Rust (предпочитаю, 5-летний опыт)
  • Python (твёрдый 9-летний опыт)
  • Haskell
  • Bash (8-летний опыт)
  • Java
  • C#
  • C++

Хранилища данных:

  • PostgreSQL (предпочитаю, твёрдый 8-летний опыт)
  • MySQL
  • Sqlite
  • MsSQL
  • MongoDB
  • Reddis
  • Minio (предпочитаю, твердый 5-летний опыт)

Я так же имею большой опыт в создании следующих типов приложений:

  • Традиционные (SSR + Forms)
  • API (REST/GraphQL/WebSocket/EventSource)
  • Динамическое (SPA)
  • Гибридное (SSR + SPA)
  • Консольные
  • Кроссплатформенные

Stack

Backend (Rust)

  • axum (предпочитаю, твёрдый 2-летний опыт)
  • async-graphql (предпочитаю, твёрдый 2-летний опыт)
  • shaku (предпочитаю, твёрдый 2-летний опыт)
  • bb8 + postgres-types (предпочитаю, твёрдый 5-летний опыт)
  • diesel (2-летний опыт)

Backend (Node.JS)

  • Apollo (твёрдый 5-летний опыт)
  • Express (твёрдый 9-летний опыт)
  • Nest.JS
  • Knex.js / Objection.js (твёрдый 5-летний опыт)
  • Sequelize

Frontend

  • React (твёрдый 8-летний опыт)
  • VueJS (предпочитаю, твёрдый 4-летний опыт)
  • Cypress (предпочитаю, твёрдый 3-летний опыт)
  • JQuery
  • Antd / Antdv
  • PostCSS (предпочитаю, твёрдый 5-летний опыт)
  • Sass (предпочитаю, твёрдый 8-летний опыт)
  • Less (слабый 4-летний опыт)

DevOps

  • NixOS / NixOps / Nix dev shell (предпочитаю, твёрдый 3-летний опыт)
  • Docker Swarm (твёрдый 6-летний опыт)
  • Kubernetes (слабый 5-летний опыт)
  • Woodpecker CI (твёрдый 4-летний опыт)
  • Drone CI (твёрдый 3-летний опыт)
  • Gitlab CI (твёрдый 7-летний опыт)
  • GitHub Actions (4-летний опыт)

Интересы

Open-source проекты - моя страсть! Разрабатываю, поддерживаю и улучшаю проекты в своё свободное время.

Помимо программирования я люблю готовить и проводить время со своей любимой семьей!

Контакты

Simplex (Предпочтительно): Dmitriy Pleshevskiy

Telegram: Dmitriy Pleshevskiy

Matrix: @pleshevskiy:matrix.org

Email: dmitriy[at]pleshevski[dot]ru

Ссылки

',30);function p(u,m){const l=s("RouteLink");return c(),a("div",null,[t("p",null,[e("Всегда актуальная ссылка на "),o(l,{to:"/"},{default:r(()=>[e("резюме")]),_:1}),e(".")]),h])}const f=i(d,[["render",p],["__file","index.html.vue"]]),x=JSON.parse('{"path":"/","title":"Резюме","lang":"ru-RU","frontmatter":{"home":true,"title":"Резюме","heroText":null,"head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://pleshevski.ru/eng/"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:title","content":"Резюме"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-09-05T22:11:51.000Z"}],["meta",{"property":"article:modified_time","content":"2024-09-05T22:11:51.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Резюме\\"}"]]},"headers":[{"level":2,"title":"Общие сведения","slug":"общие-сведения","link":"#общие-сведения","children":[]},{"level":2,"title":"Умения","slug":"умения","link":"#умения","children":[]},{"level":2,"title":"Stack","slug":"stack","link":"#stack","children":[]},{"level":2,"title":"Интересы","slug":"интересы","link":"#интересы","children":[]},{"level":2,"title":"Контакты","slug":"контакты","link":"#контакты","children":[]},{"level":2,"title":"Ссылки","slug":"ссылки","link":"#ссылки","children":[]}],"git":{"updatedTime":1725574311000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":6}]},"filePathRelative":"index.md"}');export{f as comp,x as data}; diff --git a/dist/assets/index.html-DPTHXHCg.js b/dist/assets/index.html-DPTHXHCg.js new file mode 100644 index 0000000..3dfdc9c --- /dev/null +++ b/dist/assets/index.html-DPTHXHCg.js @@ -0,0 +1 @@ +import{_ as a,c as t,a as o,b as l,d as r,w as n,e as s,r as d,o as c}from"./app-ByBFieB-.js";const p={};function h(u,e){const i=d("RouteLink");return c(),t("div",null,[o("p",null,[e[1]||(e[1]=l("Всегда актуальная ссылка на ")),r(i,{to:"/"},{default:n(()=>e[0]||(e[0]=[l("резюме")])),_:1}),e[2]||(e[2]=l("."))]),e[3]||(e[3]=s('

Общие сведения

Меня зовут Дмитрий Плешевский.

Я энтузиаст программного обеспечения с открытым исходным кодом, ведущий разработчик програмного обеспечения, архитектор, руководитель команды, а так же ментор.

Умения

Языки программирования:

  • TypeScript (предпочитаю, твёрдый 9-летний опыт)
  • SQL (предпочитаю, твёрдый 8-летний опыт)
  • Rust (предпочитаю, 5-летний опыт)
  • Python (твёрдый 9-летний опыт)
  • Haskell
  • Bash (8-летний опыт)
  • Java
  • C#
  • C++

Хранилища данных:

  • PostgreSQL (предпочитаю, твёрдый 8-летний опыт)
  • MySQL
  • Sqlite
  • MsSQL
  • MongoDB
  • Reddis
  • Minio (предпочитаю, твердый 5-летний опыт)

Я так же имею большой опыт в создании следующих типов приложений:

  • Традиционные (SSR + Forms)
  • API (REST/GraphQL/WebSocket/EventSource)
  • Динамическое (SPA)
  • Гибридное (SSR + SPA)
  • Консольные
  • Кроссплатформенные

Stack

Backend (Rust)

  • axum (предпочитаю, твёрдый 2-летний опыт)
  • async-graphql (предпочитаю, твёрдый 2-летний опыт)
  • shaku (предпочитаю, твёрдый 2-летний опыт)
  • bb8 + postgres-types (предпочитаю, твёрдый 5-летний опыт)
  • diesel (2-летний опыт)

Backend (Node.JS)

  • Apollo (твёрдый 5-летний опыт)
  • Express (твёрдый 9-летний опыт)
  • Nest.JS
  • Knex.js / Objection.js (твёрдый 5-летний опыт)
  • Sequelize

Frontend

  • React (твёрдый 8-летний опыт)
  • VueJS (предпочитаю, твёрдый 4-летний опыт)
  • Cypress (предпочитаю, твёрдый 3-летний опыт)
  • JQuery
  • Antd / Antdv
  • PostCSS (предпочитаю, твёрдый 5-летний опыт)
  • Sass (предпочитаю, твёрдый 8-летний опыт)
  • Less (слабый 4-летний опыт)

DevOps

  • NixOS / NixOps / Nix dev shell (предпочитаю, твёрдый 3-летний опыт)
  • Docker Swarm (твёрдый 6-летний опыт)
  • Kubernetes (слабый 5-летний опыт)
  • Woodpecker CI (твёрдый 4-летний опыт)
  • Drone CI (твёрдый 3-летний опыт)
  • Gitlab CI (твёрдый 7-летний опыт)
  • GitHub Actions (4-летний опыт)

Интересы

Open-source проекты - моя страсть! Разрабатываю, поддерживаю и улучшаю проекты в своё свободное время.

Помимо программирования я люблю готовить и проводить время со своей любимой семьей!

Контакты

Simplex (Предпочтительно): Dmitriy Pleshevskiy

Telegram: Dmitriy Pleshevskiy

Matrix: @pleshevskiy:matrix.org

Email: dmitriy[at]pleshevski[dot]ru

Ссылки

',30))])}const k=a(p,[["render",h],["__file","index.html.vue"]]),f=JSON.parse('{"path":"/","title":"Резюме","lang":"ru-RU","frontmatter":{"home":true,"title":"Резюме","heroText":null,"head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://pleshevski.ru/eng/"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:title","content":"Резюме"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-09-05T22:11:51.000Z"}],["meta",{"property":"article:modified_time","content":"2024-09-05T22:11:51.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Резюме\\"}"]]},"headers":[{"level":2,"title":"Общие сведения","slug":"общие-сведения","link":"#общие-сведения","children":[]},{"level":2,"title":"Умения","slug":"умения","link":"#умения","children":[]},{"level":2,"title":"Stack","slug":"stack","link":"#stack","children":[]},{"level":2,"title":"Интересы","slug":"интересы","link":"#интересы","children":[]},{"level":2,"title":"Контакты","slug":"контакты","link":"#контакты","children":[]},{"level":2,"title":"Ссылки","slug":"ссылки","link":"#ссылки","children":[]}],"git":{"updatedTime":1725574311000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":6}]},"filePathRelative":"index.md"}');export{k as comp,f as data}; diff --git a/dist/assets/style-DOZUTAXU.css b/dist/assets/style-C_TsZSxL.css similarity index 99% rename from dist/assets/style-DOZUTAXU.css rename to dist/assets/style-C_TsZSxL.css index 3051d39..021e1a1 100644 --- a/dist/assets/style-DOZUTAXU.css +++ b/dist/assets/style-C_TsZSxL.css @@ -1 +1 @@ -@charset "UTF-8";.vp-back-to-top-button{position:fixed!important;inset-inline-end:1rem;bottom:4rem;z-index:100;width:48px;height:48px;padding:12px;border-width:0;border-radius:50%;background:var(--back-to-top-c-bg);color:var(--back-to-top-c-accent);box-shadow:2px 2px 10px 4px var(--back-to-top-c-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{transform:scale(.8);transform-origin:100% 100%}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-c-accent-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:24px;height:24px;margin:0 auto;background:var(--back-to-top-c-icon);-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:52px;height:52px}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;transform:rotate(-90deg);transform-origin:50% 50%}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cpath%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='4'%20d='M24.008%2014.1V42M12%2026l12-12l12%2012M12%206h24'%20/%3e%3c/svg%3e");--back-to-top-c-bg: var(--vp-c-bg);--back-to-top-c-accent: var(--vp-c-accent);--back-to-top-c-accent-hover: var(--vp-c-accent-hover);--back-to-top-c-shadow: var(--vp-c-shadow);--back-to-top-c-icon: currentcolor}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:transparent;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:before{content:"";display:inline-block;width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-c-text);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-c-hover)}.vp-copy-code-button.copied:before{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--copy-code-c-hover);color:var(--copy-code-c-text);font-weight:500;line-height:1.25rem;white-space:nowrap}.no-copy-code .vp-copy-code-button{display:none}body:not(.no-copy-code) div[class*=language-]:hover:before{display:none}body:not(.no-copy-code) div[class*=language-]:hover .vp-copy-code-button{opacity:1}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2'%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");--code-copied-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2'%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");--copy-code-c-text: var(--code-c-line-number);--copy-code-c-hover: var(--code-c-highlight-bg)}.hint-container{position:relative;border-color:var(--hint-c-accent);background:var(--hint-c-bg);transition:background var(--vp-t-color),border-color var(--vp-t-color),color var(--vp-t-color)}@media print{.hint-container{page-break-inside:avoid}}.hint-container>.hint-container-title{color:var(--hint-c-title)}.hint-container :not(pre)>code{background:var(--note-c-soft)}.hint-container .hint-container-title{position:relative;margin-block:.75em;font-weight:600;line-height:1.25}.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin:.85rem 0;padding:.25rem 1rem;border-inline-start-width:.3rem;border-inline-start-style:solid;border-radius:.5rem;color:inherit}@media (max-width: 419px){.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin-inline:-.75rem}}.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:1.75rem}@media print{.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:0}}.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{content:" ";position:absolute;inset-inline-start:0;top:calc(50% - .6125em);width:1.25em;height:1.25em;background-position:left;background-repeat:no-repeat}@media print{.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{display:none}}.hint-container.important p,.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.caution p{line-height:1.5}.hint-container.important a,.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.caution a{color:var(--vp-c-accent)}.hint-container.important{--hint-c-accent: var(--important-c-accent);--hint-c-bg: var(--important-c-light);--hint-c-title: var(--important-c-dark);--hint-c-soft: var(--important-c-soft)}[data-theme=dark] .hint-container.important{--hint-c-bg: var(--important-c-dark);--hint-c-title: var(--important-c-light)}.hint-container.important>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z' fill='%23a371f7'/%3E%3C/svg%3E")}.hint-container.info{--hint-c-accent: var(--info-c-accent);--hint-c-bg: var(--info-c-light);--hint-c-title: var(--info-c-dark);--hint-c-soft: var(--info-c-soft)}[data-theme=dark] .hint-container.info{--hint-c-bg: var(--info-c-dark);--hint-c-title: var(--info-c-light)}.hint-container.info>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E")}.hint-container.note{--hint-c-accent: var(--note-c-accent);--hint-c-bg: var(--note-c-light);--hint-c-title: var(--note-c-dark);--hint-c-soft: var(--note-c-soft)}[data-theme=dark] .hint-container.note{--hint-c-bg: var(--note-c-dark);--hint-c-title: var(--note-c-light)}.hint-container.note>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E")}.hint-container.tip{--hint-c-accent: var(--tip-c-accent);--hint-c-bg: var(--tip-c-light);--hint-c-title: var(--tip-c-dark);--hint-c-soft: var(--tip-c-soft)}[data-theme=dark] .hint-container.tip{--hint-c-bg: var(--tip-c-dark);--hint-c-title: var(--tip-c-light)}.hint-container.tip>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E")}.hint-container.warning{--hint-c-accent: var(--warning-c-accent);--hint-c-bg: var(--warning-c-light);--hint-c-title: var(--warning-c-dark);--hint-c-soft: var(--warning-c-soft)}[data-theme=dark] .hint-container.warning{--hint-c-bg: var(--warning-c-dark);--hint-c-title: var(--warning-c-light)}.hint-container.warning>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E")}.hint-container.caution{--hint-c-accent: var(--caution-c-accent);--hint-c-bg: var(--caution-c-light);--hint-c-title: var(--caution-c-dark);--hint-c-soft: var(--caution-c-soft)}[data-theme=dark] .hint-container.caution{--hint-c-bg: var(--caution-c-dark);--hint-c-title: var(--caution-c-light)}.hint-container.caution>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E")}.hint-container.details{--detail-c-bg: var(--detail-c-light);--detail-c-icon: var(--detail-c-icon-light);position:relative;display:block;margin:1rem 0;padding:1.5rem;border-radius:.5rem;background:var(--detail-c-bg);transition:background var(--vp-t-transform),color var(--vp-t-transform)}@media (max-width: 419px){.hint-container.details{margin-inline:-.75rem}}[data-theme=dark] .hint-container.details{--detail-c-bg: var(--detail-c-dark);--detail-c-icon: var(--detail-c-icon-dark)}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-c-accent)}.hint-container.details :not(pre)>code{background:var(--detail-c-soft)}.hint-container.details summary{position:relative;margin:-1.5rem;padding-block:1.5rem;padding-inline:4rem 1.5rem;list-style:none;cursor:pointer}.hint-container.details summary::-webkit-details-marker{display:none}.hint-container.details summary::marker{color:transparent;font-size:0}.hint-container.details summary:before,.hint-container.details summary:after{content:" ";position:absolute;inset-inline-start:1.5rem;top:calc(50% - .75rem);width:1.5rem;height:1.5rem}.hint-container.details summary:before{border-radius:50%;background:var(--detail-c-icon);transition:background var(--vp-t-color),transform var(--vp-t-transform)}.hint-container.details summary:after{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:transform var(--vp-t-transform);transform:rotate(90deg)}[data-theme=dark] .hint-container.details summary:after{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:after{transform:rotate(180deg)}:root{--important-c-accent: #a371f7;--important-c-light: #f4eefe;--important-c-dark: #230555;--important-c-soft: rgb(163 113 247 / 10%);--info-c-accent: #4cb3d4;--info-c-light: #eef9fd;--info-c-dark: #193c47;--info-c-soft: rgb(76 179 212 / 10%);--note-c-accent: #ccc;--note-c-light: #fdfdfe;--note-c-dark: #474748;--note-c-soft: rgb(212 213 216 / 20%);--tip-c-accent: #009400;--tip-c-light: #e6f6e6;--tip-c-dark: #003100;--tip-c-soft: rgb(0 148 0 / 15%);--warning-c-accent: #e6a700;--warning-c-light: #fff8e6;--warning-c-dark: #4d3800;--warning-c-soft: rgb(230 167 0 / 15%);--caution-c-accent: #e13238;--caution-c-light: #ffebec;--caution-c-dark: #4b1113;--caution-c-soft: rgb(225 50 56 / 15%);--detail-c-light: #eee;--detail-c-dark: #333;--detail-c-icon-light: #ccc;--detail-c-icon-dark: #555;--detail-c-soft: rgb(127 127 127 / 15%)}:root{--nprogress-c: var(--vp-c-accent);--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{position:fixed;top:0;left:0;z-index:var(--nprogress-z-index);width:100%;height:2px;background:var(--nprogress-c)}:root{--code-padding-x: 1.25rem;--code-padding-y: 1rem;--code-border-radius: 6px;--code-line-height: 1.6;--code-font-family: consolas, monaco, "Andale Mono", "Ubuntu Mono", monospace}div[class*=language-]{position:relative;border-radius:var(--code-border-radius);background-color:var(--code-c-bg)}div[class*=language-]:before{content:attr(data-title);position:absolute;top:.8em;right:1em;z-index:3;color:var(--code-c-text);font-size:.75rem}div[class*=language-] pre{position:relative;z-index:1;overflow-x:auto;margin:.75rem 0;border-radius:var(--code-border-radius);font-size:14px;font-family:var(--code-font-family);line-height:var(--code-line-height)}div[class*=language-] pre code{display:block;box-sizing:border-box;width:-moz-fit-content;width:fit-content;min-width:100%;padding:var(--code-padding-y) var(--code-padding-x);background-color:transparent!important;overflow-wrap:unset;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}:root{--code-c-text: #f8f8f2;--code-c-bg: #2e3440;--code-c-highlight-bg: #343d4e;--code-c-line-number: rgba(248, 248, 242, .67)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:.7}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#a3be8c}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:#81a1c1}.token.atrule,.token.attr-value,.token.function,.token.class-name{color:#88c0d0}.token.keyword{color:#81a1c1}.token.regex,.token.important{color:#ebcb8b}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}:root{--code-line-number-width: 3.5rem}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;left:0;width:var(--code-line-number-width);height:100%;border-right:1px solid var(--code-c-highlight-bg, var(--code-c-text));border-radius:var(--code-border-radius) 0 0 var(--code-border-radius);transition:border var(--t-color)}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--code-line-number-width)}div[class*=language-].line-numbers-mode code{padding-left:1rem}div[class*=language-].line-numbers-mode .line-numbers{counter-reset:line-number;position:absolute;top:0;width:var(--code-line-number-width);padding-top:var(--code-padding-y);color:var(--code-c-line-number, var(--code-c-text));font-size:.875em;line-height:var(--code-line-height);text-align:center}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:3;font-family:var(--code-font-family);-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);counter-increment:line-number}.vp-badge{display:inline-block;vertical-align:top;height:18px;padding:0 6px;border-radius:3px;color:var(--vp-c-accent-text);font-weight:600;font-size:14px;line-height:18px;transition:color var(--vp-t-color),background-color var(--vp-t-color)}.vp-badge.tip{background-color:var(--c-badge-tip)}.vp-badge.warning{background-color:var(--c-badge-warning);color:var(--c-badge-warning-text)}.vp-badge.danger{background-color:var(--c-badge-danger);color:var(--c-badge-danger-text)}.vp-badge+.vp-badge{margin-left:5px}.code-group-nav{margin-top:.85rem;margin-bottom:calc(-1.7rem - 6px);padding-top:10px;padding-bottom:calc(1.7rem - 6px);padding-left:10px;border-top-left-radius:6px;border-top-right-radius:6px;background-color:var(--vp-c-code-tab-bg);transition:background-color var(--t-color)}@media (max-width: 419px){.code-group-nav{margin-right:-1.5rem;margin-left:-1.5rem;border-radius:0}}.code-group-nav-tab{padding:5px;border:0;background-color:transparent;color:var(--vp-c-code-tab-title);font-weight:600;font-size:.85em;line-height:1.4;cursor:pointer}.code-group-nav-tab:focus{outline:none}.code-group-nav-tab:focus-visible{outline:1px solid}.code-group-nav-tab.active{border-bottom:var(--vp-c-code-tab-active) 1px solid}.code-group-item{display:none}.code-group-item.active{display:block}.code-group-item>pre{background-color:orange}.vp-features{display:flex;flex-wrap:wrap;place-content:stretch space-between;align-items:flex-start;margin-top:2.5rem;padding:1.2rem 0;border-top:1px solid var(--vp-c-gutter);transition:border-color var(--vp-t-color)}@media (max-width: 719px){.vp-features{flex-direction:column}}.vp-feature{flex-grow:1;flex-basis:30%;max-width:30%}@media (max-width: 719px){.vp-feature{max-width:100%;padding:0 2.5rem}}.vp-feature h2{padding-bottom:0;border-bottom:none;font-weight:500;font-size:1.4rem}@media (max-width: 419px){.vp-feature h2{font-size:1.25rem}}.vp-feature p{color:var(--vp-c-text-mute)}.vp-footer{padding:2.5rem;border-top:1px solid var(--vp-c-border);color:var(--vp-c-text-mute);text-align:center;transition:border-color var(--vp-t-color)}.vp-hero{text-align:center}.vp-hero-image{display:block;max-width:100%;max-height:280px;margin:3rem auto 1.5rem}@media (max-width: 419px){.vp-hero-image{max-height:210px;margin:2rem auto 1.2rem}}#main-title{font-size:3rem}@media (max-width: 419px){#main-title{font-size:2rem}}#main-title,.vp-hero-description,.vp-hero-actions{margin:1.8rem auto}@media (max-width: 419px){#main-title,.vp-hero-description,.vp-hero-actions{margin:1.2rem auto}}.vp-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.vp-hero-description{max-width:35rem;color:var(--vp-c-text-mute);font-size:1.6rem;line-height:1.3}@media (max-width: 419px){.vp-hero-description{font-size:1.2rem}}.vp-hero-action-button{display:inline-block;box-sizing:border-box;padding:.8rem 1.6rem;border-width:2px;border-style:solid;border-radius:4px;font-size:1.2rem;transition:background-color var(--vp-t-color)}@media (max-width: 419px){.vp-hero-action-button{padding:.6rem 1.2rem;font-size:1rem}}.vp-hero-action-button.primary{border-color:var(--vp-c-accent);background-color:var(--vp-c-accent);color:var(--vp-c-accent-text)}.vp-hero-action-button.primary:hover{background-color:var(--vp-c-accent-hover)}.vp-hero-action-button.secondary{border-color:var(--vp-c-accent);background-color:var(--vp-c-bg);color:var(--vp-c-accent)}.vp-hero-action-button.secondary:hover{background-color:var(--vp-c-accent-hover);color:var(--vp-c-accent-text)}.vp-home{display:block;max-width:var(--homepage-width);margin:0 auto;padding:var(--navbar-height) 2rem 0}@media (max-width: 419px){.vp-home{padding-right:1.5rem;padding-left:1.5rem}}.vp-home .theme-default-content{margin:0;padding:0}.vp-site-logo{vertical-align:top;height:var(--navbar-line-height);margin-right:var(--navbar-padding-v)}.vp-site-name{position:relative;color:var(--vp-c-text);font-weight:600;font-size:1.3rem}@media screen and (max-width: 719px){.vp-site-name{display:block;overflow:hidden;width:calc(100vw - 11rem);text-overflow:ellipsis;white-space:nowrap}}.vp-dropdown-enter-from,.vp-dropdown-leave-to{height:0!important}.vp-navbar-dropdown-wrapper{cursor:pointer}.vp-navbar-dropdown-wrapper:not(.mobile){height:1.8rem}.vp-navbar-dropdown-wrapper:not(.mobile):hover .vp-navbar-dropdown,.vp-navbar-dropdown-wrapper:not(.mobile).open .vp-navbar-dropdown{display:block!important}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown{overflow:hidden;transition:height .1s ease-out;padding-top:.5rem}.vp-navbar-dropdown-wrapper:not(.mobile) .vp-navbar-dropdown{position:absolute;top:100%;right:0;display:none;overflow-y:auto;box-sizing:border-box;height:auto!important;max-height:calc(100vh - 2.7rem);margin:0;padding:.6rem 0;border:1px solid var(--vp-c-border);border-radius:.25rem;background-color:var(--vp-navbar-c-bg);text-align:left;white-space:nowrap}.vp-navbar-dropdown-title{display:block;padding:inherit;border:none;background:transparent;color:var(--vp-c-text);font-weight:500;font-size:.9rem;font-family:inherit;line-height:1.4rem;cursor:inherit}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-title{display:none}.vp-navbar-dropdown-title:hover{border-color:transparent}.vp-navbar-dropdown-title-mobile{display:none;padding:inherit;border:none;background:transparent;color:var(--vp-c-text);font-weight:600;font-size:inherit;font-family:inherit;line-height:1.4rem;cursor:inherit}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-title-mobile{display:block}.vp-navbar-dropdown-title-mobile:hover{color:var(--vp-c-accent)}.vp-navbar-dropdown-item{color:inherit;line-height:1.7rem}.vp-navbar-dropdown-item a{position:relative;display:block;margin-bottom:0;padding:0 1.5rem 0 1.25rem;border-bottom:none;font-weight:400;line-height:1.7rem}.vp-navbar-dropdown-item a:hover,.vp-navbar-dropdown-item a.route-link-active{color:var(--vp-c-accent)}.vp-navbar-dropdown-item a.route-link-active:after{content:"";position:absolute;top:calc(50% - 2px);left:9px;width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:5px solid var(--vp-c-accent)}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-item>a{font-size:15px;line-height:2rem}.vp-navbar-dropdown-subtitle{margin:.45rem 0 0;padding:1rem 0 .45rem;border-top:1px solid var(--vp-c-gutter);font-size:.9rem}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-subtitle{margin-top:0;padding-top:0;padding-bottom:0;border-top:0;font-size:15px;line-height:2rem}.vp-navbar-dropdown-item:first-child .vp-navbar-dropdown-subtitle{margin-top:0;padding-top:0;border-top:0}.vp-navbar-dropdown-subtitle>span{padding:0 1.5rem 0 1.25rem}.vp-navbar-dropdown-subtitle>a{font-weight:inherit}.vp-navbar-dropdown-subtitle>a.route-link-active:after{display:none}.vp-navbar-dropdown-subitem-wrapper{padding:0;list-style:none}.vp-navbar-dropdown-subitem{font-size:.9em}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-subitem{padding-left:1rem;font-size:14px}.vp-navbar-items{display:inline-block}@media print{.vp-navbar-items{display:none}}.vp-navbar-items a{display:inline-block;color:inherit;line-height:1.4rem}.vp-navbar-items a:hover,.vp-navbar-items a.route-link-active{color:var(--vp-c-text)}.vp-navbar-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:var(--navbar-line-height)}@media (max-width: 719px){.vp-navbar-item{margin-left:0}}.vp-navbar-item:first-child{margin-left:0}.vp-navbar-item a:hover,.vp-navbar-item a.route-link-active{color:var(--vp-c-accent)}.vp-navbar-item>a:hover,.vp-navbar-item>a.route-link-active{margin-bottom:-2px;border-bottom:2px solid var(--vp-c-accent)}@media (max-width: 719px){.vp-navbar-item>a:hover,.vp-navbar-item>a.route-link-active{margin-bottom:0;border-bottom:none}}.vp-toggle-color-mode-button{display:flex;margin:auto;margin-left:1rem;border:0;background:none;color:var(--vp-c-text);opacity:.8;cursor:pointer}@media print{.vp-toggle-color-mode-button{display:none}}.vp-toggle-color-mode-button:hover{opacity:1}.vp-toggle-color-mode-button .light-icon,.vp-toggle-color-mode-button .dark-icon{width:1.25rem;height:1.25rem}.vp-toggle-sidebar-button{position:absolute;top:.6rem;left:1rem;display:none;padding:.6rem;cursor:pointer}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block}}.vp-toggle-sidebar-button .icon{display:flex;flex-direction:column;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;cursor:inherit}.vp-toggle-sidebar-button .icon span{display:inline-block;width:100%;height:2px;border-radius:2px;background-color:var(--vp-c-text);transition:transform var(--vp-t-transform)}.vp-toggle-sidebar-button .icon span:nth-child(2){margin:6px 0}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(1){transform:rotate(45deg) translate3d(5.5px,5.5px,0)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(2){transform:scale3d(0,1,1)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(3){transform:rotate(-45deg) translate3d(6px,-6px,0)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(1),.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(3){transform-origin:center}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - 2 * var(--navbar-padding-v) );position:fixed;top:0;right:0;left:0;z-index:20;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-padding-v) var(--navbar-padding-h);border-bottom:1px solid var(--vp-c-border);background-color:var(--vp-navbar-c-bg);line-height:var(--navbar-line-height);transition:background-color var(--vp-t-color),border-color var(--vp-t-color)}@media screen and (max-width: 719px){.vp-navbar{padding-left:4rem}}.vp-navbar-items-wrapper{position:absolute;top:var(--navbar-padding-v);right:var(--navbar-padding-h);display:flex;box-sizing:border-box;height:var(--navbar-line-height);padding-left:var(--navbar-padding-h);font-size:.9rem;white-space:nowrap}.vp-page-meta{max-width:var(--content-width);margin:0 auto;padding:.75rem 2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto}@media (max-width: 959px){.vp-page-meta{padding:2rem}}@media (max-width: 419px){.vp-page-meta{padding:1.5rem}}@media print{.vp-page-meta{margin:0!important;padding-right:0!important;padding-left:0!important}}@media (max-width: 719px){.vp-page-meta{display:block}}.vp-page-meta .vp-meta-item{flex-grow:1}.vp-page-meta .vp-meta-item .vp-meta-label{font-weight:500}.vp-page-meta .vp-meta-item .vp-meta-label:not(a){color:var(--vp-c-text-mute)}.vp-page-meta .vp-meta-item .vp-meta-info{color:var(--vp-c-text-mute);font-weight:400}.vp-page-meta .git-info{text-align:end}.vp-page-meta .edit-link{margin-top:.25rem;margin-right:.5rem;margin-bottom:.25rem;font-size:14px}@media print{.vp-page-meta .edit-link{display:none}}.vp-page-meta .edit-link .edit-icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-right:.25em}.vp-page-meta .last-updated,.vp-page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.vp-page-meta .last-updated,.vp-page-meta .contributors{font-size:13px;text-align:start}}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-top:0;margin-right:auto;margin-left:auto;padding:1rem 2rem 0;border-top:1px solid var(--vp-c-gutter);transition:border-top var(--vp-t-color)}@media (max-width: 959px){.vp-page-nav{padding-right:1rem;padding-left:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .route-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--vp-c-gutter);border-radius:.25rem}.vp-page-nav .route-link:hover{background:var(--c-bg-soft)}.vp-page-nav .route-link .hint{color:var(--vp-c-text-mute);font-size:.875rem;line-height:2}.vp-page-nav .prev{text-align:start}.vp-page-nav .next{text-align:end}.vp-page{display:block;padding-top:var(--navbar-height);padding-bottom:2rem;padding-left:var(--sidebar-width)}@media (max-width: 959px){.vp-page{padding-left:var(--sidebar-width-mobile)}}@media (max-width: 719px){.vp-page{padding-left:0}}.vp-page .theme-default-content{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.vp-page .theme-default-content{padding:2rem}}@media (max-width: 419px){.vp-page .theme-default-content{padding:1.5rem}}.vp-sidebar-item{border-left:.25rem solid transparent;color:var(--vp-c-text);cursor:default}.vp-sidebar-item:focus-visible{outline-width:1px;outline-offset:-1px}.vp-sidebar-item.vp-sidebar-heading{box-sizing:border-box;width:100%;margin:0;padding:.35rem 1.5rem .35rem 1.25rem;font-weight:700;font-size:1.1em;transition:color .15s ease}.vp-sidebar-item.vp-sidebar-heading+.vp-sidebar-children{overflow:hidden;transition:height .1s ease-out;margin-bottom:.75rem}.vp-sidebar-item.collapsible{cursor:pointer}.vp-sidebar-item:not(.vp-sidebar-heading){display:inline-block;box-sizing:border-box;width:100%;margin:0;padding:.35rem 1rem .35rem 2rem;font-weight:400;font-size:1em;line-height:1.4}.vp-sidebar-item:not(.vp-sidebar-heading)+.vp-sidebar-children{padding-left:1rem;font-size:.95em}.vp-sidebar-children .vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading){padding:.25rem 1rem .25rem 1.75rem}.vp-sidebar-children .vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading).active{border-left-color:transparent;font-weight:500}a.vp-sidebar-heading+.vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading).active{border-left-color:transparent}.vp-sidebar-item.active:not(p.vp-sidebar-heading){border-left-color:var(--vp-c-accent);color:var(--vp-c-accent);font-weight:600}a.vp-sidebar-item{cursor:pointer}a.vp-sidebar-item:hover{color:var(--vp-c-accent)}.vp-sidebar-items{margin:0;padding:1.5rem 0;list-style-type:none}@media (max-width: 719px){.vp-sidebar-items{padding:1rem 0}}.vp-sidebar-items ul{margin:0;padding:0;list-style-type:none}.vp-sidebar-items a{display:inline-block}.vp-sidebar{position:fixed;top:var(--navbar-height);bottom:0;left:0;z-index:10;overflow-y:auto;box-sizing:border-box;width:var(--sidebar-width);margin:0;border-right:1px solid var(--vp-c-border);background-color:var(--vp-sidebar-c-bg);font-size:16px;transition:transform var(--vp-t-transform),background-color var(--vp-t-color),border-color var(--vp-t-color);scrollbar-color:var(--vp-c-accent) var(--vp-c-gutter);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{width:var(--sidebar-width-mobile);font-size:15px}}@media (max-width: 719px){.vp-sidebar{top:0;padding-top:var(--navbar-height);transform:translate(-100%)}}.vp-sidebar::-webkit-scrollbar{width:7px}.vp-sidebar::-webkit-scrollbar-track{background-color:var(--vp-c-gutter)}.vp-sidebar::-webkit-scrollbar-thumb{background-color:var(--vp-c-accent)}.vp-sidebar .vp-navbar-items{display:none;padding:.5rem 0 .75rem;border-bottom:1px solid var(--vp-c-gutter);transition:border-color var(--vp-t-color)}@media (max-width: 719px){.vp-sidebar .vp-navbar-items{display:block}.vp-sidebar .vp-navbar-items .vp-navbar-dropdown-item a.route-link-active:after{top:calc(1rem - 2px)}}.vp-sidebar .vp-navbar-items ul{margin:0;padding:0;list-style-type:none}.vp-sidebar .vp-navbar-items a{font-weight:600}.vp-sidebar .vp-navbar-item{display:block;padding:.5rem 0 .5rem 1.5rem;font-size:1.1em;line-height:1.25rem}.vp-sidebar-mask{position:fixed;top:0;left:0;z-index:9;display:none;width:100vw;height:100vh}.vp-theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.vp-theme-container.no-navbar .vp-sidebar{padding-top:0}}.vp-theme-container.no-navbar .vp-page{padding-top:0}.vp-theme-container.no-navbar .theme-default-content h1,.vp-theme-container.no-navbar .theme-default-content h2,.vp-theme-container.no-navbar .theme-default-content h3,.vp-theme-container.no-navbar .theme-default-content h4,.vp-theme-container.no-navbar .theme-default-content h5,.vp-theme-container.no-navbar .theme-default-content h6{margin-top:1.5rem;padding-top:0}.vp-theme-container.no-sidebar .vp-sidebar{display:none}@media (max-width: 719px){.vp-theme-container.no-sidebar .vp-sidebar{display:block}}.vp-theme-container.no-sidebar .vp-page{padding-left:0}@media (max-width: 719px){.vp-theme-container.sidebar-open .vp-sidebar{transform:translate(0)}.vp-theme-container.sidebar-open .vp-sidebar-mask{display:block}}.fade-slide-y-enter-active{transition:all .2s ease}.fade-slide-y-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-theme-container[data-v-1c3b23e8]{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.vp-theme-container[data-v-1c3b23e8]{padding:2rem}}:root{--vp-c-white: #fff;--vp-c-black: #000;--vp-c-grey-text: #dddde3;--vp-c-grey-hover: #e4e4e9;--vp-c-grey-bg: #ebebef;--vp-c-grey-soft: rgb(142 150 170 / 14%);--vp-c-indigo-text: #3451b2;--vp-c-indigo-hover: #3a5ccc;--vp-c-indigo-bg: #5672cd;--vp-c-indigo-soft: rgb(100 108 255 / 14%);--vp-c-purple-text: #6f42c1;--vp-c-purple-hover: #7e4cc9;--vp-c-purple-bg: #8e5cd9;--vp-c-purple-soft: rgb(159 122 234 / 14%);--vp-c-green-text: #18794e;--vp-c-green-hover: #299764;--vp-c-green-bg: #30a46c;--vp-c-green-soft: rgb(16 185 129 / 14%);--vp-c-yellow-text: #915930;--vp-c-yellow-hover: #946300;--vp-c-yellow-bg: #9f6a00;--vp-c-yellow-soft: rgb(234 179 8 / 14%);--vp-c-red-text: #b8272c;--vp-c-red-hover: #d5393e;--vp-c-red-bg: #e0575b;--vp-c-red-soft: rgb(244 63 94 / 14%)}[data-theme=dark]{--vp-c-white: #000;--vp-c-black: #fff;--vp-c-grey-text: #515c67;--vp-c-grey-hover: #414853;--vp-c-grey-bg: #32363f;--vp-c-grey-soft: rgb(101 117 133 / 16%);--vp-c-indigo-text: #a8b1ff;--vp-c-indigo-hover: #5c73e7;--vp-c-indigo-bg: #3e63dd;--vp-c-indigo-soft: rgb(100 108 255 / 16%);--vp-c-purple-text: #c8abfa;--vp-c-purple-hover: #a879e6;--vp-c-purple-bg: #8e5cd9;--vp-c-purple-soft: rgb(159 122 234 / 16%);--vp-c-green-text: #3dd68c;--vp-c-green-hover: #30a46c;--vp-c-green-bg: #298459;--vp-c-green-soft: rgb(16 185 129 / 16%);--vp-c-yellow-text: #f9b44e;--vp-c-yellow-hover: #da8b17;--vp-c-yellow-bg: #a46a0a;--vp-c-yellow-soft: rgb(234 179 8 / 16%);--vp-c-red-text: #f66f81;--vp-c-red-hover: #f14158;--vp-c-red-bg: #b62a3c;--vp-c-red-soft: rgb(244 63 94 / 16%)}html,body{background:var(--vp-c-bg)}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}@media print{html{font-size:12pt}}html[data-theme=dark]{color-scheme:dark}body{min-height:100vh;margin:0;padding:0;color:#2c3e50;font-synthesis:style}a{color:var(--vp-c-accent);font-weight:500;text-decoration:none;overflow-wrap:break-word}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid #eee;border-radius:.25em;box-shadow:1px 1px 4px 0 var(--vp-c-shadow);line-height:1;letter-spacing:-.1em;text-align:center}:not(pre)>code{margin:0;padding:3px 6px;border-radius:4px;background:#7f7f7f1f;font-size:.875em;overflow-wrap:break-word}table code{padding:.1rem .4rem}p a code{color:var(--vp-c-accent);font-weight:400}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid #eaecef;font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{position:relative;color:inherit;text-decoration:none}a.header-anchor:hover:before{content:"¶";position:absolute;top:.4167em;left:-.75em;color:var(--vp-c-accent);font-size:.75em}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--vp-c-accent);outline:auto}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid #ddd;color:#666;font-size:1rem;overflow-wrap:break-word}blockquote>p{margin:0}hr{border:0;border-top:1px solid #eaecef}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tr:nth-child(odd){background:#f6f8fa}th,td{padding:.6em 1em;border:1px solid #dfe2e5}pre{text-align:left;direction:ltr;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}@media print{pre{white-space:pre-wrap}}pre code{padding:0;border-radius:0}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a.header-anchor{text-decoration:none}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@media (prefers-reduced-motion: reduce){*,:before,:after{background-attachment:initial!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important}}:root{--vp-c-accent: #3eaf7c;--vp-c-accent-hover: #4abf8a;--vp-c-accent-text: var(--vp-c-white);--vp-c-bg: #fff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #fff;--vp-c-text: rgba(60 60 67);--vp-c-text-mute: rgb(60 60 67 / 78%);--vp-c-text-subtle: rgb(60 60 67 / 56%);--vp-c-border: #d7d9da;--vp-c-gutter: #eaecef;--vp-c-border-hard: #d1d4d7;--vp-c-shadow: rgb(0 0 0 / 15%);--vp-c-shadow-hard: #f1f3f5;--vp-c-control: #f8f9fa;--vp-c-control-hover: #f1f3f5;--vp-c-control-active: #e9ecef;--vp-c-control-disabled: #ccc;--vp-navbar-c-bg: var(--vp-c-bg);--vp-sidebar-c-bg: var(--vp-c-bg);--vp-c-code-tab-title: var(--code-c-text, rgb(255 255 255 / 90%));--vp-c-code-tab-bg: var(--code-bg-color, var(--code-c-bg));--vp-c-code-tab-active: var(--vp-c-accent);--c-badge-tip: var(--c-tip);--c-badge-warning: #ecc808;--c-badge-warning-text: var(--vp-c-bg);--c-badge-danger: #dc2626;--c-badge-danger-text: var(--vp-c-bg);--font-family: -apple-system, "BlinkMacSystemFont", "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--navbar-height: 3.6rem;--navbar-padding-v: .7rem;--navbar-padding-h: 1.5rem;--sidebar-width: 20rem;--sidebar-width-mobile: calc(var(--sidebar-width) * .82);--content-width: 740px;--homepage-width: 960px;--vp-t-color: .3s ease;--vp-t-transform: .3s ease;--external-link-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");--external-link-c-icon: var(--vp-c-text-mute)}.DocSearch{--docsearch-primary-color: var(--vp-c-accent);--docsearch-text-color: var(--vp-c-text);--docsearch-highlight-color: var(--vp-c-accent);--docsearch-muted-color: var(--vp-c-text-mute);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--vp-c-bg-alt);--docsearch-searchbox-background: var(--vp-c-gutter);--docsearch-searchbox-focus-background: var(--vp-c-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--vp-c-accent);--docsearch-hit-color: var(--vp-c-text-mute);--docsearch-hit-active-color: var(--vp-c-bg);--docsearch-hit-background: var(--vp-c-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--vp-c-border-hard);--docsearch-footer-background: var(--vp-c-bg)}.search-box{--search-c-item-text: var(--vp-c-text-subtle)}[data-theme=dark]{--vp-c-accent: #3aa675;--vp-c-accent-hover: #349469;--vp-c-bg: #22272e;--vp-c-bg-alt: #343b44;--vp-c-bg-elv: #22272e;--vp-c-text: #adbac7;--vp-c-text-mute: rgb(235 235 245 / 60%);--vp-c-text-subtle: rgb(235 235 245 / 38%);--vp-c-border: #3e4c5a;--vp-c-gutter: #373f4c;--vp-c-border-hard: #405064;--vp-c-shadow: rgb(0 0 0 / 30%);--vp-c-shadow-hard: #2f3841;--vp-c-control: #2d333b;--vp-c-control-hover: #2f3841;--vp-c-control-active: #333a44;--vp-c-control-disabled: #3e4c5a;--c-badge-warning: var(--c-warning);--c-badge-warning-text: #3c2e05;--c-badge-danger: var(--c-danger);--c-badge-danger-text: #401416}[data-theme=dark] .DocSearch{--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)}html,body{background-color:var(--vp-c-bg);accent-color:var(--vp-c-accent);transition:background-color var(--vp-t-color)}[data-theme=dark]{color-scheme:dark}body{color:var(--vp-c-text);font-size:1rem;font-family:var(--font-family)}h2{border-color:var(--vp-c-gutter);transition:border-color var(--vp-t-color)}a{color:var(--vp-c-accent)}code{background-color:var(--vp-c-bg-alt);color:var(--vp-c-text-mute);font-family:var(--code-font-family);transition:background-color var(--vp-t-color)}p a code{color:var(--vp-c-accent)}kbd{border-color:var(--vp-c-border-hard);transition:border-color var(--vp-t-color)}blockquote{border-color:var(--vp-c-border-hard);color:var(--vp-c-text-mute);transition:border-color var(--vp-t-color)}hr{border-color:var(--vp-c-gutter);transition:border-color var(--vp-t-color)}table{transition:border-color var(--vp-t-color)}tr:nth-child(odd){background-color:var(--vp-c-bg-alt);transition:background-color var(--vp-t-color)}tr:nth-child(odd) code{background-color:var(--vp-c-gutter)}th,td{border-color:var(--vp-c-border-hard);transition:border-color var(--vp-t-color)}.theme-default-content h1,.theme-default-content h2,.theme-default-content h3,.theme-default-content h4,.theme-default-content h5,.theme-default-content h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:0;padding-top:calc(1rem + var(--navbar-height))}.theme-default-content h1:first-child,.theme-default-content h2:first-child,.theme-default-content h3:first-child,.theme-default-content h4:first-child,.theme-default-content h5:first-child,.theme-default-content h6:first-child{margin-bottom:1rem}.theme-default-content h1:first-child+p,.theme-default-content h1:first-child+pre,.theme-default-content h1:first-child+.custom-container,.theme-default-content h2:first-child+p,.theme-default-content h2:first-child+pre,.theme-default-content h2:first-child+.custom-container,.theme-default-content h3:first-child+p,.theme-default-content h3:first-child+pre,.theme-default-content h3:first-child+.custom-container,.theme-default-content h4:first-child+p,.theme-default-content h4:first-child+pre,.theme-default-content h4:first-child+.custom-container,.theme-default-content h5:first-child+p,.theme-default-content h5:first-child+pre,.theme-default-content h5:first-child+.custom-container,.theme-default-content h6:first-child+p,.theme-default-content h6:first-child+pre,.theme-default-content h6:first-child+.custom-container{margin-top:2rem}@media (max-width: 419px){.theme-default-content h1{font-size:1.9rem}}.theme-default-content a:not(.header-anchor){text-decoration:underline}.theme-default-content img{max-width:100%}div[class*=language-]{margin:.75rem 0;transition:background-color var(--vp-t-color),color var(--vp-t-color)}@media (max-width: 419px){div[class*=language-]{--code-border-radius: 0;margin:.75rem -1.5rem}}div[class*=language-] .line.diff,div[class*=language-] .line.highlighted{transition:background-color var(--vp-t-color)}.table-of-contents .vp-badge{vertical-align:middle}.arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}[data-theme=dark] .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.arrow.down{transform:rotate(180deg)}.arrow.right{transform:rotate(90deg)}.arrow.left{transform:rotate(-90deg)}.vp-external-link-icon:after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon .external-link:after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon .theme-default-content a[href*="://"]:not(.no-external-link-icon):after,.external-link-icon .theme-default-content a[target=_blank]:not(.no-external-link-icon):after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}@media screen and (max-width: 719px){.vp-hide-mobile{display:none}}.vp-comment{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.vp-comment{padding:2rem}}@media (max-width: 419px){.vp-comment{padding:1.5rem}}.vp-navbar .DocSearch{transition:background-color var(--vp-t-color)}.vp-navbar .search-box{vertical-align:top;flex:0 0 auto}.lang-modal-fade-enter-active,.lang-modal-fade-leave-active{transition:opacity .5s}.lang-modal-fade-enter,.lang-modal-fade-leave-to{opacity:0}.lang-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1499;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media print{.lang-modal-mask{display:none}}.lang-modal-wrapper{position:relative;z-index:1500;overflow:hidden;max-width:80vw;padding:1rem 2rem;border-radius:8px;background:var(--vp-bg);box-shadow:0 2px 6px 0 var(--card-shadow)}.lang-modal-action{display:block;width:100%;margin:1rem 0;padding:.5rem .75rem;border:none;border-radius:8px;background-color:var(--vp-bglt);color:var(--vp-c);cursor:pointer}.lang-modal-action:hover{background-color:var(--vp-bgl)}.lang-modal-action.primary{background-color:var(--vp-tc);color:var(--white)}.lang-modal-action.primary:hover{background-color:var(--vp-tcl)}.grey{color:#0006}.works-table-wrapper[data-v-765855fb]{margin:0 auto;padding:0 2rem;max-width:1224px;box-sizing:border-box}.works-table-wrapper[data-v-765855fb] table{width:100%}:root{--content-width: 960px}.vp-page .theme-default-content{padding-bottom:0!important}.vp-page-meta{display:none} +@charset "UTF-8";.vp-back-to-top-button{position:fixed!important;inset-inline-end:1rem;bottom:4rem;z-index:100;width:48px;height:48px;padding:12px;border-width:0;border-radius:50%;background:var(--back-to-top-c-bg);color:var(--back-to-top-c-accent);box-shadow:2px 2px 10px 4px var(--back-to-top-c-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{transform:scale(.8);transform-origin:100% 100%}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-c-accent-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:24px;height:24px;margin:0 auto;background:var(--back-to-top-c-icon);-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:52px;height:52px}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;transform:rotate(-90deg);transform-origin:50% 50%}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cpath%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='4'%20d='M24.008%2014.1V42M12%2026l12-12l12%2012M12%206h24'%20/%3e%3c/svg%3e");--back-to-top-c-bg: var(--vp-c-bg);--back-to-top-c-accent: var(--vp-c-accent);--back-to-top-c-accent-hover: var(--vp-c-accent-hover);--back-to-top-c-shadow: var(--vp-c-shadow);--back-to-top-c-icon: currentcolor}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:transparent;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:before{content:"";display:inline-block;width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-c-text);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-c-hover)}.vp-copy-code-button.copied:before{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--copy-code-c-hover);color:var(--copy-code-c-text);font-weight:500;line-height:1.25rem;white-space:nowrap}.no-copy-code .vp-copy-code-button{display:none}body:not(.no-copy-code) div[class*=language-]:hover:before{display:none}body:not(.no-copy-code) div[class*=language-]:hover .vp-copy-code-button{opacity:1}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2'%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");--code-copied-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2'%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");--copy-code-c-text: var(--code-c-line-number);--copy-code-c-hover: var(--code-c-highlight-bg)}.hint-container{position:relative;border-color:var(--hint-c-accent);background:var(--hint-c-bg);transition:background var(--vp-t-color),border-color var(--vp-t-color),color var(--vp-t-color)}@media print{.hint-container{page-break-inside:avoid}}.hint-container>.hint-container-title{color:var(--hint-c-title)}.hint-container :not(pre)>code{background:var(--note-c-soft)}.hint-container .hint-container-title{position:relative;margin-block:.75em;font-weight:600;line-height:1.25}.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin:.85rem 0;padding:.25rem 1rem;border-inline-start-width:.3rem;border-inline-start-style:solid;border-radius:.5rem;color:inherit}@media (max-width: 419px){.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin-inline:-.75rem}}.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:1.75rem}@media print{.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:0}}.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{content:" ";position:absolute;inset-inline-start:0;top:calc(50% - .6125em);width:1.25em;height:1.25em;background-position:left;background-repeat:no-repeat}@media print{.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{display:none}}.hint-container.important p,.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.caution p{line-height:1.5}.hint-container.important a,.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.caution a{color:var(--vp-c-accent)}.hint-container.important{--hint-c-accent: var(--important-c-accent);--hint-c-bg: var(--important-c-light);--hint-c-title: var(--important-c-dark);--hint-c-soft: var(--important-c-soft)}[data-theme=dark] .hint-container.important{--hint-c-bg: var(--important-c-dark);--hint-c-title: var(--important-c-light)}.hint-container.important>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z' fill='%23a371f7'/%3E%3C/svg%3E")}.hint-container.info{--hint-c-accent: var(--info-c-accent);--hint-c-bg: var(--info-c-light);--hint-c-title: var(--info-c-dark);--hint-c-soft: var(--info-c-soft)}[data-theme=dark] .hint-container.info{--hint-c-bg: var(--info-c-dark);--hint-c-title: var(--info-c-light)}.hint-container.info>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E")}.hint-container.note{--hint-c-accent: var(--note-c-accent);--hint-c-bg: var(--note-c-light);--hint-c-title: var(--note-c-dark);--hint-c-soft: var(--note-c-soft)}[data-theme=dark] .hint-container.note{--hint-c-bg: var(--note-c-dark);--hint-c-title: var(--note-c-light)}.hint-container.note>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E")}.hint-container.tip{--hint-c-accent: var(--tip-c-accent);--hint-c-bg: var(--tip-c-light);--hint-c-title: var(--tip-c-dark);--hint-c-soft: var(--tip-c-soft)}[data-theme=dark] .hint-container.tip{--hint-c-bg: var(--tip-c-dark);--hint-c-title: var(--tip-c-light)}.hint-container.tip>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E")}.hint-container.warning{--hint-c-accent: var(--warning-c-accent);--hint-c-bg: var(--warning-c-light);--hint-c-title: var(--warning-c-dark);--hint-c-soft: var(--warning-c-soft)}[data-theme=dark] .hint-container.warning{--hint-c-bg: var(--warning-c-dark);--hint-c-title: var(--warning-c-light)}.hint-container.warning>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E")}.hint-container.caution{--hint-c-accent: var(--caution-c-accent);--hint-c-bg: var(--caution-c-light);--hint-c-title: var(--caution-c-dark);--hint-c-soft: var(--caution-c-soft)}[data-theme=dark] .hint-container.caution{--hint-c-bg: var(--caution-c-dark);--hint-c-title: var(--caution-c-light)}.hint-container.caution>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E")}.hint-container.details{--detail-c-bg: var(--detail-c-light);--detail-c-icon: var(--detail-c-icon-light);position:relative;display:block;margin:1rem 0;padding:1.5rem;border-radius:.5rem;background:var(--detail-c-bg);transition:background var(--vp-t-transform),color var(--vp-t-transform)}@media (max-width: 419px){.hint-container.details{margin-inline:-.75rem}}[data-theme=dark] .hint-container.details{--detail-c-bg: var(--detail-c-dark);--detail-c-icon: var(--detail-c-icon-dark)}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-c-accent)}.hint-container.details :not(pre)>code{background:var(--detail-c-soft)}.hint-container.details summary{position:relative;margin:-1.5rem;padding-block:1.5rem;padding-inline:4rem 1.5rem;list-style:none;cursor:pointer}.hint-container.details summary::-webkit-details-marker{display:none}.hint-container.details summary::marker{color:transparent;font-size:0}.hint-container.details summary:before,.hint-container.details summary:after{content:" ";position:absolute;inset-inline-start:1.5rem;top:calc(50% - .75rem);width:1.5rem;height:1.5rem}.hint-container.details summary:before{border-radius:50%;background:var(--detail-c-icon);transition:background var(--vp-t-color),transform var(--vp-t-transform)}.hint-container.details summary:after{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:transform var(--vp-t-transform);transform:rotate(90deg)}[data-theme=dark] .hint-container.details summary:after{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:after{transform:rotate(180deg)}:root{--important-c-accent: #a371f7;--important-c-light: #f4eefe;--important-c-dark: #230555;--important-c-soft: rgb(163 113 247 / 10%);--info-c-accent: #4cb3d4;--info-c-light: #eef9fd;--info-c-dark: #193c47;--info-c-soft: rgb(76 179 212 / 10%);--note-c-accent: #ccc;--note-c-light: #fdfdfe;--note-c-dark: #474748;--note-c-soft: rgb(212 213 216 / 20%);--tip-c-accent: #009400;--tip-c-light: #e6f6e6;--tip-c-dark: #003100;--tip-c-soft: rgb(0 148 0 / 15%);--warning-c-accent: #e6a700;--warning-c-light: #fff8e6;--warning-c-dark: #4d3800;--warning-c-soft: rgb(230 167 0 / 15%);--caution-c-accent: #e13238;--caution-c-light: #ffebec;--caution-c-dark: #4b1113;--caution-c-soft: rgb(225 50 56 / 15%);--detail-c-light: #eee;--detail-c-dark: #333;--detail-c-icon-light: #ccc;--detail-c-icon-dark: #555;--detail-c-soft: rgb(127 127 127 / 15%)}:root{--nprogress-c: var(--vp-c-accent);--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{position:fixed;top:0;left:0;z-index:var(--nprogress-z-index);width:100%;height:2px;background:var(--nprogress-c)}:root{--code-padding-x: 1.25rem;--code-padding-y: 1rem;--code-border-radius: 6px;--code-line-height: 1.6;--code-font-family: consolas, monaco, "Andale Mono", "Ubuntu Mono", monospace}div[class*=language-]{position:relative;border-radius:var(--code-border-radius);background-color:var(--code-c-bg)}div[class*=language-]:before{content:attr(data-title);position:absolute;top:.8em;right:1em;z-index:3;color:var(--code-c-text);font-size:.75rem}div[class*=language-] pre{position:relative;z-index:1;overflow-x:auto;margin:.75rem 0;border-radius:var(--code-border-radius);font-size:14px;font-family:var(--code-font-family);line-height:var(--code-line-height)}div[class*=language-] pre code{display:block;box-sizing:border-box;width:-moz-fit-content;width:fit-content;min-width:100%;padding:var(--code-padding-y) var(--code-padding-x);background-color:transparent!important;overflow-wrap:unset;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}:root{--code-c-text: #f8f8f2;--code-c-bg: #2e3440;--code-c-highlight-bg: #343d4e;--code-c-line-number: rgba(248, 248, 242, .67)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:.7}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#a3be8c}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:#81a1c1}.token.atrule,.token.attr-value,.token.function,.token.class-name{color:#88c0d0}.token.keyword{color:#81a1c1}.token.regex,.token.important{color:#ebcb8b}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}:root{--code-line-number-width: 3.5rem}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;left:0;width:var(--code-line-number-width);height:100%;border-right:1px solid var(--code-c-highlight-bg, var(--code-c-text));border-radius:var(--code-border-radius) 0 0 var(--code-border-radius);transition:border var(--t-color)}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--code-line-number-width)}div[class*=language-].line-numbers-mode code{padding-left:1rem}div[class*=language-].line-numbers-mode .line-numbers{counter-reset:line-number;position:absolute;top:0;width:var(--code-line-number-width);padding-top:var(--code-padding-y);color:var(--code-c-line-number, var(--code-c-text));font-size:.875em;line-height:var(--code-line-height);text-align:center}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:3;font-family:var(--code-font-family);-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);counter-increment:line-number}.vp-badge{display:inline-block;vertical-align:top;height:18px;padding:0 6px;border-radius:3px;color:var(--vp-c-accent-text);font-weight:600;font-size:14px;line-height:18px;transition:color var(--vp-t-color),background-color var(--vp-t-color)}.vp-badge.tip{background-color:var(--c-badge-tip)}.vp-badge.warning{background-color:var(--c-badge-warning);color:var(--c-badge-warning-text)}.vp-badge.danger{background-color:var(--c-badge-danger);color:var(--c-badge-danger-text)}.vp-badge+.vp-badge{margin-left:5px}.code-group-nav{margin-top:.85rem;margin-bottom:calc(-1.7rem - 6px);padding-top:10px;padding-bottom:calc(1.7rem - 6px);padding-left:10px;border-top-left-radius:6px;border-top-right-radius:6px;background-color:var(--vp-c-code-tab-bg);transition:background-color var(--t-color)}@media (max-width: 419px){.code-group-nav{margin-right:-1.5rem;margin-left:-1.5rem;border-radius:0}}.code-group-nav-tab{padding:5px;border:0;background-color:transparent;color:var(--vp-c-code-tab-title);font-weight:600;font-size:.85em;line-height:1.4;cursor:pointer}.code-group-nav-tab:focus{outline:none}.code-group-nav-tab:focus-visible{outline:1px solid}.code-group-nav-tab.active{border-bottom:var(--vp-c-code-tab-active) 1px solid}.code-group-item{display:none}.code-group-item.active{display:block}.code-group-item>pre{background-color:orange}.vp-features{display:flex;flex-wrap:wrap;place-content:stretch space-between;align-items:flex-start;margin-top:2.5rem;padding:1.2rem 0;border-top:1px solid var(--vp-c-gutter);transition:border-color var(--vp-t-color)}@media (max-width: 719px){.vp-features{flex-direction:column}}.vp-feature{flex-grow:1;flex-basis:30%;max-width:30%}@media (max-width: 719px){.vp-feature{max-width:100%;padding:0 2.5rem}}.vp-feature h2{padding-bottom:0;border-bottom:none;font-weight:500;font-size:1.4rem}@media (max-width: 419px){.vp-feature h2{font-size:1.25rem}}.vp-feature p{color:var(--vp-c-text-mute)}.vp-footer{padding:2.5rem;border-top:1px solid var(--vp-c-border);color:var(--vp-c-text-mute);text-align:center;transition:border-color var(--vp-t-color)}.vp-hero{text-align:center}.vp-hero-image{display:block;max-width:100%;max-height:280px;margin:3rem auto 1.5rem}@media (max-width: 419px){.vp-hero-image{max-height:210px;margin:2rem auto 1.2rem}}#main-title{font-size:3rem}@media (max-width: 419px){#main-title{font-size:2rem}}#main-title,.vp-hero-description,.vp-hero-actions{margin:1.8rem auto}@media (max-width: 419px){#main-title,.vp-hero-description,.vp-hero-actions{margin:1.2rem auto}}.vp-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.vp-hero-description{max-width:35rem;color:var(--vp-c-text-mute);font-size:1.6rem;line-height:1.3}@media (max-width: 419px){.vp-hero-description{font-size:1.2rem}}.vp-hero-action-button{display:inline-block;box-sizing:border-box;padding:.8rem 1.6rem;border-width:2px;border-style:solid;border-radius:4px;font-size:1.2rem;transition:background-color var(--vp-t-color)}@media (max-width: 419px){.vp-hero-action-button{padding:.6rem 1.2rem;font-size:1rem}}.vp-hero-action-button.primary{border-color:var(--vp-c-accent);background-color:var(--vp-c-accent);color:var(--vp-c-accent-text)}.vp-hero-action-button.primary:hover{background-color:var(--vp-c-accent-hover)}.vp-hero-action-button.secondary{border-color:var(--vp-c-accent);background-color:var(--vp-c-bg);color:var(--vp-c-accent)}.vp-hero-action-button.secondary:hover{background-color:var(--vp-c-accent-hover);color:var(--vp-c-accent-text)}.vp-home{display:block;max-width:var(--homepage-width);margin:0 auto;padding:var(--navbar-height) 2rem 0}@media (max-width: 419px){.vp-home{padding-right:1.5rem;padding-left:1.5rem}}.vp-home .theme-default-content{margin:0;padding:0}.vp-site-logo{vertical-align:top;height:var(--navbar-line-height);margin-right:var(--navbar-padding-v)}.vp-site-name{position:relative;color:var(--vp-c-text);font-weight:600;font-size:1.3rem}@media screen and (max-width: 719px){.vp-site-name{display:block;overflow:hidden;width:calc(100vw - 11rem);text-overflow:ellipsis;white-space:nowrap}}.vp-dropdown-enter-from,.vp-dropdown-leave-to{height:0!important}.vp-navbar-dropdown-wrapper{cursor:pointer}.vp-navbar-dropdown-wrapper:not(.mobile){height:1.8rem}.vp-navbar-dropdown-wrapper:not(.mobile):hover .vp-navbar-dropdown,.vp-navbar-dropdown-wrapper:not(.mobile).open .vp-navbar-dropdown{display:block!important}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown{overflow:hidden;transition:height .1s ease-out;padding-top:.5rem}.vp-navbar-dropdown-wrapper:not(.mobile) .vp-navbar-dropdown{position:absolute;top:100%;right:0;display:none;overflow-y:auto;box-sizing:border-box;height:auto!important;max-height:calc(100vh - 2.7rem);margin:0;padding:.6rem 0;border:1px solid var(--vp-c-border);border-radius:.25rem;background-color:var(--vp-navbar-c-bg);text-align:left;white-space:nowrap}.vp-navbar-dropdown-title{display:block;padding:inherit;border:none;background:transparent;color:var(--vp-c-text);font-weight:500;font-size:.9rem;font-family:inherit;line-height:1.4rem;cursor:inherit}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-title{display:none}.vp-navbar-dropdown-title:hover{border-color:transparent}.vp-navbar-dropdown-title-mobile{display:none;padding:inherit;border:none;background:transparent;color:var(--vp-c-text);font-weight:600;font-size:inherit;font-family:inherit;line-height:1.4rem;cursor:inherit}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-title-mobile{display:block}.vp-navbar-dropdown-title-mobile:hover{color:var(--vp-c-accent)}.vp-navbar-dropdown-item{color:inherit;line-height:1.7rem}.vp-navbar-dropdown-item a{position:relative;display:block;margin-bottom:0;padding:0 1.5rem 0 1.25rem;border-bottom:none;font-weight:400;line-height:1.7rem}.vp-navbar-dropdown-item a:hover,.vp-navbar-dropdown-item a.route-link-active{color:var(--vp-c-accent)}.vp-navbar-dropdown-item a.route-link-active:after{content:"";position:absolute;top:calc(50% - 2px);left:9px;width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:5px solid var(--vp-c-accent)}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-item>a{font-size:15px;line-height:2rem}.vp-navbar-dropdown-subtitle{margin:.45rem 0 0;padding:1rem 0 .45rem;border-top:1px solid var(--vp-c-gutter);font-size:.9rem}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-subtitle{margin-top:0;padding-top:0;padding-bottom:0;border-top:0;font-size:15px;line-height:2rem}.vp-navbar-dropdown-item:first-child .vp-navbar-dropdown-subtitle{margin-top:0;padding-top:0;border-top:0}.vp-navbar-dropdown-subtitle>span{padding:0 1.5rem 0 1.25rem}.vp-navbar-dropdown-subtitle>a{font-weight:inherit}.vp-navbar-dropdown-subtitle>a.route-link-active:after{display:none}.vp-navbar-dropdown-subitem-wrapper{padding:0;list-style:none}.vp-navbar-dropdown-subitem{font-size:.9em}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-subitem{padding-left:1rem;font-size:14px}.vp-navbar-items{display:inline-block}@media print{.vp-navbar-items{display:none}}.vp-navbar-items a{display:inline-block;color:inherit;line-height:1.4rem}.vp-navbar-items a:hover,.vp-navbar-items a.route-link-active{color:var(--vp-c-text)}.vp-navbar-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:var(--navbar-line-height)}@media (max-width: 719px){.vp-navbar-item{margin-left:0}}.vp-navbar-item:first-child{margin-left:0}.vp-navbar-item a:hover,.vp-navbar-item a.route-link-active{color:var(--vp-c-accent)}.vp-navbar-item>a:hover,.vp-navbar-item>a.route-link-active{margin-bottom:-2px;border-bottom:2px solid var(--vp-c-accent)}@media (max-width: 719px){.vp-navbar-item>a:hover,.vp-navbar-item>a.route-link-active{margin-bottom:0;border-bottom:none}}.vp-toggle-color-mode-button{display:flex;margin:auto;margin-left:1rem;border:0;background:none;color:var(--vp-c-text);opacity:.8;cursor:pointer}@media print{.vp-toggle-color-mode-button{display:none}}.vp-toggle-color-mode-button:hover{opacity:1}.vp-toggle-color-mode-button .light-icon,.vp-toggle-color-mode-button .dark-icon{width:1.25rem;height:1.25rem}.vp-toggle-sidebar-button{position:absolute;top:.6rem;left:1rem;display:none;padding:.6rem;cursor:pointer}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block}}.vp-toggle-sidebar-button .icon{display:flex;flex-direction:column;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;cursor:inherit}.vp-toggle-sidebar-button .icon span{display:inline-block;width:100%;height:2px;border-radius:2px;background-color:var(--vp-c-text);transition:transform var(--vp-t-transform)}.vp-toggle-sidebar-button .icon span:nth-child(2){margin:6px 0}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(1){transform:rotate(45deg) translate3d(5.5px,5.5px,0)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(2){transform:scale3d(0,1,1)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(3){transform:rotate(-45deg) translate3d(6px,-6px,0)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(1),.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(3){transform-origin:center}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - 2 * var(--navbar-padding-v) );position:fixed;top:0;right:0;left:0;z-index:20;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-padding-v) var(--navbar-padding-h);border-bottom:1px solid var(--vp-c-border);background-color:var(--vp-navbar-c-bg);line-height:var(--navbar-line-height);transition:background-color var(--vp-t-color),border-color var(--vp-t-color)}@media screen and (max-width: 719px){.vp-navbar{padding-left:4rem}}.vp-navbar-items-wrapper{position:absolute;top:var(--navbar-padding-v);right:var(--navbar-padding-h);display:flex;box-sizing:border-box;height:var(--navbar-line-height);padding-left:var(--navbar-padding-h);font-size:.9rem;white-space:nowrap}.vp-page-meta{max-width:var(--content-width);margin:0 auto;padding:.75rem 2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto}@media (max-width: 959px){.vp-page-meta{padding:2rem}}@media (max-width: 419px){.vp-page-meta{padding:1.5rem}}@media print{.vp-page-meta{margin:0!important;padding-right:0!important;padding-left:0!important}}@media (max-width: 719px){.vp-page-meta{display:block}}.vp-page-meta .vp-meta-item{flex-grow:1}.vp-page-meta .vp-meta-item .vp-meta-label{font-weight:500}.vp-page-meta .vp-meta-item .vp-meta-label:not(a){color:var(--vp-c-text-mute)}.vp-page-meta .vp-meta-item .vp-meta-info{color:var(--vp-c-text-mute);font-weight:400}.vp-page-meta .git-info{text-align:end}.vp-page-meta .edit-link{margin-top:.25rem;margin-right:.5rem;margin-bottom:.25rem;font-size:14px}@media print{.vp-page-meta .edit-link{display:none}}.vp-page-meta .edit-link .edit-icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-right:.25em}.vp-page-meta .last-updated,.vp-page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.vp-page-meta .last-updated,.vp-page-meta .contributors{font-size:13px;text-align:start}}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-top:0;margin-right:auto;margin-left:auto;padding:1rem 2rem 0;border-top:1px solid var(--vp-c-gutter);transition:border-top var(--vp-t-color)}@media (max-width: 959px){.vp-page-nav{padding-right:1rem;padding-left:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .route-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--vp-c-gutter);border-radius:.25rem}.vp-page-nav .route-link:hover{background:var(--c-bg-soft)}.vp-page-nav .route-link .hint{color:var(--vp-c-text-mute);font-size:.875rem;line-height:2}.vp-page-nav .prev{text-align:start}.vp-page-nav .next{text-align:end}.vp-page{display:block;padding-top:var(--navbar-height);padding-bottom:2rem;padding-left:var(--sidebar-width)}@media (max-width: 959px){.vp-page{padding-left:var(--sidebar-width-mobile)}}@media (max-width: 719px){.vp-page{padding-left:0}}.vp-page .theme-default-content{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.vp-page .theme-default-content{padding:2rem}}@media (max-width: 419px){.vp-page .theme-default-content{padding:1.5rem}}.vp-sidebar-item{border-left:.25rem solid transparent;color:var(--vp-c-text);cursor:default}.vp-sidebar-item:focus-visible{outline-width:1px;outline-offset:-1px}.vp-sidebar-item.vp-sidebar-heading{box-sizing:border-box;width:100%;margin:0;padding:.35rem 1.5rem .35rem 1.25rem;font-weight:700;font-size:1.1em;transition:color .15s ease}.vp-sidebar-item.vp-sidebar-heading+.vp-sidebar-children{overflow:hidden;transition:height .1s ease-out;margin-bottom:.75rem}.vp-sidebar-item.collapsible{cursor:pointer}.vp-sidebar-item:not(.vp-sidebar-heading){display:inline-block;box-sizing:border-box;width:100%;margin:0;padding:.35rem 1rem .35rem 2rem;font-weight:400;font-size:1em;line-height:1.4}.vp-sidebar-item:not(.vp-sidebar-heading)+.vp-sidebar-children{padding-left:1rem;font-size:.95em}.vp-sidebar-children .vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading){padding:.25rem 1rem .25rem 1.75rem}.vp-sidebar-children .vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading).active{border-left-color:transparent;font-weight:500}a.vp-sidebar-heading+.vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading).active{border-left-color:transparent}.vp-sidebar-item.active:not(p.vp-sidebar-heading){border-left-color:var(--vp-c-accent);color:var(--vp-c-accent);font-weight:600}a.vp-sidebar-item{cursor:pointer}a.vp-sidebar-item:hover{color:var(--vp-c-accent)}.vp-sidebar-items{margin:0;padding:1.5rem 0;list-style-type:none}@media (max-width: 719px){.vp-sidebar-items{padding:1rem 0}}.vp-sidebar-items ul{margin:0;padding:0;list-style-type:none}.vp-sidebar-items a{display:inline-block}.vp-sidebar{position:fixed;top:var(--navbar-height);bottom:0;left:0;z-index:10;overflow-y:auto;box-sizing:border-box;width:var(--sidebar-width);margin:0;border-right:1px solid var(--vp-c-border);background-color:var(--vp-sidebar-c-bg);font-size:16px;transition:transform var(--vp-t-transform),background-color var(--vp-t-color),border-color var(--vp-t-color);scrollbar-color:var(--vp-c-accent) var(--vp-c-gutter);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{width:var(--sidebar-width-mobile);font-size:15px}}@media (max-width: 719px){.vp-sidebar{top:0;padding-top:var(--navbar-height);transform:translate(-100%)}}.vp-sidebar::-webkit-scrollbar{width:7px}.vp-sidebar::-webkit-scrollbar-track{background-color:var(--vp-c-gutter)}.vp-sidebar::-webkit-scrollbar-thumb{background-color:var(--vp-c-accent)}.vp-sidebar .vp-navbar-items{display:none;padding:.5rem 0 .75rem;border-bottom:1px solid var(--vp-c-gutter);transition:border-color var(--vp-t-color)}@media (max-width: 719px){.vp-sidebar .vp-navbar-items{display:block}.vp-sidebar .vp-navbar-items .vp-navbar-dropdown-item a.route-link-active:after{top:calc(1rem - 2px)}}.vp-sidebar .vp-navbar-items ul{margin:0;padding:0;list-style-type:none}.vp-sidebar .vp-navbar-items a{font-weight:600}.vp-sidebar .vp-navbar-item{display:block;padding:.5rem 0 .5rem 1.5rem;font-size:1.1em;line-height:1.25rem}.vp-sidebar-mask{position:fixed;top:0;left:0;z-index:9;display:none;width:100vw;height:100vh}.vp-theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.vp-theme-container.no-navbar .vp-sidebar{padding-top:0}}.vp-theme-container.no-navbar .vp-page{padding-top:0}.vp-theme-container.no-navbar .theme-default-content h1,.vp-theme-container.no-navbar .theme-default-content h2,.vp-theme-container.no-navbar .theme-default-content h3,.vp-theme-container.no-navbar .theme-default-content h4,.vp-theme-container.no-navbar .theme-default-content h5,.vp-theme-container.no-navbar .theme-default-content h6{margin-top:1.5rem;padding-top:0}.vp-theme-container.no-sidebar .vp-sidebar{display:none}@media (max-width: 719px){.vp-theme-container.no-sidebar .vp-sidebar{display:block}}.vp-theme-container.no-sidebar .vp-page{padding-left:0}@media (max-width: 719px){.vp-theme-container.sidebar-open .vp-sidebar{transform:translate(0)}.vp-theme-container.sidebar-open .vp-sidebar-mask{display:block}}.fade-slide-y-enter-active{transition:all .2s ease}.fade-slide-y-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-theme-container[data-v-4d935c3c]{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.vp-theme-container[data-v-4d935c3c]{padding:2rem}}:root{--vp-c-white: #fff;--vp-c-black: #000;--vp-c-grey-text: #dddde3;--vp-c-grey-hover: #e4e4e9;--vp-c-grey-bg: #ebebef;--vp-c-grey-soft: rgb(142 150 170 / 14%);--vp-c-indigo-text: #3451b2;--vp-c-indigo-hover: #3a5ccc;--vp-c-indigo-bg: #5672cd;--vp-c-indigo-soft: rgb(100 108 255 / 14%);--vp-c-purple-text: #6f42c1;--vp-c-purple-hover: #7e4cc9;--vp-c-purple-bg: #8e5cd9;--vp-c-purple-soft: rgb(159 122 234 / 14%);--vp-c-green-text: #18794e;--vp-c-green-hover: #299764;--vp-c-green-bg: #30a46c;--vp-c-green-soft: rgb(16 185 129 / 14%);--vp-c-yellow-text: #915930;--vp-c-yellow-hover: #946300;--vp-c-yellow-bg: #9f6a00;--vp-c-yellow-soft: rgb(234 179 8 / 14%);--vp-c-red-text: #b8272c;--vp-c-red-hover: #d5393e;--vp-c-red-bg: #e0575b;--vp-c-red-soft: rgb(244 63 94 / 14%)}[data-theme=dark]{--vp-c-white: #000;--vp-c-black: #fff;--vp-c-grey-text: #515c67;--vp-c-grey-hover: #414853;--vp-c-grey-bg: #32363f;--vp-c-grey-soft: rgb(101 117 133 / 16%);--vp-c-indigo-text: #a8b1ff;--vp-c-indigo-hover: #5c73e7;--vp-c-indigo-bg: #3e63dd;--vp-c-indigo-soft: rgb(100 108 255 / 16%);--vp-c-purple-text: #c8abfa;--vp-c-purple-hover: #a879e6;--vp-c-purple-bg: #8e5cd9;--vp-c-purple-soft: rgb(159 122 234 / 16%);--vp-c-green-text: #3dd68c;--vp-c-green-hover: #30a46c;--vp-c-green-bg: #298459;--vp-c-green-soft: rgb(16 185 129 / 16%);--vp-c-yellow-text: #f9b44e;--vp-c-yellow-hover: #da8b17;--vp-c-yellow-bg: #a46a0a;--vp-c-yellow-soft: rgb(234 179 8 / 16%);--vp-c-red-text: #f66f81;--vp-c-red-hover: #f14158;--vp-c-red-bg: #b62a3c;--vp-c-red-soft: rgb(244 63 94 / 16%)}html,body{background:var(--vp-c-bg)}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}@media print{html{font-size:12pt}}html[data-theme=dark]{color-scheme:dark}body{min-height:100vh;margin:0;padding:0;color:#2c3e50;font-synthesis:style}a{color:var(--vp-c-accent);font-weight:500;text-decoration:none;overflow-wrap:break-word}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid #eee;border-radius:.25em;box-shadow:1px 1px 4px 0 var(--vp-c-shadow);line-height:1;letter-spacing:-.1em;text-align:center}:not(pre)>code{margin:0;padding:3px 6px;border-radius:4px;background:#7f7f7f1f;font-size:.875em;overflow-wrap:break-word}table code{padding:.1rem .4rem}p a code{color:var(--vp-c-accent);font-weight:400}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid #eaecef;font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{position:relative;color:inherit;text-decoration:none}a.header-anchor:hover:before{content:"¶";position:absolute;top:.4167em;left:-.75em;color:var(--vp-c-accent);font-size:.75em}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--vp-c-accent);outline:auto}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid #ddd;color:#666;font-size:1rem;overflow-wrap:break-word}blockquote>p{margin:0}hr{border:0;border-top:1px solid #eaecef}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tr:nth-child(odd){background:#f6f8fa}th,td{padding:.6em 1em;border:1px solid #dfe2e5}pre{text-align:left;direction:ltr;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}@media print{pre{white-space:pre-wrap}}pre code{padding:0;border-radius:0}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a.header-anchor{text-decoration:none}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@media (prefers-reduced-motion: reduce){*,:before,:after{background-attachment:initial!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important}}:root{--vp-c-accent: #3eaf7c;--vp-c-accent-hover: #4abf8a;--vp-c-accent-text: var(--vp-c-white);--vp-c-bg: #fff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #fff;--vp-c-text: rgba(60 60 67);--vp-c-text-mute: rgb(60 60 67 / 78%);--vp-c-text-subtle: rgb(60 60 67 / 56%);--vp-c-border: #d7d9da;--vp-c-gutter: #eaecef;--vp-c-border-hard: #d1d4d7;--vp-c-shadow: rgb(0 0 0 / 15%);--vp-c-shadow-hard: #f1f3f5;--vp-c-control: #f8f9fa;--vp-c-control-hover: #f1f3f5;--vp-c-control-active: #e9ecef;--vp-c-control-disabled: #ccc;--vp-navbar-c-bg: var(--vp-c-bg);--vp-sidebar-c-bg: var(--vp-c-bg);--vp-c-code-tab-title: var(--code-c-text, rgb(255 255 255 / 90%));--vp-c-code-tab-bg: var(--code-bg-color, var(--code-c-bg));--vp-c-code-tab-active: var(--vp-c-accent);--c-badge-tip: var(--c-tip);--c-badge-warning: #ecc808;--c-badge-warning-text: var(--vp-c-bg);--c-badge-danger: #dc2626;--c-badge-danger-text: var(--vp-c-bg);--font-family: -apple-system, "BlinkMacSystemFont", "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--navbar-height: 3.6rem;--navbar-padding-v: .7rem;--navbar-padding-h: 1.5rem;--sidebar-width: 20rem;--sidebar-width-mobile: calc(var(--sidebar-width) * .82);--content-width: 740px;--homepage-width: 960px;--vp-t-color: .3s ease;--vp-t-transform: .3s ease;--external-link-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");--external-link-c-icon: var(--vp-c-text-mute)}.DocSearch{--docsearch-primary-color: var(--vp-c-accent);--docsearch-text-color: var(--vp-c-text);--docsearch-highlight-color: var(--vp-c-accent);--docsearch-muted-color: var(--vp-c-text-mute);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--vp-c-bg-alt);--docsearch-searchbox-background: var(--vp-c-gutter);--docsearch-searchbox-focus-background: var(--vp-c-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--vp-c-accent);--docsearch-hit-color: var(--vp-c-text-mute);--docsearch-hit-active-color: var(--vp-c-bg);--docsearch-hit-background: var(--vp-c-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--vp-c-border-hard);--docsearch-footer-background: var(--vp-c-bg)}.search-box{--search-c-item-text: var(--vp-c-text-subtle)}[data-theme=dark]{--vp-c-accent: #3aa675;--vp-c-accent-hover: #349469;--vp-c-bg: #22272e;--vp-c-bg-alt: #343b44;--vp-c-bg-elv: #22272e;--vp-c-text: #adbac7;--vp-c-text-mute: rgb(235 235 245 / 60%);--vp-c-text-subtle: rgb(235 235 245 / 38%);--vp-c-border: #3e4c5a;--vp-c-gutter: #373f4c;--vp-c-border-hard: #405064;--vp-c-shadow: rgb(0 0 0 / 30%);--vp-c-shadow-hard: #2f3841;--vp-c-control: #2d333b;--vp-c-control-hover: #2f3841;--vp-c-control-active: #333a44;--vp-c-control-disabled: #3e4c5a;--c-badge-warning: var(--c-warning);--c-badge-warning-text: #3c2e05;--c-badge-danger: var(--c-danger);--c-badge-danger-text: #401416}[data-theme=dark] .DocSearch{--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)}html,body{background-color:var(--vp-c-bg);accent-color:var(--vp-c-accent);transition:background-color var(--vp-t-color)}[data-theme=dark]{color-scheme:dark}body{color:var(--vp-c-text);font-size:1rem;font-family:var(--font-family)}h2{border-color:var(--vp-c-gutter);transition:border-color var(--vp-t-color)}a{color:var(--vp-c-accent)}code{background-color:var(--vp-c-bg-alt);color:var(--vp-c-text-mute);font-family:var(--code-font-family);transition:background-color var(--vp-t-color)}p a code{color:var(--vp-c-accent)}kbd{border-color:var(--vp-c-border-hard);transition:border-color var(--vp-t-color)}blockquote{border-color:var(--vp-c-border-hard);color:var(--vp-c-text-mute);transition:border-color var(--vp-t-color)}hr{border-color:var(--vp-c-gutter);transition:border-color var(--vp-t-color)}table{transition:border-color var(--vp-t-color)}tr:nth-child(odd){background-color:var(--vp-c-bg-alt);transition:background-color var(--vp-t-color)}tr:nth-child(odd) code{background-color:var(--vp-c-gutter)}th,td{border-color:var(--vp-c-border-hard);transition:border-color var(--vp-t-color)}.theme-default-content h1,.theme-default-content h2,.theme-default-content h3,.theme-default-content h4,.theme-default-content h5,.theme-default-content h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:0;padding-top:calc(1rem + var(--navbar-height))}.theme-default-content h1:first-child,.theme-default-content h2:first-child,.theme-default-content h3:first-child,.theme-default-content h4:first-child,.theme-default-content h5:first-child,.theme-default-content h6:first-child{margin-bottom:1rem}.theme-default-content h1:first-child+p,.theme-default-content h1:first-child+pre,.theme-default-content h1:first-child+.custom-container,.theme-default-content h2:first-child+p,.theme-default-content h2:first-child+pre,.theme-default-content h2:first-child+.custom-container,.theme-default-content h3:first-child+p,.theme-default-content h3:first-child+pre,.theme-default-content h3:first-child+.custom-container,.theme-default-content h4:first-child+p,.theme-default-content h4:first-child+pre,.theme-default-content h4:first-child+.custom-container,.theme-default-content h5:first-child+p,.theme-default-content h5:first-child+pre,.theme-default-content h5:first-child+.custom-container,.theme-default-content h6:first-child+p,.theme-default-content h6:first-child+pre,.theme-default-content h6:first-child+.custom-container{margin-top:2rem}@media (max-width: 419px){.theme-default-content h1{font-size:1.9rem}}.theme-default-content a:not(.header-anchor){text-decoration:underline}.theme-default-content img{max-width:100%}div[class*=language-]{margin:.75rem 0;transition:background-color var(--vp-t-color),color var(--vp-t-color)}@media (max-width: 419px){div[class*=language-]{--code-border-radius: 0;margin:.75rem -1.5rem}}div[class*=language-] .line.diff,div[class*=language-] .line.highlighted{transition:background-color var(--vp-t-color)}.table-of-contents .vp-badge{vertical-align:middle}.arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}[data-theme=dark] .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.arrow.down{transform:rotate(180deg)}.arrow.right{transform:rotate(90deg)}.arrow.left{transform:rotate(-90deg)}.vp-external-link-icon:after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon .external-link:after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon .theme-default-content a[href*="://"]:not(.no-external-link-icon):after,.external-link-icon .theme-default-content a[target=_blank]:not(.no-external-link-icon):after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}@media screen and (max-width: 719px){.vp-hide-mobile{display:none}}.vp-comment{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.vp-comment{padding:2rem}}@media (max-width: 419px){.vp-comment{padding:1.5rem}}.vp-navbar .DocSearch{transition:background-color var(--vp-t-color)}.vp-navbar .search-box{vertical-align:top;flex:0 0 auto}.lang-modal-fade-enter-active,.lang-modal-fade-leave-active{transition:opacity .5s}.lang-modal-fade-enter,.lang-modal-fade-leave-to{opacity:0}.lang-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1499;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media print{.lang-modal-mask{display:none}}.lang-modal-wrapper{position:relative;z-index:1500;overflow:hidden;max-width:80vw;padding:1rem 2rem;border-radius:8px;background:var(--vp-bg);box-shadow:0 2px 6px 0 var(--card-shadow)}.lang-modal-action{display:block;width:100%;margin:1rem 0;padding:.5rem .75rem;border:none;border-radius:8px;background-color:var(--vp-bglt);color:var(--vp-c);cursor:pointer}.lang-modal-action:hover{background-color:var(--vp-bgl)}.lang-modal-action.primary{background-color:var(--vp-tc);color:var(--white)}.lang-modal-action.primary:hover{background-color:var(--vp-tcl)}.grey{color:#0006}.works-table-wrapper[data-v-765855fb]{margin:0 auto;padding:0 2rem;max-width:1224px;box-sizing:border-box}.works-table-wrapper[data-v-765855fb] table{width:100%}:root{--content-width: 960px}.vp-page .theme-default-content{padding-bottom:0!important}.vp-page-meta{display:none} diff --git a/dist/assets/works.html-Ci6qNWZ7.js b/dist/assets/works.html-Ci6qNWZ7.js new file mode 100644 index 0000000..6623392 --- /dev/null +++ b/dist/assets/works.html-Ci6qNWZ7.js @@ -0,0 +1 @@ +import{_ as r,c as l,e as a,o as i}from"./app-ByBFieB-.js";const o={};function t(n,e){return i(),l("div",null,e[0]||(e[0]=[a('

Выделенный опыт работы

Binary Management

  • Даты: Август 2018 – по настоящее время
  • Роли: Lead Fullstack Developer, Team Lead, Architect

Разработка инструмента управления проектами для дизайнеров интерьера.

Backend GraphQL API

Стек: Node.JS, Apollo, PostgreSQL, Redis, BullMQ

  • Перенес триггеры базы данных в бизнес-логику. Проще стало читать код, вносить изменение и система стала надежнее.
  • Ввёл практику написания unit тестов и интеграционных тестов. Самолично написал более 70% тестов всех тестов.
  • Добавил GraphQL подписки для динамичного обновления.
Frontend

Стек: React, Apollo, Antd

  • Сформировал UIKit и общие компоненты, оптимизировал сложные и нагруженные компоненты.
  • Изменил работу с API на фронтенде.
  • Внедрил практику написания интеграционных тестов с помощью cypress.
  • Полностью перенес проект на TypeScript. Сформировал изолированные модули системы.
Руководство командой
  • Ввёл практику TDD (Test-Driven Development).
  • Я привнес в проект "метод критической цепи", "метод буфера" и "метод планирования с конца". Помог команде войти в ритм, чтобы выпускать релизы каждую неделю небольшими партиями.
  • Составлял индивидуальный план развития для членов команды.
Архитектура
  • Разбил всю кодовую базу на модули по фичам.
  • Ускорил базу данных PostgreSQL, разбив данные компаний по отдельным схемам и применив партиципирование таблиц.
  • Добавил кеширование запросов с Redis.
  • Уменьшил затраты на инфраструткуру в 5 раз, перенес весь проект с kubernetes на NixOS.

Core Spirit (Back Office)

  • Даты: Август 2024 - по настоящее время
  • Роль: Lead Fullstack Developer

Разработка бэк-офиса для социальной платформы Core Spirit.

  • Интегрировал Dependabot, который помог обновить все устаревшие зависимости. Заменил webpack на vite.

Master Progress

  • Даты: Май 2018 - по настоящее время (Пассивная поддержка)
  • Роль: Tech Lead

Разработка веб-инфраструктуры образовательного центра Мастер Прогресс.


Core Spirit

  • Даты: Август 2018 - May 2020, Август 2024 - по настоящее время
  • Роль: Lead Fullstack Developer

Разработка социальной платформы, сфокусированной на улучшении человека и планеты.

  • REST API (Node.JS, Express, PostgreSQL) для основного сайта и бэк-офиса. Успел поработать с новой версией REST API на Go, PostgreSQL
  • Автопостер в различные социальные сети и мессенджеры (Facebook, LinkedIn, Twitter, Telegram).
  • Создал нейронную сеть для автоматической категоризации статей.

MERLION

  • Dates: March 2016 – May 2018
  • Role: Senior Fullstack developer

В этой компании было 6 значительных проектов, которые я успешно завершил:

  • Оптимизация создания рекламных страниц (PHP, JavaScript)
  • Поддержка основного традиционного сайта https://citilink.ru (PHP, JavaScript)
  • Разработка парсинга для мониторинга товаров на предмет изменения цены, количества/наличия на складе, рейтинга и других полей на основе данных с 55+ сайтов (Node.js, Express)
  • Работа с нейронными сетями для подбора товаров
  • Разработка приложений для распознавания лиц для Android (Java)

Хронология

В списке перечислены только публичные проекты.

',37)]))}const s=r(o,[["render",t],["__file","works.html.vue"]]),d=JSON.parse('{"path":"/works.html","title":"Работы","lang":"ru-RU","frontmatter":{"title":"Работы","layout":"WorksPage","sidebar":false,"head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://pleshevski.ru/eng/works.html"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/works.html"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:title","content":"Работы"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-08-07T08:48:54.000Z"}],["meta",{"property":"article:modified_time","content":"2024-08-07T08:48:54.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Работы\\"}"]]},"headers":[{"level":2,"title":"Выделенный опыт работы","slug":"выделенныи-опыт-работы","link":"#выделенныи-опыт-работы","children":[{"level":3,"title":"Binary Management","slug":"binary-management","link":"#binary-management","children":[]},{"level":3,"title":"Core Spirit (Back Office)","slug":"core-spirit-back-office","link":"#core-spirit-back-office","children":[]},{"level":3,"title":"Master Progress","slug":"master-progress","link":"#master-progress","children":[]},{"level":3,"title":"Core Spirit","slug":"core-spirit","link":"#core-spirit","children":[]},{"level":3,"title":"MERLION","slug":"merlion","link":"#merlion","children":[]}]},{"level":2,"title":"Хронология","slug":"хронология","link":"#хронология","children":[]}],"git":{"updatedTime":1723020534000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":5}]},"filePathRelative":"works.md"}');export{s as comp,d as data}; diff --git a/dist/assets/works.html-ClfRVstQ.js b/dist/assets/works.html-ClfRVstQ.js new file mode 100644 index 0000000..a01803f --- /dev/null +++ b/dist/assets/works.html-ClfRVstQ.js @@ -0,0 +1 @@ +import{_ as t,c as r,e as a,o}from"./app-ByBFieB-.js";const i={};function n(l,e){return o(),r("div",null,e[0]||(e[0]=[a('

Highlighted working experience

Binary Management

  • Dates: August 2018 – currently
  • Roles: Lead Fullstack Developer, Team Lead, Architect

Development of a Project Management Tool for Interior Designers

Backend GraphQL API

Stack: Node.JS, Apollo, PostgreSQL, Redis, BullMQ

  • Migrated database triggers into business logic. Code became easier to read and maintain, and the system became more reliable.
  • Introduced unit testing and integration testing practices. I wrote over 70% of all tests myself.
  • Added GraphQL subscriptions for dynamic updates.
Frontend

Stack: React, Apollo, Antd

  • Formed a UIKit and general components, optimized complex and loaded components.
  • Changed API work on the frontend.
  • Introduced integration testing practice using Cypress.
  • Migrated the entire project to TypeScript. Created isolated system modules.
Leadership of the Team
  • Introduced TDD (Test-Driven Development) practices.
  • Brought the "Critical Chain Method", the "Buffer Method", and the "Backward Planning" method into the project. Helped the team get in sync, releasing small batches every week.
  • Created individual development plans for team members.
Architecture
  • Broke down the entire codebase into modules by feature.
  • Optimized PostgreSQL database, splitting company data into separate schemas and applying partitioning tables.
  • Added query caching with Redis.
  • Reduced infrastructure costs by 5 times, migrating the project from Kubernetes to NixOS.

Core Spirit (Back Office)

  • Даты: Август 2024 - currently
  • Роль: Lead Fullstack Developer

Development of the Back Office for Core Spirit social platform.

  • Integrated Dependabot, which helped update all outdated dependencies. Replaced webpack with vite.

Master Progress

  • Dates: May 2018 - currently (Passively maintained)
  • Role: Tech Lead

Development web infrastructure of the educational center Master Progress

  • The main site (Python, Flask).
  • Student's cabinet (Python, Flask, TypeScript, React, PostgreSQL).
  • A tool for rosmintrud (Deno, Vue, Typescript)
  • A complete infrastructure was created on NixOS. Before that, I had created an infrastructure using Drone CI / Woodpecker CI and Docker swarm, which has been running for over 5 years.

Core Spirit

  • Dates: August 2018 - May 2020, August 2024 - currently
  • Role: Lead Fullstack Developer

Development of Social platform focusing on human and planetary enhancement.

  • A REST API (using Node.JS, Express, and PostgreSQL) for the main website and back office. I also got to work with a new version of the REST API using Go and PostgreSQL.
  • Auto poster to various social networks and messengers (Facebook, LinkedIn, Twitter, Telegram).
  • Neural network for automatic categorization of articles.

MERLION

  • Dates: March 2016 – May 2018
  • Role: Senior Fullstack developer

In this company there were 6 considerable projects I have successfully completed:

  • optimize the creation of promotional pages (PHP, JavaScript)
  • support main traditional site https://citilink.ru (PHP, JavaScript)
  • development of parsing to monitor products for changes in price, quantity/availability in stock, rating and other fields based on data from 55 websites (Node.JS, Express)
  • work with neural networks for matching of goods
  • development face recognition apps for Android (Java)

Chronology

Public projects only.

',37)]))}const c=t(i,[["render",n],["__file","works.html.vue"]]),d=JSON.parse('{"path":"/eng/works.html","title":"Works","lang":"en-US","frontmatter":{"title":"Works","layout":"WorksPage","sidebar":false,"head":[["link",{"rel":"alternate","hreflang":"ru-ru","href":"https://pleshevski.ru/works.html"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/eng/works.html"}],["meta",{"property":"og:site_name","content":"Dmitriy Pleshevskiy"}],["meta",{"property":"og:title","content":"Works"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"ru-RU"}],["meta",{"property":"og:updated_time","content":"2024-08-07T08:48:54.000Z"}],["meta",{"property":"article:modified_time","content":"2024-08-07T08:48:54.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Works\\"}"]]},"headers":[{"level":2,"title":"Highlighted working experience","slug":"highlighted-working-experience","link":"#highlighted-working-experience","children":[{"level":3,"title":"Binary Management","slug":"binary-management","link":"#binary-management","children":[]},{"level":3,"title":"Core Spirit (Back Office)","slug":"core-spirit-back-office","link":"#core-spirit-back-office","children":[]},{"level":3,"title":"Master Progress","slug":"master-progress","link":"#master-progress","children":[]},{"level":3,"title":"Core Spirit","slug":"core-spirit","link":"#core-spirit","children":[]}]},{"level":2,"title":"Chronology","slug":"chronology","link":"#chronology","children":[]}],"git":{"updatedTime":1723020534000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":4}]},"filePathRelative":"eng/works.md"}');export{c as comp,d as data}; diff --git a/dist/assets/works.html-DDM5nDLC.js b/dist/assets/works.html-DDM5nDLC.js deleted file mode 100644 index 9b7b82e..0000000 --- a/dist/assets/works.html-DDM5nDLC.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as l,e as a}from"./app-YqJ2N5FF.js";const i={},o=a('

Выделенный опыт работы

Binary Management

  • Даты: Август 2018 – по настоящее время
  • Роли: Lead Fullstack Developer, Team Lead, Architect

Разработка инструмента управления проектами для дизайнеров интерьера.

Backend GraphQL API

Стек: Node.JS, Apollo, PostgreSQL, Redis, BullMQ

  • Перенес триггеры базы данных в бизнес-логику. Проще стало читать код, вносить изменение и система стала надежнее.
  • Ввёл практику написания unit тестов и интеграционных тестов. Самолично написал более 70% тестов всех тестов.
  • Добавил GraphQL подписки для динамичного обновления.
Frontend

Стек: React, Apollo, Antd

  • Сформировал UIKit и общие компоненты, оптимизировал сложные и нагруженные компоненты.
  • Изменил работу с API на фронтенде.
  • Внедрил практику написания интеграционных тестов с помощью cypress.
  • Полностью перенес проект на TypeScript. Сформировал изолированные модули системы.
Руководство командой
  • Ввёл практику TDD (Test-Driven Development).
  • Я привнес в проект "метод критической цепи", "метод буфера" и "метод планирования с конца". Помог команде войти в ритм, чтобы выпускать релизы каждую неделю небольшими партиями.
  • Составлял индивидуальный план развития для членов команды.
Архитектура
  • Разбил всю кодовую базу на модули по фичам.
  • Ускорил базу данных PostgreSQL, разбив данные компаний по отдельным схемам и применив партиципирование таблиц.
  • Добавил кеширование запросов с Redis.
  • Уменьшил затраты на инфраструткуру в 5 раз, перенес весь проект с kubernetes на NixOS.

Core Spirit (Back Office)

  • Даты: Август 2024 - по настоящее время
  • Роль: Lead Fullstack Developer

Разработка бэк-офиса для социальной платформы Core Spirit.

  • Интегрировал Dependabot, который помог обновить все устаревшие зависимости. Заменил webpack на vite.

Master Progress

  • Даты: Май 2018 - по настоящее время (Пассивная поддержка)
  • Роль: Tech Lead

Разработка веб-инфраструктуры образовательного центра Мастер Прогресс.


Core Spirit

  • Даты: Август 2018 - May 2020, Август 2024 - по настоящее время
  • Роль: Lead Fullstack Developer

Разработка социальной платформы, сфокусированной на улучшении человека и планеты.

  • REST API (Node.JS, Express, PostgreSQL) для основного сайта и бэк-офиса. Успел поработать с новой версией REST API на Go, PostgreSQL
  • Автопостер в различные социальные сети и мессенджеры (Facebook, LinkedIn, Twitter, Telegram).
  • Создал нейронную сеть для автоматической категоризации статей.

MERLION

  • Dates: March 2016 – May 2018
  • Role: Senior Fullstack developer

В этой компании было 6 значительных проектов, которые я успешно завершил:

  • Оптимизация создания рекламных страниц (PHP, JavaScript)
  • Поддержка основного традиционного сайта https://citilink.ru (PHP, JavaScript)
  • Разработка парсинга для мониторинга товаров на предмет изменения цены, количества/наличия на складе, рейтинга и других полей на основе данных с 55+ сайтов (Node.js, Express)
  • Работа с нейронными сетями для подбора товаров
  • Разработка приложений для распознавания лиц для Android (Java)

Хронология

В списке перечислены только публичные проекты.

',37),t=[o];function c(n,s){return l(),r("div",null,t)}const p=e(i,[["render",c],["__file","works.html.vue"]]),h=JSON.parse('{"path":"/works.html","title":"Работы","lang":"ru-RU","frontmatter":{"title":"Работы","layout":"WorksPage","sidebar":false,"head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://pleshevski.ru/eng/works.html"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/works.html"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:title","content":"Работы"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-08-07T08:48:54.000Z"}],["meta",{"property":"article:modified_time","content":"2024-08-07T08:48:54.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Работы\\"}"]]},"headers":[{"level":2,"title":"Выделенный опыт работы","slug":"выделенныи-опыт-работы","link":"#выделенныи-опыт-работы","children":[{"level":3,"title":"Binary Management","slug":"binary-management","link":"#binary-management","children":[]},{"level":3,"title":"Core Spirit (Back Office)","slug":"core-spirit-back-office","link":"#core-spirit-back-office","children":[]},{"level":3,"title":"Master Progress","slug":"master-progress","link":"#master-progress","children":[]},{"level":3,"title":"Core Spirit","slug":"core-spirit","link":"#core-spirit","children":[]},{"level":3,"title":"MERLION","slug":"merlion","link":"#merlion","children":[]}]},{"level":2,"title":"Хронология","slug":"хронология","link":"#хронология","children":[]}],"git":{"updatedTime":1723020534000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":5}]},"filePathRelative":"works.md"}');export{p as comp,h as data}; diff --git a/dist/assets/works.html-EdO4hOM5.js b/dist/assets/works.html-EdO4hOM5.js deleted file mode 100644 index a02901f..0000000 --- a/dist/assets/works.html-EdO4hOM5.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as r,e as o}from"./app-YqJ2N5FF.js";const a={},i=o('

Highlighted working experience

Binary Management

  • Dates: August 2018 – currently
  • Roles: Lead Fullstack Developer, Team Lead, Architect

Development of a Project Management Tool for Interior Designers

Backend GraphQL API

Stack: Node.JS, Apollo, PostgreSQL, Redis, BullMQ

  • Migrated database triggers into business logic. Code became easier to read and maintain, and the system became more reliable.
  • Introduced unit testing and integration testing practices. I wrote over 70% of all tests myself.
  • Added GraphQL subscriptions for dynamic updates.
Frontend

Stack: React, Apollo, Antd

  • Formed a UIKit and general components, optimized complex and loaded components.
  • Changed API work on the frontend.
  • Introduced integration testing practice using Cypress.
  • Migrated the entire project to TypeScript. Created isolated system modules.
Leadership of the Team
  • Introduced TDD (Test-Driven Development) practices.
  • Brought the "Critical Chain Method", the "Buffer Method", and the "Backward Planning" method into the project. Helped the team get in sync, releasing small batches every week.
  • Created individual development plans for team members.
Architecture
  • Broke down the entire codebase into modules by feature.
  • Optimized PostgreSQL database, splitting company data into separate schemas and applying partitioning tables.
  • Added query caching with Redis.
  • Reduced infrastructure costs by 5 times, migrating the project from Kubernetes to NixOS.

Core Spirit (Back Office)

  • Даты: Август 2024 - currently
  • Роль: Lead Fullstack Developer

Development of the Back Office for Core Spirit social platform.

  • Integrated Dependabot, which helped update all outdated dependencies. Replaced webpack with vite.

Master Progress

  • Dates: May 2018 - currently (Passively maintained)
  • Role: Tech Lead

Development web infrastructure of the educational center Master Progress

  • The main site (Python, Flask).
  • Student's cabinet (Python, Flask, TypeScript, React, PostgreSQL).
  • A tool for rosmintrud (Deno, Vue, Typescript)
  • A complete infrastructure was created on NixOS. Before that, I had created an infrastructure using Drone CI / Woodpecker CI and Docker swarm, which has been running for over 5 years.

Core Spirit

  • Dates: August 2018 - May 2020, August 2024 - currently
  • Role: Lead Fullstack Developer

Development of Social platform focusing on human and planetary enhancement.

  • A REST API (using Node.JS, Express, and PostgreSQL) for the main website and back office. I also got to work with a new version of the REST API using Go and PostgreSQL.
  • Auto poster to various social networks and messengers (Facebook, LinkedIn, Twitter, Telegram).
  • Neural network for automatic categorization of articles.

MERLION

  • Dates: March 2016 – May 2018
  • Role: Senior Fullstack developer

In this company there were 6 considerable projects I have successfully completed:

  • optimize the creation of promotional pages (PHP, JavaScript)
  • support main traditional site https://citilink.ru (PHP, JavaScript)
  • development of parsing to monitor products for changes in price, quantity/availability in stock, rating and other fields based on data from 55 websites (Node.JS, Express)
  • work with neural networks for matching of goods
  • development face recognition apps for Android (Java)

Chronology

Public projects only.

',37),n=[i];function l(s,c){return r(),t("div",null,n)}const p=e(a,[["render",l],["__file","works.html.vue"]]),h=JSON.parse('{"path":"/eng/works.html","title":"Works","lang":"en-US","frontmatter":{"title":"Works","layout":"WorksPage","sidebar":false,"head":[["link",{"rel":"alternate","hreflang":"ru-ru","href":"https://pleshevski.ru/works.html"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/eng/works.html"}],["meta",{"property":"og:site_name","content":"Dmitriy Pleshevskiy"}],["meta",{"property":"og:title","content":"Works"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"ru-RU"}],["meta",{"property":"og:updated_time","content":"2024-08-07T08:48:54.000Z"}],["meta",{"property":"article:modified_time","content":"2024-08-07T08:48:54.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Works\\"}"]]},"headers":[{"level":2,"title":"Highlighted working experience","slug":"highlighted-working-experience","link":"#highlighted-working-experience","children":[{"level":3,"title":"Binary Management","slug":"binary-management","link":"#binary-management","children":[]},{"level":3,"title":"Core Spirit (Back Office)","slug":"core-spirit-back-office","link":"#core-spirit-back-office","children":[]},{"level":3,"title":"Master Progress","slug":"master-progress","link":"#master-progress","children":[]},{"level":3,"title":"Core Spirit","slug":"core-spirit","link":"#core-spirit","children":[]}]},{"level":2,"title":"Chronology","slug":"chronology","link":"#chronology","children":[]}],"git":{"updatedTime":1723020534000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":4}]},"filePathRelative":"eng/works.md"}');export{p as comp,h as data}; diff --git a/dist/eng/index.html b/dist/eng/index.html index 7ca23aa..ee1f6d8 100644 --- a/dist/eng/index.html +++ b/dist/eng/index.html @@ -32,12 +32,12 @@ } Resume | Dmitriy Pleshevskiy - - - + + +
- + diff --git a/dist/eng/works.html b/dist/eng/works.html index 82627fe..ea9abc6 100644 --- a/dist/eng/works.html +++ b/dist/eng/works.html @@ -32,12 +32,12 @@ } Works | Dmitriy Pleshevskiy - - - + + + -
- +
+ diff --git a/dist/index.html b/dist/index.html index e5c08dd..58e6519 100644 --- a/dist/index.html +++ b/dist/index.html @@ -32,12 +32,12 @@ } Резюме | Дмитрий Плешевский - - - + + +
- + diff --git a/dist/works.html b/dist/works.html index 34353b0..87f3625 100644 --- a/dist/works.html +++ b/dist/works.html @@ -32,12 +32,12 @@ } Работы | Дмитрий Плешевский - - - + + + -
- +
+ diff --git a/docs/.vuepress/modules/work/data.ts b/docs/.vuepress/modules/work/data.ts index e0c6581..c228e4c 100644 --- a/docs/.vuepress/modules/work/data.ts +++ b/docs/.vuepress/modules/work/data.ts @@ -4,6 +4,15 @@ import { Technology } from "./domain/Technology.ts"; import type { Work } from "./domain/Work.ts"; export const CHRONOLOGICAL_WORKS: Work[] = [ + { + name: "nixeovim", + url: "/pleshevskiy/nixeovim", + description: "Configure and build neovim editor using nix", + roles: [Role.Author], + technologies: [Technology.Nix], + startDate: new Date("2024-04-24"), + status: Status.ActiveDeveloped, + }, { name: "picsg", url: "/pleshevskiy/picsg",