diff --git a/Makefile b/Makefile index a9f7a4b..4d1bc3b 100644 --- a/Makefile +++ b/Makefile @@ -14,3 +14,6 @@ dev: deps: pnpm install +init-git-hooks: + ln -sf $(PWD)/scripts/pre-commit $(PWD)/.git/hooks/pre-commit + diff --git a/dist/404.html b/dist/404.html index d313939..f02015c 100644 --- a/dist/404.html +++ b/dist/404.html @@ -31,13 +31,13 @@ document.documentElement.dataset.theme = 'dark' } - Дмитрий Плешевский - - - + Дмитрий Плешевский + + + -

404

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

404

Верните страницу!
Вернуться на главную
+ diff --git a/dist/assets/404.html-BY7PcDFN.js b/dist/assets/404.html-BY7PcDFN.js new file mode 100644 index 0000000..99ed7b5 --- /dev/null +++ b/dist/assets/404.html-BY7PcDFN.js @@ -0,0 +1 @@ +import{_ as t,c as e,o,a}from"./app-DVhfb_AK.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/404.html-hyU35sNZ.js b/dist/assets/404.html-hyU35sNZ.js deleted file mode 100644 index 49065ae..0000000 --- a/dist/assets/404.html-hyU35sNZ.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as e,o,a as n}from"./app-CYZ52EDj.js";const r={},a=n("p",null,"404 Not Found",-1),c=[a];function s(p,l){return o(),e("div",null,c)}const d=t(r,[["render",s],["__file","404.html.vue"]]),m=JSON.parse('{"path":"/404.html","title":"","lang":"ru-RU","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["meta",{"property":"og:url","content":"https://pleshevski.ru/404.html"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:description","content":"404 Not Found"}],["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\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"]]},"headers":[],"git":{},"autoDesc":true,"filePathRelative":null}');export{d as comp,m as data}; diff --git a/dist/assets/app-CYZ52EDj.js b/dist/assets/app-CYZ52EDj.js deleted file mode 100644 index fd9f1d4..0000000 --- a/dist/assets/app-CYZ52EDj.js +++ /dev/null @@ -1,32 +0,0 @@ -/** -* @vue/shared v3.4.33 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function Do(e,t){const n=new Set(e.split(","));return r=>n.has(r)}const Ce={},fn=[],ot=()=>{},Ca=()=>!1,Qn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ho=e=>e.startsWith("onUpdate:"),He=Object.assign,No=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},La=Object.prototype.hasOwnProperty,fe=(e,t)=>La.call(e,t),ne=Array.isArray,dn=e=>Nr(e)==="[object Map]",Ii=e=>Nr(e)==="[object Set]",se=e=>typeof e=="function",Ae=e=>typeof e=="string",Ft=e=>typeof e=="symbol",we=e=>e!==null&&typeof e=="object",Mi=e=>(we(e)||se(e))&&se(e.then)&&se(e.catch),Di=Object.prototype.toString,Nr=e=>Di.call(e),Pa=e=>Nr(e).slice(8,-1),Hi=e=>Nr(e)==="[object Object]",$o=e=>Ae(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,hn=Do(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$r=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},xa=/-(\w)/g,et=$r(e=>e.replace(xa,(t,n)=>n?n.toUpperCase():"")),ka=/\B([A-Z])/g,Bt=$r(e=>e.replace(ka,"-$1").toLowerCase()),Xn=$r(e=>e.charAt(0).toUpperCase()+e.slice(1)),eo=$r(e=>e?`on${Xn(e)}`:""),$t=(e,t)=>!Object.is(e,t),to=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Aa=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ta=e=>{const t=Ae(e)?Number(e):NaN;return isNaN(t)?e:t};let bs;const $i=()=>bs||(bs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Zn(e){if(ne(e)){const t={};for(let n=0;n{if(n){const r=n.split(Oa);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Ge(e){let t="";if(Ae(e))t=e;else if(ne(e))for(let n=0;n!!(e&&e.__v_isRef===!0),de=e=>Ae(e)?e:e==null?"":ne(e)||we(e)&&(e.toString===Di||!se(e.toString))?Vi(e)?de(e.value):JSON.stringify(e,Fi,2):String(e),Fi=(e,t)=>Vi(t)?Fi(e,t.value):dn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[no(r,s)+" =>"]=o,n),{})}:Ii(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>no(n))}:Ft(t)?no(t):we(t)&&!ne(t)&&!Hi(t)?String(t):t,no=(e,t="")=>{var n;return Ft(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.4.33 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Xe;class Na{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Xe,!t&&Xe&&(this.index=(Xe.scopes||(Xe.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Xe;try{return Xe=this,t()}finally{Xe=n}}}on(){Xe=this}off(){Xe=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=Ht,n=Zt;try{return Ht=!0,Zt=this,this._runnings++,ys(this),this.fn()}finally{ws(this),this._runnings--,Zt=n,Ht=t}}stop(){this.active&&(ys(this),ws(this),this.onStop&&this.onStop(),this.active=!1)}}function Va(e){return e.value}function ys(e){e._trackId++,e._depsLength=0}function ws(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},Pr=new WeakMap,en=Symbol(""),wo=Symbol("");function Je(e,t,n){if(Ht&&Zt){let r=Pr.get(e);r||Pr.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=qi(()=>r.delete(n))),Ui(Zt,o)}}function yt(e,t,n,r,o,s){const i=Pr.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&ne(e)){const a=Number(r);i.forEach((c,f)=>{(f==="length"||!Ft(f)&&f>=a)&&l.push(c)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":ne(e)?$o(n)&&l.push(i.get("length")):(l.push(i.get(en)),dn(e)&&l.push(i.get(wo)));break;case"delete":ne(e)||(l.push(i.get(en)),dn(e)&&l.push(i.get(wo)));break;case"set":dn(e)&&l.push(i.get(en));break}Vo();for(const a of l)a&&Ki(a,4);Fo()}function Fa(e,t){const n=Pr.get(e);return n&&n.get(t)}const Ba=Do("__proto__,__v_isRef,__isVue"),Gi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ft)),Ss=za();function za(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=pe(this);for(let s=0,i=this.length;s{e[t]=function(...n){zt(),Vo();const r=pe(this)[t].apply(this,n);return Fo(),Wt(),r}}),e}function Wa(e){Ft(e)||(e=String(e));const t=pe(this);return Je(t,"has",e),t.hasOwnProperty(e)}class Ji{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?rc:Zi:s?Xi:Qi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=ne(t);if(!o){if(i&&fe(Ss,n))return Reflect.get(Ss,n,r);if(n==="hasOwnProperty")return Wa}const l=Reflect.get(t,n,r);return(Ft(n)?Gi.has(n):Ba(n))||(o||Je(t,"get",n),s)?l:je(l)?i&&$o(n)?l:l.value:we(l)?o?Vr(l):er(l):l}}class Yi extends Ji{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(!this._isShallow){const a=on(s);if(!bn(r)&&!on(r)&&(s=pe(s),r=pe(r)),!ne(t)&&je(s)&&!je(r))return a?!1:(s.value=r,!0)}const i=ne(t)&&$o(n)?Number(n)e,jr=e=>Reflect.getPrototypeOf(e);function ar(e,t,n=!1,r=!1){e=e.__v_raw;const o=pe(e),s=pe(t);n||($t(t,s)&&Je(o,"get",t),Je(o,"get",s));const{has:i}=jr(o),l=r?Bo:n?Uo:Bn;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 cr(e,t=!1){const n=this.__v_raw,r=pe(n),o=pe(e);return t||($t(e,o)&&Je(r,"has",e),Je(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function ur(e,t=!1){return e=e.__v_raw,!t&&Je(pe(e),"iterate",en),Reflect.get(e,"size",e)}function Es(e,t=!1){!t&&!bn(e)&&!on(e)&&(e=pe(e));const n=pe(this);return jr(n).has.call(n,e)||(n.add(e),yt(n,"add",e,e)),this}function Cs(e,t,n=!1){!n&&!bn(t)&&!on(t)&&(t=pe(t));const r=pe(this),{has:o,get:s}=jr(r);let i=o.call(r,e);i||(e=pe(e),i=o.call(r,e));const l=s.call(r,e);return r.set(e,t),i?$t(t,l)&&yt(r,"set",e,t):yt(r,"add",e,t),this}function Ls(e){const t=pe(this),{has:n,get:r}=jr(t);let o=n.call(t,e);o||(e=pe(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&&yt(t,"delete",e,void 0),s}function Ps(){const e=pe(this),t=e.size!==0,n=e.clear();return t&&yt(e,"clear",void 0,void 0),n}function fr(e,t){return function(r,o){const s=this,i=s.__v_raw,l=pe(i),a=t?Bo:e?Uo:Bn;return!e&&Je(l,"iterate",en),i.forEach((c,f)=>r.call(o,a(c),a(f),s))}}function dr(e,t,n){return function(...r){const o=this.__v_raw,s=pe(o),i=dn(s),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,c=o[e](...r),f=n?Bo:t?Uo:Bn;return!t&&Je(s,"iterate",a?wo:en),{next(){const{value:u,done:p}=c.next();return p?{value:u,done:p}:{value:l?[f(u[0]),f(u[1])]:f(u),done:p}},[Symbol.iterator](){return this}}}}function kt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ja(){const e={get(s){return ar(this,s)},get size(){return ur(this)},has:cr,add:Es,set:Cs,delete:Ls,clear:Ps,forEach:fr(!1,!1)},t={get(s){return ar(this,s,!1,!0)},get size(){return ur(this)},has:cr,add(s){return Es.call(this,s,!0)},set(s,i){return Cs.call(this,s,i,!0)},delete:Ls,clear:Ps,forEach:fr(!1,!0)},n={get(s){return ar(this,s,!0)},get size(){return ur(this,!0)},has(s){return cr.call(this,s,!0)},add:kt("add"),set:kt("set"),delete:kt("delete"),clear:kt("clear"),forEach:fr(!0,!1)},r={get(s){return ar(this,s,!0,!0)},get size(){return ur(this,!0)},has(s){return cr.call(this,s,!0)},add:kt("add"),set:kt("set"),delete:kt("delete"),clear:kt("clear"),forEach:fr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=dr(s,!1,!1),n[s]=dr(s,!0,!1),t[s]=dr(s,!1,!0),r[s]=dr(s,!0,!0)}),[e,n,t,r]}const[Ya,Qa,Xa,Za]=Ja();function zo(e,t){const n=t?e?Za:Xa:e?Qa:Ya;return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(fe(n,o)&&o in r?n:r,o,s)}const ec={get:zo(!1,!1)},tc={get:zo(!1,!0)},nc={get:zo(!0,!1)};const Qi=new WeakMap,Xi=new WeakMap,Zi=new WeakMap,rc=new WeakMap;function oc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function sc(e){return e.__v_skip||!Object.isExtensible(e)?0:oc(Pa(e))}function er(e){return on(e)?e:Wo(e,!1,Ka,ec,Qi)}function el(e){return Wo(e,!1,Ga,tc,Xi)}function Vr(e){return Wo(e,!0,qa,nc,Zi)}function Wo(e,t,n,r,o){if(!we(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const i=sc(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 on(e)?pn(e.__v_raw):!!(e&&e.__v_isReactive)}function on(e){return!!(e&&e.__v_isReadonly)}function bn(e){return!!(e&&e.__v_isShallow)}function tl(e){return e?!!e.__v_raw:!1}function pe(e){const t=e&&e.__v_raw;return t?pe(t):e}function ic(e){return Object.isExtensible(e)&&Ni(e,"__v_skip",!0),e}const Bn=e=>we(e)?er(e):e,Uo=e=>we(e)?Vr(e):e;class nl{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 jo(()=>t(this._value),()=>Dn(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=pe(this);return(!t._cacheable||t.effect.dirty)&&$t(t._value,t._value=t.effect.run())&&Dn(t,4),Ko(t),t.effect._dirtyLevel>=2&&Dn(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function lc(e,t,n=!1){let r,o;const s=se(e);return s?(r=e,o=ot):(r=e.get,o=e.set),new nl(r,o,s||!o,n)}function Ko(e){var t;Ht&&Zt&&(e=pe(e),Ui(Zt,(t=e.dep)!=null?t:e.dep=qi(()=>e.dep=void 0,e instanceof nl?e:void 0)))}function Dn(e,t=4,n,r){e=pe(e);const o=e.dep;o&&Ki(o,t)}function je(e){return!!(e&&e.__v_isRef===!0)}function he(e){return rl(e,!1)}function En(e){return rl(e,!0)}function rl(e,t){return je(e)?e:new ac(e,t)}class ac{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:pe(t),this._value=n?t:Bn(t)}get value(){return Ko(this),this._value}set value(t){const n=this.__v_isShallow||bn(t)||on(t);t=n?t:pe(t),$t(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:Bn(t),Dn(this,4))}}function tn(e){return je(e)?e.value:e}const cc={get:(e,t,n)=>tn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return je(o)&&!je(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function ol(e){return pn(e)?e:new Proxy(e,cc)}class uc{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Ko(this),()=>Dn(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function fc(e){return new uc(e)}function sl(e){const t=ne(e)?new Array(e.length):{};for(const n in e)t[n]=il(e,n);return t}class dc{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 Fa(pe(this._object),this._key)}}class hc{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function pc(e,t,n){return je(e)?e:se(e)?new hc(e):we(e)&&arguments.length>1?il(e,t,n):he(e)}function il(e,t,n){const r=e[t];return je(r)?r:new dc(e,t,n)}/** -* @vue/runtime-core v3.4.33 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Nt(e,t,n,r){try{return r?e(...r):e()}catch(o){tr(o,t,n)}}function st(e,t,n,r){if(se(e)){const o=Nt(e,t,n,r);return o&&Mi(o)&&o.catch(s=>{tr(s,t,n)}),o}if(ne(e)){const o=[];for(let s=0;s>>1,o=Fe[r],s=Wn(o);spt&&Fe.splice(t,1)}function _c(e){ne(e)?mn.push(...e):(!Rt||!Rt.includes(e,e.allowRecurse?Yt+1:Yt))&&mn.push(e),al()}function xs(e,t,n=zn?pt+1:0){for(;nWn(n)-Wn(r));if(mn.length=0,Rt){Rt.push(...t);return}for(Rt=t,Yt=0;Yte.id==null?1/0:e.id,bc=(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 cl(e){So=!1,zn=!0,Fe.sort(bc);try{for(pt=0;pt{r._d&&Fs(-1);const s=kr(t);let i;try{i=e(...o)}finally{kr(s),r._d&&Fs(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Ar(e,t){if(De===null)return e;const n=qr(De),r=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),Go(()=>{e.isUnmounting=!0}),e}const tt=[Function,Array],ul={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:tt,onEnter:tt,onAfterEnter:tt,onEnterCancelled:tt,onBeforeLeave:tt,onLeave:tt,onAfterLeave:tt,onLeaveCancelled:tt,onBeforeAppear:tt,onAppear:tt,onAfterAppear:tt,onAppearCancelled:tt},fl=e=>{const t=e.subTree;return t.component?fl(t.component):t},Ec={name:"BaseTransition",props:ul,setup(e,{slots:t}){const n=Kr(),r=Sc();return()=>{const o=t.default&&hl(t.default(),!0);if(!o||!o.length)return;let s=o[0];if(o.length>1){for(const p of o)if(p.type!==ze){s=p;break}}const i=pe(e),{mode:l}=i;if(r.isLeaving)return ro(s);const a=ks(s);if(!a)return ro(s);let c=Eo(a,i,r,n,p=>c=p);Tr(a,c);const f=n.subTree,u=f&&ks(f);if(u&&u.type!==ze&&!Qt(a,u)&&fl(n).type!==ze){const p=Eo(u,i,r,n);if(Tr(u,p),l==="out-in"&&a.type!==ze)return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},ro(s);l==="in-out"&&a.type!==ze&&(p.delayLeave=(m,_,C)=>{const k=dl(r,u);k[String(u.key)]=u,m[Ot]=()=>{_(),m[Ot]=void 0,delete c.delayedLeave},c.delayedLeave=C})}return s}}},Cc=Ec;function dl(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:c,onAfterEnter:f,onEnterCancelled:u,onBeforeLeave:p,onLeave:m,onAfterLeave:_,onLeaveCancelled:C,onBeforeAppear:k,onAppear:I,onAfterAppear:w,onAppearCancelled:g}=t,S=String(e.key),$=dl(n,e),H=(U,L)=>{U&&st(U,r,9,L)},M=(U,L)=>{const F=L[1];H(U,L),ne(U)?U.every(y=>y.length<=1)&&F():U.length<=1&&F()},b={mode:i,persisted:l,beforeEnter(U){let L=a;if(!n.isMounted)if(s)L=k||a;else return;U[Ot]&&U[Ot](!0);const F=$[S];F&&Qt(e,F)&&F.el[Ot]&&F.el[Ot](),H(L,[U])},enter(U){let L=c,F=f,y=u;if(!n.isMounted)if(s)L=I||c,F=w||f,y=g||u;else return;let D=!1;const te=U[hr]=re=>{D||(D=!0,re?H(y,[U]):H(F,[U]),b.delayedLeave&&b.delayedLeave(),U[hr]=void 0)};L?M(L,[U,te]):te()},leave(U,L){const F=String(e.key);if(U[hr]&&U[hr](!0),n.isUnmounting)return L();H(p,[U]);let y=!1;const D=U[Ot]=te=>{y||(y=!0,L(),te?H(C,[U]):H(_,[U]),U[Ot]=void 0,$[F]===e&&delete $[F])};$[F]=e,m?M(m,[U,D]):D()},clone(U){const L=Eo(U,t,n,r,o);return o&&o(L),L}};return b}function ro(e){if(nr(e))return e=jt(e),e.children=null,e}function ks(e){if(!nr(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&se(n.default))return n.default()}}function Tr(e,t){e.shapeFlag&6&&e.component?Tr(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 hl(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 Lc(e){se(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,c,f=0;const u=()=>(f++,a=null,p()),p=()=>{let m;return a||(m=a=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),l)return new Promise((C,k)=>{l(_,()=>C(u()),()=>k(_),f+1)});throw _}).then(_=>m!==a&&a?a:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),c=_,_)))};return ge({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return c},setup(){const m=Me;if(c)return()=>oo(c,m);const _=w=>{a=null,tr(w,m,13,!r)};if(i&&m.suspense||or)return p().then(w=>()=>oo(w,m)).catch(w=>(_(w),()=>r?oe(r,{error:w}):null));const C=he(!1),k=he(),I=he(!!o);return o&&setTimeout(()=>{I.value=!1},o),s!=null&&setTimeout(()=>{if(!C.value&&!k.value){const w=new Error(`Async component timed out after ${s}ms.`);_(w),k.value=w}},s),p().then(()=>{C.value=!0,m.parent&&nr(m.parent.vnode)&&(m.parent.effect.dirty=!0,Fr(m.parent.update))}).catch(w=>{_(w),k.value=w}),()=>{if(C.value&&c)return oo(c,m);if(k.value&&r)return oe(r,{error:k.value});if(n&&!I.value)return oe(n)}}})}function oo(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,i=oe(e,r,o);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const nr=e=>e.type.__isKeepAlive;function Pc(e,t){pl(e,"a",t)}function xc(e,t){pl(e,"da",t)}function pl(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(zr(t,r,n),n){let o=n.parent;for(;o&&o.parent;)nr(o.parent.vnode)&&kc(r,t,n,o),o=o.parent}}function kc(e,t,n,r){const o=zr(t,e,r,!0);Wr(()=>{No(r[t],o)},n)}function zr(e,t,n=Me,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{zt();const l=rr(n),a=st(t,n,e,i);return l(),Wt(),a});return r?o.unshift(s):o.push(s),s}}const Et=e=>(t,n=Me)=>{(!or||e==="sp")&&zr(e,(...r)=>t(...r),n)},Ac=Et("bm"),Ye=Et("m"),Tc=Et("bu"),Rc=Et("u"),Go=Et("bum"),Wr=Et("um"),Oc=Et("sp"),Ic=Et("rtg"),Mc=Et("rtc");function Dc(e,t=Me){zr("ec",e,t)}const Hc="components";function Jo(e,t){return $c(Hc,e,!0,t)||e}const Nc=Symbol.for("v-ndc");function $c(e,t,n=!0,r=!1){const o=De||Me;if(o){const s=o.type;{const l=Tu(s,!1);if(l&&(l===t||l===et(t)||l===Xn(et(t))))return s}const i=As(o[e]||s[e],t)||As(o.appContext[e],t);return!i&&r?s:i}}function As(e,t){return e&&(e[t]||e[et(t)]||e[Xn(et(t))])}function wt(e,t,n,r){let o;const s=n;if(ne(e)||Ae(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;lIr(t)?!(t.type===ze||t.type===ye&&!ml(t.children)):!0)?e:null}const Co=e=>e?Dl(e)?qr(e):Co(e.parent):null,Hn=He(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=>Co(e.parent),$root:e=>Co(e.root),$emit:e=>e.emit,$options:e=>Yo(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Fr(e.update)}),$nextTick:e=>e.n||(e.n=Cn.bind(e.proxy)),$watch:e=>uu.bind(e)}),so=(e,t)=>e!==Ce&&!e.__isScriptSetup&&fe(e,t),jc={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 c;if(t[0]!=="$"){const m=i[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(so(r,t))return i[t]=1,r[t];if(o!==Ce&&fe(o,t))return i[t]=2,o[t];if((c=e.propsOptions[0])&&fe(c,t))return i[t]=3,s[t];if(n!==Ce&&fe(n,t))return i[t]=4,n[t];Lo&&(i[t]=0)}}const f=Hn[t];let u,p;if(f)return t==="$attrs"&&Je(e.attrs,"get",""),f(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==Ce&&fe(n,t))return i[t]=4,n[t];if(p=a.config.globalProperties,fe(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return so(o,t)?(o[t]=n,!0):r!==Ce&&fe(r,t)?(r[t]=n,!0):fe(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&&fe(e,i)||so(t,i)||(l=s[0])&&fe(l,i)||fe(r,i)||fe(Hn,i)||fe(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:fe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ts(e){return ne(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Lo=!0;function Vc(e){const t=Yo(e),n=e.proxy,r=e.ctx;Lo=!1,t.beforeCreate&&Rs(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:l,provide:a,inject:c,created:f,beforeMount:u,mounted:p,beforeUpdate:m,updated:_,activated:C,deactivated:k,beforeDestroy:I,beforeUnmount:w,destroyed:g,unmounted:S,render:$,renderTracked:H,renderTriggered:M,errorCaptured:b,serverPrefetch:U,expose:L,inheritAttrs:F,components:y,directives:D,filters:te}=t;if(c&&Fc(c,r,null),i)for(const Q in i){const K=i[Q];se(K)&&(r[Q]=K.bind(n))}if(o){const Q=o.call(n,n);we(Q)&&(e.data=er(Q))}if(Lo=!0,s)for(const Q in s){const K=s[Q],Oe=se(K)?K.bind(n,n):se(K.get)?K.get.bind(n,n):ot,Ne=!se(K)&&se(K.set)?K.set.bind(n):ot,Ue=O({get:Oe,set:Ne});Object.defineProperty(r,Q,{enumerable:!0,configurable:!0,get:()=>Ue.value,set:Ve=>Ue.value=Ve})}if(l)for(const Q in l)gl(l[Q],r,n,Q);if(a){const Q=se(a)?a.call(n):a;Reflect.ownKeys(Q).forEach(K=>{nn(K,Q[K])})}f&&Rs(f,e,"c");function R(Q,K){ne(K)?K.forEach(Oe=>Q(Oe.bind(n))):K&&Q(K.bind(n))}if(R(Ac,u),R(Ye,p),R(Tc,m),R(Rc,_),R(Pc,C),R(xc,k),R(Dc,b),R(Mc,H),R(Ic,M),R(Go,w),R(Wr,S),R(Oc,U),ne(L))if(L.length){const Q=e.exposed||(e.exposed={});L.forEach(K=>{Object.defineProperty(Q,K,{get:()=>n[K],set:Oe=>n[K]=Oe})})}else e.exposed||(e.exposed={});$&&e.render===ot&&(e.render=$),F!=null&&(e.inheritAttrs=F),y&&(e.components=y),D&&(e.directives=D)}function Fc(e,t,n=ot){ne(e)&&(e=Po(e));for(const r in e){const o=e[r];let s;we(o)?"default"in o?s=We(o.from||r,o.default,!0):s=We(o.from||r):s=We(o),je(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Rs(e,t,n){st(ne(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function gl(e,t,n,r){const o=r.includes(".")?Tl(n,r):()=>n[r];if(Ae(e)){const s=t[e];se(s)&&$e(o,s)}else if(se(e))$e(o,e.bind(n));else if(we(e))if(ne(e))e.forEach(s=>gl(s,t,n,r));else{const s=se(e.handler)?e.handler.bind(n):t[e.handler];se(s)&&$e(o,s,e)}}function Yo(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(c=>Rr(a,c,i,!0)),Rr(a,t,i)),we(t)&&s.set(t,a),a}function Rr(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Rr(e,s,n,!0),o&&o.forEach(i=>Rr(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Bc[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Bc={data:Os,props:Is,emits:Is,methods:In,computed:In,beforeCreate:Be,created:Be,beforeMount:Be,mounted:Be,beforeUpdate:Be,updated:Be,beforeDestroy:Be,beforeUnmount:Be,destroyed:Be,unmounted:Be,activated:Be,deactivated:Be,errorCaptured:Be,serverPrefetch:Be,components:In,directives:In,watch:Wc,provide:Os,inject:zc};function Os(e,t){return t?e?function(){return He(se(e)?e.call(this,this):e,se(t)?t.call(this,this):t)}:t:e}function zc(e,t){return In(Po(e),Po(t))}function Po(e){if(ne(e)){const t={};for(let n=0;n1)return n&&se(t)?t.call(r&&r.proxy):t}}const _l={},bl=()=>Object.create(_l),yl=e=>Object.getPrototypeOf(e)===_l;function qc(e,t,n,r=!1){const o={},s=bl();e.propsDefaults=Object.create(null),wl(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:el(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=pe(o),[a]=e.propsOptions;let c=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let u=0;u{a=!0;const[p,m]=Sl(u,t,!0);He(i,p),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!s&&!a)return we(e)&&r.set(e,fn),fn;if(ne(s))for(let f=0;f-1,m[1]=C<0||_-1||fe(m,"default"))&&l.push(u)}}}const c=[i,l];return we(e)&&r.set(e,c),c}function Ms(e){return e[0]!=="$"&&!hn(e)}function Ds(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Hs(e,t){return Ds(e)===Ds(t)}function Ns(e,t){return ne(t)?t.findIndex(n=>Hs(n,e)):se(t)&&Hs(t,e)?0:-1}const El=e=>e[0]==="_"||e==="$stable",Qo=e=>ne(e)?e.map(rt):[rt(e)],Yc=(e,t,n)=>{if(t._n)return t;const r=ke((...o)=>Qo(t(...o)),n);return r._c=!1,r},Cl=(e,t,n)=>{const r=e._ctx;for(const o in e){if(El(o))continue;const s=e[o];if(se(s))t[o]=Yc(o,s,r);else if(s!=null){const i=Qo(s);t[o]=()=>i}}},Ll=(e,t)=>{const n=Qo(t);e.slots.default=()=>n},Pl=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},Qc=(e,t,n)=>{const r=e.slots=bl();if(e.vnode.shapeFlag&32){const o=t._;o?(Pl(r,t,n),n&&Ni(r,"_",o,!0)):Cl(t,r)}else t&&Ll(e,t)},Xc=(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,Cl(t,o)),i=t}else t&&(Ll(e,t),i={default:1});if(s)for(const l in o)!El(l)&&i[l]==null&&delete o[l]};function Or(e,t,n,r,o=!1){if(ne(e)){e.forEach((p,m)=>Or(p,t&&(ne(t)?t[m]:t),n,r,o));return}if(gn(r)&&!o)return;const s=r.shapeFlag&4?qr(r.component):r.el,i=o?null:s,{i:l,r:a}=e,c=t&&t.r,f=l.refs===Ce?l.refs={}:l.refs,u=l.setupState;if(c!=null&&c!==a&&(Ae(c)?(f[c]=null,fe(u,c)&&(u[c]=null)):je(c)&&(c.value=null)),se(a))Nt(a,l,12,[i,f]);else{const p=Ae(a),m=je(a);if(p||m){const _=()=>{if(e.f){const C=p?fe(u,a)?u[a]:f[a]:a.value;o?ne(C)&&No(C,s):ne(C)?C.includes(s)||C.push(s):p?(f[a]=[s],fe(u,a)&&(u[a]=f[a])):(a.value=[s],e.k&&(f[e.k]=a.value))}else p?(f[a]=i,fe(u,a)&&(u[a]=i)):m&&(a.value=i,e.k&&(f[e.k]=i))};i?(_.id=-1,qe(_,n)):_()}}}const Zc=Symbol("_vte"),eu=e=>e.__isTeleport;let $s=!1;const an=()=>{$s||(console.error("Hydration completed but contains mismatches."),$s=!0)},tu=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",nu=e=>e.namespaceURI.includes("MathML"),pr=e=>{if(tu(e))return"svg";if(nu(e))return"mathml"},mr=e=>e.nodeType===8;function ru(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:l,insert:a,createComment:c}}=e,f=(g,S)=>{if(!S.hasChildNodes()){n(null,g,S),xr(),S._vnode=g;return}u(S.firstChild,g,null,null,null),xr(),S._vnode=g},u=(g,S,$,H,M,b=!1)=>{b=b||!!S.dynamicChildren;const U=mr(g)&&g.data==="[",L=()=>C(g,S,$,H,M,U),{type:F,ref:y,shapeFlag:D,patchFlag:te}=S;let re=g.nodeType;S.el=g,te===-2&&(b=!1,S.dynamicChildren=null);let R=null;switch(F){case rn:re!==3?S.children===""?(a(S.el=o(""),i(g),g),R=g):R=L():(g.data!==S.children&&(an(),g.data=S.children),R=s(g));break;case ze:w(g)?(R=s(g),I(S.el=g.content.firstChild,g,$)):re!==8||U?R=L():R=s(g);break;case $n:if(U&&(g=s(g),re=g.nodeType),re===1||re===3){R=g;const Q=!S.children.length;for(let K=0;K{b=b||!!S.dynamicChildren;const{type:U,props:L,patchFlag:F,shapeFlag:y,dirs:D,transition:te}=S,re=U==="input"||U==="option";if(re||F!==-1){D&&ht(S,null,$,"created");let R=!1;if(w(g)){R=xl(H,te)&&$&&$.vnode.props&&$.vnode.props.appear;const K=g.content.firstChild;R&&te.beforeEnter(K),I(K,g,$),S.el=g=K}if(y&16&&!(L&&(L.innerHTML||L.textContent))){let K=m(g.firstChild,S,g,$,H,M,b);for(;K;){an();const Oe=K;K=K.nextSibling,l(Oe)}}else y&8&&g.textContent!==S.children&&(an(),g.textContent=S.children);if(L){if(re||!b||F&48)for(const K in L)(re&&(K.endsWith("value")||K==="indeterminate")||Qn(K)&&!hn(K)||K[0]===".")&&r(g,K,null,L[K],void 0,$);else if(L.onClick)r(g,"onClick",null,L.onClick,void 0,$);else if(F&4&&pn(L.style))for(const K in L.style)L.style[K]}let Q;(Q=L&&L.onVnodeBeforeMount)&&nt(Q,$,S),D&&ht(S,null,$,"beforeMount"),((Q=L&&L.onVnodeMounted)||D||R)&&Ol(()=>{Q&&nt(Q,$,S),R&&te.enter(g),D&&ht(S,null,$,"mounted")},H)}return g.nextSibling},m=(g,S,$,H,M,b,U)=>{U=U||!!S.dynamicChildren;const L=S.children,F=L.length;for(let y=0;y{const{slotScopeIds:U}=S;U&&(M=M?M.concat(U):U);const L=i(g),F=m(s(g),S,L,$,H,M,b);return F&&mr(F)&&F.data==="]"?s(S.anchor=F):(an(),a(S.anchor=c("]"),L,F),F)},C=(g,S,$,H,M,b)=>{if(an(),S.el=null,b){const F=k(g);for(;;){const y=s(g);if(y&&y!==F)l(y);else break}}const U=s(g),L=i(g);return l(g),n(null,S,L,U,$,H,pr(L),M),U},k=(g,S="[",$="]")=>{let H=0;for(;g;)if(g=s(g),g&&mr(g)&&(g.data===S&&H++,g.data===$)){if(H===0)return s(g);H--}return g},I=(g,S,$)=>{const H=S.parentNode;H&&H.replaceChild(g,S);let M=$;for(;M;)M.vnode.el===S&&(M.vnode.el=M.subTree.el=g),M=M.parent},w=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[f,u]}const qe=Ol;function ou(e){return su(e,ru)}function su(e,t){const n=$i();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:l,createComment:a,setText:c,setElementText:f,parentNode:u,nextSibling:p,setScopeId:m=ot,insertStaticContent:_}=e,C=(d,h,v,x=null,E=null,T=null,z=void 0,j=null,V=!!h.dynamicChildren)=>{if(d===h)return;d&&!Qt(d,h)&&(x=P(d),Ve(d,E,T,!0),d=null),h.patchFlag===-2&&(V=!1,h.dynamicChildren=null);const{type:A,ref:G,shapeFlag:Z}=h;switch(A){case rn:k(d,h,v,x);break;case ze:I(d,h,v,x);break;case $n:d==null&&w(h,v,x,z);break;case ye:y(d,h,v,x,E,T,z,j,V);break;default:Z&1?$(d,h,v,x,E,T,z,j,V):Z&6?D(d,h,v,x,E,T,z,j,V):(Z&64||Z&128)&&A.process(d,h,v,x,E,T,z,j,V,Y)}G!=null&&E&&Or(G,d&&d.ref,T,h||d,!h)},k=(d,h,v,x)=>{if(d==null)r(h.el=l(h.children),v,x);else{const E=h.el=d.el;h.children!==d.children&&c(E,h.children)}},I=(d,h,v,x)=>{d==null?r(h.el=a(h.children||""),v,x):h.el=d.el},w=(d,h,v,x)=>{[d.el,d.anchor]=_(d.children,h,v,x,d.el,d.anchor)},g=({el:d,anchor:h},v,x)=>{let E;for(;d&&d!==h;)E=p(d),r(d,v,x),d=E;r(h,v,x)},S=({el:d,anchor:h})=>{let v;for(;d&&d!==h;)v=p(d),o(d),d=v;o(h)},$=(d,h,v,x,E,T,z,j,V)=>{h.type==="svg"?z="svg":h.type==="math"&&(z="mathml"),d==null?H(h,v,x,E,T,z,j,V):U(d,h,E,T,z,j,V)},H=(d,h,v,x,E,T,z,j)=>{let V,A;const{props:G,shapeFlag:Z,transition:X,dirs:ie}=d;if(V=d.el=i(d.type,T,G&&G.is,G),Z&8?f(V,d.children):Z&16&&b(d.children,V,null,x,E,io(d,T),z,j),ie&&ht(d,null,x,"created"),M(V,d,d.scopeId,z,x),G){for(const Ee in G)Ee!=="value"&&!hn(Ee)&&s(V,Ee,null,G[Ee],T,x);"value"in G&&s(V,"value",null,G.value,T),(A=G.onVnodeBeforeMount)&&nt(A,x,d)}ie&&ht(d,null,x,"beforeMount");const le=xl(E,X);le&&X.beforeEnter(V),r(V,h,v),((A=G&&G.onVnodeMounted)||le||ie)&&qe(()=>{A&&nt(A,x,d),le&&X.enter(V),ie&&ht(d,null,x,"mounted")},E)},M=(d,h,v,x,E)=>{if(v&&m(d,v),x)for(let T=0;T{for(let A=V;A{const j=h.el=d.el;let{patchFlag:V,dynamicChildren:A,dirs:G}=h;V|=d.patchFlag&16;const Z=d.props||Ce,X=h.props||Ce;let ie;if(v&&Ut(v,!1),(ie=X.onVnodeBeforeUpdate)&&nt(ie,v,h,d),G&&ht(h,d,v,"beforeUpdate"),v&&Ut(v,!0),(Z.innerHTML&&X.innerHTML==null||Z.textContent&&X.textContent==null)&&f(j,""),A?L(d.dynamicChildren,A,j,v,x,io(h,E),T):z||K(d,h,j,null,v,x,io(h,E),T,!1),V>0){if(V&16)F(j,Z,X,v,E);else if(V&2&&Z.class!==X.class&&s(j,"class",null,X.class,E),V&4&&s(j,"style",Z.style,X.style,E),V&8){const le=h.dynamicProps;for(let Ee=0;Ee{ie&&nt(ie,v,h,d),G&&ht(h,d,v,"updated")},x)},L=(d,h,v,x,E,T,z)=>{for(let j=0;j{if(h!==v){if(h!==Ce)for(const T in h)!hn(T)&&!(T in v)&&s(d,T,h[T],null,E,x);for(const T in v){if(hn(T))continue;const z=v[T],j=h[T];z!==j&&T!=="value"&&s(d,T,j,z,E,x)}"value"in v&&s(d,"value",h.value,v.value,E)}},y=(d,h,v,x,E,T,z,j,V)=>{const A=h.el=d?d.el:l(""),G=h.anchor=d?d.anchor:l("");let{patchFlag:Z,dynamicChildren:X,slotScopeIds:ie}=h;ie&&(j=j?j.concat(ie):ie),d==null?(r(A,v,x),r(G,v,x),b(h.children||[],v,G,E,T,z,j,V)):Z>0&&Z&64&&X&&d.dynamicChildren?(L(d.dynamicChildren,X,v,E,T,z,j),(h.key!=null||E&&h===E.subTree)&&kl(d,h,!0)):K(d,h,v,G,E,T,z,j,V)},D=(d,h,v,x,E,T,z,j,V)=>{h.slotScopeIds=j,d==null?h.shapeFlag&512?E.ctx.activate(h,v,x,z,V):te(h,v,x,E,T,z,V):re(d,h,V)},te=(d,h,v,x,E,T,z)=>{const j=d.component=Lu(d,x,E);if(nr(d)&&(j.ctx.renderer=Y),Pu(j,!1,z),j.asyncDep){if(E&&E.registerDep(j,R,z),!d.el){const V=j.subTree=oe(ze);I(null,V,h,v)}}else R(j,d,h,v,E,T,z)},re=(d,h,v)=>{const x=h.component=d.component;if(mu(d,h,v))if(x.asyncDep&&!x.asyncResolved){Q(x,h,v);return}else x.next=h,vc(x.update),x.effect.dirty=!0,x.update();else h.el=d.el,x.vnode=h},R=(d,h,v,x,E,T,z)=>{const j=()=>{if(d.isMounted){let{next:G,bu:Z,u:X,parent:ie,vnode:le}=d;{const ln=Al(d);if(ln){G&&(G.el=le.el,Q(d,G,z)),ln.asyncDep.then(()=>{d.isUnmounted||j()});return}}let Ee=G,ve;Ut(d,!1),G?(G.el=le.el,Q(d,G,z)):G=le,Z&&to(Z),(ve=G.props&&G.props.onVnodeBeforeUpdate)&&nt(ve,ie,G,le),Ut(d,!0);const Ie=lo(d),it=d.subTree;d.subTree=Ie,C(it,Ie,u(it.el),P(it),d,E,T),G.el=Ie.el,Ee===null&&gu(d,Ie.el),X&&qe(X,E),(ve=G.props&&G.props.onVnodeUpdated)&&qe(()=>nt(ve,ie,G,le),E)}else{let G;const{el:Z,props:X}=h,{bm:ie,m:le,parent:Ee}=d,ve=gn(h);if(Ut(d,!1),ie&&to(ie),!ve&&(G=X&&X.onVnodeBeforeMount)&&nt(G,Ee,h),Ut(d,!0),Z&&be){const Ie=()=>{d.subTree=lo(d),be(Z,d.subTree,d,E,null)};ve?h.type.__asyncLoader().then(()=>!d.isUnmounted&&Ie()):Ie()}else{const Ie=d.subTree=lo(d);C(null,Ie,v,x,d,E,T),h.el=Ie.el}if(le&&qe(le,E),!ve&&(G=X&&X.onVnodeMounted)){const Ie=h;qe(()=>nt(G,Ee,Ie),E)}(h.shapeFlag&256||Ee&&gn(Ee.vnode)&&Ee.vnode.shapeFlag&256)&&d.a&&qe(d.a,E),d.isMounted=!0,h=v=x=null}},V=d.effect=new jo(j,ot,()=>Fr(A),d.scope),A=d.update=()=>{V.dirty&&V.run()};A.i=d,A.id=d.uid,Ut(d,!0),A()},Q=(d,h,v)=>{h.component=d;const x=d.vnode.props;d.vnode=h,d.next=null,Gc(d,h.props,x,v),Xc(d,h.children,v),zt(),xs(d),Wt()},K=(d,h,v,x,E,T,z,j,V=!1)=>{const A=d&&d.children,G=d?d.shapeFlag:0,Z=h.children,{patchFlag:X,shapeFlag:ie}=h;if(X>0){if(X&128){Ne(A,Z,v,x,E,T,z,j,V);return}else if(X&256){Oe(A,Z,v,x,E,T,z,j,V);return}}ie&8?(G&16&&Ke(A,E,T),Z!==A&&f(v,Z)):G&16?ie&16?Ne(A,Z,v,x,E,T,z,j,V):Ke(A,E,T,!0):(G&8&&f(v,""),ie&16&&b(Z,v,x,E,T,z,j,V))},Oe=(d,h,v,x,E,T,z,j,V)=>{d=d||fn,h=h||fn;const A=d.length,G=h.length,Z=Math.min(A,G);let X;for(X=0;XG?Ke(d,E,T,!0,!1,Z):b(h,v,x,E,T,z,j,V,Z)},Ne=(d,h,v,x,E,T,z,j,V)=>{let A=0;const G=h.length;let Z=d.length-1,X=G-1;for(;A<=Z&&A<=X;){const ie=d[A],le=h[A]=V?It(h[A]):rt(h[A]);if(Qt(ie,le))C(ie,le,v,null,E,T,z,j,V);else break;A++}for(;A<=Z&&A<=X;){const ie=d[Z],le=h[X]=V?It(h[X]):rt(h[X]);if(Qt(ie,le))C(ie,le,v,null,E,T,z,j,V);else break;Z--,X--}if(A>Z){if(A<=X){const ie=X+1,le=ieX)for(;A<=Z;)Ve(d[A],E,T,!0),A++;else{const ie=A,le=A,Ee=new Map;for(A=le;A<=X;A++){const Qe=h[A]=V?It(h[A]):rt(h[A]);Qe.key!=null&&Ee.set(Qe.key,A)}let ve,Ie=0;const it=X-le+1;let ln=!1,gs=0;const xn=new Array(it);for(A=0;A=it){Ve(Qe,E,T,!0);continue}let dt;if(Qe.key!=null)dt=Ee.get(Qe.key);else for(ve=le;ve<=X;ve++)if(xn[ve-le]===0&&Qt(Qe,h[ve])){dt=ve;break}dt===void 0?Ve(Qe,E,T,!0):(xn[dt-le]=A+1,dt>=gs?gs=dt:ln=!0,C(Qe,h[dt],v,null,E,T,z,j,V),Ie++)}const vs=ln?iu(xn):fn;for(ve=vs.length-1,A=it-1;A>=0;A--){const Qe=le+A,dt=h[Qe],_s=Qe+1{const{el:T,type:z,transition:j,children:V,shapeFlag:A}=d;if(A&6){Ue(d.component.subTree,h,v,x);return}if(A&128){d.suspense.move(h,v,x);return}if(A&64){z.move(d,h,v,Y);return}if(z===ye){r(T,h,v);for(let Z=0;Zj.enter(T),E);else{const{leave:Z,delayLeave:X,afterLeave:ie}=j,le=()=>r(T,h,v),Ee=()=>{Z(T,()=>{le(),ie&&ie()})};X?X(T,le,Ee):Ee()}else r(T,h,v)},Ve=(d,h,v,x=!1,E=!1)=>{const{type:T,props:z,ref:j,children:V,dynamicChildren:A,shapeFlag:G,patchFlag:Z,dirs:X,cacheIndex:ie}=d;if(Z===-2&&(E=!1),j!=null&&Or(j,null,v,d,!0),ie!=null&&(h.renderCache[ie]=void 0),G&256){h.ctx.deactivate(d);return}const le=G&1&&X,Ee=!gn(d);let ve;if(Ee&&(ve=z&&z.onVnodeBeforeUnmount)&&nt(ve,h,d),G&6)ft(d.component,v,x);else{if(G&128){d.suspense.unmount(v,x);return}le&&ht(d,null,h,"beforeUnmount"),G&64?d.type.remove(d,h,v,Y,x):A&&!A.hasOnce&&(T!==ye||Z>0&&Z&64)?Ke(A,h,v,!1,!0):(T===ye&&Z&384||!E&&G&16)&&Ke(V,h,v),x&&Pt(d)}(Ee&&(ve=z&&z.onVnodeUnmounted)||le)&&qe(()=>{ve&&nt(ve,h,d),le&&ht(d,null,h,"unmounted")},v)},Pt=d=>{const{type:h,el:v,anchor:x,transition:E}=d;if(h===ye){xt(v,x);return}if(h===$n){S(d);return}const T=()=>{o(v),E&&!E.persisted&&E.afterLeave&&E.afterLeave()};if(d.shapeFlag&1&&E&&!E.persisted){const{leave:z,delayLeave:j}=E,V=()=>z(v,T);j?j(d.el,T,V):V()}else T()},xt=(d,h)=>{let v;for(;d!==h;)v=p(d),o(d),d=v;o(h)},ft=(d,h,v)=>{const{bum:x,scope:E,update:T,subTree:z,um:j,m:V,a:A}=d;js(V),js(A),x&&to(x),E.stop(),T&&(T.active=!1,Ve(z,d,h,v)),j&&qe(j,h),qe(()=>{d.isUnmounted=!0},h),h&&h.pendingBranch&&!h.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===h.pendingId&&(h.deps--,h.deps===0&&h.resolve())},Ke=(d,h,v,x=!1,E=!1,T=0)=>{for(let z=T;z{if(d.shapeFlag&6)return P(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const h=p(d.anchor||d.el),v=h&&h[Zc];return v?p(v):h};let q=!1;const B=(d,h,v)=>{d==null?h._vnode&&Ve(h._vnode,null,null,!0):C(h._vnode||null,d,h,null,null,null,v),q||(q=!0,xs(),xr(),q=!1),h._vnode=d},Y={p:C,um:Ve,m:Ue,r:Pt,mt:te,mc:b,pc:K,pbc:L,n:P,o:e};let ce,be;return t&&([ce,be]=t(Y)),{render:B,hydrate:ce,createApp:Kc(B,ce)}}function io({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 Ut({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function xl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function kl(e,t,n=!1){const r=e.children,o=t.children;if(ne(r)&&ne(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 Al(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Al(t)}function js(e){if(e)for(let t=0;tWe(lu);function cu(e,t){return Xo(e,null,t)}const gr={};function $e(e,t,n){return Xo(e,t,n)}function Xo(e,t,{immediate:n,deep:r,flush:o,once:s,onTrack:i,onTrigger:l}=Ce){if(t&&s){const H=t;t=(...M)=>{H(...M),$()}}const a=Me,c=H=>r===!0?H:Dt(H,r===!1?1:void 0);let f,u=!1,p=!1;if(je(e)?(f=()=>e.value,u=bn(e)):pn(e)?(f=()=>c(e),u=!0):ne(e)?(p=!0,u=e.some(H=>pn(H)||bn(H)),f=()=>e.map(H=>{if(je(H))return H.value;if(pn(H))return c(H);if(se(H))return Nt(H,a,2)})):se(e)?t?f=()=>Nt(e,a,2):f=()=>(m&&m(),st(e,a,3,[_])):f=ot,t&&r){const H=f;f=()=>Dt(H())}let m,_=H=>{m=g.onStop=()=>{Nt(H,a,4),m=g.onStop=void 0}},C;if(or)if(_=ot,t?n&&st(t,a,3,[f(),p?[]:void 0,_]):f(),o==="sync"){const H=au();C=H.__watcherHandles||(H.__watcherHandles=[])}else return ot;let k=p?new Array(e.length).fill(gr):gr;const I=()=>{if(!(!g.active||!g.dirty))if(t){const H=g.run();(r||u||(p?H.some((M,b)=>$t(M,k[b])):$t(H,k)))&&(m&&m(),st(t,a,3,[H,k===gr?void 0:p&&k[0]===gr?[]:k,_]),k=H)}else g.run()};I.allowRecurse=!!t;let w;o==="sync"?w=I:o==="post"?w=()=>qe(I,a&&a.suspense):(I.pre=!0,a&&(I.id=a.uid),w=()=>Fr(I));const g=new jo(f,ot,w),S=Bi(),$=()=>{g.stop(),S&&No(S.effects,g)};return t?n?I():k=g.run():o==="post"?qe(g.run.bind(g),a&&a.suspense):g.run(),C&&C.push($),$}function uu(e,t,n){const r=this.proxy,o=Ae(e)?e.includes(".")?Tl(r,e):()=>r[e]:e.bind(r,r);let s;se(t)?s=t:(s=t.handler,n=t);const i=rr(this),l=Xo(o,s.bind(r),n);return i(),l}function Tl(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{Dt(r,t,n)});else if(Hi(e)){for(const r in e)Dt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Dt(e[r],t,n)}return e}const fu=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${et(t)}Modifiers`]||e[`${Bt(t)}Modifiers`];function du(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Ce;let o=n;const s=t.startsWith("update:"),i=s&&fu(r,t.slice(7));i&&(i.trim&&(o=n.map(f=>Ae(f)?f.trim():f)),i.number&&(o=n.map(Aa)));let l,a=r[l=eo(t)]||r[l=eo(et(t))];!a&&s&&(a=r[l=eo(Bt(t))]),a&&st(a,e,6,o);const c=r[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,st(c,e,6,o)}}function Rl(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(!se(e)){const a=c=>{const f=Rl(c,t,!0);f&&(l=!0,He(i,f))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!s&&!l?(we(e)&&r.set(e,null),null):(ne(s)?s.forEach(a=>i[a]=null):He(i,s),we(e)&&r.set(e,i),i)}function Ur(e,t){return!e||!Qn(t)?!1:(t=t.slice(2).replace(/Once$/,""),fe(e,t[0].toLowerCase()+t.slice(1))||fe(e,Bt(t))||fe(e,t))}function lo(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[s],slots:i,attrs:l,emit:a,render:c,renderCache:f,props:u,data:p,setupState:m,ctx:_,inheritAttrs:C}=e,k=kr(e);let I,w;try{if(n.shapeFlag&4){const S=o||r,$=S;I=rt(c.call($,S,f,u,m,p,_)),w=l}else{const S=t;I=rt(S.length>1?S(u,{attrs:l,slots:i,emit:a}):S(u,null)),w=t.props?l:hu(l)}}catch(S){jn.length=0,tr(S,e,1),I=oe(ze)}let g=I;if(w&&C!==!1){const S=Object.keys(w),{shapeFlag:$}=g;S.length&&$&7&&(s&&S.some(Ho)&&(w=pu(w,s)),g=jt(g,w,!1,!0))}return n.dirs&&(g=jt(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),I=g,kr(k),I}const hu=e=>{let t;for(const n in e)(n==="class"||n==="style"||Qn(n))&&((t||(t={}))[n]=e[n]);return t},pu=(e,t)=>{const n={};for(const r in e)(!Ho(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function mu(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:l,patchFlag:a}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return r?Vs(r,i,c):!!i;if(a&8){const f=t.dynamicProps;for(let u=0;ue.__isSuspense;function Ol(e,t){t&&t.pendingBranch?ne(e)?t.effects.push(...e):t.effects.push(e):_c(e)}const ye=Symbol.for("v-fgt"),rn=Symbol.for("v-txt"),ze=Symbol.for("v-cmt"),$n=Symbol.for("v-stc"),jn=[];let Ze=null;function W(e=!1){jn.push(Ze=e?null:[])}function _u(){jn.pop(),Ze=jn[jn.length-1]||null}let Un=1;function Fs(e){Un+=e,e<0&&Ze&&(Ze.hasOnce=!0)}function Il(e){return e.dynamicChildren=Un>0?Ze||fn:null,_u(),Un>0&&Ze&&Ze.push(e),e}function ee(e,t,n,r,o,s){return Il(J(e,t,n,r,o,s,!0))}function xe(e,t,n,r,o){return Il(oe(e,t,n,r,o,!0))}function Ir(e){return e?e.__v_isVNode===!0:!1}function Qt(e,t){return e.type===t.type&&e.key===t.key}const Ml=({key:e})=>e??null,Sr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ae(e)||je(e)||se(e)?{i:De,r:e,k:t,f:!!n}:e:null);function J(e,t=null,n=null,r=0,o=null,s=e===ye?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ml(t),ref:t&&Sr(t),scopeId:Br,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:De};return l?(Zo(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=Ae(n)?8:16),Un>0&&!i&&Ze&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&&Ze.push(a),a}const oe=bu;function bu(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===Nc)&&(e=ze),Ir(e)){const l=jt(e,t,!0);return n&&Zo(l,n),Un>0&&!s&&Ze&&(l.shapeFlag&6?Ze[Ze.indexOf(e)]=l:Ze.push(l)),l.patchFlag=-2,l}if(Ru(e)&&(e=e.__vccOpts),t){t=yu(t);let{class:l,style:a}=t;l&&!Ae(l)&&(t.class=Ge(l)),we(a)&&(tl(a)&&!ne(a)&&(a=He({},a)),t.style=Zn(a))}const i=Ae(e)?1:vu(e)?128:eu(e)?64:we(e)?4:se(e)?2:0;return J(e,t,n,r,o,i,s,!0)}function yu(e){return e?tl(e)||yl(e)?He({},e):e:null}function jt(e,t,n=!1,r=!1){const{props:o,ref:s,patchFlag:i,children:l,transition:a}=e,c=t?Su(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Ml(c),ref:t&&t.ref?n&&s?ne(s)?s.concat(Sr(t)):[s,Sr(t)]:Sr(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!==ye?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&&jt(e.ssContent),ssFallback:e.ssFallback&&jt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&r&&Tr(f,a.clone(f)),f}function Vt(e=" ",t=0){return oe(rn,null,e,t)}function wu(e,t){const n=oe($n,null,e);return n.staticCount=t,n}function Re(e="",t=!1){return t?(W(),xe(ze,null,e)):oe(ze,null,e)}function rt(e){return e==null||typeof e=="boolean"?oe(ze):ne(e)?oe(ye,null,e.slice()):typeof e=="object"?It(e):oe(rn,null,String(e))}function It(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:jt(e)}function Zo(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(ne(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),Zo(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!yl(t)?t._ctx=De:o===3&&De&&(De.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else se(t)?(t={default:t,_ctx:De},n=32):(t=String(t),r&64?(n=16,t=[Vt(t)]):n=8);e.children=t,e.shapeFlag|=n}function Su(...e){const t={};for(let n=0;nMe||De;let Mr,ko;{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)}};Mr=t("__VUE_INSTANCE_SETTERS__",n=>Me=n),ko=t("__VUE_SSR_SETTERS__",n=>or=n)}const rr=e=>{const t=Me;return Mr(e),e.scope.on(),()=>{e.scope.off(),Mr(t)}},Bs=()=>{Me&&Me.scope.off(),Mr(null)};function Dl(e){return e.vnode.shapeFlag&4}let or=!1;function Pu(e,t=!1,n=!1){t&&ko(t);const{props:r,children:o}=e.vnode,s=Dl(e);qc(e,r,s,t),Qc(e,o,n);const i=s?xu(e,t):void 0;return t&&ko(!1),i}function xu(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,jc);const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?Au(e):null,s=rr(e);zt();const i=Nt(r,e,0,[e.props,o]);if(Wt(),s(),Mi(i)){if(i.then(Bs,Bs),t)return i.then(l=>{zs(e,l,t)}).catch(l=>{tr(l,e,0)});e.asyncDep=i}else zs(e,i,t)}else Hl(e,t)}function zs(e,t,n){se(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:we(t)&&(e.setupState=ol(t)),Hl(e,n)}let Ws;function Hl(e,t,n){const r=e.type;if(!e.render){if(!t&&Ws&&!r.render){const o=r.template||Yo(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:a}=r,c=He(He({isCustomElement:s,delimiters:l},i),a);r.render=Ws(o,c)}}e.render=r.render||ot}{const o=rr(e);zt();try{Vc(e)}finally{Wt(),o()}}}const ku={get(e,t){return Je(e,"get",""),e[t]}};function Au(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ku),slots:e.slots,emit:e.emit,expose:t}}function qr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ol(ic(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Hn)return Hn[n](e)},has(t,n){return n in t||n in Hn}})):e.proxy}function Tu(e,t=!0){return se(e)?e.displayName||e.name:e.name||t&&e.__name}function Ru(e){return se(e)&&"__vccOpts"in e}const O=(e,t)=>lc(e,t,or);function Le(e,t,n){const r=arguments.length;return r===2?we(t)&&!ne(t)?Ir(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ir(n)&&(n=[n]),oe(e,t,n))}const Ou="3.4.33";/** -* @vue/runtime-dom v3.4.33 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const Iu="http://www.w3.org/2000/svg",Mu="http://www.w3.org/1998/Math/MathML",bt=typeof document<"u"?document:null,Us=bt&&bt.createElement("template"),Du={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"?bt.createElementNS(Iu,e):t==="mathml"?bt.createElementNS(Mu,e):n?bt.createElement(e,{is:n}):bt.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>bt.createTextNode(e),createComment:e=>bt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>bt.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{Us.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Us.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]}},At="transition",kn="animation",Kn=Symbol("_vtc"),sr=(e,{slots:t})=>Le(Cc,Hu(e),t);sr.displayName="Transition";const Nl={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};sr.props=He({},ul,Nl);const Kt=(e,t=[])=>{ne(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ks=e=>e?ne(e)?e.some(t=>t.length>1):e.length>1:!1;function Hu(e){const t={};for(const y in e)y in Nl||(t[y]=e[y]);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:c=i,appearToClass:f=l,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,_=Nu(o),C=_&&_[0],k=_&&_[1],{onBeforeEnter:I,onEnter:w,onEnterCancelled:g,onLeave:S,onLeaveCancelled:$,onBeforeAppear:H=I,onAppear:M=w,onAppearCancelled:b=g}=t,U=(y,D,te)=>{qt(y,D?f:l),qt(y,D?c:i),te&&te()},L=(y,D)=>{y._isLeaving=!1,qt(y,u),qt(y,m),qt(y,p),D&&D()},F=y=>(D,te)=>{const re=y?M:w,R=()=>U(D,y,te);Kt(re,[D,R]),qs(()=>{qt(D,y?a:s),Tt(D,y?f:l),Ks(re)||Gs(D,r,C,R)})};return He(t,{onBeforeEnter(y){Kt(I,[y]),Tt(y,s),Tt(y,i)},onBeforeAppear(y){Kt(H,[y]),Tt(y,a),Tt(y,c)},onEnter:F(!1),onAppear:F(!0),onLeave(y,D){y._isLeaving=!0;const te=()=>L(y,D);Tt(y,u),Tt(y,p),Vu(),qs(()=>{y._isLeaving&&(qt(y,u),Tt(y,m),Ks(S)||Gs(y,r,k,te))}),Kt(S,[y,te])},onEnterCancelled(y){U(y,!1),Kt(g,[y])},onAppearCancelled(y){U(y,!0),Kt(b,[y])},onLeaveCancelled(y){L(y),Kt($,[y])}})}function Nu(e){if(e==null)return null;if(we(e))return[ao(e.enter),ao(e.leave)];{const t=ao(e);return[t,t]}}function ao(e){return Ta(e)}function Tt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Kn]||(e[Kn]=new Set)).add(t)}function qt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Kn];n&&(n.delete(t),n.size||(e[Kn]=void 0))}function qs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let $u=0;function Gs(e,t,n,r){const o=e._endId=++$u,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=ju(e,t);if(!i)return r();const c=i+"end";let f=0;const u=()=>{e.removeEventListener(c,p),s()},p=m=>{m.target===e&&++f>=a&&u()};setTimeout(()=>{f(n[_]||"").split(", "),o=r(`${At}Delay`),s=r(`${At}Duration`),i=Js(o,s),l=r(`${kn}Delay`),a=r(`${kn}Duration`),c=Js(l,a);let f=null,u=0,p=0;t===At?i>0&&(f=At,u=i,p=s.length):t===kn?c>0&&(f=kn,u=c,p=a.length):(u=Math.max(i,c),f=u>0?i>c?At:kn:null,p=f?f===At?s.length:a.length:0);const m=f===At&&/\b(transform|all)(,|$)/.test(r(`${At}Property`).toString());return{type:f,timeout:u,propCount:p,hasTransform:m}}function Js(e,t){for(;e.lengthYs(n)+Ys(e[r])))}function Ys(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Vu(){return document.body.offsetHeight}function Fu(e,t,n){const r=e[Kn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Dr=Symbol("_vod"),$l=Symbol("_vsh"),Hr={beforeMount(e,{value:t},{transition:n}){e[Dr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):An(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),An(e,!0),r.enter(e)):r.leave(e,()=>{An(e,!1)}):An(e,t))},beforeUnmount(e,{value:t}){An(e,t)}};function An(e,t){e.style.display=t?e[Dr]:"none",e[$l]=!t}const Bu=Symbol(""),zu=/(^|;)\s*display\s*:/;function Wu(e,t,n){const r=e.style,o=Ae(n);let s=!1;if(n&&!o){if(t)if(Ae(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&Er(r,l,"")}else for(const i in t)n[i]==null&&Er(r,i,"");for(const i in n)i==="display"&&(s=!0),Er(r,i,n[i])}else if(o){if(t!==n){const i=r[Bu];i&&(n+=";"+i),r.cssText=n,s=zu.test(n)}}else t&&e.removeAttribute("style");Dr in e&&(e[Dr]=s?r.display:"",e[$l]&&(r.display="none"))}const Qs=/\s*!important$/;function Er(e,t,n){if(ne(n))n.forEach(r=>Er(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Uu(e,t);Qs.test(n)?e.setProperty(Bt(r),n.replace(Qs,""),"important"):e[r]=n}}const Xs=["Webkit","Moz","ms"],co={};function Uu(e,t){const n=co[t];if(n)return n;let r=et(t);if(r!=="filter"&&r in e)return co[t]=r;r=Xn(r);for(let o=0;ouo||(Qu.then(()=>uo=0),uo=Date.now());function Zu(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;st(ef(r,n.value),t,5,[r])};return n.value=e,n.attached=Xu(),n}function ef(e,t){if(ne(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 ri=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,tf=(e,t,n,r,o,s)=>{const i=o==="svg";t==="class"?Fu(e,r,i):t==="style"?Wu(e,n,r):Qn(t)?Ho(t)||Ju(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):nf(e,t,r,i))?(Ku(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ei(e,t,r,i,s,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),ei(e,t,r,i))};function nf(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&ri(t)&&se(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 ri(t)&&Ae(n)?!1:t in e}const rf={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},of=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const s=Bt(o.key);if(t.some(i=>i===s||rf[i]===s))return e(o)})},sf=He({patchProp:tf},Du);let fo,oi=!1;function lf(){return fo=oi?fo:ou(sf),oi=!0,fo}const af=(...e)=>{const t=lf().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=uf(r);if(o)return n(o,!0,cf(o))},t};function cf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function uf(e){return Ae(e)?document.querySelector(e):e}var ir=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),ff=/.md((\?|#).*)?$/,df=(e,t="/")=>ir(e)||e.startsWith("/")&&!e.startsWith(t)&&!ff.test(e),Gr=e=>/^(https?:)?\/\//.test(e),si=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},hf="http://.",pf=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return si(new URL(`${n}/${e}`,hf).pathname)}return si(e)},mf=(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"/"},gf=/(#|\?)/,jl=e=>{const[t,...n]=e.split(gf);return{pathname:t,hashAndQueries:n.join("")}},vf=["link","meta","script","style","noscript","template"],_f=["title","base"],bf=([e,t,n])=>_f.includes(e)?e:vf.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,yf=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=bf(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},wf=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Vl=e=>e[e.length-1]==="/"?e.slice(0,-1):e,Fl=e=>e[0]==="/"?e.slice(1):e,es=e=>Object.prototype.toString.call(e)==="[object Object]",lt=e=>typeof e=="string";const Sf="modulepreload",Ef=function(e){return"/"+e},ii={},Tn=function(t,n,r){let o=Promise.resolve();return n&&n.length>0&&(document.getElementsByTagName("link"),o=Promise.all(n.map(s=>{if(s=Ef(s),s in ii)return;ii[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":Sf,i||(a.as="script",a.crossOrigin=""),a.href=s,document.head.appendChild(a),i)return new Promise((c,f)=>{a.addEventListener("load",c),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})},Cf=JSON.parse("{}"),Lf=Object.fromEntries([["/",{loader:()=>Tn(()=>import("./index.html-DXVRt_Wz.js"),__vite__mapDeps([])),meta:{title:"Резюме"}}],["/works.html",{loader:()=>Tn(()=>import("./works.html-Dh8HOvXG.js"),__vite__mapDeps([])),meta:{title:"Работы"}}],["/eng/",{loader:()=>Tn(()=>import("./index.html-Bbif8C5G.js"),__vite__mapDeps([])),meta:{title:"Resume"}}],["/eng/works.html",{loader:()=>Tn(()=>import("./works.html-B352zyqn.js"),__vite__mapDeps([])),meta:{title:"Works"}}],["/404.html",{loader:()=>Tn(()=>import("./404.html-hyU35sNZ.js"),__vite__mapDeps([])),meta:{title:""}}]]);/*! - * vue-router v4.4.0 - * (c) 2024 Eduardo San Martin Morote - * @license MIT - */const un=typeof document<"u";function Pf(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const _e=Object.assign;function ho(e,t){const n={};for(const r in t){const o=t[r];n[r]=at(o)?o.map(e):e(o)}return n}const Vn=()=>{},at=Array.isArray,Bl=/#/g,xf=/&/g,kf=/\//g,Af=/=/g,Tf=/\?/g,zl=/\+/g,Rf=/%5B/g,Of=/%5D/g,Wl=/%5E/g,If=/%60/g,Ul=/%7B/g,Mf=/%7C/g,Kl=/%7D/g,Df=/%20/g;function ts(e){return encodeURI(""+e).replace(Mf,"|").replace(Rf,"[").replace(Of,"]")}function Hf(e){return ts(e).replace(Ul,"{").replace(Kl,"}").replace(Wl,"^")}function Ao(e){return ts(e).replace(zl,"%2B").replace(Df,"+").replace(Bl,"%23").replace(xf,"%26").replace(If,"`").replace(Ul,"{").replace(Kl,"}").replace(Wl,"^")}function Nf(e){return Ao(e).replace(Af,"%3D")}function $f(e){return ts(e).replace(Bl,"%23").replace(Tf,"%3F")}function jf(e){return e==null?"":$f(e).replace(kf,"%2F")}function qn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Vf=/\/$/,Ff=e=>e.replace(Vf,"");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=Uf(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:qn(i)}}function Bf(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function li(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function zf(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&yn(t.matched[r],n.matched[o])&&ql(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function yn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function ql(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Wf(e[n],t[n]))return!1;return!0}function Wf(e,t){return at(e)?ai(e,t):at(t)?ai(t,e):e===t}function ai(e,t){return at(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Uf(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 _t={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Gn;(function(e){e.pop="pop",e.push="push"})(Gn||(Gn={}));var Fn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Fn||(Fn={}));function Kf(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),Ff(e)}const qf=/^[^#]+#/;function Gf(e,t){return e.replace(qf,"#")+t}function Jf(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 Jr=()=>({left:window.scrollX,top:window.scrollY});function Yf(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=Jf(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 ci(e,t){return(history.state?history.state.position-t:-1)+e}const To=new Map;function Qf(e,t){To.set(e,t)}function Xf(e){const t=To.get(e);return To.delete(e),t}let Zf=()=>location.protocol+"//"+location.host;function Gl(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),li(a,"")}return li(n,e)+r+o}function ed(e,t,n,r){let o=[],s=[],i=null;const l=({state:p})=>{const m=Gl(e,location),_=n.value,C=t.value;let k=0;if(p){if(n.value=m,t.value=p,i&&i===_){i=null;return}k=C?p.position-C.position:0}else r(m);o.forEach(I=>{I(n.value,_,{delta:k,type:Gn.pop,direction:k?k>0?Fn.forward:Fn.back:Fn.unknown})})};function a(){i=n.value}function c(p){o.push(p);const m=()=>{const _=o.indexOf(p);_>-1&&o.splice(_,1)};return s.push(m),m}function f(){const{history:p}=window;p.state&&p.replaceState(_e({},p.state,{scroll:Jr()}),"")}function u(){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:c,destroy:u}}function ui(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Jr():null}}function td(e){const{history:t,location:n}=window,r={value:Gl(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,c,f){const u=e.indexOf("#"),p=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+a:Zf()+e+a;try{t[f?"replaceState":"pushState"](c,"",p),o.value=c}catch(m){console.error(m),n[f?"replace":"assign"](p)}}function i(a,c){const f=_e({},t.state,ui(o.value.back,a,o.value.forward,!0),c,{position:o.value.position});s(a,f,!0),r.value=a}function l(a,c){const f=_e({},o.value,t.state,{forward:a,scroll:Jr()});s(f.current,f,!0);const u=_e({},ui(r.value,a,null),{position:f.position+1},c);s(a,u,!1),r.value=a}return{location:r,state:o,push:l,replace:i}}function nd(e){e=Kf(e);const t=td(e),n=ed(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=_e({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 rd(e){return typeof e=="string"||e&&typeof e=="object"}function Jl(e){return typeof e=="string"||typeof e=="symbol"}const Yl=Symbol("");var fi;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(fi||(fi={}));function wn(e,t){return _e(new Error,{type:e,[Yl]:!0},t)}function vt(e,t){return e instanceof Error&&Yl in e&&(t==null||!!(e.type&t))}const di="[^/]+?",od={sensitive:!1,strict:!1,start:!0,end:!0},sd=/[.+*?^${}()[\]/\\]/g;function id(e,t){const n=_e({},od,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const f=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let u=0;ut.length?t.length===1&&t[0]===80?1:-1:0}function Ql(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const ad={type:0,value:""},cd=/[a-zA-Z0-9_]/;function ud(e){if(!e)return[[]];if(e==="/")return[[ad]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${c}": ${m}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let l=0,a,c="",f="";function u(){c&&(n===0?s.push({type:0,value:c}):n===1||n===2||n===3?(s.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:f,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=a}for(;l{i(g)}:Vn}function i(u){if(Jl(u)){const p=r.get(u);p&&(r.delete(u),n.splice(n.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=n.indexOf(u);p>-1&&(n.splice(p,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function l(){return n}function a(u){const p=gd(u,n);n.splice(p,0,u),u.record.name&&!mi(u)&&r.set(u.record.name,u)}function c(u,p){let m,_={},C,k;if("name"in u&&u.name){if(m=r.get(u.name),!m)throw wn(1,{location:u});k=m.record.name,_=_e(pi(p.params,m.keys.filter(g=>!g.optional).concat(m.parent?m.parent.keys.filter(g=>g.optional):[]).map(g=>g.name)),u.params&&pi(u.params,m.keys.map(g=>g.name))),C=m.stringify(_)}else if(u.path!=null)C=u.path,m=n.find(g=>g.re.test(C)),m&&(_=m.parse(C),k=m.record.name);else{if(m=p.name?r.get(p.name):n.find(g=>g.re.test(p.path)),!m)throw wn(1,{location:u,currentLocation:p});k=m.record.name,_=_e({},p.params,u.params),C=m.stringify(_)}const I=[];let w=m;for(;w;)I.unshift(w.record),w=w.parent;return{name:k,path:C,params:_,matched:I,meta:md(I)}}e.forEach(u=>s(u));function f(){n.length=0,r.clear()}return{addRoute:s,resolve:c,removeRoute:i,clearRoutes:f,getRoutes:l,getRecordMatcher:o}}function pi(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function hd(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:pd(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 pd(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 mi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function md(e){return e.reduce((t,n)=>_e(t,n.meta),{})}function gi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function gd(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;Ql(e,t[s])<0?r=s:n=s+1}const o=vd(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function vd(e){let t=e;for(;t=t.parent;)if(Xl(t)&&Ql(e,t)===0)return t}function Xl({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function _d(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&Ao(s)):[r&&Ao(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function bd(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=at(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const yd=Symbol(""),_i=Symbol(""),Yr=Symbol(""),ns=Symbol(""),Ro=Symbol("");function Rn(){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 Mt(e,t,n,r,o,s=i=>i()){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const c=p=>{p===!1?a(wn(4,{from:n,to:t})):p instanceof Error?a(p):rd(p)?a(wn(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,c));let u=Promise.resolve(f);e.length<3&&(u=u.then(c)),u.catch(p=>a(p))})}function mo(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(wd(a)){const f=(a.__vccOpts||a)[t];f&&s.push(Mt(f,n,r,i,l,o))}else{let c=a();s.push(()=>c.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${l}" at "${i.path}"`));const u=Pf(f)?f.default:f;i.components[l]=u;const m=(u.__vccOpts||u)[t];return m&&Mt(m,n,r,i,l,o)()}))}}return s}function wd(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function bi(e){const t=We(Yr),n=We(ns),r=O(()=>{const a=tn(e.to);return t.resolve(a)}),o=O(()=>{const{matched:a}=r.value,{length:c}=a,f=a[c-1],u=n.matched;if(!f||!u.length)return-1;const p=u.findIndex(yn.bind(null,f));if(p>-1)return p;const m=yi(a[c-2]);return c>1&&yi(f)===m&&u[u.length-1].path!==m?u.findIndex(yn.bind(null,a[c-2])):p}),s=O(()=>o.value>-1&&Ld(n.params,r.value.params)),i=O(()=>o.value>-1&&o.value===n.matched.length-1&&ql(n.params,r.value.params));function l(a={}){return Cd(a)?t[tn(e.replace)?"replace":"push"](tn(e.to)).catch(Vn):Promise.resolve()}return{route:r,href:O(()=>r.value.href),isActive:s,isExactActive:i,navigate:l}}const Sd=ge({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:bi,setup(e,{slots:t}){const n=er(bi(e)),{options:r}=We(Yr),o=O(()=>({[wi(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[wi(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:Le("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),Ed=Sd;function Cd(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 Ld(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(!at(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function yi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const wi=(e,t,n)=>e??t??n,Pd=ge({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=We(Ro),o=O(()=>e.route||r.value),s=We(_i,0),i=O(()=>{let c=tn(s);const{matched:f}=o.value;let u;for(;(u=f[c])&&!u.components;)c++;return c}),l=O(()=>o.value.matched[i.value]);nn(_i,O(()=>i.value+1)),nn(yd,l),nn(Ro,o);const a=he();return $e(()=>[a.value,l.value,e.name],([c,f,u],[p,m,_])=>{f&&(f.instances[u]=c,m&&m!==f&&c&&c===p&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),c&&f&&(!m||!yn(f,m)||!p)&&(f.enterCallbacks[u]||[]).forEach(C=>C(c))},{flush:"post"}),()=>{const c=o.value,f=e.name,u=l.value,p=u&&u.components[f];if(!p)return Si(n.default,{Component:p,route:c});const m=u.props[f],_=m?m===!0?c.params:typeof m=="function"?m(c):m:null,k=Le(p,_e({},_,t,{onVnodeUnmounted:I=>{I.component.isUnmounted&&(u.instances[f]=null)},ref:a}));return Si(n.default,{Component:k,route:c})||k}}});function Si(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const xd=Pd;function kd(e){const t=dd(e.routes,e),n=e.parseQuery||_d,r=e.stringifyQuery||vi,o=e.history,s=Rn(),i=Rn(),l=Rn(),a=En(_t);let c=_t;un&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=ho.bind(null,P=>""+P),u=ho.bind(null,jf),p=ho.bind(null,qn);function m(P,q){let B,Y;return Jl(P)?(B=t.getRecordMatcher(P),Y=q):Y=P,t.addRoute(Y,B)}function _(P){const q=t.getRecordMatcher(P);q&&t.removeRoute(q)}function C(){return t.getRoutes().map(P=>P.record)}function k(P){return!!t.getRecordMatcher(P)}function I(P,q){if(q=_e({},q||a.value),typeof P=="string"){const h=po(n,P,q.path),v=t.resolve({path:h.path},q),x=o.createHref(h.fullPath);return _e(h,v,{params:p(v.params),hash:qn(h.hash),redirectedFrom:void 0,href:x})}let B;if(P.path!=null)B=_e({},P,{path:po(n,P.path,q.path).path});else{const h=_e({},P.params);for(const v in h)h[v]==null&&delete h[v];B=_e({},P,{params:u(h)}),q.params=u(q.params)}const Y=t.resolve(B,q),ce=P.hash||"";Y.params=f(p(Y.params));const be=Bf(r,_e({},P,{hash:Hf(ce),path:Y.path})),d=o.createHref(be);return _e({fullPath:be,hash:ce,query:r===vi?bd(P.query):P.query||{}},Y,{redirectedFrom:void 0,href:d})}function w(P){return typeof P=="string"?po(n,P,a.value.path):_e({},P)}function g(P,q){if(c!==P)return wn(8,{from:q,to:P})}function S(P){return M(P)}function $(P){return S(_e(w(P),{replace:!0}))}function H(P){const q=P.matched[P.matched.length-1];if(q&&q.redirect){const{redirect:B}=q;let Y=typeof B=="function"?B(P):B;return typeof Y=="string"&&(Y=Y.includes("?")||Y.includes("#")?Y=w(Y):{path:Y},Y.params={}),_e({query:P.query,hash:P.hash,params:Y.path!=null?{}:P.params},Y)}}function M(P,q){const B=c=I(P),Y=a.value,ce=P.state,be=P.force,d=P.replace===!0,h=H(B);if(h)return M(_e(w(h),{state:typeof h=="object"?_e({},ce,h.state):ce,force:be,replace:d}),q||B);const v=B;v.redirectedFrom=q;let x;return!be&&zf(r,Y,B)&&(x=wn(16,{to:v,from:Y}),Ue(Y,Y,!0,!1)),(x?Promise.resolve(x):L(v,Y)).catch(E=>vt(E)?vt(E,2)?E:Ne(E):K(E,v,Y)).then(E=>{if(E){if(vt(E,2))return M(_e({replace:d},w(E.to),{state:typeof E.to=="object"?_e({},ce,E.to.state):ce,force:be}),q||v)}else E=y(v,Y,!0,d,ce);return F(v,Y,E),E})}function b(P,q){const B=g(P,q);return B?Promise.reject(B):Promise.resolve()}function U(P){const q=xt.values().next().value;return q&&typeof q.runWithContext=="function"?q.runWithContext(P):P()}function L(P,q){let B;const[Y,ce,be]=Ad(P,q);B=mo(Y.reverse(),"beforeRouteLeave",P,q);for(const h of Y)h.leaveGuards.forEach(v=>{B.push(Mt(v,P,q))});const d=b.bind(null,P,q);return B.push(d),Ke(B).then(()=>{B=[];for(const h of s.list())B.push(Mt(h,P,q));return B.push(d),Ke(B)}).then(()=>{B=mo(ce,"beforeRouteUpdate",P,q);for(const h of ce)h.updateGuards.forEach(v=>{B.push(Mt(v,P,q))});return B.push(d),Ke(B)}).then(()=>{B=[];for(const h of be)if(h.beforeEnter)if(at(h.beforeEnter))for(const v of h.beforeEnter)B.push(Mt(v,P,q));else B.push(Mt(h.beforeEnter,P,q));return B.push(d),Ke(B)}).then(()=>(P.matched.forEach(h=>h.enterCallbacks={}),B=mo(be,"beforeRouteEnter",P,q,U),B.push(d),Ke(B))).then(()=>{B=[];for(const h of i.list())B.push(Mt(h,P,q));return B.push(d),Ke(B)}).catch(h=>vt(h,8)?h:Promise.reject(h))}function F(P,q,B){l.list().forEach(Y=>U(()=>Y(P,q,B)))}function y(P,q,B,Y,ce){const be=g(P,q);if(be)return be;const d=q===_t,h=un?history.state:{};B&&(Y||d?o.replace(P.fullPath,_e({scroll:d&&h&&h.scroll},ce)):o.push(P.fullPath,ce)),a.value=P,Ue(P,q,B,d),Ne()}let D;function te(){D||(D=o.listen((P,q,B)=>{if(!ft.listening)return;const Y=I(P),ce=H(Y);if(ce){M(_e(ce,{replace:!0}),Y).catch(Vn);return}c=Y;const be=a.value;un&&Qf(ci(be.fullPath,B.delta),Jr()),L(Y,be).catch(d=>vt(d,12)?d:vt(d,2)?(M(d.to,Y).then(h=>{vt(h,20)&&!B.delta&&B.type===Gn.pop&&o.go(-1,!1)}).catch(Vn),Promise.reject()):(B.delta&&o.go(-B.delta,!1),K(d,Y,be))).then(d=>{d=d||y(Y,be,!1),d&&(B.delta&&!vt(d,8)?o.go(-B.delta,!1):B.type===Gn.pop&&vt(d,20)&&o.go(-1,!1)),F(Y,be,d)}).catch(Vn)}))}let re=Rn(),R=Rn(),Q;function K(P,q,B){Ne(P);const Y=R.list();return Y.length?Y.forEach(ce=>ce(P,q,B)):console.error(P),Promise.reject(P)}function Oe(){return Q&&a.value!==_t?Promise.resolve():new Promise((P,q)=>{re.add([P,q])})}function Ne(P){return Q||(Q=!P,te(),re.list().forEach(([q,B])=>P?B(P):q()),re.reset()),P}function Ue(P,q,B,Y){const{scrollBehavior:ce}=e;if(!un||!ce)return Promise.resolve();const be=!B&&Xf(ci(P.fullPath,0))||(Y||!B)&&history.state&&history.state.scroll||null;return Cn().then(()=>ce(P,q,be)).then(d=>d&&Yf(d)).catch(d=>K(d,P,q))}const Ve=P=>o.go(P);let Pt;const xt=new Set,ft={currentRoute:a,listening:!0,addRoute:m,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:k,getRoutes:C,resolve:I,options:e,push:S,replace:$,go:Ve,back:()=>Ve(-1),forward:()=>Ve(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:R.add,isReady:Oe,install(P){const q=this;P.component("RouterLink",Ed),P.component("RouterView",xd),P.config.globalProperties.$router=q,Object.defineProperty(P.config.globalProperties,"$route",{enumerable:!0,get:()=>tn(a)}),un&&!Pt&&a.value===_t&&(Pt=!0,S(o.location).catch(ce=>{}));const B={};for(const ce in _t)Object.defineProperty(B,ce,{get:()=>a.value[ce],enumerable:!0});P.provide(Yr,q),P.provide(ns,el(B)),P.provide(Ro,a);const Y=P.unmount;xt.add(P),P.unmount=function(){xt.delete(P),xt.size<1&&(c=_t,D&&D(),D=null,a.value=_t,Pt=!1,Q=!1),Y()}}};function Ke(P){return P.reduce((q,B)=>q.then(()=>U(B)),Promise.resolve())}return ft}function Ad(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;iyn(c,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(c=>yn(c,a))||o.push(a))}return[n,r,o]}function sn(){return We(Yr)}function Ct(e){return We(ns)}var rs=Symbol(""),gt=()=>{const e=We(rs);if(!e)throw new Error("useClientData() is called without provider.");return e},Td=()=>gt().pageComponent,Ln=()=>gt().pageData,ut=()=>gt().pageFrontmatter,Rd=()=>gt().pageHead,Od=()=>gt().pageLang,Id=()=>gt().pageLayout,lr=()=>gt().routeLocale,Md=()=>gt().routes,Zl=()=>gt().siteData,os=()=>gt().siteLocaleData,Dd=Symbol(""),Oo=En(Cf),vn=En(Lf),ea=(e,t)=>{const n=pf(e,t);if(vn.value[n])return n;const r=encodeURI(n);if(vn.value[r])return r;const o=Oo.value[n]||Oo.value[r];return o||n},Jn=(e,t)=>{const{pathname:n,hashAndQueries:r}=jl(e),o=ea(n,t),s=o+r;return vn.value[o]?{...vn.value[o],path:s,notFound:!1}:{...vn.value["/404.html"],path:s,notFound:!0}},Hd=(e,t)=>{const{pathname:n,hashAndQueries:r}=jl(e);return ea(n,t)+r},Nd=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}},Qr=ge({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=sn(),r=Ct(),o=O(()=>e.to.startsWith("#")||e.to.startsWith("?")?e.to:`/${Hd(e.to,r.path).substring(1)}`);return()=>{var s;return Le("a",{class:["route-link",{[e.activeClass]:e.active}],href:o.value,onClick:(i={})=>{Nd(i)&&n.push(e.to).catch()}},(s=t.default)==null?void 0:s.call(t))}}}),Pn=ge({name:"AutoLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=pc(e,"config"),r=Ct(),o=Zl(),s=O(()=>ir(n.value.link)),i=O(()=>n.value.target||(s.value?"_blank":void 0)),l=O(()=>i.value==="_blank"),a=O(()=>!s.value&&!l.value),c=O(()=>n.value.rel||(l.value?"noopener noreferrer":null)),f=O(()=>n.value.ariaLabel??n.value.text),u=O(()=>{if(n.value.exact)return!1;const m=Object.keys(o.value.locales);return m.length?m.every(_=>_!==n.value.link):n.value.link!=="/"}),p=O(()=>a.value?n.value.activeMatch?(n.value.activeMatch instanceof RegExp?n.value.activeMatch:new RegExp(n.value.activeMatch,"u")).test(r.path):u.value?r.path.startsWith(n.value.link):r.path===n.value.link:!1);return()=>{const{before:m,after:_,default:C}=t,k=(C==null?void 0:C(n.value))||[m==null?void 0:m(n.value),n.value.text,_==null?void 0:_(n.value)];return a.value?Le(Qr,{class:"auto-link",to:n.value.link,active:p.value,"aria-label":f.value},()=>k):Le("a",{class:"auto-link external-link",href:n.value.link,"aria-label":f.value,rel:c.value,target:i.value},k)}}}),ss=ge({name:"ClientOnly",setup(e,t){const n=he(!1);return Ye(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),is=ge({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=Td(),n=O(()=>{if(!e.path)return t.value;const r=Jn(e.path);return Lc(()=>r.loader().then(({comp:o})=>o))});return()=>Le(n.value)}}),$d="Layout",jd="en-US",Gt=er({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=lt(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return yf(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||jd,resolvePageLayout:(e,t)=>{const n=lt(e.frontmatter.layout)?e.frontmatter.layout:$d;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>mf(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??[]]}}}),Lt=(e={})=>e,ls=e=>Gr(e)?e:`/${Fl(e)}`;function Xr(e){return Bi()?(ja(e),!0):!1}function mt(e){return typeof e=="function"?e():tn(e)}const as=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Vd=Object.prototype.toString,Fd=e=>Vd.call(e)==="[object Object]",Io=()=>{};function ta(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 na=e=>e();function Bd(e,t={}){let n,r,o=Io;const s=l=>{clearTimeout(l),o(),o=Io};return l=>{const a=mt(e),c=mt(t.maxWait);return n&&s(n),a<=0||c!==void 0&&c<=0?(r&&(s(r),r=null),Promise.resolve(l())):new Promise((f,u)=>{o=t.rejectOnCancel?u:f,c&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,f(l())},c)),n=setTimeout(()=>{r&&s(r),r=null,f(l())},a)})}}function zd(e=na){const t=he(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:Vr(t),pause:n,resume:r,eventFilter:o}}function Wd(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 Ud(e){return Kr()}function Kd(e,t=200,n={}){return ta(Bd(t,n),e)}function qd(e,t,n={}){const{eventFilter:r=na,...o}=n;return $e(e,ta(r,t),o)}function Gd(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:l,isActive:a}=zd(r);return{stop:qd(e,t,{...o,eventFilter:s}),pause:i,resume:l,isActive:a}}function cs(e,t=!0,n){Ud()?Ye(e,n):t?e():Cn(e)}function Jd(e,t,n={}){const{immediate:r=!0}=n,o=he(!1);let s=null;function i(){s&&(clearTimeout(s),s=null)}function l(){o.value=!1,i()}function a(...c){i(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...c)},mt(t))}return r&&(o.value=!0,as&&a()),Xr(l),{isPending:Vr(o),start:a,stop:l}}function Yd(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=je(e),s=he(e);function i(l){if(arguments.length)return s.value=l,s.value;{const a=mt(n);return s.value=s.value===a?mt(r):a,s.value}}return o?i:[s,i]}function Xt(e){var t;const n=mt(e);return(t=n==null?void 0:n.$el)!=null?t:n}const St=as?window:void 0,ra=as?window.navigator:void 0;function ct(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=St):[t,n,r,o]=e,!t)return Io;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(f=>f()),s.length=0},l=(f,u,p,m)=>(f.addEventListener(u,p,m),()=>f.removeEventListener(u,p,m)),a=$e(()=>[Xt(t),mt(o)],([f,u])=>{if(i(),!f)return;const p=Fd(u)?{...u}:u;s.push(...n.flatMap(m=>r.map(_=>l(f,m,_,p))))},{immediate:!0,flush:"post"}),c=()=>{a(),i()};return Xr(c),c}function Qd(){const e=he(!1),t=Kr();return t&&Ye(()=>{e.value=!0},t),e}function Zr(e){const t=Qd();return O(()=>(t.value,!!e()))}function us(e,t={}){const{window:n=St}=t,r=Zr(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=he(!1),i=c=>{s.value=c.matches},l=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",i):o.removeListener(i))},a=cu(()=>{r.value&&(l(),o=n.matchMedia(mt(e)),"addEventListener"in o?o.addEventListener("change",i):o.addListener(i),s.value=o.matches)});return Xr(()=>{a(),l(),o=void 0}),s}function Ei(e,t={}){const{controls:n=!1,navigator:r=ra}=t,o=Zr(()=>r&&"permissions"in r);let s;const i=typeof e=="string"?{name:e}:e,l=he(),a=()=>{s&&(l.value=s.state)},c=Wd(async()=>{if(o.value){if(!s)try{s=await r.permissions.query(i),ct(s,"change",a),a()}catch{l.value="prompt"}return s}});return c(),n?{state:l,isSupported:o,query:c}:l}function Xd(e={}){const{navigator:t=ra,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=Zr(()=>t&&"clipboard"in t),l=Ei("clipboard-read"),a=Ei("clipboard-write"),c=O(()=>i.value||s),f=he(""),u=he(!1),p=Jd(()=>u.value=!1,o);function m(){i.value&&I(l.value)?t.clipboard.readText().then(w=>{f.value=w}):f.value=k()}c.value&&n&&ct(["copy","cut"],m);async function _(w=mt(r)){c.value&&w!=null&&(i.value&&I(a.value)?await t.clipboard.writeText(w):C(w),f.value=w,u.value=!0,p.start())}function C(w){const g=document.createElement("textarea");g.value=w??"",g.style.position="absolute",g.style.opacity="0",document.body.appendChild(g),g.select(),document.execCommand("copy"),g.remove()}function k(){var w,g,S;return(S=(g=(w=document==null?void 0:document.getSelection)==null?void 0:w.call(document))==null?void 0:g.toString())!=null?S:""}function I(w){return w==="granted"||w==="prompt"}return{isSupported:c,text:f,copied:u,copy:_}}const vr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},_r="__vueuse_ssr_handlers__",Zd=eh();function eh(){return _r in vr||(vr[_r]=vr[_r]||{}),vr[_r]}function th(e,t){return Zd[e]||t}function nh(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 rh={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()}},Ci="vueuse-storage";function fs(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:c=!1,shallow:f,window:u=St,eventFilter:p,onError:m=L=>{console.error(L)},initOnMounted:_}=r,C=(f?En:he)(typeof t=="function"?t():t);if(!n)try{n=th("getDefaultStorage",()=>{var L;return(L=St)==null?void 0:L.localStorage})()}catch(L){m(L)}if(!n)return C;const k=mt(t),I=nh(k),w=(o=r.serializer)!=null?o:rh[I],{pause:g,resume:S}=Gd(C,()=>H(C.value),{flush:s,deep:i,eventFilter:p});u&&l&&cs(()=>{ct(u,"storage",b),ct(u,Ci,U),_&&b()}),_||b();function $(L,F){u&&u.dispatchEvent(new CustomEvent(Ci,{detail:{key:e,oldValue:L,newValue:F,storageArea:n}}))}function H(L){try{const F=n.getItem(e);if(L==null)$(F,null),n.removeItem(e);else{const y=w.write(L);F!==y&&(n.setItem(e,y),$(F,y))}}catch(F){m(F)}}function M(L){const F=L?L.newValue:n.getItem(e);if(F==null)return a&&k!=null&&n.setItem(e,w.write(k)),k;if(!L&&c){const y=w.read(F);return typeof c=="function"?c(y,k):I==="object"&&!Array.isArray(y)?{...k,...y}:y}else return typeof F!="string"?F:w.read(F)}function b(L){if(!(L&&L.storageArea!==n)){if(L&&L.key==null){C.value=k;return}if(!(L&&L.key!==e)){g();try{(L==null?void 0:L.newValue)!==w.write(C.value)&&(C.value=M(L))}catch(F){m(F)}finally{L?Cn(S):S()}}}}function U(L){b(L.detail)}return C}function oh(e){return us("(prefers-color-scheme: dark)",e)}function sh(e,t,n={}){const{window:r=St,...o}=n;let s;const i=Zr(()=>r&&"ResizeObserver"in r),l=()=>{s&&(s.disconnect(),s=void 0)},a=O(()=>Array.isArray(e)?e.map(u=>Xt(u)):[Xt(e)]),c=$e(a,u=>{if(l(),i.value&&r){s=new ResizeObserver(t);for(const p of u)p&&s.observe(p,o)}},{immediate:!0,flush:"post"}),f=()=>{l(),c()};return Xr(f),{isSupported:i,stop:f}}function ih(e,t={width:0,height:0},n={}){const{window:r=St,box:o="content-box"}=n,s=O(()=>{var u,p;return(p=(u=Xt(e))==null?void 0:u.namespaceURI)==null?void 0:p.includes("svg")}),i=he(t.width),l=he(t.height),{stop:a}=sh(e,([u])=>{const p=o==="border-box"?u.borderBoxSize:o==="content-box"?u.contentBoxSize:u.devicePixelContentBoxSize;if(r&&s.value){const m=Xt(e);if(m){const _=m.getBoundingClientRect();i.value=_.width,l.value=_.height}}else if(p){const m=Array.isArray(p)?p:[p];i.value=m.reduce((_,{inlineSize:C})=>_+C,0),l.value=m.reduce((_,{blockSize:C})=>_+C,0)}else i.value=u.contentRect.width,l.value=u.contentRect.height},n);cs(()=>{const u=Xt(e);u&&(i.value="offsetWidth"in u?u.offsetWidth:t.width,l.value="offsetHeight"in u?u.offsetHeight:t.height)});const c=$e(()=>Xt(e),u=>{i.value=u?t.width:0,l.value=u?t.height:0});function f(){a(),c()}return{width:i,height:l,stop:f}}function lh(e,t,n={}){const{window:r=St}=n;return fs(e,t,r==null?void 0:r.sessionStorage,n)}function ah(e={}){const{window:t=St,behavior:n="auto"}=e;if(!t)return{x:he(0),y:he(0)};const r=he(t.scrollX),o=he(t.scrollY),s=O({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=O({get(){return o.value},set(l){scrollTo({top:l,behavior:n})}});return ct(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:s,y:i}}function ch(e={}){const{window:t=St,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0}=e,i=he(n),l=he(r),a=()=>{t&&(s?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(a(),cs(a),ct("resize",a,{passive:!0}),o){const c=us("(orientation: portrait)");$e(c,()=>a())}return{width:i,height:l}}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},uh=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=sn();ct("scroll",Kd(()=>{var _,C;const i=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(i-0)u.some(I=>I.hash===k.hash));for(let k=0;k=(((_=I.parentElement)==null?void 0:_.offsetTop)??0)-r,S=!w||i<(((C=w.parentElement)==null?void 0:C.offsetTop)??0)-r;if(!(g&&S))continue;const H=decodeURIComponent(o.currentRoute.value.hash),M=decodeURIComponent(I.hash);if(H===M)return;if(f){for(let b=k+1;b{const t=lr();return O(()=>e[t.value]??{})},vh=()=>{const e=Md();return O(()=>Object.keys(e.value))},go=(e,t)=>{var r;const n=(r=Kr())==null?void 0:r.appContext.components;return n?e in n||et(e)in n||Xn(et(e))in n:!1},sa=e=>new Promise(t=>setTimeout(t,e)),_h=({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:bh(o,n),link:"#"+o.id,slug:o.id,level:s}});return yh(r,t)},bh=(e,t=[])=>{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()},yh=(e,t=2)=>{if(t===!1)return[];const[n,r]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;e=e.filter(s=>s.level>=n&&s.level<=r);const o=[];e:for(let s=0;s=0;l--){const a=e[l];if(a.levellt(e)&&e.startsWith(t),wh=Object.keys,la=e=>ia(e,"/");var Sh={"/eng/":{backToTop:"Back to top"},"/":{backToTop:"Вернуться к началу"}};const Eh=ge({name:"BackToTop",setup(){const e=ut(),t=oa(Sh),n=En(),{height:r}=ih(n),{height:o}=ch(),{y:s}=ah(),i=O(()=>e.value.backToTop!==!1&&s.value>100),l=O(()=>s.value/(r.value-o.value)*100);return Ye(()=>{n.value=document.body}),()=>Le(sr,{name:"back-to-top"},()=>i.value?Le("button",{type:"button",class:"vp-back-to-top-button","aria-label":t.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[Le("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":l.value},Le("svg",Le("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}`}))),Le("div",{class:"back-to-top-icon"})]):null)}}),Ch=Lt({rootComponents:[Eh]}),Lh=Object.freeze(Object.defineProperty({__proto__:null,default:Ch},Symbol.toStringTag,{value:"Module"})),Ph=/language-(shellscript|shell|bash|sh|zsh)/,xh=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o,ignoreSelector:s=[],transform:i})=>{const l=us("(max-width: 419px)"),a=O(()=>!l.value||o),c=oa(n),f=Ln(),u=k=>{var w;if(k.hasAttribute("copy-code-registered"))return;const I=document.createElement("button");I.type="button",I.classList.add("vp-copy-code-button"),I.setAttribute("aria-label",c.value.copy),I.setAttribute("data-copied",c.value.copied),(w=k.parentElement)==null||w.insertBefore(I,k),k.setAttribute("copy-code-registered","")};$e(()=>[f.value.path,a.value],async()=>{document.body.classList.toggle("copy-code-disabled",!a.value),a.value&&(await Cn(),await sa(e),document.querySelectorAll(r.join(",")).forEach(u))},{immediate:!0});const{copy:m}=Xd({legacy:!0}),_=new WeakMap,C=(k,I,w)=>{const g=I.cloneNode(!0);s.length&&g.querySelectorAll(s.join(",")).forEach($=>$.remove()),i&&i(g);let S=g.textContent||"";Ph.test(k.className)&&(S=S.replace(/^ *(\$|>) /gm,"")),m(S).then(()=>{if(t<=0)return;w.classList.add("copied"),clearTimeout(_.get(w));const $=setTimeout(()=>{w.classList.remove("copied"),w.blur(),_.delete(w)},t);_.set(w,$)})};ct("click",k=>{const I=k.target;if(a.value&&I.matches('div[class*="language-"] > button.vp-copy-code-button')){const w=I.parentElement,g=I.nextElementSibling;if(!w||!g)return;C(w,g,I)}})};var kh={"/eng/":{copy:"Copy code",copied:"Copied"},"/":{copy:"Скопировать код",copied:"Скопировано"}},Ah=['.theme-default-content div[class*="language-"] pre'];const Th=Lt({setup:()=>{xh({selector:Ah,locales:kh,duration:2e3,delay:500,showInMobile:!1})}}),Rh=Object.freeze(Object.defineProperty({__proto__:null,default:Th},Symbol.toStringTag,{value:"Module"}));/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */var Jt=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},r=window.Promise||function(y){function D(){}y(D,D)},o=function(y){var D=y.target;if(D===U){_();return}g.indexOf(D)!==-1&&C({target:D})},s=function(){if(!($||!b.original)){var y=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(H-y)>M.scrollOffset&&setTimeout(_,150)}},i=function(y){var D=y.key||y.keyCode;(D==="Escape"||D==="Esc"||D===27)&&_()},l=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},D=y;if(y.background&&(U.style.background=y.background),y.container&&y.container instanceof Object&&(D.container=Jt({},M.container,y.container)),y.template){var te=Cr(y.template)?y.template:document.querySelector(y.template);D.template=te}return M=Jt({},M,D),g.forEach(function(re){re.dispatchEvent(cn("medium-zoom:update",{detail:{zoom:L}}))}),L},a=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e(Jt({},M,y))},c=function(){for(var y=arguments.length,D=Array(y),te=0;te0?D.reduce(function(R,Q){return[].concat(R,xi(Q))},[]):g;return re.forEach(function(R){R.classList.remove("medium-zoom-image"),R.dispatchEvent(cn("medium-zoom:detach",{detail:{zoom:L}}))}),g=g.filter(function(R){return re.indexOf(R)===-1}),L},u=function(y,D){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return g.forEach(function(re){re.addEventListener("medium-zoom:"+y,D,te)}),S.push({type:"medium-zoom:"+y,listener:D,options:te}),L},p=function(y,D){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return g.forEach(function(re){re.removeEventListener("medium-zoom:"+y,D,te)}),S=S.filter(function(re){return!(re.type==="medium-zoom:"+y&&re.listener.toString()===D.toString())}),L},m=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},D=y.target,te=function(){var R={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},Q=void 0,K=void 0;if(M.container)if(M.container instanceof Object)R=Jt({},R,M.container),Q=R.width-R.left-R.right-M.margin*2,K=R.height-R.top-R.bottom-M.margin*2;else{var Oe=Cr(M.container)?M.container:document.querySelector(M.container),Ne=Oe.getBoundingClientRect(),Ue=Ne.width,Ve=Ne.height,Pt=Ne.left,xt=Ne.top;R=Jt({},R,{width:Ue,height:Ve,left:Pt,top:xt})}Q=Q||R.width-M.margin*2,K=K||R.height-M.margin*2;var ft=b.zoomedHd||b.original,Ke=Pi(ft)?Q:ft.naturalWidth||Q,P=Pi(ft)?K:ft.naturalHeight||K,q=ft.getBoundingClientRect(),B=q.top,Y=q.left,ce=q.width,be=q.height,d=Math.min(Math.max(ce,Ke),Q)/ce,h=Math.min(Math.max(be,P),K)/be,v=Math.min(d,h),x=(-Y+(Q-ce)/2+M.margin+R.left)/v,E=(-B+(K-be)/2+M.margin+R.top)/v,T="scale("+v+") translate3d("+x+"px, "+E+"px, 0)";b.zoomed.style.transform=T,b.zoomedHd&&(b.zoomedHd.style.transform=T)};return new r(function(re){if(D&&g.indexOf(D)===-1){re(L);return}var R=function Ue(){$=!1,b.zoomed.removeEventListener("transitionend",Ue),b.original.dispatchEvent(cn("medium-zoom:opened",{detail:{zoom:L}})),re(L)};if(b.zoomed){re(L);return}if(D)b.original=D;else if(g.length>0){var Q=g;b.original=Q[0]}else{re(L);return}if(b.original.dispatchEvent(cn("medium-zoom:open",{detail:{zoom:L}})),H=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,$=!0,b.zoomed=Mh(b.original),document.body.appendChild(U),M.template){var K=Cr(M.template)?M.template:document.querySelector(M.template);b.template=document.createElement("div"),b.template.appendChild(K.content.cloneNode(!0)),document.body.appendChild(b.template)}if(b.original.parentElement&&b.original.parentElement.tagName==="PICTURE"&&b.original.currentSrc&&(b.zoomed.src=b.original.currentSrc),document.body.appendChild(b.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),b.original.classList.add("medium-zoom-image--hidden"),b.zoomed.classList.add("medium-zoom-image--opened"),b.zoomed.addEventListener("click",_),b.zoomed.addEventListener("transitionend",R),b.original.getAttribute("data-zoom-src")){b.zoomedHd=b.zoomed.cloneNode(),b.zoomedHd.removeAttribute("srcset"),b.zoomedHd.removeAttribute("sizes"),b.zoomedHd.removeAttribute("loading"),b.zoomedHd.src=b.zoomed.getAttribute("data-zoom-src"),b.zoomedHd.onerror=function(){clearInterval(Oe),console.warn("Unable to reach the zoom image target "+b.zoomedHd.src),b.zoomedHd=null,te()};var Oe=setInterval(function(){b.zoomedHd.complete&&(clearInterval(Oe),b.zoomedHd.classList.add("medium-zoom-image--opened"),b.zoomedHd.addEventListener("click",_),document.body.appendChild(b.zoomedHd),te())},10)}else if(b.original.hasAttribute("srcset")){b.zoomedHd=b.zoomed.cloneNode(),b.zoomedHd.removeAttribute("sizes"),b.zoomedHd.removeAttribute("loading");var Ne=b.zoomedHd.addEventListener("load",function(){b.zoomedHd.removeEventListener("load",Ne),b.zoomedHd.classList.add("medium-zoom-image--opened"),b.zoomedHd.addEventListener("click",_),document.body.appendChild(b.zoomedHd),te()})}else te()})},_=function(){return new r(function(y){if($||!b.original){y(L);return}var D=function te(){b.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(b.zoomed),b.zoomedHd&&document.body.removeChild(b.zoomedHd),document.body.removeChild(U),b.zoomed.classList.remove("medium-zoom-image--opened"),b.template&&document.body.removeChild(b.template),$=!1,b.zoomed.removeEventListener("transitionend",te),b.original.dispatchEvent(cn("medium-zoom:closed",{detail:{zoom:L}})),b.original=null,b.zoomed=null,b.zoomedHd=null,b.template=null,y(L)};$=!0,document.body.classList.remove("medium-zoom--opened"),b.zoomed.style.transform="",b.zoomedHd&&(b.zoomedHd.style.transform=""),b.template&&(b.template.style.transition="opacity 150ms",b.template.style.opacity=0),b.original.dispatchEvent(cn("medium-zoom:close",{detail:{zoom:L}})),b.zoomed.addEventListener("transitionend",D)})},C=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},D=y.target;return b.original?_():m({target:D})},k=function(){return M},I=function(){return g},w=function(){return b.original},g=[],S=[],$=!1,H=0,M=n,b={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(t)==="[object Object]"?M=t:(t||typeof t=="string")&&c(t),M=Jt({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},M);var U=Ih(M.background);document.addEventListener("click",o),document.addEventListener("keyup",i),document.addEventListener("scroll",s),window.addEventListener("resize",_);var L={open:m,close:_,toggle:C,update:l,clone:a,attach:c,detach:f,on:u,off:p,getOptions:k,getImages:I,getZoomedImage:w};return L};function Hh(e,t){t===void 0&&(t={});var n=t.insertAt;if(!(typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",n==="top"&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}var Nh=".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}";Hh(Nh);const $h=Symbol("mediumZoom");var jh={};const Vh=".theme-default-content > img, .theme-default-content :not(a) > img",Fh=jh,Bh=300,zh=Lt({enhance({app:e,router:t}){const n=Dh(Fh);n.refresh=(r=Vh)=>{n.detach(),n.attach(r)},e.provide($h,n),t.afterEach(()=>{sa(Bh).then(()=>n.refresh())})}}),Wh=Object.freeze(Object.defineProperty({__proto__:null,default:zh},Symbol.toStringTag,{value:"Module"}));/** - * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress - * @license MIT - */const ue={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:e=>{const t=ue.isStarted();e=vo(e,ue.settings.minimum,1),ue.status=e===1?null:e;const n=ue.render(!t),r=n.querySelector(ue.settings.barSelector),o=ue.settings.speed,s=ue.settings.easing;return n.offsetWidth,Uh(i=>{yr(r,{transform:"translate3d("+ki(e)+"%,0,0)",transition:"all "+o+"ms "+s}),e===1?(yr(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(()=>{yr(n,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(()=>{ue.remove(),i()},o)},o)):setTimeout(()=>i(),o)}),ue},isStarted:()=>typeof ue.status=="number",start:()=>{ue.status||ue.set(0);const e=()=>{setTimeout(()=>{ue.status&&(ue.trickle(),e())},ue.settings.trickleSpeed)};return ue.settings.trickle&&e(),ue},done:e=>!e&&!ue.status?ue:ue.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=ue.status;return t?(typeof e!="number"&&(e=(1-t)*vo(Math.random()*t,.1,.95)),t=vo(t+e,0,.994),ue.set(t)):ue.start()},trickle:()=>ue.inc(Math.random()*ue.settings.trickleRate),render:e=>{if(ue.isRendered())return document.getElementById("nprogress");Ai(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=ue.settings.template;const n=t.querySelector(ue.settings.barSelector),r=e?"-100":ki(ue.status||0),o=document.querySelector(ue.settings.parent);return yr(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&Ai(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{Ti(document.documentElement,"nprogress-busy"),Ti(document.querySelector(ue.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&Kh(e)},isRendered:()=>!!document.getElementById("nprogress")},vo=(e,t,n)=>en?n:e,ki=e=>(-1+e)*100,Uh=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),yr=function(){const e=["Webkit","O","Moz","ms"],t={};function n(i){return i.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(l,a){return a.toUpperCase()})}function r(i){const l=document.body.style;if(i in l)return i;let a=e.length;const c=i.charAt(0).toUpperCase()+i.slice(1);let f;for(;a--;)if(f=e[a]+c,f in l)return f;return i}function o(i){return i=n(i),t[i]??(t[i]=r(i))}function s(i,l,a){l=o(l),i.style[l]=a}return function(i,l){for(const a in l){const c=l[a];c!==void 0&&Object.prototype.hasOwnProperty.call(l,a)&&s(i,a,c)}}}(),aa=(e,t)=>(typeof e=="string"?e:ds(e)).indexOf(" "+t+" ")>=0,Ai=(e,t)=>{const n=ds(e),r=n+t;aa(n,t)||(e.className=r.substring(1))},Ti=(e,t)=>{const n=ds(e);if(!aa(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},ds=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),Kh=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},qh=()=>{Ye(()=>{const e=sn(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||ue.start()}),e.afterEach(n=>{t.add(n.path),ue.done()})})},Gh=Lt({setup(){qh()}}),Jh=Object.freeze(Object.defineProperty({__proto__:null,default:Gh},Symbol.toStringTag,{value:"Module"})),Yh=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Qh=JSON.parse(`{"repo":"https://git.pleshevski.ru/pleshevskiy/pleshevski.ru","locales":{"/":{"selectLanguageName":"Русский","navbar":["/","/works"],"notFound":["Верните страницу!","Мы потеряли страницу...","Вы заблокированы в лабиринте.","Искали кота?","Страница украдена.","Ошиблись в параллельной вселенной."],"backToHome":"Вернуться на главную","worksTable":{"name":"Название","description":"Описание","role":"Роль","technologies":"Технологии","start":"Начало","statusOrEnd":"Статус/Окончание"}},"/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","start":"Start","statusOrEnd":"Status/End"}}},"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"}`),Xh=he(Qh),ca=()=>Xh,ua=Symbol(""),Zh=()=>{const e=We(ua);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},ep=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},tp=Lt({enhance({app:e}){const t=ca(),n=e._context.provides[rs],r=O(()=>ep(t.value,n.routeLocale.value));e.provide(ua,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),np=Object.freeze(Object.defineProperty({__proto__:null,default:tp},Symbol.toStringTag,{value:"Module"})),rp=()=>ca(),Te=()=>Zh(),fa=Symbol(""),op=e=>{const t=(n=e.value)=>{const r=window.document.documentElement;r.classList.toggle("dark",n),r.dataset.theme=n?"dark":"light"};Ye(()=>{$e(e,t,{immediate:!0})}),Wr(()=>t())},hs=()=>{const e=We(fa);if(!e)throw new Error("useDarkMode() is called without provider.");return e},sp=()=>{const e=Te(),t=oh(),n=fs("vuepress-color-scheme",e.value.colorMode),r=O({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"}});nn(fa,r),op(r)};let _o=null,On=null;const ip={wait:()=>_o,pending:()=>{_o=new Promise(e=>On=e)},resolve:()=>{On==null||On(),_o=null,On=null}},da=()=>ip,Sn=(e,t)=>{const{notFound:n,meta:r,path:o}=Jn(e,t);return n?{text:o,link:o}:{text:r.title||o,link:o}},Ri=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),lp=(e,t)=>{if(t.hash===e)return!0;const n=Ri(t.path),r=Ri(e);return n===r},ha=(e,t)=>e.link&&lp(e.link,t)?!0:"children"in e?e.children.some(n=>ha(n,t)):!1,pa=e=>!df(e)&&!ir(e),ma=e=>!Gr(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,ap={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"},cp=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const n=ma(e);return n!==null?ap[n]:null},up=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=cp({docsRepo:e,editLinkPattern:o});return s?s.replace(/:repo/,Gr(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,Fl(`${Vl(n)}/${r}`)):null},_n=(e="",t="")=>la(t)||ir(t)?t:`${wf(e)}${t}`,Lr=he([]),fp=()=>{const e=sn(),t=Te(),n=ut(),r=O(()=>n.value.sidebarDepth??t.value.sidebarDepth??2);e.beforeEach((s,i)=>{s.path!==i.path&&(Lr.value=[])});const o=()=>{if(r.value<=0){Lr.value=[];return}Lr.value=_h({selector:[...new Array(6)].map((s,i)=>`.theme-default-content h${i+1}`).join(","),levels:[2,r.value+1],ignore:[".vp-badge"]})};$e(r,o),Ye(o)},dp=()=>Lr,ga=Symbol("sidebarItems"),ps=()=>{const e=We(ga);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},hp=()=>{const e=Te(),t=ut(),n=Ln(),r=Ct(),o=lr(),s=dp(),i=O(()=>t.value.home?!1:t.value.sidebar??e.value.sidebar??"heading"),l=O(()=>pp(i.value,n.value,r.path,o.value,s.value));nn(ga,l)},pp=(e,t,n,r,o)=>e===!1?[]:e==="heading"?va(t,o):Array.isArray(e)?_a(e,o,n,r):es(e)?gp(e,t,o,n):[],mp=e=>({text:e.title,link:e.link,children:ms(e.children)}),ms=e=>e?e.map(t=>mp(t)):[],va=(e,t)=>[{text:e.title,children:ms(t)}],_a=(e,t,n,r="")=>{const o=(s,i)=>{var a;const l=lt(s)?Sn(_n(i,s)):lt(s.link)?{...s,link:pa(s.link)?Sn(_n(i,s.link)).link:s.link}:s;if("children"in l)return{...l,children:l.children.map(c=>o(c,_n(i,l.prefix)))};if(l.link===n){const c=((a=t[0])==null?void 0:a.level)===1?t[0].children:t;return{...l,children:ms(c)}}return l};return e.map(s=>o(s,r))},gp=(e,t,n,r)=>{const o=wh(e).sort((s,i)=>i.length-s.length);for(const s of o)if(ia(decodeURI(r),s)){const i=e[s];return i?i==="heading"?va(t,n):_a(i,n,r,s):[]}return console.warn(`${decodeURI(r)} is missing sidebar config.`),[]},vp=ge({__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}}),Se=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n};function _p(e,t,n,r,o,s){return W(),ee("span",{class:Ge(["vp-badge",n.type]),style:Zn({verticalAlign:n.vertical})},[Pe(e.$slots,"default",{},()=>[Vt(de(n.text),1)])],6)}const bp=Se(vp,[["render",_p],["__file","Badge.vue"]]),yp=ge({name:"CodeGroup",slots:Object,setup(e,{slots:t}){const n=he([]),r=he(-1),o=fs("vuepress-code-group",{}),s=O(()=>n.value.map(c=>c.innerText).join(","));Ye(()=>{$e(()=>o.value[s.value],(c=-1)=>{r.value!==c&&(r.value=c)},{immediate:!0}),$e(r,c=>{o.value[s.value]!==c&&(o.value[s.value]=c)})});const i=(c=r.value)=>{c{c>0?r.value=c-1:r.value=n.value.length-1,n.value[r.value].focus()},a=(c,f)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),r.value=f):c.key==="ArrowRight"?(c.preventDefault(),i(f)):c.key==="ArrowLeft"&&(c.preventDefault(),l(f))};return()=>{var f;const c=(((f=t.default)==null?void 0:f.call(t))||[]).filter(u=>u.type.name==="CodeGroupItem").map(u=>(u.props===null&&(u.props={}),u));return c.length===0?null:(r.value<0||r.value>c.length-1?(r.value=c.findIndex(u=>u.props.active===""||u.props.active===!0),r.value===-1&&(r.value=0)):c.forEach((u,p)=>{u.props.active=p===r.value}),Le("div",{class:"code-group"},[Le("div",{class:"code-group-nav",role:"tablist"},c.map((u,p)=>{const m=p===r.value;return Le("button",{ref:_=>{_&&(n.value[p]=_)},class:{"code-group-nav-tab":!0,active:m},role:"tab",ariaSelected:m,onClick:()=>r.value=p,onKeydown:_=>a(_,p)},u.props.title)})),c]))}}}),wp=ge({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 Sp(e,t,n,r,o,s){return W(),ee("div",{class:Ge(["code-group-item",{active:n.active}]),role:"tabpanel"},[Pe(e.$slots,"default")],2)}const Ep=Se(wp,[["render",Sp],["__file","CodeGroupItem.vue"]]),Cp=ge({__name:"VPHomeFeatures",setup(e,{expose:t}){t();const n=ut(),r=O(()=>n.value.features??[]),o={frontmatter:n,features:r};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),Lp={key:0,class:"vp-features"};function Pp(e,t,n,r,o,s){return r.features.length?(W(),ee("div",Lp,[(W(!0),ee(ye,null,wt(r.features,i=>(W(),ee("div",{key:i.title,class:"vp-feature"},[J("h2",null,de(i.title),1),J("p",null,de(i.details),1)]))),128))])):Re("",!0)}const xp=Se(Cp,[["render",Pp],["__file","VPHomeFeatures.vue"]]),kp=ge({__name:"VPHomeFooter",setup(e,{expose:t}){t();const n=ut(),r=O(()=>n.value.footer),o=O(()=>n.value.footerHtml),s={frontmatter:n,footer:r,footerHtml:o};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),Ap=["innerHTML"],Tp=["textContent"];function Rp(e,t,n,r,o,s){return r.footer?(W(),ee(ye,{key:0},[r.footerHtml?(W(),ee("div",{key:0,class:"vp-footer",innerHTML:r.footer},null,8,Ap)):(W(),ee("div",{key:1,class:"vp-footer",textContent:de(r.footer)},null,8,Tp))],64)):Re("",!0)}const Op=Se(kp,[["render",Rp],["__file","VPHomeFooter.vue"]]),Ip=ge({__name:"VPHomeHero",setup(e,{expose:t}){t();const n=ut(),r=os(),o=hs(),s=O(()=>o.value&&n.value.heroImageDark!==void 0?n.value.heroImageDark:n.value.heroImage),i=O(()=>n.value.heroAlt||a.value||"hero"),l=O(()=>n.value.heroHeight||280),a=O(()=>n.value.heroText===null?null:n.value.heroText||r.value.title||"Hello"),c=O(()=>n.value.tagline===null?null:n.value.tagline||r.value.description||"Welcome to your VuePress site"),f=O(()=>Array.isArray(n.value.actions)?n.value.actions.map(({text:m,link:_,type:C="primary"})=>({text:m,link:_,type:C})):[]),p={frontmatter:n,siteLocale:r,isDarkMode:o,heroImage:s,heroAlt:i,heroHeight:l,heroText:a,tagline:c,actions:f,HomeHeroImage:()=>{if(!s.value)return null;const m=Le("img",{class:"vp-hero-image",src:ls(s.value),alt:i.value,height:l.value});return n.value.heroImageDark===void 0?m:Le(ss,()=>m)},get AutoLink(){return Pn}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),Mp={class:"vp-hero"},Dp={key:0,id:"main-title"},Hp={key:1,class:"vp-hero-description"},Np={key:2,class:"vp-hero-actions"};function $p(e,t,n,r,o,s){return W(),ee("header",Mp,[oe(r.HomeHeroImage),r.heroText?(W(),ee("h1",Dp,de(r.heroText),1)):Re("",!0),r.tagline?(W(),ee("p",Hp,de(r.tagline),1)):Re("",!0),r.actions.length?(W(),ee("p",Np,[(W(!0),ee(ye,null,wt(r.actions,i=>(W(),xe(r.AutoLink,{key:i.text,class:Ge(["vp-hero-action-button",[i.type]]),config:i},null,8,["class","config"]))),128))])):Re("",!0)])}const jp=Se(Ip,[["render",$p],["__file","VPHomeHero.vue"]]),Vp=ge({__name:"VPHome",setup(e,{expose:t}){t();const n={VPHomeFeatures:xp,VPHomeFooter:Op,VPHomeHero:jp,get Content(){return is}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Fp={class:"vp-home"},Bp={class:"theme-default-content"};function zp(e,t,n,r,o,s){return W(),ee("main",Fp,[oe(r.VPHomeHero),oe(r.VPHomeFeatures),J("div",Bp,[oe(r.Content)]),oe(r.VPHomeFooter)])}const Wp=Se(Vp,[["render",zp],["__file","VPHome.vue"]]),Up="719px",Kp={mobile:Up};var Yn;(function(e){e.MOBILE="mobile"})(Yn||(Yn={}));const qp={[Yn.MOBILE]:Number.parseInt(Kp.mobile.replace("px",""),10)},ba=(e,t)=>{const n=qp[e];Number.isInteger(n)&&(ct("orientationchange",()=>t(n),!1),ct("resize",()=>t(n),!1),Ye(()=>{t(n)}))},Gp=ge({__name:"VPNavbarBrand",setup(e,{expose:t}){t();const n=lr(),r=os(),o=Te(),s=hs(),i=O(()=>o.value.home||n.value),l=O(()=>r.value.title),a=O(()=>s.value&&o.value.logoDark!==void 0?o.value.logoDark:o.value.logo),c=O(()=>o.value.logoAlt??l.value),f=O(()=>l.value.toLocaleUpperCase().trim()===c.value.toLocaleUpperCase().trim()),p={routeLocale:n,siteLocale:r,themeLocale:o,isDarkMode:s,navbarBrandLink:i,navbarBrandTitle:l,navbarBrandLogo:a,navbarBrandLogoAlt:c,navBarLogoAltMatchesTitle:f,NavbarBrandLogo:()=>{if(!a.value)return null;const m=Le("img",{class:"vp-site-logo",src:ls(a.value),alt:c.value});return o.value.logoDark===void 0?m:Le(ss,()=>m)},get RouteLink(){return Qr}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),Jp=["aria-hidden"];function Yp(e,t,n,r,o,s){return W(),xe(r.RouteLink,{to:r.navbarBrandLink},{default:ke(()=>[oe(r.NavbarBrandLogo),r.navbarBrandTitle?(W(),ee("span",{key:0,class:Ge(["vp-site-name",{"vp-hide-mobile":r.navbarBrandLogo}]),"aria-hidden":r.navBarLogoAltMatchesTitle},de(r.navbarBrandTitle),11,Jp)):Re("",!0)]),_:1},8,["to"])}const Qp=Se(Gp,[["render",Yp],["__file","VPNavbarBrand.vue"]]),ya=(e,t="")=>lt(e)?Sn(_n(t,e)):"children"in e?{...e,children:e.children.map(n=>ya(n,_n(t,e.prefix)))}:{...e,link:pa(e.link)?Sn(_n(t,e.link)).link:e.link},Xp=()=>{const e=Te();return O(()=>(e.value.navbar||[]).map(t=>ya(t)))},Zp=()=>{const e=Te(),t=O(()=>e.value.repo),n=O(()=>t.value?ma(t.value):null),r=O(()=>t.value&&!Gr(t.value)?`https://github.com/${t.value}`:t.value),o=O(()=>r.value?e.value.repoLabel?e.value.repoLabel:n.value===null?"Source":n.value:null);return O(()=>!r.value||!o.value?[]:[{text:o.value,link:r.value}])},em=()=>{const e=Ct(),t=vh(),n=lr(),r=Zl(),o=os(),s=rp(),i=Te();return O(()=>{const l=Object.keys(r.value.locales);if(l.length<2)return[];const a=e.path,c=e.fullPath;return[{text:`${i.value.selectLanguageText}`,ariaLabel:`${i.value.selectLanguageAriaLabel??i.value.selectLanguageText}`,children:l.map(u=>{var I,w;const p=((I=r.value.locales)==null?void 0:I[u])??{},m=((w=s.value.locales)==null?void 0:w[u])??{},_=`${p.lang}`,C=m.selectLanguageName??_;if(_===o.value.lang)return{text:C,activeMatch:".",link:e.fullPath};const k=a.replace(n.value,u);return{text:C,link:t.value.some(g=>g===k)?c.replace(a,k):m.home??u}})}]})},tm=ge({__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 nm(e,t,n,r,o,s){return W(),xe(sr,{name:"vp-dropdown",onEnter:r.setHeight,onAfterEnter:r.unsetHeight,onBeforeLeave:r.setHeight},{default:ke(()=>[Pe(e.$slots,"default")]),_:3})}const wa=Se(tm,[["render",nm],["__file","VPDropdownTransition.vue"]]),rm=ge({__name:"VPNavbarDropdown",props:{item:{}},setup(e,{expose:t}){t();const n=e,{item:r}=sl(n),o=Ct(),s=he(!1),i=O(()=>r.value.ariaLabel||r.value.text),l=(f,u)=>u[u.length-1]===f,a=f=>{const u=f.detail===0;s.value=u?!s.value:!1};$e(()=>o.path,()=>{s.value=!1});const c={props:n,item:r,route:o,open:s,dropdownAriaLabel:i,isLastItemOfArray:l,handleDropdown:a,VPDropdownTransition:wa,get AutoLink(){return Pn}};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}}),om=["aria-label"],sm={class:"title"},im=J("span",{class:"arrow down"},null,-1),lm=["aria-label"],am={class:"title"},cm={class:"vp-navbar-dropdown"},um={class:"vp-navbar-dropdown-subtitle"},fm={key:1},dm={class:"vp-navbar-dropdown-subitem-wrapper"};function hm(e,t,n,r,o,s){return W(),ee("div",{class:Ge(["vp-navbar-dropdown-wrapper",{open:r.open}])},[J("button",{class:"vp-navbar-dropdown-title",type:"button","aria-label":r.dropdownAriaLabel,onClick:r.handleDropdown},[J("span",sm,de(r.item.text),1),im],8,om),J("button",{class:"vp-navbar-dropdown-title-mobile",type:"button","aria-label":r.dropdownAriaLabel,onClick:t[0]||(t[0]=i=>r.open=!r.open)},[J("span",am,de(r.item.text),1),J("span",{class:Ge(["arrow",r.open?"down":"right"])},null,2)],8,lm),oe(r.VPDropdownTransition,null,{default:ke(()=>[Ar(J("ul",cm,[(W(!0),ee(ye,null,wt(r.item.children,i=>(W(),ee("li",{key:i.text,class:"vp-navbar-dropdown-item"},["children"in i?(W(),ee(ye,{key:0},[J("h4",um,[i.link?(W(),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"])):(W(),ee("span",fm,de(i.text),1))]),J("ul",dm,[(W(!0),ee(ye,null,wt(i.children,l=>(W(),ee("li",{key:l.link,class:"vp-navbar-dropdown-subitem"},[oe(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)):(W(),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 pm=Se(rm,[["render",hm],["__file","VPNavbarDropdown.vue"]]),mm=ge({__name:"VPNavbarItems",setup(e,{expose:t}){t();const n=Xp(),r=em(),o=Zp(),s=he(!1),i=O(()=>Te().value.navbarLabel??"site navigation"),l=O(()=>[...n.value,...r.value,...o.value]);ba(Yn.MOBILE,c=>{s.value=window.innerWidth(W(),ee("div",{key:i.text,class:"vp-navbar-item"},["children"in i?(W(),xe(r.VPNavbarDropdown,{key:0,class:Ge({mobile:r.isMobile}),item:i},null,8,["class","item"])):(W(),xe(r.AutoLink,{key:1,config:i},null,8,["config"]))]))),128))],8,gm)):Re("",!0)}const Sa=Se(mm,[["render",vm],["__file","VPNavbarItems.vue"]]),_m={},bm={class:"dark-icon",viewBox:"0 0 32 32"},ym=J("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),wm=[ym];function Sm(e,t){return W(),ee("svg",bm,wm)}const Em=Se(_m,[["render",Sm],["__file","VPDarkIcon.vue"]]),Cm={},Lm={class:"light-icon",viewBox:"0 0 32 32"},Pm=wu('',9),xm=[Pm];function km(e,t){return W(),ee("svg",Lm,xm)}const Am=Se(Cm,[["render",km],["__file","VPLightIcon.vue"]]),Tm=ge({__name:"VPToggleColorModeButton",setup(e,{expose:t}){t();const n=Te(),r=hs(),s={themeLocale:n,isDarkMode:r,toggleColorMode:()=>{r.value=!r.value},VPDarkIcon:Em,VPLightIcon:Am};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),Rm=["title"];function Om(e,t,n,r,o,s){return W(),ee("button",{class:"vp-toggle-color-mode-button",title:r.themeLocale.toggleColorMode,onClick:r.toggleColorMode},[Ar(oe(r.VPLightIcon,null,null,512),[[Hr,!r.isDarkMode]]),Ar(oe(r.VPDarkIcon,null,null,512),[[Hr,r.isDarkMode]])],8,Rm)}const Im=Se(Tm,[["render",Om],["__file","VPToggleColorModeButton.vue"]]),Mm=ge({__name:"VPToggleSidebarButton",emits:["toggle"],setup(e,{expose:t}){t();const r={themeLocale:Te()};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),Dm=["title"],Hm=J("div",{class:"icon","aria-hidden":"true"},[J("span"),J("span"),J("span")],-1),Nm=[Hm];function $m(e,t,n,r,o,s){return W(),ee("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"))},Nm,8,Dm)}const jm=Se(Mm,[["render",$m],["__file","VPToggleSidebarButton.vue"]]),Vm=ge({__name:"VPNavbar",emits:["toggle-sidebar"],setup(e,{expose:t}){t();const n=Te(),r=he(null),o=he(null),s=he(0),i=O(()=>s.value?{maxWidth:s.value+"px"}:{}),l=(c,f)=>{var m,_,C;const u=(C=(_=(m=c==null?void 0:c.ownerDocument)==null?void 0:m.defaultView)==null?void 0:_.getComputedStyle(c,null))==null?void 0:C[f],p=Number.parseInt(u,10);return Number.isNaN(p)?0:p};ba(Yn.MOBILE,c=>{var u;const f=l(r.value,"paddingLeft")+l(r.value,"paddingRight");window.innerWidthe.$emit("toggle-sidebar"))}),J("span",Bm,[oe(r.VPNavbarBrand)],512),J("div",{class:"vp-navbar-items-wrapper",style:Zn(r.linksWrapperStyle)},[Pe(e.$slots,"before"),oe(r.VPNavbarItems,{class:"vp-hide-mobile"}),Pe(e.$slots,"after"),r.themeLocale.colorModeSwitch?(W(),xe(r.VPToggleColorModeButton,{key:0})):Re("",!0),oe(i)],4)],512)}const Wm=Se(Vm,[["render",zm],["__file","VPNavbar.vue"]]),Um=()=>{const e=Te(),t=Ln(),n=ut();return O(()=>{var o;return n.value.contributors??e.value.contributors??!0?((o=t.value.git)==null?void 0:o.contributors)??null:null})},Km=()=>{const e=Te(),t=Ln(),n=ut();return O(()=>{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 c=up({docsRepo:s,docsBranch:i,docsDir:l,filePathRelative:t.value.filePathRelative,editLinkPattern:n.value.editLinkPattern??e.value.editLinkPattern});return c?{text:a??"Edit this page",link:c}:null})},qm=()=>{const e=Te(),t=Ln(),n=ut();return O(()=>{var s,i;return!(n.value.lastUpdated??e.value.lastUpdated??!0)||!((s=t.value.git)!=null&&s.updatedTime)?null:new Date((i=t.value.git)==null?void 0:i.updatedTime).toLocaleString()})},Gm={},Jm={class:"edit-icon",viewBox:"0 0 1024 1024"},Ym=J("g",{fill:"currentColor"},[J("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"}),J("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),Qm=[Ym];function Xm(e,t){return W(),ee("svg",Jm,Qm)}const Zm=Se(Gm,[["render",Xm],["__file","VPEditIcon.vue"]]),eg=ge({__name:"VPPageMeta",setup(e,{expose:t}){t();const n=Te(),r=Km(),o=qm(),s=Um(),i={themeLocale:n,editLink:r,lastUpdated:o,contributors:s,VPEditIcon:Zm,get AutoLink(){return Pn}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),tg={class:"vp-page-meta"},ng={key:0,class:"vp-meta-item edit-link"},rg={class:"vp-meta-item git-info"},og={key:0,class:"vp-meta-item last-updated"},sg={class:"meta-item-label"},ig={class:"meta-item-info"},lg={key:1,class:"vp-meta-item contributors"},ag={class:"meta-item-label"},cg={class:"meta-item-info"},ug=["title"];function fg(e,t,n,r,o,s){const i=Jo("ClientOnly");return W(),ee("footer",tg,[r.editLink?(W(),ee("div",ng,[oe(r.AutoLink,{class:"label",config:r.editLink},{before:ke(()=>[oe(r.VPEditIcon)]),_:1},8,["config"])])):Re("",!0),J("div",rg,[r.lastUpdated?(W(),ee("div",og,[J("span",sg,de(r.themeLocale.lastUpdatedText)+": ",1),oe(i,null,{default:ke(()=>[J("span",ig,de(r.lastUpdated),1)]),_:1})])):Re("",!0),r.contributors&&r.contributors.length?(W(),ee("div",lg,[J("span",ag,de(r.themeLocale.contributorsText)+": ",1),J("span",cg,[(W(!0),ee(ye,null,wt(r.contributors,(l,a)=>(W(),ee(ye,{key:a},[J("span",{class:"contributor",title:`email: ${l.email}`},de(l.name),9,ug),a!==r.contributors.length-1?(W(),ee(ye,{key:0},[Vt(", ")],64)):Re("",!0)],64))),128))])])):Re("",!0)])])}const dg=Se(eg,[["render",fg],["__file","VPPageMeta.vue"]]),hg=()=>{const e=sn(),t=Ct();return n=>{n&&(la(n)?t.path!==n&&e.push(n):ir(n)?window==null||window.open(n):e.push(encodeURI(n)))}},Oi=(e,t)=>e===!1?!1:lt(e)?Sn(e,t):es(e)?{...e,link:Sn(e.link,t).link}:null,Mo=(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&&!Jn(s.prefix).notFound?{...s,link:s.prefix}:null:null}for(const s of e)if("children"in s){const i=Mo(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&&!Jn(s.prefix).notFound?{...s,link:s.prefix}:null:null}return null},pg=()=>{const e=ut(),t=Te(),n=ps(),r=Ct(),o=O(()=>{const i=Oi(e.value.prev,r.path);return i===!1?null:i??(t.value.prev===!1?null:Mo(n.value,r.path,-1))}),s=O(()=>{const i=Oi(e.value.next,r.path);return i===!1?null:i??(t.value.next===!1?null:Mo(n.value,r.path,1))});return{prevLink:o,nextLink:s}},mg=ge({__name:"VPPageNav",setup(e,{expose:t}){t();const n=Te(),r=hg(),{prevLink:o,nextLink:s}=pg(),i=O(()=>Te().value.pageNavbarLabel??"page navigation");ct("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 Pn}};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),gg=["aria-label"],vg={class:"hint"},_g=J("span",{class:"arrow left"},null,-1),bg={class:"link"},yg={class:"hint"},wg=J("span",{class:"arrow right"},null,-1),Sg={class:"link"};function Eg(e,t,n,r,o,s){return r.prevLink||r.nextLink?(W(),ee("nav",{key:0,class:"vp-page-nav","aria-label":r.navbarLabel},[r.prevLink?(W(),xe(r.AutoLink,{key:0,class:"prev",config:r.prevLink},{default:ke(()=>[J("div",vg,[_g,Vt(" "+de(r.themeLocale.prev??"Prev"),1)]),J("div",bg,[J("span",null,de(r.prevLink.text),1)])]),_:1},8,["config"])):Re("",!0),r.nextLink?(W(),xe(r.AutoLink,{key:1,class:"next",config:r.nextLink},{default:ke(()=>[J("div",yg,[Vt(de(r.themeLocale.next??"Next")+" ",1),wg]),J("div",Sg,[J("span",null,de(r.nextLink.text),1)])]),_:1},8,["config"])):Re("",!0)],8,gg)):Re("",!0)}const Cg=Se(mg,[["render",Eg],["__file","VPPageNav.vue"]]),Lg=ge({__name:"VPPage",setup(e,{expose:t}){t(),fp();const n={VPPageMeta:dg,VPPageNav:Cg,get Content(){return is}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Pg={class:"vp-page"},xg={class:"theme-default-content"};function kg(e,t,n,r,o,s){return W(),ee("main",Pg,[Pe(e.$slots,"top"),J("div",xg,[Pe(e.$slots,"content-top"),oe(r.Content),Pe(e.$slots,"content-bottom")]),oe(r.VPPageMeta),oe(r.VPPageNav),Pe(e.$slots,"bottom")])}const Ag=Se(Lg,[["render",kg],["__file","VPPage.vue"]]),Tg=ge({__name:"VPSidebarItem",props:{item:{},depth:{default:0}},setup(e,{expose:t}){t();const n=e,{item:r,depth:o}=sl(n),s=Ct(),i=sn(),l=O(()=>"collapsible"in r.value&&r.value.collapsible),a=O(()=>ha(r.value,s)),c=O(()=>({"vp-sidebar-item":!0,"vp-sidebar-heading":o.value===0,active:a.value,collapsible:l.value})),f=O(()=>l.value?a.value:!0),[u,p]=Yd(f.value),m=k=>{l.value&&(k.preventDefault(),p())},_=i.afterEach(k=>{Cn(()=>{u.value=f.value})});Go(()=>{_()});const C={props:n,item:r,depth:o,route:s,router:i,collapsible:l,isActive:a,itemClass:c,isOpenDefault:f,isOpen:u,toggleIsOpen:p,onClick:m,unregisterRouterHook:_,VPDropdownTransition:wa,get AutoLink(){return Pn}};return Object.defineProperty(C,"__isScriptSetup",{enumerable:!1,value:!0}),C}}),Rg={class:"vp-sidebar-children"};function Og(e,t,n,r,o,s){const i=Jo("VPSidebarItem",!0);return W(),ee("li",null,[r.item.link?(W(),xe(r.AutoLink,{key:0,class:Ge(r.itemClass),config:r.item},null,8,["class","config"])):(W(),ee("p",{key:1,tabindex:"0",class:Ge(r.itemClass),onClick:r.onClick,onKeydown:of(r.onClick,["enter"])},[Vt(de(r.item.text)+" ",1),r.collapsible?(W(),ee("span",{key:0,class:Ge(["arrow",r.isOpen?"down":"right"])},null,2)):Re("",!0)],34)),"children"in r.item&&r.item.children.length?(W(),xe(r.VPDropdownTransition,{key:2},{default:ke(()=>[Ar(J("ul",Rg,[(W(!0),ee(ye,null,wt(r.item.children,l=>(W(),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})):Re("",!0)])}const Ig=Se(Tg,[["render",Og],["__file","VPSidebarItem.vue"]]),Mg=ge({__name:"VPSidebarItems",setup(e,{expose:t}){t();const n=Ct(),r=ps();Ye(()=>{$e(()=>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:c}=i.getBoundingClientRect(),{top:f,height:u}=l.getBoundingClientRect();fa+c&&l.scrollIntoView(!1)})});const o={route:n,sidebarItems:r,VPSidebarItem:Ig};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),Dg={key:0,class:"vp-sidebar-items"};function Hg(e,t,n,r,o,s){return r.sidebarItems.length?(W(),ee("ul",Dg,[(W(!0),ee(ye,null,wt(r.sidebarItems,i=>(W(),xe(r.VPSidebarItem,{key:`${i.text}${i.link}`,item:i},null,8,["item"]))),128))])):Re("",!0)}const Ng=Se(Mg,[["render",Hg],["__file","VPSidebarItems.vue"]]),$g=ge({__name:"VPSidebar",setup(e,{expose:t}){t();const n={VPNavbarItems:Sa,VPSidebarItems:Ng};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),jg={class:"vp-sidebar"};function Vg(e,t,n,r,o,s){return W(),ee("aside",jg,[oe(r.VPNavbarItems),Pe(e.$slots,"top"),oe(r.VPSidebarItems),Pe(e.$slots,"bottom")])}const Fg=Se($g,[["render",Vg],["__file","VPSidebar.vue"]]),Bg=ge({__name:"Layout",setup(e,{expose:t}){t();const n=Ln(),r=ut(),o=Te(),s=O(()=>r.value.navbar!==!1&&o.value.navbar!==!1),i=ps(),l=he(!1),a=g=>{l.value=typeof g=="boolean"?g:!l.value},c={x:0,y:0},f=g=>{c.x=g.changedTouches[0].clientX,c.y=g.changedTouches[0].clientY},u=g=>{const S=g.changedTouches[0].clientX-c.x,$=g.changedTouches[0].clientY-c.y;Math.abs(S)>Math.abs($)&&Math.abs(S)>40&&(S>0&&c.x<=80?a(!0):a(!1))},p=O(()=>r.value.externalLinkIcon??o.value.externalLinkIcon??!0),m=O(()=>[{"no-navbar":!s.value,"no-sidebar":!i.value.length,"sidebar-open":l.value,"external-link-icon":p.value},r.value.pageClass]);let _;Ye(()=>{_=sn().afterEach(()=>{a(!1)})}),Wr(()=>{_()});const C=da(),k=C.resolve,I=C.pending,w={page:n,frontmatter:r,themeLocale:o,shouldShowNavbar:s,sidebarItems:i,isSidebarOpen:l,toggleSidebar:a,touchStart:c,onTouchStart:f,onTouchEnd:u,enableExternalLinkIcon:p,containerClass:m,get unregisterRouterHook(){return _},set unregisterRouterHook(g){_=g},scrollPromise:C,onBeforeEnter:k,onBeforeLeave:I,VPHome:Wp,VPNavbar:Wm,VPPage:Ag,VPSidebar:Fg};return Object.defineProperty(w,"__isScriptSetup",{enumerable:!1,value:!0}),w}});function zg(e,t,n,r,o,s){return W(),ee("div",{class:Ge(["vp-theme-container",r.containerClass]),onTouchstart:r.onTouchStart,onTouchend:r.onTouchEnd},[Pe(e.$slots,"navbar",{},()=>[r.shouldShowNavbar?(W(),xe(r.VPNavbar,{key:0,onToggleSidebar:r.toggleSidebar},{before:ke(()=>[Pe(e.$slots,"navbar-before")]),after:ke(()=>[Pe(e.$slots,"navbar-after")]),_:3})):Re("",!0)]),J("div",{class:"vp-sidebar-mask",onClick:t[0]||(t[0]=i=>r.toggleSidebar(!1))}),Pe(e.$slots,"sidebar",{},()=>[oe(r.VPSidebar,null,{top:ke(()=>[Pe(e.$slots,"sidebar-top")]),bottom:ke(()=>[Pe(e.$slots,"sidebar-bottom")]),_:3})]),Pe(e.$slots,"page",{},()=>[r.frontmatter.home?(W(),xe(r.VPHome,{key:0})):(W(),xe(sr,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:r.onBeforeEnter,onBeforeLeave:r.onBeforeLeave},{default:ke(()=>[(W(),xe(r.VPPage,{key:r.page.path},{top:ke(()=>[Pe(e.$slots,"page-top")]),"content-top":ke(()=>[Pe(e.$slots,"page-content-top")]),"content-bottom":ke(()=>[Pe(e.$slots,"page-content-bottom")]),bottom:ke(()=>[Pe(e.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34)}const Ea=Se(Bg,[["render",zg],["__file","Layout.vue"]]),Wg=ge({__name:"NotFound",setup(e,{expose:t}){t();const n=lr(),r=Te(),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 Qr}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),Ug=e=>(yc("data-v-99131a8e"),e=e(),wc(),e),Kg={class:"vp-theme-container"},qg={class:"page"},Gg={class:"theme-default-content"},Jg=Ug(()=>J("h1",null,"404",-1));function Yg(e,t,n,r,o,s){return W(),ee("div",Kg,[J("main",qg,[J("div",Gg,[Jg,J("blockquote",null,de(r.getMsg()),1),oe(r.RouteLink,{to:r.homeLink},{default:ke(()=>[Vt(de(r.homeText),1)]),_:1},8,["to"])])])])}const Qg=Se(Wg,[["render",Yg],["__scopeId","data-v-99131a8e"],["__file","NotFound.vue"]]),Xg=Lt({enhance({app:e,router:t}){go("Badge")||e.component("Badge",bp),go("CodeGroup")||e.component("CodeGroup",yp),go("CodeGroupItem")||e.component("CodeGroupItem",Ep),e.component("VPSearch",()=>{const r=e.component("Docsearch")||e.component("SearchBox");return r?Le(r):null});const n=t.options.scrollBehavior;t.options.scrollBehavior=async(...r)=>(await da().wait(),n(...r))},setup(){sp(),hp()},layouts:{Layout:Ea,NotFound:Qg}}),Zg=Object.freeze(Object.defineProperty({__proto__:null,default:Xg},Symbol.toStringTag,{value:"Module"})),ev=Object.entries;var tv={autoLocale:!1,switchLocale:!1,localeConfig:{"/eng/":["en-US"]},defaultLocale:"/eng/",localeFallback:!0,defaultBehavior:"defaultLocale"};const nv=tv;ev(nv.localeConfig);lh("VUEPRESS_REDIRECT_LOCALES",{});const rv=Lt({setup(){},rootComponents:[]}),ov=Object.freeze(Object.defineProperty({__proto__:null,default:rv},Symbol.toStringTag,{value:"Module"}));var ae=(e=>(e.Collaborator="collaborator",e.Author="author",e.TechLead="tech lead",e.TeamLead="team lead",e.Developer="developer",e))(ae||{}),me=(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))(me||{}),N=(e=>(e.C="C",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.Godot="Godot",e.Haskell="Haskell",e))(N||{});const sv=[{name:"picsg",url:"/pleshevskiy/picsg",description:"A tool for steganographing information in a picture encoded using the Vernam cipher.",roles:[ae.Author],technologies:[N.Haskell],startDate:new Date("2024-04-13"),status:me.AsIs},{name:"Mindustry tools",url:"/pleshevskiy/mindustry-tools",description:"Tools for the Mindustry game",roles:[ae.Author],technologies:[N.Nix,N.Godot],startDate:new Date("2024-01-07"),status:me.PassivelyMaintained},{name:"Master Progress Rosmintrud tools",url:"https://rosmintrud.masterprogress.ru",description:"Internal service to prepare documents for the rosmintrud (SPA)",roles:[ae.TechLead],technologies:[N.Deno,N.Sqlite,N.TypeScript,N.Vue,N.Docker,N.Woodpecker,N.Nix],startDate:new Date("2023-07-03"),status:me.PassivelyMaintained},{name:"yandexgpt_tg_bot",url:"/pleshevskiy/yandexgpt_tg_bot",description:"The Telegram bot to describe article with link by YandexGPT.",roles:[ae.Author],technologies:[N.JavaScript,N.NodeJS,N.Nix],startDate:new Date("2023-06-27"),status:me.PassivelyMaintained},{name:"tree-sitter-plpgsql",url:"/pleshevskiy/tree-sitter-plpgsql",description:"plpgsql grammar for tree-sitter",roles:[ae.Author],technologies:[N.C,N.JavaScript,N.TreeSitter,N.Nix],startDate:new Date("2023-01-05"),status:me.PassivelyMaintained},{name:"wd2",url:"/pleshevskiy/wd2",description:"A wrapper over d2 which allows to use additional configs from d2 file",roles:[ae.Author],technologies:[N.Bash,N.Nix],startDate:new Date("2022-12-12"),endDate:new Date("2023-07-31"),status:me.AsIs},{name:"tree-sitter-d2",url:"/pleshevskiy/tree-sitter-d2",description:"d2 grammar for tree-sitter",roles:[ae.Author],technologies:[N.C,N.JavaScript,N.TreeSitter,N.Nix],startDate:new Date("2022-12-04"),status:me.ActiveDeveloped},{name:"nix2lua",url:"/mynix/nix2lua",description:"This is a small but functional library that converts your nix configurations into lua format.",roles:[ae.Author],technologies:[N.Nix,N.Lua],startDate:new Date("2022-11-22"),status:me.PassivelyMaintained},{name:"vnetod",url:"/pleshevskiy/vnetod",description:"Dotenv section switcher",roles:[ae.Author],technologies:[N.Rust],startDate:new Date("2022-07-29"),status:me.PassivelyMaintained},{name:"estring",url:"/pleshevskiy/estring",description:"A simple way to parse a string using type annotations.",roles:[ae.Author],technologies:[N.Rust],startDate:new Date("2022-07-23"),status:me.PassivelyMaintained},{name:"enve",url:"/pleshevskiy/enve",description:"It helps you work with environment variables and convert it to any type using only type annotations",roles:[ae.Author],technologies:[N.Rust],startDate:new Date("2022-07-18"),status:me.PassivelyMaintained},{name:"docker stack drone plugin",url:"/drone_plugins/docker_stack",description:"Deploy to production using `docker stack deploy`",roles:[ae.Author],technologies:[N.Docker,N.Drone,N.Woodpecker],startDate:new Date("2022-06-06"),status:me.PassivelyMaintained},{name:"dexios",url:"/github/dexios",description:"Dexios is a fast, secure, and open source command-line encryption tool.",roles:[ae.Collaborator],technologies:[N.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:[ae.Author],technologies:[N.TypeScript,N.Deno,N.Rust],startDate:new Date("2022-05-04"),status:me.PassivelyMaintained},{name:"pleshevski.ru",url:"/pleshevskiy/pleshevski.ru",description:"Source code of my personal site",roles:[ae.Author],technologies:[N.TypeScript,N.Deno,N.Docker,N.Woodpecker],startDate:new Date("2022-03-16"),status:me.PassivelyMaintained},{name:"paren",url:"/pleshevskiy/paren",description:"Library for parsing and rendering information.",roles:[ae.Author],technologies:[N.TypeScript,N.Deno],startDate:new Date("2022-03-14"),status:me.Experimental},{name:"hwt",url:"/pleshevskiy/hwt",description:"healthy workaholic timer – A tool that keeps you from breaking your health by working all day.",roles:[ae.Author],technologies:[N.Rust],startDate:new Date("2022-02-04"),status:me.AsIs},{name:"ood_persistence",url:"/pleshevskiy/ood_persistence",description:"Asynchronous and synchronous interfaces and persistence implementations for your OOD architecture ",roles:[ae.Author],technologies:[N.Rust],startDate:new Date("2021-10-12"),status:me.Deprecated},{name:"migra",url:"/pleshevskiy/migra",description:"Simple SQL migration manager for your project.",roles:[ae.Author],technologies:[N.Rust],startDate:new Date("2021-01-31"),status:me.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:[ae.Author],technologies:[N.JavaScript],startDate:new Date("2021-08-23"),status:me.AsIs},{name:"react-rest-request",url:"/pleshevskiy/react-rest-request",description:"Minimalistic REST API client for React inspired by Apollo.",roles:[ae.Author],technologies:[N.TypeScript,N.React],startDate:new Date("2020-10-04"),status:me.Deprecated},{name:"sonic-channel",url:"/pleshevskiy/sonic-channel",description:"Rust client for sonic search backend.",roles:[ae.Author],technologies:[N.Rust],startDate:new Date("2020-07-18"),status:me.PassivelyMaintained},{name:"itconfig",url:"/pleshevskiy/itconfig",description:"Easy build a configs from environment variables and use it in globally.",roles:[ae.Author],technologies:[N.Rust],startDate:new Date("2019-12-22"),status:me.Deprecated},{name:"it-fsm",url:"/pleshevskiy/it-fsm",description:"Simple full-featured finite state machine for your project",roles:[ae.Author],technologies:[N.TypeScript,N.NodeJS,N.Deno],startDate:new Date("2019"),status:me.PassivelyMaintained},{name:"Cabinet Master Progress",url:"https://cabinet.masterprogress.ru",description:"Student's cabinet of the educational center Master Progress (SSR + SPA)",roles:[ae.TechLead],technologies:[N.Python,N.Flask,N.Postgresql,N.TypeScript,N.React,N.Docker,N.Woodpecker,N.Nix],startDate:new Date("2019-09-22"),status:me.PassivelyMaintained},{name:"genrss",url:"/pleshevskiy/genrss",description:"RSS generator for python",roles:[ae.Author],technologies:[N.Python],startDate:new Date("2019-07-23"),status:me.AsIs},{name:"marshmallow_pageinfo",url:"/pleshevskiy/marshmallow_pageinfo",description:"Page info marshmallow schema for api",roles:[ae.Author],technologies:[N.Python],startDate:new Date("2019-10-05"),status:me.AsIs},{name:"Binary Management",url:"https://www.binarymanagement.com",description:"Project management tool for interior designers",roles:[ae.Developer,ae.TechLead,ae.TeamLead],technologies:[N.TypeScript,N.NodeJS,N.React,N.Antd,N.Docker,N.Drone,N.Rust,N.Nix],startDate:new Date("2018-09-15"),status:me.ActiveDeveloped},{name:"Core Spirit",url:"https://corespirit.com",description:"Social platform focusing on human and planetary enhancement",roles:[ae.Developer],technologies:[N.TypeScript,N.NodeJS,N.React,N.Docker,N.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:[ae.TechLead],technologies:[N.Python,N.Flask,N.JavaScript,N.Docker,N.Woodpecker],startDate:new Date("2018-04-10"),status:me.PassivelyMaintained},{name:"ictmpl",url:"/pleshevskiy/ictmpl",description:"Generate projects from templates",roles:[ae.Author],technologies:[N.Python],startDate:new Date("2018-06-30"),status:me.AsIs},{name:"jjcrypto",url:"/pleshevskiy/jjcrypto",description:"Javascript encoder and decoder",roles:[ae.Author],technologies:[N.Php],startDate:new Date("2015-11-01"),status:me.AsIs}];function iv(e){return e.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})}const lv=e=>e.url.startsWith("https://")?e.url:new URL(e.url,"https://git.pleshevski.ru").toString(),av=Object.freeze(Object.defineProperty({__proto__:null,getExternalLink:lv},Symbol.toStringTag,{value:"Module"})),cv={name:"WorksPage",computed:{tableTheme(){return this.$themeLocale.worksTable??{}}}},uv=ge({...cv,setup(e,{expose:t}){t();const n={get CHRONOLOGICAL_WORKS(){return sv},get renderDate(){return iv},get w(){return av}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),fv=["href"],dv=["innerHTML"];function hv(e,t,n,r,o,s){return W(),ee("table",null,[J("thead",null,[J("tr",null,[J("th",null,de(s.tableTheme.name),1),J("th",null,de(s.tableTheme.description),1),J("th",null,de(s.tableTheme.role),1),J("th",null,de(s.tableTheme.technologies),1),J("th",null,de(s.tableTheme.start),1),J("th",null,de(s.tableTheme.statusOrEnd),1)])]),J("tbody",null,[(W(!0),ee(ye,null,wt(r.CHRONOLOGICAL_WORKS,i=>(W(),ee("tr",null,[J("td",null,[J("a",{rel:"nofollow noopener",href:r.w.getExternalLink(i)},de(i.name),9,fv)]),J("td",null,de(i.description),1),J("td",{innerHTML:i.roles.join(", ")},null,8,dv),J("td",null,de(i.technologies.join(", ")),1),J("td",null,de(r.renderDate(i.startDate)),1),J("td",null,de(i.endDate?r.renderDate(i.endDate):i.status),1)]))),256))])])}const pv=Se(uv,[["render",hv],["__file","ChronologicalWorksTable.vue"]]),mv={__name:"WorksPage",setup(e,{expose:t}){t();const n={ParentLayout:Ea,get ChronologicalWorksTable(){return pv}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}},gv={class:"works-table-wrapper"};function vv(e,t,n,r,o,s){return W(),xe(r.ParentLayout,null,{"page-bottom":ke(()=>[J("div",gv,[oe(r.ChronologicalWorksTable)])]),_:1})}const _v=Se(mv,[["render",vv],["__scopeId","data-v-765855fb"],["__file","WorksPage.vue"]]),bv=Lt({layouts:{WorksPage:_v}}),yv=Object.freeze(Object.defineProperty({__proto__:null,default:bv},Symbol.toStringTag,{value:"Module"})),wr=[gh,Lh,Rh,Wh,Jh,Yh,np,Zg,ov,yv].map(e=>e.default).filter(Boolean),wv=JSON.parse('{"base":"/","lang":"ru-RU","title":"Дмитрий Плешевский","description":" ","head":[],"locales":{"/":{"lang":"ru-RU","title":"Дмитрий Плешевский"},"/eng/":{"lang":"en-US","title":"Dmitriy Pleshevskiy"}}}');var Mn=En(wv),Sv=nd,Ev=()=>{const e=kd({history:Sv(Vl("/")),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===_t){const r=Jn(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},Cv=e=>{e.component("ClientOnly",ss),e.component("Content",is),e.component("RouteLink",Qr)},Lv=(e,t,n)=>{const r=O(()=>t.currentRoute.value.path),o=fc((k,I)=>({get(){return k(),t.currentRoute.value.meta._pageChunk},set(w){t.currentRoute.value.meta._pageChunk=w,I()}})),s=O(()=>Gt.resolveLayouts(n)),i=O(()=>Gt.resolveRouteLocale(Mn.value.locales,r.value)),l=O(()=>Gt.resolveSiteLocaleData(Mn.value,i.value)),a=O(()=>o.value.comp),c=O(()=>o.value.data),f=O(()=>c.value.frontmatter),u=O(()=>Gt.resolvePageHeadTitle(c.value,l.value)),p=O(()=>Gt.resolvePageHead(u.value,f.value,l.value)),m=O(()=>Gt.resolvePageLang(c.value,l.value)),_=O(()=>Gt.resolvePageLayout(c.value,s.value)),C={layouts:s,pageData:c,pageComponent:a,pageFrontmatter:f,pageHead:p,pageHeadTitle:u,pageLang:m,pageLayout:_,redirects:Oo,routeLocale:i,routePath:r,routes:vn,siteData:Mn,siteLocaleData:l};return e.provide(rs,C),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>p.value},$headTitle:{get:()=>u.value},$lang:{get:()=>m.value},$page:{get:()=>c.value},$routeLocale:{get:()=>i.value},$site:{get:()=>Mn.value},$siteLocale:{get:()=>l.value},$withBase:{get:()=>ls}}),C},Pv=()=>{const e=Rd(),t=Od();let n=[];const r=()=>{e.value.forEach(i=>{const l=xv(i);l&&n.push(l)})},o=()=>{const i=[];return e.value.forEach(l=>{const a=kv(l);a&&i.push(a)}),i},s=()=>{document.documentElement.lang=t.value;const i=o();n.forEach((l,a)=>{const c=i.findIndex(f=>l.isEqualNode(f));c===-1?(l.remove(),delete n[a]):i.splice(c,1)}),i.forEach(l=>document.head.appendChild(l)),n=[...n.filter(l=>!!l),...i]};nn(Dd,s),Ye(()=>{r(),$e(e,s,{immediate:!1})})},xv=([e,t,n=""])=>{const r=Object.entries(t).map(([l,a])=>lt(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},kv=([e,t,n])=>{if(!lt(e))return null;const r=document.createElement(e);return es(t)&&Object.entries(t).forEach(([o,s])=>{lt(s)?r.setAttribute(o,s):s===!0&&r.setAttribute(o,"")}),lt(n)&&r.appendChild(document.createTextNode(n)),r},Av=af,Tv=async()=>{var n;const e=Av({name:"Vuepress",setup(){var s;Pv();for(const i of wr)(s=i.setup)==null||s.call(i);const r=wr.flatMap(({rootComponents:i=[]})=>i.map(l=>Le(l))),o=Id();return()=>[Le(o.value),r]}}),t=Ev();Cv(e),Lv(e,t,wr);for(const r of wr)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:Mn}));return e.use(t),{app:e,router:t}};Tv().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{Se as _,J as a,Vt as b,ee as c,Tv as createVueApp,oe as d,wu as e,W as o,Jo as r,ke 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-DVhfb_AK.js b/dist/assets/app-DVhfb_AK.js new file mode 100644 index 0000000..06ac3c2 --- /dev/null +++ b/dist/assets/app-DVhfb_AK.js @@ -0,0 +1,30 @@ +/** +* @vue/shared v3.4.33 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Ro(e,t){const n=new Set(e.split(","));return r=>n.has(r)}const Pe={},an=[],tt=()=>{},va=()=>!1,zn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Oo=e=>e.startsWith("onUpdate:"),De=Object.assign,Io=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},_a=Object.prototype.hasOwnProperty,ce=(e,t)=>_a.call(e,t),X=Array.isArray,cn=e=>Ir(e)==="[object Map]",Ei=e=>Ir(e)==="[object Set]",ne=e=>typeof e=="function",Te=e=>typeof e=="string",Nt=e=>typeof e=="symbol",ye=e=>e!==null&&typeof e=="object",xi=e=>(ye(e)||ne(e))&&ne(e.then)&&ne(e.catch),Ai=Object.prototype.toString,Ir=e=>Ai.call(e),ba=e=>Ir(e).slice(8,-1),Ti=e=>Ir(e)==="[object Object]",Mo=e=>Te(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,un=Ro(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Mr=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ya=/-(\w)/g,Qe=Mr(e=>e.replace(ya,(t,n)=>n?n.toUpperCase():"")),wa=/\B([A-Z])/g,Ht=Mr(e=>e.replace(wa,"-$1").toLowerCase()),Jn=Mr(e=>e.charAt(0).toUpperCase()+e.slice(1)),Qr=Mr(e=>e?`on${Jn(e)}`:""),Mt=(e,t)=>!Object.is(e,t),Yr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Sa=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ca=e=>{const t=Te(e)?Number(e):NaN;return isNaN(t)?e:t};let gs;const Oi=()=>gs||(gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Qn(e){if(X(e)){const t={};for(let n=0;n{if(n){const r=n.split(ka);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Fe(e){let t="";if(Te(e))t=e;else if(X(e))for(let n=0;n!!(e&&e.__v_isRef===!0),le=e=>Te(e)?e:e==null?"":X(e)||ye(e)&&(e.toString===Ai||!ne(e.toString))?Mi(e)?le(e.value):JSON.stringify(e,Di,2):String(e),Di=(e,t)=>Mi(t)?Di(e,t.value):cn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[Xr(r,s)+" =>"]=o,n),{})}:Ei(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Xr(n))}:Nt(t)?Xr(t):ye(t)&&!X(t)&&!Ti(t)?String(t):t,Xr=(e,t="")=>{var n;return Nt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.33 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let ze;class Ta{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ze,!t&&ze&&(this.index=(ze.scopes||(ze.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ze;try{return ze=this,t()}finally{ze=n}}}on(){ze=this}off(){ze=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),Vt()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ot,n=Jt;try{return Ot=!0,Jt=this,this._runnings++,ms(this),this.fn()}finally{vs(this),this._runnings--,Jt=n,Ot=t}}stop(){this.active&&(ms(this),vs(this),this.onStop&&this.onStop(),this.active=!1)}}function Ia(e){return e.value}function ms(e){e._trackId++,e._depsLength=0}function vs(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},Sr=new WeakMap,Qt=Symbol(""),vo=Symbol("");function Ke(e,t,n){if(Ot&&Jt){let r=Sr.get(e);r||Sr.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=Fi(()=>r.delete(n))),ji(Jt,o)}}function _t(e,t,n,r,o,s){const i=Sr.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&X(e)){const a=Number(r);i.forEach((c,f)=>{(f==="length"||!Nt(f)&&f>=a)&&l.push(c)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":X(e)?Mo(n)&&l.push(i.get("length")):(l.push(i.get(Qt)),cn(e)&&l.push(i.get(vo)));break;case"delete":X(e)||(l.push(i.get(Qt)),cn(e)&&l.push(i.get(vo)));break;case"set":cn(e)&&l.push(i.get(Qt));break}$o();for(const a of l)a&&Vi(a,4);No()}function Ma(e,t){const n=Sr.get(e);return n&&n.get(t)}const Da=Ro("__proto__,__v_isRef,__isVue"),Bi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Nt)),_s=$a();function $a(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=fe(this);for(let s=0,i=this.length;s{e[t]=function(...n){jt(),$o();const r=fe(this)[t].apply(this,n);return No(),Vt(),r}}),e}function Na(e){Nt(e)||(e=String(e));const t=fe(this);return Ke(t,"has",e),t.hasOwnProperty(e)}class Wi{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?Qa:qi:s?Gi:Ki).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=X(t);if(!o){if(i&&ce(_s,n))return Reflect.get(_s,n,r);if(n==="hasOwnProperty")return Na}const l=Reflect.get(t,n,r);return(Nt(n)?Bi.has(n):Da(n))||(o||Ke(t,"get",n),s)?l:Ne(l)?i&&Mo(n)?l:l.value:ye(l)?o?$r(l):Yn(l):l}}class Ui extends Wi{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(!this._isShallow){const a=en(s);if(!mn(r)&&!en(r)&&(s=fe(s),r=fe(r)),!X(t)&&Ne(s)&&!Ne(r))return a?!1:(s.value=r,!0)}const i=X(t)&&Mo(n)?Number(n)e,Dr=e=>Reflect.getPrototypeOf(e);function ir(e,t,n=!1,r=!1){e=e.__v_raw;const o=fe(e),s=fe(t);n||(Mt(t,s)&&Ke(o,"get",t),Ke(o,"get",s));const{has:i}=Dr(o),l=r?Ho:n?Fo:jn;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 lr(e,t=!1){const n=this.__v_raw,r=fe(n),o=fe(e);return t||(Mt(e,o)&&Ke(r,"has",e),Ke(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function ar(e,t=!1){return e=e.__v_raw,!t&&Ke(fe(e),"iterate",Qt),Reflect.get(e,"size",e)}function bs(e,t=!1){!t&&!mn(e)&&!en(e)&&(e=fe(e));const n=fe(this);return Dr(n).has.call(n,e)||(n.add(e),_t(n,"add",e,e)),this}function ys(e,t,n=!1){!n&&!mn(t)&&!en(t)&&(t=fe(t));const r=fe(this),{has:o,get:s}=Dr(r);let i=o.call(r,e);i||(e=fe(e),i=o.call(r,e));const l=s.call(r,e);return r.set(e,t),i?Mt(t,l)&&_t(r,"set",e,t):_t(r,"add",e,t),this}function ws(e){const t=fe(this),{has:n,get:r}=Dr(t);let o=n.call(t,e);o||(e=fe(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&&_t(t,"delete",e,void 0),s}function Ss(){const e=fe(this),t=e.size!==0,n=e.clear();return t&&_t(e,"clear",void 0,void 0),n}function cr(e,t){return function(r,o){const s=this,i=s.__v_raw,l=fe(i),a=t?Ho:e?Fo:jn;return!e&&Ke(l,"iterate",Qt),i.forEach((c,f)=>r.call(o,a(c),a(f),s))}}function ur(e,t,n){return function(...r){const o=this.__v_raw,s=fe(o),i=cn(s),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,c=o[e](...r),f=n?Ho:t?Fo:jn;return!t&&Ke(s,"iterate",a?vo:Qt),{next(){const{value:u,done:p}=c.next();return p?{value:u,done:p}:{value:l?[f(u[0]),f(u[1])]:f(u),done:p}},[Symbol.iterator](){return this}}}}function Pt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ba(){const e={get(s){return ir(this,s)},get size(){return ar(this)},has:lr,add:bs,set:ys,delete:ws,clear:Ss,forEach:cr(!1,!1)},t={get(s){return ir(this,s,!1,!0)},get size(){return ar(this)},has:lr,add(s){return bs.call(this,s,!0)},set(s,i){return ys.call(this,s,i,!0)},delete:ws,clear:Ss,forEach:cr(!1,!0)},n={get(s){return ir(this,s,!0)},get size(){return ar(this,!0)},has(s){return lr.call(this,s,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:cr(!0,!1)},r={get(s){return ir(this,s,!0,!0)},get size(){return ar(this,!0)},has(s){return lr.call(this,s,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:cr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=ur(s,!1,!1),n[s]=ur(s,!0,!1),t[s]=ur(s,!1,!0),r[s]=ur(s,!0,!0)}),[e,n,t,r]}const[Wa,Ua,Ka,Ga]=Ba();function jo(e,t){const n=t?e?Ga:Ka:e?Ua:Wa;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 qa={get:jo(!1,!1)},za={get:jo(!1,!0)},Ja={get:jo(!0,!1)};const Ki=new WeakMap,Gi=new WeakMap,qi=new WeakMap,Qa=new WeakMap;function Ya(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Xa(e){return e.__v_skip||!Object.isExtensible(e)?0:Ya(ba(e))}function Yn(e){return en(e)?e:Vo(e,!1,ja,qa,Ki)}function zi(e){return Vo(e,!1,Fa,za,Gi)}function $r(e){return Vo(e,!0,Va,Ja,qi)}function Vo(e,t,n,r,o){if(!ye(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const i=Xa(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return o.set(e,l),l}function fn(e){return en(e)?fn(e.__v_raw):!!(e&&e.__v_isReactive)}function en(e){return!!(e&&e.__v_isReadonly)}function mn(e){return!!(e&&e.__v_isShallow)}function Ji(e){return e?!!e.__v_raw:!1}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function Za(e){return Object.isExtensible(e)&&Ri(e,"__v_skip",!0),e}const jn=e=>ye(e)?Yn(e):e,Fo=e=>ye(e)?$r(e):e;class Qi{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 Do(()=>t(this._value),()=>On(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=fe(this);return(!t._cacheable||t.effect.dirty)&&Mt(t._value,t._value=t.effect.run())&&On(t,4),Bo(t),t.effect._dirtyLevel>=2&&On(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function ec(e,t,n=!1){let r,o;const s=ne(e);return s?(r=e,o=tt):(r=e.get,o=e.set),new Qi(r,o,s||!o,n)}function Bo(e){var t;Ot&&Jt&&(e=fe(e),ji(Jt,(t=e.dep)!=null?t:e.dep=Fi(()=>e.dep=void 0,e instanceof Qi?e:void 0)))}function On(e,t=4,n,r){e=fe(e);const o=e.dep;o&&Vi(o,t)}function Ne(e){return!!(e&&e.__v_isRef===!0)}function ue(e){return Yi(e,!1)}function yn(e){return Yi(e,!0)}function Yi(e,t){return Ne(e)?e:new tc(e,t)}class tc{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:fe(t),this._value=n?t:jn(t)}get value(){return Bo(this),this._value}set value(t){const n=this.__v_isShallow||mn(t)||en(t);t=n?t:fe(t),Mt(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:jn(t),On(this,4))}}function Yt(e){return Ne(e)?e.value:e}const nc={get:(e,t,n)=>Yt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Ne(o)&&!Ne(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Xi(e){return fn(e)?e:new Proxy(e,nc)}class rc{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Bo(this),()=>On(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function oc(e){return new rc(e)}function Zi(e){const t=X(e)?new Array(e.length):{};for(const n in e)t[n]=el(e,n);return t}class sc{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 Ma(fe(this._object),this._key)}}class ic{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function lc(e,t,n){return Ne(e)?e:ne(e)?new ic(e):ye(e)&&arguments.length>1?el(e,t,n):ue(e)}function el(e,t,n){const r=e[t];return Ne(r)?r:new sc(e,t,n)}/** +* @vue/runtime-core v3.4.33 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function It(e,t,n,r){try{return r?e(...r):e()}catch(o){Xn(o,t,n)}}function nt(e,t,n,r){if(ne(e)){const o=It(e,t,n,r);return o&&xi(o)&&o.catch(s=>{Xn(s,t,n)}),o}if(X(e)){const o=[];for(let s=0;s>>1,o=He[r],s=Fn(o);sdt&&He.splice(t,1)}function fc(e){X(e)?dn.push(...e):(!Et||!Et.includes(e,e.allowRecurse?Gt+1:Gt))&&dn.push(e),nl()}function Cs(e,t,n=Vn?dt+1:0){for(;nFn(n)-Fn(r));if(dn.length=0,Et){Et.push(...t);return}for(Et=t,Gt=0;Gte.id==null?1/0:e.id,dc=(e,t)=>{const n=Fn(e)-Fn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function rl(e){_o=!1,Vn=!0,He.sort(dc);try{for(dt=0;dt{r._d&&Ns(-1);const s=Pr(t);let i;try{i=e(...o)}finally{Pr(s),r._d&&Ns(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function kr(e,t){if(Me===null)return e;const n=Wr(Me),r=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),Uo(()=>{e.isUnmounting=!0}),e}const Xe=[Function,Array],ol={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Xe,onEnter:Xe,onAfterEnter:Xe,onEnterCancelled:Xe,onBeforeLeave:Xe,onLeave:Xe,onAfterLeave:Xe,onLeaveCancelled:Xe,onBeforeAppear:Xe,onAppear:Xe,onAfterAppear:Xe,onAppearCancelled:Xe},sl=e=>{const t=e.subTree;return t.component?sl(t.component):t},mc={name:"BaseTransition",props:ol,setup(e,{slots:t}){const n=Br(),r=gc();return()=>{const o=t.default&&ll(t.default(),!0);if(!o||!o.length)return;let s=o[0];if(o.length>1){for(const p of o)if(p.type!==Ve){s=p;break}}const i=fe(e),{mode:l}=i;if(r.isLeaving)return Zr(s);const a=Ps(s);if(!a)return Zr(s);let c=bo(a,i,r,n,p=>c=p);Lr(a,c);const f=n.subTree,u=f&&Ps(f);if(u&&u.type!==Ve&&!qt(a,u)&&sl(n).type!==Ve){const p=bo(u,i,r,n);if(Lr(u,p),l==="out-in"&&a.type!==Ve)return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Zr(s);l==="in-out"&&a.type!==Ve&&(p.delayLeave=(g,_,S)=>{const k=il(r,u);k[String(u.key)]=u,g[xt]=()=>{_(),g[xt]=void 0,delete c.delayedLeave},c.delayedLeave=S})}return s}}},vc=mc;function il(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 bo(e,t,n,r,o){const{appear:s,mode:i,persisted:l=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:f,onEnterCancelled:u,onBeforeLeave:p,onLeave:g,onAfterLeave:_,onLeaveCancelled:S,onBeforeAppear:k,onAppear:R,onAfterAppear:b,onAppearCancelled:m}=t,w=String(e.key),j=il(n,e),I=(V,L)=>{V&&nt(V,r,9,L)},G=(V,L)=>{const U=L[1];I(V,L),X(V)?V.every(T=>T.length<=1)&&U():V.length<=1&&U()},Z={mode:i,persisted:l,beforeEnter(V){let L=a;if(!n.isMounted)if(s)L=k||a;else return;V[xt]&&V[xt](!0);const U=j[w];U&&qt(e,U)&&U.el[xt]&&U.el[xt](),I(L,[V])},enter(V){let L=c,U=f,T=u;if(!n.isMounted)if(s)L=R||c,U=b||f,T=m||u;else return;let ee=!1;const ve=V[fr]=_e=>{ee||(ee=!0,_e?I(T,[V]):I(U,[V]),Z.delayedLeave&&Z.delayedLeave(),V[fr]=void 0)};L?G(L,[V,ve]):ve()},leave(V,L){const U=String(e.key);if(V[fr]&&V[fr](!0),n.isUnmounting)return L();I(p,[V]);let T=!1;const ee=V[xt]=ve=>{T||(T=!0,L(),ve?I(S,[V]):I(_,[V]),V[xt]=void 0,j[U]===e&&delete j[U])};j[U]=e,g?G(g,[V,ee]):ee()},clone(V){const L=bo(V,t,n,r,o);return o&&o(L),L}};return Z}function Zr(e){if(Zn(e))return e=Dt(e),e.children=null,e}function Ps(e){if(!Zn(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 Lr(e,t){e.shapeFlag&6&&e.component?Lr(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 ll(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 _c(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,c,f=0;const u=()=>(f++,a=null,p()),p=()=>{let g;return a||(g=a=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),l)return new Promise((S,k)=>{l(_,()=>S(u()),()=>k(_),f+1)});throw _}).then(_=>g!==a&&a?a:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),c=_,_)))};return he({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return c},setup(){const g=Ie;if(c)return()=>eo(c,g);const _=b=>{a=null,Xn(b,g,13,!r)};if(i&&g.suspense||tr)return p().then(b=>()=>eo(b,g)).catch(b=>(_(b),()=>r?te(r,{error:b}):null));const S=ue(!1),k=ue(),R=ue(!!o);return o&&setTimeout(()=>{R.value=!1},o),s!=null&&setTimeout(()=>{if(!S.value&&!k.value){const b=new Error(`Async component timed out after ${s}ms.`);_(b),k.value=b}},s),p().then(()=>{S.value=!0,g.parent&&Zn(g.parent.vnode)&&(g.parent.effect.dirty=!0,Nr(g.parent.update))}).catch(b=>{_(b),k.value=b}),()=>{if(S.value&&c)return eo(c,g);if(k.value&&r)return te(r,{error:k.value});if(n&&!R.value)return te(n)}}})}function eo(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 Zn=e=>e.type.__isKeepAlive;function bc(e,t){al(e,"a",t)}function yc(e,t){al(e,"da",t)}function al(e,t,n=Ie){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(jr(t,r,n),n){let o=n.parent;for(;o&&o.parent;)Zn(o.parent.vnode)&&wc(r,t,n,o),o=o.parent}}function wc(e,t,n,r){const o=jr(t,e,r,!0);Vr(()=>{Io(r[t],o)},n)}function jr(e,t,n=Ie,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{jt();const l=er(n),a=nt(t,n,e,i);return l(),Vt(),a});return r?o.unshift(s):o.push(s),s}}const wt=e=>(t,n=Ie)=>{(!tr||e==="sp")&&jr(e,(...r)=>t(...r),n)},Sc=wt("bm"),Ge=wt("m"),Cc=wt("bu"),Pc=wt("u"),Uo=wt("bum"),Vr=wt("um"),kc=wt("sp"),Lc=wt("rtg"),Ec=wt("rtc");function xc(e,t=Ie){jr("ec",e,t)}const Ac="components";function Ko(e,t){return Rc(Ac,e,!0,t)||e}const Tc=Symbol.for("v-ndc");function Rc(e,t,n=!0,r=!1){const o=Me||Ie;if(o){const s=o.type;{const l=Cu(s,!1);if(l&&(l===t||l===Qe(t)||l===Jn(Qe(t))))return s}const i=ks(o[e]||s[e],t)||ks(o.appContext[e],t);return!i&&r?s:i}}function ks(e,t){return e&&(e[t]||e[Qe(t)]||e[Jn(Qe(t))])}function bt(e,t,n,r){let o;const s=n;if(X(e)||Te(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;lAr(t)?!(t.type===Ve||t.type===be&&!cl(t.children)):!0)?e:null}const yo=e=>e?Al(e)?Wr(e):yo(e.parent):null,In=De(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=>yo(e.parent),$root:e=>yo(e.root),$emit:e=>e.emit,$options:e=>Go(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Nr(e.update)}),$nextTick:e=>e.n||(e.n=wn.bind(e.proxy)),$watch:e=>ru.bind(e)}),to=(e,t)=>e!==Pe&&!e.__isScriptSetup&&ce(e,t),Oc={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 c;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(to(r,t))return i[t]=1,r[t];if(o!==Pe&&ce(o,t))return i[t]=2,o[t];if((c=e.propsOptions[0])&&ce(c,t))return i[t]=3,s[t];if(n!==Pe&&ce(n,t))return i[t]=4,n[t];wo&&(i[t]=0)}}const f=In[t];let u,p;if(f)return t==="$attrs"&&Ke(e.attrs,"get",""),f(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==Pe&&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 to(o,t)?(o[t]=n,!0):r!==Pe&&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!==Pe&&ce(e,i)||to(t,i)||(l=s[0])&&ce(l,i)||ce(r,i)||ce(In,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 Ls(e){return X(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let wo=!0;function Ic(e){const t=Go(e),n=e.proxy,r=e.ctx;wo=!1,t.beforeCreate&&Es(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:l,provide:a,inject:c,created:f,beforeMount:u,mounted:p,beforeUpdate:g,updated:_,activated:S,deactivated:k,beforeDestroy:R,beforeUnmount:b,destroyed:m,unmounted:w,render:j,renderTracked:I,renderTriggered:G,errorCaptured:Z,serverPrefetch:V,expose:L,inheritAttrs:U,components:T,directives:ee,filters:ve}=t;if(c&&Mc(c,r,null),i)for(const oe in i){const K=i[oe];ne(K)&&(r[oe]=K.bind(n))}if(o){const oe=o.call(n,n);ye(oe)&&(e.data=Yn(oe))}if(wo=!0,s)for(const oe in s){const K=s[oe],rt=ne(K)?K.bind(n,n):ne(K.get)?K.get.bind(n,n):tt,Ct=!ne(K)&&ne(K.set)?K.set.bind(n):tt,ct=A({get:rt,set:Ct});Object.defineProperty(r,oe,{enumerable:!0,configurable:!0,get:()=>ct.value,set:We=>ct.value=We})}if(l)for(const oe in l)ul(l[oe],r,n,oe);if(a){const oe=ne(a)?a.call(n):a;Reflect.ownKeys(oe).forEach(K=>{Xt(K,oe[K])})}f&&Es(f,e,"c");function J(oe,K){X(K)?K.forEach(rt=>oe(rt.bind(n))):K&&oe(K.bind(n))}if(J(Sc,u),J(Ge,p),J(Cc,g),J(Pc,_),J(bc,S),J(yc,k),J(xc,Z),J(Ec,I),J(Lc,G),J(Uo,b),J(Vr,w),J(kc,V),X(L))if(L.length){const oe=e.exposed||(e.exposed={});L.forEach(K=>{Object.defineProperty(oe,K,{get:()=>n[K],set:rt=>n[K]=rt})})}else e.exposed||(e.exposed={});j&&e.render===tt&&(e.render=j),U!=null&&(e.inheritAttrs=U),T&&(e.components=T),ee&&(e.directives=ee)}function Mc(e,t,n=tt){X(e)&&(e=So(e));for(const r in e){const o=e[r];let s;ye(o)?"default"in o?s=Be(o.from||r,o.default,!0):s=Be(o.from||r):s=Be(o),Ne(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Es(e,t,n){nt(X(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function ul(e,t,n,r){const o=r.includes(".")?Pl(n,r):()=>n[r];if(Te(e)){const s=t[e];ne(s)&&$e(o,s)}else if(ne(e))$e(o,e.bind(n));else if(ye(e))if(X(e))e.forEach(s=>ul(s,t,n,r));else{const s=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(s)&&$e(o,s,e)}}function Go(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(c=>Er(a,c,i,!0)),Er(a,t,i)),ye(t)&&s.set(t,a),a}function Er(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Er(e,s,n,!0),o&&o.forEach(i=>Er(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Dc[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Dc={data:xs,props:As,emits:As,methods:Tn,computed:Tn,beforeCreate:je,created:je,beforeMount:je,mounted:je,beforeUpdate:je,updated:je,beforeDestroy:je,beforeUnmount:je,destroyed:je,unmounted:je,activated:je,deactivated:je,errorCaptured:je,serverPrefetch:je,components:Tn,directives:Tn,watch:Nc,provide:xs,inject:$c};function xs(e,t){return t?e?function(){return De(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function $c(e,t){return Tn(So(e),So(t))}function So(e){if(X(e)){const t={};for(let n=0;n1)return n&&ne(t)?t.call(r&&r.proxy):t}}const dl={},hl=()=>Object.create(dl),pl=e=>Object.getPrototypeOf(e)===dl;function Vc(e,t,n,r=!1){const o={},s=hl();e.propsDefaults=Object.create(null),gl(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:zi(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function Fc(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,l=fe(o),[a]=e.propsOptions;let c=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let u=0;u{a=!0;const[p,g]=ml(u,t,!0);De(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 ye(e)&&r.set(e,an),an;if(X(s))for(let f=0;f-1,g[1]=S<0||_-1||ce(g,"default"))&&l.push(u)}}}const c=[i,l];return ye(e)&&r.set(e,c),c}function Ts(e){return e[0]!=="$"&&!un(e)}function Rs(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Os(e,t){return Rs(e)===Rs(t)}function Is(e,t){return X(t)?t.findIndex(n=>Os(n,e)):ne(t)&&Os(t,e)?0:-1}const vl=e=>e[0]==="_"||e==="$stable",qo=e=>X(e)?e.map(et):[et(e)],Wc=(e,t,n)=>{if(t._n)return t;const r=xe((...o)=>qo(t(...o)),n);return r._c=!1,r},_l=(e,t,n)=>{const r=e._ctx;for(const o in e){if(vl(o))continue;const s=e[o];if(ne(s))t[o]=Wc(o,s,r);else if(s!=null){const i=qo(s);t[o]=()=>i}}},bl=(e,t)=>{const n=qo(t);e.slots.default=()=>n},yl=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},Uc=(e,t,n)=>{const r=e.slots=hl();if(e.vnode.shapeFlag&32){const o=t._;o?(yl(r,t,n),n&&Ri(r,"_",o,!0)):_l(t,r)}else t&&bl(e,t)},Kc=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=Pe;if(r.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:yl(o,t,n):(s=!t.$stable,_l(t,o)),i=t}else t&&(bl(e,t),i={default:1});if(s)for(const l in o)!vl(l)&&i[l]==null&&delete o[l]};function xr(e,t,n,r,o=!1){if(X(e)){e.forEach((p,g)=>xr(p,t&&(X(t)?t[g]:t),n,r,o));return}if(hn(r)&&!o)return;const s=r.shapeFlag&4?Wr(r.component):r.el,i=o?null:s,{i:l,r:a}=e,c=t&&t.r,f=l.refs===Pe?l.refs={}:l.refs,u=l.setupState;if(c!=null&&c!==a&&(Te(c)?(f[c]=null,ce(u,c)&&(u[c]=null)):Ne(c)&&(c.value=null)),ne(a))It(a,l,12,[i,f]);else{const p=Te(a),g=Ne(a);if(p||g){const _=()=>{if(e.f){const S=p?ce(u,a)?u[a]:f[a]:a.value;o?X(S)&&Io(S,s):X(S)?S.includes(s)||S.push(s):p?(f[a]=[s],ce(u,a)&&(u[a]=f[a])):(a.value=[s],e.k&&(f[e.k]=a.value))}else p?(f[a]=i,ce(u,a)&&(u[a]=i)):g&&(a.value=i,e.k&&(f[e.k]=i))};i?(_.id=-1,Ue(_,n)):_()}}}const Gc=Symbol("_vte"),qc=e=>e.__isTeleport;let Ms=!1;const sn=()=>{Ms||(console.error("Hydration completed but contains mismatches."),Ms=!0)},zc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Jc=e=>e.namespaceURI.includes("MathML"),dr=e=>{if(zc(e))return"svg";if(Jc(e))return"mathml"},hr=e=>e.nodeType===8;function Qc(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:l,insert:a,createComment:c}}=e,f=(m,w)=>{if(!w.hasChildNodes()){n(null,m,w),Cr(),w._vnode=m;return}u(w.firstChild,m,null,null,null),Cr(),w._vnode=m},u=(m,w,j,I,G,Z=!1)=>{Z=Z||!!w.dynamicChildren;const V=hr(m)&&m.data==="[",L=()=>S(m,w,j,I,G,V),{type:U,ref:T,shapeFlag:ee,patchFlag:ve}=w;let _e=m.nodeType;w.el=m,ve===-2&&(Z=!1,w.dynamicChildren=null);let J=null;switch(U){case Zt:_e!==3?w.children===""?(a(w.el=o(""),i(m),m),J=m):J=L():(m.data!==w.children&&(sn(),m.data=w.children),J=s(m));break;case Ve:b(m)?(J=s(m),R(w.el=m.content.firstChild,m,j)):_e!==8||V?J=L():J=s(m);break;case Dn:if(V&&(m=s(m),_e=m.nodeType),_e===1||_e===3){J=m;const oe=!w.children.length;for(let K=0;K{Z=Z||!!w.dynamicChildren;const{type:V,props:L,patchFlag:U,shapeFlag:T,dirs:ee,transition:ve}=w,_e=V==="input"||V==="option";if(_e||U!==-1){ee&&ft(w,null,j,"created");let J=!1;if(b(m)){J=wl(I,ve)&&j&&j.vnode.props&&j.vnode.props.appear;const K=m.content.firstChild;J&&ve.beforeEnter(K),R(K,m,j),w.el=m=K}if(T&16&&!(L&&(L.innerHTML||L.textContent))){let K=g(m.firstChild,w,m,j,I,G,Z);for(;K;){sn();const rt=K;K=K.nextSibling,l(rt)}}else T&8&&m.textContent!==w.children&&(sn(),m.textContent=w.children);if(L){if(_e||!Z||U&48)for(const K in L)(_e&&(K.endsWith("value")||K==="indeterminate")||zn(K)&&!un(K)||K[0]===".")&&r(m,K,null,L[K],void 0,j);else if(L.onClick)r(m,"onClick",null,L.onClick,void 0,j);else if(U&4&&fn(L.style))for(const K in L.style)L.style[K]}let oe;(oe=L&&L.onVnodeBeforeMount)&&Ze(oe,j,w),ee&&ft(w,null,j,"beforeMount"),((oe=L&&L.onVnodeMounted)||ee||J)&&Ll(()=>{oe&&Ze(oe,j,w),J&&ve.enter(m),ee&&ft(w,null,j,"mounted")},I)}return m.nextSibling},g=(m,w,j,I,G,Z,V)=>{V=V||!!w.dynamicChildren;const L=w.children,U=L.length;for(let T=0;T{const{slotScopeIds:V}=w;V&&(G=G?G.concat(V):V);const L=i(m),U=g(s(m),w,L,j,I,G,Z);return U&&hr(U)&&U.data==="]"?s(w.anchor=U):(sn(),a(w.anchor=c("]"),L,U),U)},S=(m,w,j,I,G,Z)=>{if(sn(),w.el=null,Z){const U=k(m);for(;;){const T=s(m);if(T&&T!==U)l(T);else break}}const V=s(m),L=i(m);return l(m),n(null,w,L,V,j,I,dr(L),G),V},k=(m,w="[",j="]")=>{let I=0;for(;m;)if(m=s(m),m&&hr(m)&&(m.data===w&&I++,m.data===j)){if(I===0)return s(m);I--}return m},R=(m,w,j)=>{const I=w.parentNode;I&&I.replaceChild(m,w);let G=j;for(;G;)G.vnode.el===w&&(G.vnode.el=G.subTree.el=m),G=G.parent},b=m=>m.nodeType===1&&m.tagName.toLowerCase()==="template";return[f,u]}const Ue=Ll;function Yc(e){return Xc(e,Qc)}function Xc(e,t){const n=Oi();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:l,createComment:a,setText:c,setElementText:f,parentNode:u,nextSibling:p,setScopeId:g=tt,insertStaticContent:_}=e,S=(d,h,v,P=null,y=null,x=null,N=void 0,M=null,D=!!h.dynamicChildren)=>{if(d===h)return;d&&!qt(d,h)&&(P=C(d),We(d,y,x,!0),d=null),h.patchFlag===-2&&(D=!1,h.dynamicChildren=null);const{type:E,ref:B,shapeFlag:Q}=h;switch(E){case Zt:k(d,h,v,P);break;case Ve:R(d,h,v,P);break;case Dn:d==null&&b(h,v,P,N);break;case be:T(d,h,v,P,y,x,N,M,D);break;default:Q&1?j(d,h,v,P,y,x,N,M,D):Q&6?ee(d,h,v,P,y,x,N,M,D):(Q&64||Q&128)&&E.process(d,h,v,P,y,x,N,M,D,q)}B!=null&&y&&xr(B,d&&d.ref,x,h||d,!h)},k=(d,h,v,P)=>{if(d==null)r(h.el=l(h.children),v,P);else{const y=h.el=d.el;h.children!==d.children&&c(y,h.children)}},R=(d,h,v,P)=>{d==null?r(h.el=a(h.children||""),v,P):h.el=d.el},b=(d,h,v,P)=>{[d.el,d.anchor]=_(d.children,h,v,P,d.el,d.anchor)},m=({el:d,anchor:h},v,P)=>{let y;for(;d&&d!==h;)y=p(d),r(d,v,P),d=y;r(h,v,P)},w=({el:d,anchor:h})=>{let v;for(;d&&d!==h;)v=p(d),o(d),d=v;o(h)},j=(d,h,v,P,y,x,N,M,D)=>{h.type==="svg"?N="svg":h.type==="math"&&(N="mathml"),d==null?I(h,v,P,y,x,N,M,D):V(d,h,y,x,N,M,D)},I=(d,h,v,P,y,x,N,M)=>{let D,E;const{props:B,shapeFlag:Q,transition:z,dirs:re}=d;if(D=d.el=i(d.type,x,B&&B.is,B),Q&8?f(D,d.children):Q&16&&Z(d.children,D,null,P,y,no(d,x),N,M),re&&ft(d,null,P,"created"),G(D,d,d.scopeId,N,P),B){for(const Se in B)Se!=="value"&&!un(Se)&&s(D,Se,null,B[Se],x,P);"value"in B&&s(D,"value",null,B.value,x),(E=B.onVnodeBeforeMount)&&Ze(E,P,d)}re&&ft(d,null,P,"beforeMount");const se=wl(y,z);se&&z.beforeEnter(D),r(D,h,v),((E=B&&B.onVnodeMounted)||se||re)&&Ue(()=>{E&&Ze(E,P,d),se&&z.enter(D),re&&ft(d,null,P,"mounted")},y)},G=(d,h,v,P,y)=>{if(v&&g(d,v),P)for(let x=0;x{for(let E=D;E{const M=h.el=d.el;let{patchFlag:D,dynamicChildren:E,dirs:B}=h;D|=d.patchFlag&16;const Q=d.props||Pe,z=h.props||Pe;let re;if(v&&Bt(v,!1),(re=z.onVnodeBeforeUpdate)&&Ze(re,v,h,d),B&&ft(h,d,v,"beforeUpdate"),v&&Bt(v,!0),(Q.innerHTML&&z.innerHTML==null||Q.textContent&&z.textContent==null)&&f(M,""),E?L(d.dynamicChildren,E,M,v,P,no(h,y),x):N||K(d,h,M,null,v,P,no(h,y),x,!1),D>0){if(D&16)U(M,Q,z,v,y);else if(D&2&&Q.class!==z.class&&s(M,"class",null,z.class,y),D&4&&s(M,"style",Q.style,z.style,y),D&8){const se=h.dynamicProps;for(let Se=0;Se{re&&Ze(re,v,h,d),B&&ft(h,d,v,"updated")},P)},L=(d,h,v,P,y,x,N)=>{for(let M=0;M{if(h!==v){if(h!==Pe)for(const x in h)!un(x)&&!(x in v)&&s(d,x,h[x],null,y,P);for(const x in v){if(un(x))continue;const N=v[x],M=h[x];N!==M&&x!=="value"&&s(d,x,M,N,y,P)}"value"in v&&s(d,"value",h.value,v.value,y)}},T=(d,h,v,P,y,x,N,M,D)=>{const E=h.el=d?d.el:l(""),B=h.anchor=d?d.anchor:l("");let{patchFlag:Q,dynamicChildren:z,slotScopeIds:re}=h;re&&(M=M?M.concat(re):re),d==null?(r(E,v,P),r(B,v,P),Z(h.children||[],v,B,y,x,N,M,D)):Q>0&&Q&64&&z&&d.dynamicChildren?(L(d.dynamicChildren,z,v,y,x,N,M),(h.key!=null||y&&h===y.subTree)&&Sl(d,h,!0)):K(d,h,v,B,y,x,N,M,D)},ee=(d,h,v,P,y,x,N,M,D)=>{h.slotScopeIds=M,d==null?h.shapeFlag&512?y.ctx.activate(h,v,P,N,D):ve(h,v,P,y,x,N,D):_e(d,h,D)},ve=(d,h,v,P,y,x,N)=>{const M=d.component=_u(d,P,y);if(Zn(d)&&(M.ctx.renderer=q),bu(M,!1,N),M.asyncDep){if(y&&y.registerDep(M,J,N),!d.el){const D=M.subTree=te(Ve);R(null,D,h,v)}}else J(M,d,h,v,y,x,N)},_e=(d,h,v)=>{const P=h.component=d.component;if(au(d,h,v))if(P.asyncDep&&!P.asyncResolved){oe(P,h,v);return}else P.next=h,uc(P.update),P.effect.dirty=!0,P.update();else h.el=d.el,P.vnode=h},J=(d,h,v,P,y,x,N)=>{const M=()=>{if(d.isMounted){let{next:B,bu:Q,u:z,parent:re,vnode:se}=d;{const on=Cl(d);if(on){B&&(B.el=se.el,oe(d,B,N)),on.asyncDep.then(()=>{d.isUnmounted||M()});return}}let Se=B,ge;Bt(d,!1),B?(B.el=se.el,oe(d,B,N)):B=se,Q&&Yr(Q),(ge=B.props&&B.props.onVnodeBeforeUpdate)&&Ze(ge,re,B,se),Bt(d,!0);const Oe=ro(d),ot=d.subTree;d.subTree=Oe,S(ot,Oe,u(ot.el),C(ot),d,y,x),B.el=Oe.el,Se===null&&cu(d,Oe.el),z&&Ue(z,y),(ge=B.props&&B.props.onVnodeUpdated)&&Ue(()=>Ze(ge,re,B,se),y)}else{let B;const{el:Q,props:z}=h,{bm:re,m:se,parent:Se}=d,ge=hn(h);if(Bt(d,!1),re&&Yr(re),!ge&&(B=z&&z.onVnodeBeforeMount)&&Ze(B,Se,h),Bt(d,!0),Q&&Ce){const Oe=()=>{d.subTree=ro(d),Ce(Q,d.subTree,d,y,null)};ge?h.type.__asyncLoader().then(()=>!d.isUnmounted&&Oe()):Oe()}else{const Oe=d.subTree=ro(d);S(null,Oe,v,P,d,y,x),h.el=Oe.el}if(se&&Ue(se,y),!ge&&(B=z&&z.onVnodeMounted)){const Oe=h;Ue(()=>Ze(B,Se,Oe),y)}(h.shapeFlag&256||Se&&hn(Se.vnode)&&Se.vnode.shapeFlag&256)&&d.a&&Ue(d.a,y),d.isMounted=!0,h=v=P=null}},D=d.effect=new Do(M,tt,()=>Nr(E),d.scope),E=d.update=()=>{D.dirty&&D.run()};E.i=d,E.id=d.uid,Bt(d,!0),E()},oe=(d,h,v)=>{h.component=d;const P=d.vnode.props;d.vnode=h,d.next=null,Fc(d,h.props,P,v),Kc(d,h.children,v),jt(),Cs(d),Vt()},K=(d,h,v,P,y,x,N,M,D=!1)=>{const E=d&&d.children,B=d?d.shapeFlag:0,Q=h.children,{patchFlag:z,shapeFlag:re}=h;if(z>0){if(z&128){Ct(E,Q,v,P,y,x,N,M,D);return}else if(z&256){rt(E,Q,v,P,y,x,N,M,D);return}}re&8?(B&16&&Ye(E,y,x),Q!==E&&f(v,Q)):B&16?re&16?Ct(E,Q,v,P,y,x,N,M,D):Ye(E,y,x,!0):(B&8&&f(v,""),re&16&&Z(Q,v,P,y,x,N,M,D))},rt=(d,h,v,P,y,x,N,M,D)=>{d=d||an,h=h||an;const E=d.length,B=h.length,Q=Math.min(E,B);let z;for(z=0;zB?Ye(d,y,x,!0,!1,Q):Z(h,v,P,y,x,N,M,D,Q)},Ct=(d,h,v,P,y,x,N,M,D)=>{let E=0;const B=h.length;let Q=d.length-1,z=B-1;for(;E<=Q&&E<=z;){const re=d[E],se=h[E]=D?At(h[E]):et(h[E]);if(qt(re,se))S(re,se,v,null,y,x,N,M,D);else break;E++}for(;E<=Q&&E<=z;){const re=d[Q],se=h[z]=D?At(h[z]):et(h[z]);if(qt(re,se))S(re,se,v,null,y,x,N,M,D);else break;Q--,z--}if(E>Q){if(E<=z){const re=z+1,se=rez)for(;E<=Q;)We(d[E],y,x,!0),E++;else{const re=E,se=E,Se=new Map;for(E=se;E<=z;E++){const qe=h[E]=D?At(h[E]):et(h[E]);qe.key!=null&&Se.set(qe.key,E)}let ge,Oe=0;const ot=z-se+1;let on=!1,ds=0;const Pn=new Array(ot);for(E=0;E=ot){We(qe,y,x,!0);continue}let ut;if(qe.key!=null)ut=Se.get(qe.key);else for(ge=se;ge<=z;ge++)if(Pn[ge-se]===0&&qt(qe,h[ge])){ut=ge;break}ut===void 0?We(qe,y,x,!0):(Pn[ut-se]=E+1,ut>=ds?ds=ut:on=!0,S(qe,h[ut],v,null,y,x,N,M,D),Oe++)}const hs=on?Zc(Pn):an;for(ge=hs.length-1,E=ot-1;E>=0;E--){const qe=se+E,ut=h[qe],ps=qe+1{const{el:x,type:N,transition:M,children:D,shapeFlag:E}=d;if(E&6){ct(d.component.subTree,h,v,P);return}if(E&128){d.suspense.move(h,v,P);return}if(E&64){N.move(d,h,v,q);return}if(N===be){r(x,h,v);for(let Q=0;QM.enter(x),y);else{const{leave:Q,delayLeave:z,afterLeave:re}=M,se=()=>r(x,h,v),Se=()=>{Q(x,()=>{se(),re&&re()})};z?z(x,se,Se):Se()}else r(x,h,v)},We=(d,h,v,P=!1,y=!1)=>{const{type:x,props:N,ref:M,children:D,dynamicChildren:E,shapeFlag:B,patchFlag:Q,dirs:z,cacheIndex:re}=d;if(Q===-2&&(y=!1),M!=null&&xr(M,null,v,d,!0),re!=null&&(h.renderCache[re]=void 0),B&256){h.ctx.deactivate(d);return}const se=B&1&&z,Se=!hn(d);let ge;if(Se&&(ge=N&&N.onVnodeBeforeUnmount)&&Ze(ge,h,d),B&6)sr(d.component,v,P);else{if(B&128){d.suspense.unmount(v,P);return}se&&ft(d,null,h,"beforeUnmount"),B&64?d.type.remove(d,h,v,q,P):E&&!E.hasOnce&&(x!==be||Q>0&&Q&64)?Ye(E,h,v,!1,!0):(x===be&&Q&384||!y&&B&16)&&Ye(D,h,v),P&&nn(d)}(Se&&(ge=N&&N.onVnodeUnmounted)||se)&&Ue(()=>{ge&&Ze(ge,h,d),se&&ft(d,null,h,"unmounted")},v)},nn=d=>{const{type:h,el:v,anchor:P,transition:y}=d;if(h===be){rn(v,P);return}if(h===Dn){w(d);return}const x=()=>{o(v),y&&!y.persisted&&y.afterLeave&&y.afterLeave()};if(d.shapeFlag&1&&y&&!y.persisted){const{leave:N,delayLeave:M}=y,D=()=>N(v,x);M?M(d.el,x,D):D()}else x()},rn=(d,h)=>{let v;for(;d!==h;)v=p(d),o(d),d=v;o(h)},sr=(d,h,v)=>{const{bum:P,scope:y,update:x,subTree:N,um:M,m:D,a:E}=d;Ds(D),Ds(E),P&&Yr(P),y.stop(),x&&(x.active=!1,We(N,d,h,v)),M&&Ue(M,h),Ue(()=>{d.isUnmounted=!0},h),h&&h.pendingBranch&&!h.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===h.pendingId&&(h.deps--,h.deps===0&&h.resolve())},Ye=(d,h,v,P=!1,y=!1,x=0)=>{for(let N=x;N{if(d.shapeFlag&6)return C(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const h=p(d.anchor||d.el),v=h&&h[Gc];return v?p(v):h};let F=!1;const H=(d,h,v)=>{d==null?h._vnode&&We(h._vnode,null,null,!0):S(h._vnode||null,d,h,null,null,null,v),F||(F=!0,Cs(),Cr(),F=!1),h._vnode=d},q={p:S,um:We,m:ct,r:nn,mt:ve,mc:Z,pc:K,pbc:L,n:C,o:e};let pe,Ce;return t&&([pe,Ce]=t(q)),{render:H,hydrate:pe,createApp:jc(H,pe)}}function no({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 Bt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function wl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Sl(e,t,n=!1){const r=e.children,o=t.children;if(X(r)&&X(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 Cl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Cl(t)}function Ds(e){if(e)for(let t=0;tBe(eu);function nu(e,t){return zo(e,null,t)}const pr={};function $e(e,t,n){return zo(e,t,n)}function zo(e,t,{immediate:n,deep:r,flush:o,once:s,onTrack:i,onTrigger:l}=Pe){if(t&&s){const I=t;t=(...G)=>{I(...G),j()}}const a=Ie,c=I=>r===!0?I:Rt(I,r===!1?1:void 0);let f,u=!1,p=!1;if(Ne(e)?(f=()=>e.value,u=mn(e)):fn(e)?(f=()=>c(e),u=!0):X(e)?(p=!0,u=e.some(I=>fn(I)||mn(I)),f=()=>e.map(I=>{if(Ne(I))return I.value;if(fn(I))return c(I);if(ne(I))return It(I,a,2)})):ne(e)?t?f=()=>It(e,a,2):f=()=>(g&&g(),nt(e,a,3,[_])):f=tt,t&&r){const I=f;f=()=>Rt(I())}let g,_=I=>{g=m.onStop=()=>{It(I,a,4),g=m.onStop=void 0}},S;if(tr)if(_=tt,t?n&&nt(t,a,3,[f(),p?[]:void 0,_]):f(),o==="sync"){const I=tu();S=I.__watcherHandles||(I.__watcherHandles=[])}else return tt;let k=p?new Array(e.length).fill(pr):pr;const R=()=>{if(!(!m.active||!m.dirty))if(t){const I=m.run();(r||u||(p?I.some((G,Z)=>Mt(G,k[Z])):Mt(I,k)))&&(g&&g(),nt(t,a,3,[I,k===pr?void 0:p&&k[0]===pr?[]:k,_]),k=I)}else m.run()};R.allowRecurse=!!t;let b;o==="sync"?b=R:o==="post"?b=()=>Ue(R,a&&a.suspense):(R.pre=!0,a&&(R.id=a.uid),b=()=>Nr(R));const m=new Do(f,tt,b),w=$i(),j=()=>{m.stop(),w&&Io(w.effects,m)};return t?n?R():k=m.run():o==="post"?Ue(m.run.bind(m),a&&a.suspense):m.run(),S&&S.push(j),j}function ru(e,t,n){const r=this.proxy,o=Te(e)?e.includes(".")?Pl(r,e):()=>r[e]:e.bind(r,r);let s;ne(t)?s=t:(s=t.handler,n=t);const i=er(this),l=zo(o,s.bind(r),n);return i(),l}function Pl(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{Rt(r,t,n)});else if(Ti(e)){for(const r in e)Rt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Rt(e[r],t,n)}return e}const ou=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Qe(t)}Modifiers`]||e[`${Ht(t)}Modifiers`];function su(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Pe;let o=n;const s=t.startsWith("update:"),i=s&&ou(r,t.slice(7));i&&(i.trim&&(o=n.map(f=>Te(f)?f.trim():f)),i.number&&(o=n.map(Sa)));let l,a=r[l=Qr(t)]||r[l=Qr(Qe(t))];!a&&s&&(a=r[l=Qr(Ht(t))]),a&&nt(a,e,6,o);const c=r[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,nt(c,e,6,o)}}function kl(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=c=>{const f=kl(c,t,!0);f&&(l=!0,De(i,f))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!s&&!l?(ye(e)&&r.set(e,null),null):(X(s)?s.forEach(a=>i[a]=null):De(i,s),ye(e)&&r.set(e,i),i)}function Fr(e,t){return!e||!zn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,Ht(t))||ce(e,t))}function ro(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[s],slots:i,attrs:l,emit:a,render:c,renderCache:f,props:u,data:p,setupState:g,ctx:_,inheritAttrs:S}=e,k=Pr(e);let R,b;try{if(n.shapeFlag&4){const w=o||r,j=w;R=et(c.call(j,w,f,u,g,p,_)),b=l}else{const w=t;R=et(w.length>1?w(u,{attrs:l,slots:i,emit:a}):w(u,null)),b=t.props?l:iu(l)}}catch(w){$n.length=0,Xn(w,e,1),R=te(Ve)}let m=R;if(b&&S!==!1){const w=Object.keys(b),{shapeFlag:j}=m;w.length&&j&7&&(s&&w.some(Oo)&&(b=lu(b,s)),m=Dt(m,b,!1,!0))}return n.dirs&&(m=Dt(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(n.dirs):n.dirs),n.transition&&(m.transition=n.transition),R=m,Pr(k),R}const iu=e=>{let t;for(const n in e)(n==="class"||n==="style"||zn(n))&&((t||(t={}))[n]=e[n]);return t},lu=(e,t)=>{const n={};for(const r in e)(!Oo(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function au(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:l,patchFlag:a}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return r?$s(r,i,c):!!i;if(a&8){const f=t.dynamicProps;for(let u=0;ue.__isSuspense;function Ll(e,t){t&&t.pendingBranch?X(e)?t.effects.push(...e):t.effects.push(e):fc(e)}const be=Symbol.for("v-fgt"),Zt=Symbol.for("v-txt"),Ve=Symbol.for("v-cmt"),Dn=Symbol.for("v-stc"),$n=[];let Je=null;function $(e=!1){$n.push(Je=e?null:[])}function fu(){$n.pop(),Je=$n[$n.length-1]||null}let Bn=1;function Ns(e){Bn+=e,e<0&&Je&&(Je.hasOnce=!0)}function El(e){return e.dynamicChildren=Bn>0?Je||an:null,fu(),Bn>0&&Je&&Je.push(e),e}function Y(e,t,n,r,o,s){return El(W(e,t,n,r,o,s,!0))}function Ee(e,t,n,r,o){return El(te(e,t,n,r,o,!0))}function Ar(e){return e?e.__v_isVNode===!0:!1}function qt(e,t){return e.type===t.type&&e.key===t.key}const xl=({key:e})=>e??null,br=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Te(e)||Ne(e)||ne(e)?{i:Me,r:e,k:t,f:!!n}:e:null);function W(e,t=null,n=null,r=0,o=null,s=e===be?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&xl(t),ref:t&&br(t),scopeId:Hr,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:Me};return l?(Jo(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=Te(n)?8:16),Bn>0&&!i&&Je&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&&Je.push(a),a}const te=du;function du(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===Tc)&&(e=Ve),Ar(e)){const l=Dt(e,t,!0);return n&&Jo(l,n),Bn>0&&!s&&Je&&(l.shapeFlag&6?Je[Je.indexOf(e)]=l:Je.push(l)),l.patchFlag=-2,l}if(Pu(e)&&(e=e.__vccOpts),t){t=hu(t);let{class:l,style:a}=t;l&&!Te(l)&&(t.class=Fe(l)),ye(a)&&(Ji(a)&&!X(a)&&(a=De({},a)),t.style=Qn(a))}const i=Te(e)?1:uu(e)?128:qc(e)?64:ye(e)?4:ne(e)?2:0;return W(e,t,n,r,o,i,s,!0)}function hu(e){return e?Ji(e)||pl(e)?De({},e):e:null}function Dt(e,t,n=!1,r=!1){const{props:o,ref:s,patchFlag:i,children:l,transition:a}=e,c=t?gu(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&xl(c),ref:t&&t.ref?n&&s?X(s)?s.concat(br(t)):[s,br(t)]:br(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!==be?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&&Dt(e.ssContent),ssFallback:e.ssFallback&&Dt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&r&&Lr(f,a.clone(f)),f}function $t(e=" ",t=0){return te(Zt,null,e,t)}function pu(e,t){const n=te(Dn,null,e);return n.staticCount=t,n}function Ae(e="",t=!1){return t?($(),Ee(Ve,null,e)):te(Ve,null,e)}function et(e){return e==null||typeof e=="boolean"?te(Ve):X(e)?te(be,null,e.slice()):typeof e=="object"?At(e):te(Zt,null,String(e))}function At(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Dt(e)}function Jo(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(X(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),Jo(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!pl(t)?t._ctx=Me:o===3&&Me&&(Me.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:Me},n=32):(t=String(t),r&64?(n=16,t=[$t(t)]):n=8);e.children=t,e.shapeFlag|=n}function gu(...e){const t={};for(let n=0;nIe||Me;let Tr,Po;{const e=Oi(),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)}};Tr=t("__VUE_INSTANCE_SETTERS__",n=>Ie=n),Po=t("__VUE_SSR_SETTERS__",n=>tr=n)}const er=e=>{const t=Ie;return Tr(e),e.scope.on(),()=>{e.scope.off(),Tr(t)}},Hs=()=>{Ie&&Ie.scope.off(),Tr(null)};function Al(e){return e.vnode.shapeFlag&4}let tr=!1;function bu(e,t=!1,n=!1){t&&Po(t);const{props:r,children:o}=e.vnode,s=Al(e);Vc(e,r,s,t),Uc(e,o,n);const i=s?yu(e,t):void 0;return t&&Po(!1),i}function yu(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Oc);const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?Su(e):null,s=er(e);jt();const i=It(r,e,0,[e.props,o]);if(Vt(),s(),xi(i)){if(i.then(Hs,Hs),t)return i.then(l=>{js(e,l,t)}).catch(l=>{Xn(l,e,0)});e.asyncDep=i}else js(e,i,t)}else Tl(e,t)}function js(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ye(t)&&(e.setupState=Xi(t)),Tl(e,n)}let Vs;function Tl(e,t,n){const r=e.type;if(!e.render){if(!t&&Vs&&!r.render){const o=r.template||Go(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:a}=r,c=De(De({isCustomElement:s,delimiters:l},i),a);r.render=Vs(o,c)}}e.render=r.render||tt}{const o=er(e);jt();try{Ic(e)}finally{Vt(),o()}}}const wu={get(e,t){return Ke(e,"get",""),e[t]}};function Su(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,wu),slots:e.slots,emit:e.emit,expose:t}}function Wr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Xi(Za(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in In)return In[n](e)},has(t,n){return n in t||n in In}})):e.proxy}function Cu(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function Pu(e){return ne(e)&&"__vccOpts"in e}const A=(e,t)=>ec(e,t,tr);function ke(e,t,n){const r=arguments.length;return r===2?ye(t)&&!X(t)?Ar(t)?te(e,null,[t]):te(e,t):te(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ar(n)&&(n=[n]),te(e,t,n))}const ku="3.4.33";/** +* @vue/runtime-dom v3.4.33 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Lu="http://www.w3.org/2000/svg",Eu="http://www.w3.org/1998/Math/MathML",vt=typeof document<"u"?document:null,Fs=vt&&vt.createElement("template"),xu={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"?vt.createElementNS(Lu,e):t==="mathml"?vt.createElementNS(Eu,e):n?vt.createElement(e,{is:n}):vt.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>vt.createTextNode(e),createComment:e=>vt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>vt.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{Fs.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Fs.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",kn="animation",Wn=Symbol("_vtc"),nr=(e,{slots:t})=>ke(vc,Au(e),t);nr.displayName="Transition";const Rl={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};nr.props=De({},ol,Rl);const Wt=(e,t=[])=>{X(e)?e.forEach(n=>n(...t)):e&&e(...t)},Bs=e=>e?X(e)?e.some(t=>t.length>1):e.length>1:!1;function Au(e){const t={};for(const T in e)T in Rl||(t[T]=e[T]);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:c=i,appearToClass:f=l,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,_=Tu(o),S=_&&_[0],k=_&&_[1],{onBeforeEnter:R,onEnter:b,onEnterCancelled:m,onLeave:w,onLeaveCancelled:j,onBeforeAppear:I=R,onAppear:G=b,onAppearCancelled:Z=m}=t,V=(T,ee,ve)=>{Ut(T,ee?f:l),Ut(T,ee?c:i),ve&&ve()},L=(T,ee)=>{T._isLeaving=!1,Ut(T,u),Ut(T,g),Ut(T,p),ee&&ee()},U=T=>(ee,ve)=>{const _e=T?G:b,J=()=>V(ee,T,ve);Wt(_e,[ee,J]),Ws(()=>{Ut(ee,T?a:s),Lt(ee,T?f:l),Bs(_e)||Us(ee,r,S,J)})};return De(t,{onBeforeEnter(T){Wt(R,[T]),Lt(T,s),Lt(T,i)},onBeforeAppear(T){Wt(I,[T]),Lt(T,a),Lt(T,c)},onEnter:U(!1),onAppear:U(!0),onLeave(T,ee){T._isLeaving=!0;const ve=()=>L(T,ee);Lt(T,u),Lt(T,p),Iu(),Ws(()=>{T._isLeaving&&(Ut(T,u),Lt(T,g),Bs(w)||Us(T,r,k,ve))}),Wt(w,[T,ve])},onEnterCancelled(T){V(T,!1),Wt(m,[T])},onAppearCancelled(T){V(T,!0),Wt(Z,[T])},onLeaveCancelled(T){L(T),Wt(j,[T])}})}function Tu(e){if(e==null)return null;if(ye(e))return[oo(e.enter),oo(e.leave)];{const t=oo(e);return[t,t]}}function oo(e){return Ca(e)}function Lt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Wn]||(e[Wn]=new Set)).add(t)}function Ut(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Wn];n&&(n.delete(t),n.size||(e[Wn]=void 0))}function Ws(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Ru=0;function Us(e,t,n,r){const o=e._endId=++Ru,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=Ou(e,t);if(!i)return r();const c=i+"end";let f=0;const u=()=>{e.removeEventListener(c,p),s()},p=g=>{g.target===e&&++f>=a&&u()};setTimeout(()=>{f(n[_]||"").split(", "),o=r(`${kt}Delay`),s=r(`${kt}Duration`),i=Ks(o,s),l=r(`${kn}Delay`),a=r(`${kn}Duration`),c=Ks(l,a);let f=null,u=0,p=0;t===kt?i>0&&(f=kt,u=i,p=s.length):t===kn?c>0&&(f=kn,u=c,p=a.length):(u=Math.max(i,c),f=u>0?i>c?kt:kn: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:u,propCount:p,hasTransform:g}}function Ks(e,t){for(;e.lengthGs(n)+Gs(e[r])))}function Gs(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Iu(){return document.body.offsetHeight}function Mu(e,t,n){const r=e[Wn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Rr=Symbol("_vod"),Ol=Symbol("_vsh"),Or={beforeMount(e,{value:t},{transition:n}){e[Rr]=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[Rr]:"none",e[Ol]=!t}const Du=Symbol(""),$u=/(^|;)\s*display\s*:/;function Nu(e,t,n){const r=e.style,o=Te(n);let s=!1;if(n&&!o){if(t)if(Te(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&yr(r,l,"")}else for(const i in t)n[i]==null&&yr(r,i,"");for(const i in n)i==="display"&&(s=!0),yr(r,i,n[i])}else if(o){if(t!==n){const i=r[Du];i&&(n+=";"+i),r.cssText=n,s=$u.test(n)}}else t&&e.removeAttribute("style");Rr in e&&(e[Rr]=s?r.display:"",e[Ol]&&(r.display="none"))}const qs=/\s*!important$/;function yr(e,t,n){if(X(n))n.forEach(r=>yr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Hu(e,t);qs.test(n)?e.setProperty(Ht(r),n.replace(qs,""),"important"):e[r]=n}}const zs=["Webkit","Moz","ms"],so={};function Hu(e,t){const n=so[t];if(n)return n;let r=Qe(t);if(r!=="filter"&&r in e)return so[t]=r;r=Jn(r);for(let o=0;oio||(Uu.then(()=>io=0),io=Date.now());function Gu(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;nt(qu(r,n.value),t,5,[r])};return n.value=e,n.attached=Ku(),n}function qu(e,t){if(X(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 Zs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,zu=(e,t,n,r,o,s)=>{const i=o==="svg";t==="class"?Mu(e,r,i):t==="style"?Nu(e,n,r):zn(t)?Oo(t)||Bu(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ju(e,t,r,i))?(ju(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Qs(e,t,r,i,s,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Qs(e,t,r,i))};function Ju(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Zs(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 Zs(t)&&Te(n)?!1:t in e}const Qu={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Yu=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const s=Ht(o.key);if(t.some(i=>i===s||Qu[i]===s))return e(o)})},Xu=De({patchProp:zu},xu);let lo,ei=!1;function Zu(){return lo=ei?lo:Yc(Xu),ei=!0,lo}const ef=(...e)=>{const t=Zu().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=nf(r);if(o)return n(o,!0,tf(o))},t};function tf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function nf(e){return Te(e)?document.querySelector(e):e}var rr=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),rf=/.md((\?|#).*)?$/,of=(e,t="/")=>rr(e)||e.startsWith("/")&&!e.startsWith(t)&&!rf.test(e),Ur=e=>/^(https?:)?\/\//.test(e),ti=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},sf="http://.",lf=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return ti(new URL(`${n}/${e}`,sf).pathname)}return ti(e)},af=(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"/"},cf=/(#|\?)/,Il=e=>{const[t,...n]=e.split(cf);return{pathname:t,hashAndQueries:n.join("")}},uf=["link","meta","script","style","noscript","template"],ff=["title","base"],df=([e,t,n])=>ff.includes(e)?e:uf.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,hf=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=df(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},pf=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Ml=e=>e[e.length-1]==="/"?e.slice(0,-1):e,Dl=e=>e[0]==="/"?e.slice(1):e,Qo=e=>Object.prototype.toString.call(e)==="[object Object]",st=e=>typeof e=="string";const gf="modulepreload",mf=function(e){return"/"+e},ni={},En=function(t,n,r){let o=Promise.resolve();return n&&n.length>0&&(document.getElementsByTagName("link"),o=Promise.all(n.map(s=>{if(s=mf(s),s in ni)return;ni[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":gf,i||(a.as="script",a.crossOrigin=""),a.href=s,document.head.appendChild(a),i)return new Promise((c,f)=>{a.addEventListener("load",c),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})},vf=JSON.parse("{}"),_f=Object.fromEntries([["/",{loader:()=>En(()=>import("./index.html-Dey18qa3.js"),__vite__mapDeps([])),meta:{title:"Резюме"}}],["/works.html",{loader:()=>En(()=>import("./works.html-D_1XWu_F.js"),__vite__mapDeps([])),meta:{title:"Работы"}}],["/eng/",{loader:()=>En(()=>import("./index.html-CFkWDF7K.js"),__vite__mapDeps([])),meta:{title:"Resume"}}],["/eng/works.html",{loader:()=>En(()=>import("./works.html-D_SQDS1j.js"),__vite__mapDeps([])),meta:{title:"Works"}}],["/404.html",{loader:()=>En(()=>import("./404.html-BY7PcDFN.js"),__vite__mapDeps([])),meta:{title:""}}]]);/*! + * vue-router v4.4.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const ln=typeof document<"u";function bf(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const me=Object.assign;function ao(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 Nn=()=>{},it=Array.isArray,$l=/#/g,yf=/&/g,wf=/\//g,Sf=/=/g,Cf=/\?/g,Nl=/\+/g,Pf=/%5B/g,kf=/%5D/g,Hl=/%5E/g,Lf=/%60/g,jl=/%7B/g,Ef=/%7C/g,Vl=/%7D/g,xf=/%20/g;function Yo(e){return encodeURI(""+e).replace(Ef,"|").replace(Pf,"[").replace(kf,"]")}function Af(e){return Yo(e).replace(jl,"{").replace(Vl,"}").replace(Hl,"^")}function ko(e){return Yo(e).replace(Nl,"%2B").replace(xf,"+").replace($l,"%23").replace(yf,"%26").replace(Lf,"`").replace(jl,"{").replace(Vl,"}").replace(Hl,"^")}function Tf(e){return ko(e).replace(Sf,"%3D")}function Rf(e){return Yo(e).replace($l,"%23").replace(Cf,"%3F")}function Of(e){return e==null?"":Rf(e).replace(wf,"%2F")}function Un(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const If=/\/$/,Mf=e=>e.replace(If,"");function co(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=Hf(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:Un(i)}}function Df(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ri(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function $f(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&vn(t.matched[r],n.matched[o])&&Fl(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function vn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Fl(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Nf(e[n],t[n]))return!1;return!0}function Nf(e,t){return it(e)?oi(e,t):it(t)?oi(t,e):e===t}function oi(e,t){return it(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Hf(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 mt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Kn;(function(e){e.pop="pop",e.push="push"})(Kn||(Kn={}));var Hn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Hn||(Hn={}));function jf(e){if(!e)if(ln){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Mf(e)}const Vf=/^[^#]+#/;function Ff(e,t){return e.replace(Vf,"#")+t}function Bf(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 Kr=()=>({left:window.scrollX,top:window.scrollY});function Wf(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=Bf(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 si(e,t){return(history.state?history.state.position-t:-1)+e}const Lo=new Map;function Uf(e,t){Lo.set(e,t)}function Kf(e){const t=Lo.get(e);return Lo.delete(e),t}let Gf=()=>location.protocol+"//"+location.host;function Bl(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),ri(a,"")}return ri(n,e)+r+o}function qf(e,t,n,r){let o=[],s=[],i=null;const l=({state:p})=>{const g=Bl(e,location),_=n.value,S=t.value;let k=0;if(p){if(n.value=g,t.value=p,i&&i===_){i=null;return}k=S?p.position-S.position:0}else r(g);o.forEach(R=>{R(n.value,_,{delta:k,type:Kn.pop,direction:k?k>0?Hn.forward:Hn.back:Hn.unknown})})};function a(){i=n.value}function c(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(me({},p.state,{scroll:Kr()}),"")}function u(){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:c,destroy:u}}function ii(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Kr():null}}function zf(e){const{history:t,location:n}=window,r={value:Bl(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,c,f){const u=e.indexOf("#"),p=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+a:Gf()+e+a;try{t[f?"replaceState":"pushState"](c,"",p),o.value=c}catch(g){console.error(g),n[f?"replace":"assign"](p)}}function i(a,c){const f=me({},t.state,ii(o.value.back,a,o.value.forward,!0),c,{position:o.value.position});s(a,f,!0),r.value=a}function l(a,c){const f=me({},o.value,t.state,{forward:a,scroll:Kr()});s(f.current,f,!0);const u=me({},ii(r.value,a,null),{position:f.position+1},c);s(a,u,!1),r.value=a}return{location:r,state:o,push:l,replace:i}}function Jf(e){e=jf(e);const t=zf(e),n=qf(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=me({location:"",base:e,go:r,createHref:Ff.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 Qf(e){return typeof e=="string"||e&&typeof e=="object"}function Wl(e){return typeof e=="string"||typeof e=="symbol"}const Ul=Symbol("");var li;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(li||(li={}));function _n(e,t){return me(new Error,{type:e,[Ul]:!0},t)}function gt(e,t){return e instanceof Error&&Ul in e&&(t==null||!!(e.type&t))}const ai="[^/]+?",Yf={sensitive:!1,strict:!1,start:!0,end:!0},Xf=/[.+*?^${}()[\]/\\]/g;function Zf(e,t){const n=me({},Yf,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const f=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let u=0;ut.length?t.length===1&&t[0]===80?1:-1:0}function Kl(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const td={type:0,value:""},nd=/[a-zA-Z0-9_]/;function rd(e){if(!e)return[[]];if(e==="/")return[[td]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${c}": ${g}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let l=0,a,c="",f="";function u(){c&&(n===0?s.push({type:0,value:c}):n===1||n===2||n===3?(s.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:f,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=a}for(;l{i(m)}:Nn}function i(u){if(Wl(u)){const p=r.get(u);p&&(r.delete(u),n.splice(n.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=n.indexOf(u);p>-1&&(n.splice(p,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function l(){return n}function a(u){const p=cd(u,n);n.splice(p,0,u),u.record.name&&!fi(u)&&r.set(u.record.name,u)}function c(u,p){let g,_={},S,k;if("name"in u&&u.name){if(g=r.get(u.name),!g)throw _n(1,{location:u});k=g.record.name,_=me(ui(p.params,g.keys.filter(m=>!m.optional).concat(g.parent?g.parent.keys.filter(m=>m.optional):[]).map(m=>m.name)),u.params&&ui(u.params,g.keys.map(m=>m.name))),S=g.stringify(_)}else if(u.path!=null)S=u.path,g=n.find(m=>m.re.test(S)),g&&(_=g.parse(S),k=g.record.name);else{if(g=p.name?r.get(p.name):n.find(m=>m.re.test(p.path)),!g)throw _n(1,{location:u,currentLocation:p});k=g.record.name,_=me({},p.params,u.params),S=g.stringify(_)}const R=[];let b=g;for(;b;)R.unshift(b.record),b=b.parent;return{name:k,path:S,params:_,matched:R,meta:ad(R)}}e.forEach(u=>s(u));function f(){n.length=0,r.clear()}return{addRoute:s,resolve:c,removeRoute:i,clearRoutes:f,getRoutes:l,getRecordMatcher:o}}function ui(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function id(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:ld(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 ld(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 fi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ad(e){return e.reduce((t,n)=>me(t,n.meta),{})}function di(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function cd(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;Kl(e,t[s])<0?r=s:n=s+1}const o=ud(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function ud(e){let t=e;for(;t=t.parent;)if(Gl(t)&&Kl(e,t)===0)return t}function Gl({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function fd(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&ko(s)):[r&&ko(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function dd(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 hd=Symbol(""),pi=Symbol(""),Gr=Symbol(""),Xo=Symbol(""),Eo=Symbol("");function xn(){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 Tt(e,t,n,r,o,s=i=>i()){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const c=p=>{p===!1?a(_n(4,{from:n,to:t})):p instanceof Error?a(p):Qf(p)?a(_n(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,c));let u=Promise.resolve(f);e.length<3&&(u=u.then(c)),u.catch(p=>a(p))})}function uo(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(pd(a)){const f=(a.__vccOpts||a)[t];f&&s.push(Tt(f,n,r,i,l,o))}else{let c=a();s.push(()=>c.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${l}" at "${i.path}"`));const u=bf(f)?f.default:f;i.components[l]=u;const g=(u.__vccOpts||u)[t];return g&&Tt(g,n,r,i,l,o)()}))}}return s}function pd(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function gi(e){const t=Be(Gr),n=Be(Xo),r=A(()=>{const a=Yt(e.to);return t.resolve(a)}),o=A(()=>{const{matched:a}=r.value,{length:c}=a,f=a[c-1],u=n.matched;if(!f||!u.length)return-1;const p=u.findIndex(vn.bind(null,f));if(p>-1)return p;const g=mi(a[c-2]);return c>1&&mi(f)===g&&u[u.length-1].path!==g?u.findIndex(vn.bind(null,a[c-2])):p}),s=A(()=>o.value>-1&&_d(n.params,r.value.params)),i=A(()=>o.value>-1&&o.value===n.matched.length-1&&Fl(n.params,r.value.params));function l(a={}){return vd(a)?t[Yt(e.replace)?"replace":"push"](Yt(e.to)).catch(Nn):Promise.resolve()}return{route:r,href:A(()=>r.value.href),isActive:s,isExactActive:i,navigate:l}}const gd=he({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:gi,setup(e,{slots:t}){const n=Yn(gi(e)),{options:r}=Be(Gr),o=A(()=>({[vi(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[vi(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:ke("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),md=gd;function vd(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 _d(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 mi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const vi=(e,t,n)=>e??t??n,bd=he({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Be(Eo),o=A(()=>e.route||r.value),s=Be(pi,0),i=A(()=>{let c=Yt(s);const{matched:f}=o.value;let u;for(;(u=f[c])&&!u.components;)c++;return c}),l=A(()=>o.value.matched[i.value]);Xt(pi,A(()=>i.value+1)),Xt(hd,l),Xt(Eo,o);const a=ue();return $e(()=>[a.value,l.value,e.name],([c,f,u],[p,g,_])=>{f&&(f.instances[u]=c,g&&g!==f&&c&&c===p&&(f.leaveGuards.size||(f.leaveGuards=g.leaveGuards),f.updateGuards.size||(f.updateGuards=g.updateGuards))),c&&f&&(!g||!vn(f,g)||!p)&&(f.enterCallbacks[u]||[]).forEach(S=>S(c))},{flush:"post"}),()=>{const c=o.value,f=e.name,u=l.value,p=u&&u.components[f];if(!p)return _i(n.default,{Component:p,route:c});const g=u.props[f],_=g?g===!0?c.params:typeof g=="function"?g(c):g:null,k=ke(p,me({},_,t,{onVnodeUnmounted:R=>{R.component.isUnmounted&&(u.instances[f]=null)},ref:a}));return _i(n.default,{Component:k,route:c})||k}}});function _i(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const yd=bd;function wd(e){const t=sd(e.routes,e),n=e.parseQuery||fd,r=e.stringifyQuery||hi,o=e.history,s=xn(),i=xn(),l=xn(),a=yn(mt);let c=mt;ln&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=ao.bind(null,C=>""+C),u=ao.bind(null,Of),p=ao.bind(null,Un);function g(C,F){let H,q;return Wl(C)?(H=t.getRecordMatcher(C),q=F):q=C,t.addRoute(q,H)}function _(C){const F=t.getRecordMatcher(C);F&&t.removeRoute(F)}function S(){return t.getRoutes().map(C=>C.record)}function k(C){return!!t.getRecordMatcher(C)}function R(C,F){if(F=me({},F||a.value),typeof C=="string"){const h=co(n,C,F.path),v=t.resolve({path:h.path},F),P=o.createHref(h.fullPath);return me(h,v,{params:p(v.params),hash:Un(h.hash),redirectedFrom:void 0,href:P})}let H;if(C.path!=null)H=me({},C,{path:co(n,C.path,F.path).path});else{const h=me({},C.params);for(const v in h)h[v]==null&&delete h[v];H=me({},C,{params:u(h)}),F.params=u(F.params)}const q=t.resolve(H,F),pe=C.hash||"";q.params=f(p(q.params));const Ce=Df(r,me({},C,{hash:Af(pe),path:q.path})),d=o.createHref(Ce);return me({fullPath:Ce,hash:pe,query:r===hi?dd(C.query):C.query||{}},q,{redirectedFrom:void 0,href:d})}function b(C){return typeof C=="string"?co(n,C,a.value.path):me({},C)}function m(C,F){if(c!==C)return _n(8,{from:F,to:C})}function w(C){return G(C)}function j(C){return w(me(b(C),{replace:!0}))}function I(C){const F=C.matched[C.matched.length-1];if(F&&F.redirect){const{redirect:H}=F;let q=typeof H=="function"?H(C):H;return typeof q=="string"&&(q=q.includes("?")||q.includes("#")?q=b(q):{path:q},q.params={}),me({query:C.query,hash:C.hash,params:q.path!=null?{}:C.params},q)}}function G(C,F){const H=c=R(C),q=a.value,pe=C.state,Ce=C.force,d=C.replace===!0,h=I(H);if(h)return G(me(b(h),{state:typeof h=="object"?me({},pe,h.state):pe,force:Ce,replace:d}),F||H);const v=H;v.redirectedFrom=F;let P;return!Ce&&$f(r,q,H)&&(P=_n(16,{to:v,from:q}),ct(q,q,!0,!1)),(P?Promise.resolve(P):L(v,q)).catch(y=>gt(y)?gt(y,2)?y:Ct(y):K(y,v,q)).then(y=>{if(y){if(gt(y,2))return G(me({replace:d},b(y.to),{state:typeof y.to=="object"?me({},pe,y.to.state):pe,force:Ce}),F||v)}else y=T(v,q,!0,d,pe);return U(v,q,y),y})}function Z(C,F){const H=m(C,F);return H?Promise.reject(H):Promise.resolve()}function V(C){const F=rn.values().next().value;return F&&typeof F.runWithContext=="function"?F.runWithContext(C):C()}function L(C,F){let H;const[q,pe,Ce]=Sd(C,F);H=uo(q.reverse(),"beforeRouteLeave",C,F);for(const h of q)h.leaveGuards.forEach(v=>{H.push(Tt(v,C,F))});const d=Z.bind(null,C,F);return H.push(d),Ye(H).then(()=>{H=[];for(const h of s.list())H.push(Tt(h,C,F));return H.push(d),Ye(H)}).then(()=>{H=uo(pe,"beforeRouteUpdate",C,F);for(const h of pe)h.updateGuards.forEach(v=>{H.push(Tt(v,C,F))});return H.push(d),Ye(H)}).then(()=>{H=[];for(const h of Ce)if(h.beforeEnter)if(it(h.beforeEnter))for(const v of h.beforeEnter)H.push(Tt(v,C,F));else H.push(Tt(h.beforeEnter,C,F));return H.push(d),Ye(H)}).then(()=>(C.matched.forEach(h=>h.enterCallbacks={}),H=uo(Ce,"beforeRouteEnter",C,F,V),H.push(d),Ye(H))).then(()=>{H=[];for(const h of i.list())H.push(Tt(h,C,F));return H.push(d),Ye(H)}).catch(h=>gt(h,8)?h:Promise.reject(h))}function U(C,F,H){l.list().forEach(q=>V(()=>q(C,F,H)))}function T(C,F,H,q,pe){const Ce=m(C,F);if(Ce)return Ce;const d=F===mt,h=ln?history.state:{};H&&(q||d?o.replace(C.fullPath,me({scroll:d&&h&&h.scroll},pe)):o.push(C.fullPath,pe)),a.value=C,ct(C,F,H,d),Ct()}let ee;function ve(){ee||(ee=o.listen((C,F,H)=>{if(!sr.listening)return;const q=R(C),pe=I(q);if(pe){G(me(pe,{replace:!0}),q).catch(Nn);return}c=q;const Ce=a.value;ln&&Uf(si(Ce.fullPath,H.delta),Kr()),L(q,Ce).catch(d=>gt(d,12)?d:gt(d,2)?(G(d.to,q).then(h=>{gt(h,20)&&!H.delta&&H.type===Kn.pop&&o.go(-1,!1)}).catch(Nn),Promise.reject()):(H.delta&&o.go(-H.delta,!1),K(d,q,Ce))).then(d=>{d=d||T(q,Ce,!1),d&&(H.delta&&!gt(d,8)?o.go(-H.delta,!1):H.type===Kn.pop&>(d,20)&&o.go(-1,!1)),U(q,Ce,d)}).catch(Nn)}))}let _e=xn(),J=xn(),oe;function K(C,F,H){Ct(C);const q=J.list();return q.length?q.forEach(pe=>pe(C,F,H)):console.error(C),Promise.reject(C)}function rt(){return oe&&a.value!==mt?Promise.resolve():new Promise((C,F)=>{_e.add([C,F])})}function Ct(C){return oe||(oe=!C,ve(),_e.list().forEach(([F,H])=>C?H(C):F()),_e.reset()),C}function ct(C,F,H,q){const{scrollBehavior:pe}=e;if(!ln||!pe)return Promise.resolve();const Ce=!H&&Kf(si(C.fullPath,0))||(q||!H)&&history.state&&history.state.scroll||null;return wn().then(()=>pe(C,F,Ce)).then(d=>d&&Wf(d)).catch(d=>K(d,C,F))}const We=C=>o.go(C);let nn;const rn=new Set,sr={currentRoute:a,listening:!0,addRoute:g,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:k,getRoutes:S,resolve:R,options:e,push:w,replace:j,go:We,back:()=>We(-1),forward:()=>We(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:J.add,isReady:rt,install(C){const F=this;C.component("RouterLink",md),C.component("RouterView",yd),C.config.globalProperties.$router=F,Object.defineProperty(C.config.globalProperties,"$route",{enumerable:!0,get:()=>Yt(a)}),ln&&!nn&&a.value===mt&&(nn=!0,w(o.location).catch(pe=>{}));const H={};for(const pe in mt)Object.defineProperty(H,pe,{get:()=>a.value[pe],enumerable:!0});C.provide(Gr,F),C.provide(Xo,zi(H)),C.provide(Eo,a);const q=C.unmount;rn.add(C),C.unmount=function(){rn.delete(C),rn.size<1&&(c=mt,ee&&ee(),ee=null,a.value=mt,nn=!1,oe=!1),q()}}};function Ye(C){return C.reduce((F,H)=>F.then(()=>V(H)),Promise.resolve())}return sr}function Sd(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;ivn(c,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(c=>vn(c,a))||o.push(a))}return[n,r,o]}function tn(){return Be(Gr)}function St(e){return Be(Xo)}var Zo=Symbol(""),pt=()=>{const e=Be(Zo);if(!e)throw new Error("useClientData() is called without provider.");return e},Cd=()=>pt().pageComponent,Sn=()=>pt().pageData,at=()=>pt().pageFrontmatter,Pd=()=>pt().pageHead,kd=()=>pt().pageLang,Ld=()=>pt().pageLayout,or=()=>pt().routeLocale,Ed=()=>pt().routes,ql=()=>pt().siteData,es=()=>pt().siteLocaleData,xd=Symbol(""),xo=yn(vf),pn=yn(_f),zl=(e,t)=>{const n=lf(e,t);if(pn.value[n])return n;const r=encodeURI(n);if(pn.value[r])return r;const o=xo.value[n]||xo.value[r];return o||n},Gn=(e,t)=>{const{pathname:n,hashAndQueries:r}=Il(e),o=zl(n,t),s=o+r;return pn.value[o]?{...pn.value[o],path:s,notFound:!1}:{...pn.value["/404.html"],path:s,notFound:!0}},Ad=(e,t)=>{const{pathname:n,hashAndQueries:r}=Il(e);return zl(n,t)+r},Td=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}},qr=he({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=tn(),r=St(),o=A(()=>e.to.startsWith("#")||e.to.startsWith("?")?e.to:`/${Ad(e.to,r.path).substring(1)}`);return()=>{var s;return ke("a",{class:["route-link",{[e.activeClass]:e.active}],href:o.value,onClick:(i={})=>{Td(i)&&n.push(e.to).catch()}},(s=t.default)==null?void 0:s.call(t))}}}),Cn=he({name:"AutoLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=lc(e,"config"),r=St(),o=ql(),s=A(()=>rr(n.value.link)),i=A(()=>n.value.target||(s.value?"_blank":void 0)),l=A(()=>i.value==="_blank"),a=A(()=>!s.value&&!l.value),c=A(()=>n.value.rel||(l.value?"noopener noreferrer":null)),f=A(()=>n.value.ariaLabel??n.value.text),u=A(()=>{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=A(()=>a.value?n.value.activeMatch?(n.value.activeMatch instanceof RegExp?n.value.activeMatch:new RegExp(n.value.activeMatch,"u")).test(r.path):u.value?r.path.startsWith(n.value.link):r.path===n.value.link:!1);return()=>{const{before:g,after:_,default:S}=t,k=(S==null?void 0:S(n.value))||[g==null?void 0:g(n.value),n.value.text,_==null?void 0:_(n.value)];return a.value?ke(qr,{class:"auto-link",to:n.value.link,active:p.value,"aria-label":f.value},()=>k):ke("a",{class:"auto-link external-link",href:n.value.link,"aria-label":f.value,rel:c.value,target:i.value},k)}}}),ts=he({name:"ClientOnly",setup(e,t){const n=ue(!1);return Ge(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),ns=he({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=Cd(),n=A(()=>{if(!e.path)return t.value;const r=Gn(e.path);return _c(()=>r.loader().then(({comp:o})=>o))});return()=>ke(n.value)}}),Rd="Layout",Od="en-US",Kt=Yn({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 hf(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||Od,resolvePageLayout:(e,t)=>{const n=st(e.frontmatter.layout)?e.frontmatter.layout:Rd;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>af(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??[]]}}}),Ft=(e={})=>e,rs=e=>Ur(e)?e:`/${Dl(e)}`;function zr(e){return $i()?(Oa(e),!0):!1}function ht(e){return typeof e=="function"?e():Yt(e)}const os=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Id=Object.prototype.toString,Md=e=>Id.call(e)==="[object Object]",Ao=()=>{};function Jl(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 Ql=e=>e();function Dd(e,t={}){let n,r,o=Ao;const s=l=>{clearTimeout(l),o(),o=Ao};return l=>{const a=ht(e),c=ht(t.maxWait);return n&&s(n),a<=0||c!==void 0&&c<=0?(r&&(s(r),r=null),Promise.resolve(l())):new Promise((f,u)=>{o=t.rejectOnCancel?u:f,c&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,f(l())},c)),n=setTimeout(()=>{r&&s(r),r=null,f(l())},a)})}}function $d(e=Ql){const t=ue(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:$r(t),pause:n,resume:r,eventFilter:o}}function Nd(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 Hd(e){return Br()}function jd(e,t=200,n={}){return Jl(Dd(t,n),e)}function Vd(e,t,n={}){const{eventFilter:r=Ql,...o}=n;return $e(e,Jl(r,t),o)}function Fd(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:l,isActive:a}=$d(r);return{stop:Vd(e,t,{...o,eventFilter:s}),pause:i,resume:l,isActive:a}}function ss(e,t=!0,n){Hd()?Ge(e,n):t?e():wn(e)}function Bd(e,t,n={}){const{immediate:r=!0}=n,o=ue(!1);let s=null;function i(){s&&(clearTimeout(s),s=null)}function l(){o.value=!1,i()}function a(...c){i(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...c)},ht(t))}return r&&(o.value=!0,os&&a()),zr(l),{isPending:$r(o),start:a,stop:l}}function Wd(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=Ne(e),s=ue(e);function i(l){if(arguments.length)return s.value=l,s.value;{const a=ht(n);return s.value=s.value===a?ht(r):a,s.value}}return o?i:[s,i]}function zt(e){var t;const n=ht(e);return(t=n==null?void 0:n.$el)!=null?t:n}const yt=os?window:void 0,Yl=os?window.navigator:void 0;function lt(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=yt):[t,n,r,o]=e,!t)return Ao;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(f=>f()),s.length=0},l=(f,u,p,g)=>(f.addEventListener(u,p,g),()=>f.removeEventListener(u,p,g)),a=$e(()=>[zt(t),ht(o)],([f,u])=>{if(i(),!f)return;const p=Md(u)?{...u}:u;s.push(...n.flatMap(g=>r.map(_=>l(f,g,_,p))))},{immediate:!0,flush:"post"}),c=()=>{a(),i()};return zr(c),c}function Ud(){const e=ue(!1),t=Br();return t&&Ge(()=>{e.value=!0},t),e}function Jr(e){const t=Ud();return A(()=>(t.value,!!e()))}function is(e,t={}){const{window:n=yt}=t,r=Jr(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=ue(!1),i=c=>{s.value=c.matches},l=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",i):o.removeListener(i))},a=nu(()=>{r.value&&(l(),o=n.matchMedia(ht(e)),"addEventListener"in o?o.addEventListener("change",i):o.addListener(i),s.value=o.matches)});return zr(()=>{a(),l(),o=void 0}),s}function bi(e,t={}){const{controls:n=!1,navigator:r=Yl}=t,o=Jr(()=>r&&"permissions"in r);let s;const i=typeof e=="string"?{name:e}:e,l=ue(),a=()=>{s&&(l.value=s.state)},c=Nd(async()=>{if(o.value){if(!s)try{s=await r.permissions.query(i),lt(s,"change",a),a()}catch{l.value="prompt"}return s}});return c(),n?{state:l,isSupported:o,query:c}:l}function Kd(e={}){const{navigator:t=Yl,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=Jr(()=>t&&"clipboard"in t),l=bi("clipboard-read"),a=bi("clipboard-write"),c=A(()=>i.value||s),f=ue(""),u=ue(!1),p=Bd(()=>u.value=!1,o);function g(){i.value&&R(l.value)?t.clipboard.readText().then(b=>{f.value=b}):f.value=k()}c.value&&n&<(["copy","cut"],g);async function _(b=ht(r)){c.value&&b!=null&&(i.value&&R(a.value)?await t.clipboard.writeText(b):S(b),f.value=b,u.value=!0,p.start())}function S(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 k(){var b,m,w;return(w=(m=(b=document==null?void 0:document.getSelection)==null?void 0:b.call(document))==null?void 0:m.toString())!=null?w:""}function R(b){return b==="granted"||b==="prompt"}return{isSupported:c,text:f,copied:u,copy:_}}const gr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},mr="__vueuse_ssr_handlers__",Gd=qd();function qd(){return mr in gr||(gr[mr]=gr[mr]||{}),gr[mr]}function zd(e,t){return Gd[e]||t}function Jd(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 Qd={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()}},yi="vueuse-storage";function ls(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:c=!1,shallow:f,window:u=yt,eventFilter:p,onError:g=L=>{console.error(L)},initOnMounted:_}=r,S=(f?yn:ue)(typeof t=="function"?t():t);if(!n)try{n=zd("getDefaultStorage",()=>{var L;return(L=yt)==null?void 0:L.localStorage})()}catch(L){g(L)}if(!n)return S;const k=ht(t),R=Jd(k),b=(o=r.serializer)!=null?o:Qd[R],{pause:m,resume:w}=Fd(S,()=>I(S.value),{flush:s,deep:i,eventFilter:p});u&&l&&ss(()=>{lt(u,"storage",Z),lt(u,yi,V),_&&Z()}),_||Z();function j(L,U){u&&u.dispatchEvent(new CustomEvent(yi,{detail:{key:e,oldValue:L,newValue:U,storageArea:n}}))}function I(L){try{const U=n.getItem(e);if(L==null)j(U,null),n.removeItem(e);else{const T=b.write(L);U!==T&&(n.setItem(e,T),j(U,T))}}catch(U){g(U)}}function G(L){const U=L?L.newValue:n.getItem(e);if(U==null)return a&&k!=null&&n.setItem(e,b.write(k)),k;if(!L&&c){const T=b.read(U);return typeof c=="function"?c(T,k):R==="object"&&!Array.isArray(T)?{...k,...T}:T}else return typeof U!="string"?U:b.read(U)}function Z(L){if(!(L&&L.storageArea!==n)){if(L&&L.key==null){S.value=k;return}if(!(L&&L.key!==e)){m();try{(L==null?void 0:L.newValue)!==b.write(S.value)&&(S.value=G(L))}catch(U){g(U)}finally{L?wn(w):w()}}}}function V(L){Z(L.detail)}return S}function Yd(e){return is("(prefers-color-scheme: dark)",e)}function Xd(e,t,n={}){const{window:r=yt,...o}=n;let s;const i=Jr(()=>r&&"ResizeObserver"in r),l=()=>{s&&(s.disconnect(),s=void 0)},a=A(()=>Array.isArray(e)?e.map(u=>zt(u)):[zt(e)]),c=$e(a,u=>{if(l(),i.value&&r){s=new ResizeObserver(t);for(const p of u)p&&s.observe(p,o)}},{immediate:!0,flush:"post"}),f=()=>{l(),c()};return zr(f),{isSupported:i,stop:f}}function Zd(e,t={width:0,height:0},n={}){const{window:r=yt,box:o="content-box"}=n,s=A(()=>{var u,p;return(p=(u=zt(e))==null?void 0:u.namespaceURI)==null?void 0:p.includes("svg")}),i=ue(t.width),l=ue(t.height),{stop:a}=Xd(e,([u])=>{const p=o==="border-box"?u.borderBoxSize:o==="content-box"?u.contentBoxSize:u.devicePixelContentBoxSize;if(r&&s.value){const g=zt(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:S})=>_+S,0),l.value=g.reduce((_,{blockSize:S})=>_+S,0)}else i.value=u.contentRect.width,l.value=u.contentRect.height},n);ss(()=>{const u=zt(e);u&&(i.value="offsetWidth"in u?u.offsetWidth:t.width,l.value="offsetHeight"in u?u.offsetHeight:t.height)});const c=$e(()=>zt(e),u=>{i.value=u?t.width:0,l.value=u?t.height:0});function f(){a(),c()}return{width:i,height:l,stop:f}}function eh(e,t,n={}){const{window:r=yt}=n;return ls(e,t,r==null?void 0:r.sessionStorage,n)}function th(e={}){const{window:t=yt,behavior:n="auto"}=e;if(!t)return{x:ue(0),y:ue(0)};const r=ue(t.scrollX),o=ue(t.scrollY),s=A({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=A({get(){return o.value},set(l){scrollTo({top:l,behavior:n})}});return lt(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:s,y:i}}function nh(e={}){const{window:t=yt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0}=e,i=ue(n),l=ue(r),a=()=>{t&&(s?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(a(),ss(a),lt("resize",a,{passive:!0}),o){const c=is("(orientation: portrait)");$e(c,()=>a())}return{width:i,height:l}}const wi=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},rh=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=tn();lt("scroll",jd(()=>{var _,S;const i=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(i-0)u.some(R=>R.hash===k.hash));for(let k=0;k=(((_=R.parentElement)==null?void 0:_.offsetTop)??0)-r,w=!b||i<(((S=b.parentElement)==null?void 0:S.offsetTop)??0)-r;if(!(m&&w))continue;const I=decodeURIComponent(o.currentRoute.value.hash),G=decodeURIComponent(R.hash);if(I===G)return;if(f){for(let Z=k+1;Z{const t=or();return A(()=>e[t.value]??{})},uh=()=>{const e=Ed();return A(()=>Object.keys(e.value))},fo=(e,t)=>{var r;const n=(r=Br())==null?void 0:r.appContext.components;return n?e in n||Qe(e)in n||Jn(Qe(e))in n:!1},fh=e=>new Promise(t=>setTimeout(t,e)),dh=({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:hh(o,n),link:"#"+o.id,slug:o.id,level:s}});return ph(r,t)},hh=(e,t=[])=>{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()},ph=(e,t=2)=>{if(t===!1)return[];const[n,r]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;e=e.filter(s=>s.level>=n&&s.level<=r);const o=[];e:for(let s=0;s=0;l--){const a=e[l];if(a.levelst(e)&&e.startsWith(t),gh=Object.keys,ea=e=>Zl(e,"/");var mh={"/eng/":{backToTop:"Back to top"},"/":{backToTop:"Вернуться к началу"}};const vh=he({name:"BackToTop",setup(){const e=at(),t=Xl(mh),n=yn(),{height:r}=Zd(n),{height:o}=nh(),{y:s}=th(),i=A(()=>e.value.backToTop!==!1&&s.value>100),l=A(()=>s.value/(r.value-o.value)*100);return Ge(()=>{n.value=document.body}),()=>ke(nr,{name:"back-to-top"},()=>i.value?ke("button",{type:"button",class:"vp-back-to-top-button","aria-label":t.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[ke("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":l.value},ke("svg",ke("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}`}))),ke("div",{class:"back-to-top-icon"})]):null)}}),_h=Ft({rootComponents:[vh]}),bh=Object.freeze(Object.defineProperty({__proto__:null,default:_h},Symbol.toStringTag,{value:"Module"})),yh=/language-(shellscript|shell|bash|sh|zsh)/,wh=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o,ignoreSelector:s=[],transform:i})=>{const l=is("(max-width: 419px)"),a=A(()=>!l.value||o),c=Xl(n),f=Sn(),u=k=>{var b;if(k.hasAttribute("copy-code-registered"))return;const R=document.createElement("button");R.type="button",R.classList.add("vp-copy-code-button"),R.setAttribute("aria-label",c.value.copy),R.setAttribute("data-copied",c.value.copied),(b=k.parentElement)==null||b.insertBefore(R,k),k.setAttribute("copy-code-registered","")};$e(()=>[f.value.path,a.value],async()=>{document.body.classList.toggle("copy-code-disabled",!a.value),a.value&&(await wn(),await fh(e),document.querySelectorAll(r.join(",")).forEach(u))},{immediate:!0});const{copy:g}=Kd({legacy:!0}),_=new WeakMap,S=(k,R,b)=>{const m=R.cloneNode(!0);s.length&&m.querySelectorAll(s.join(",")).forEach(j=>j.remove()),i&&i(m);let w=m.textContent||"";yh.test(k.className)&&(w=w.replace(/^ *(\$|>) /gm,"")),g(w).then(()=>{if(t<=0)return;b.classList.add("copied"),clearTimeout(_.get(b));const j=setTimeout(()=>{b.classList.remove("copied"),b.blur(),_.delete(b)},t);_.set(b,j)})};lt("click",k=>{const R=k.target;if(a.value&&R.matches('div[class*="language-"] > button.vp-copy-code-button')){const b=R.parentElement,m=R.nextElementSibling;if(!b||!m)return;S(b,m,R)}})};var Sh={"/eng/":{copy:"Copy code",copied:"Copied"},"/":{copy:"Скопировать код",copied:"Скопировано"}},Ch=['.theme-default-content div[class*="language-"] pre'];const Ph=Ft({setup:()=>{wh({selector:Ch,locales:Sh,duration:2e3,delay:500,showInMobile:!1})}}),kh=Object.freeze(Object.defineProperty({__proto__:null,default:Ph},Symbol.toStringTag,{value:"Module"}));/** + * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT + */const ae={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:e=>{const t=ae.isStarted();e=ho(e,ae.settings.minimum,1),ae.status=e===1?null:e;const n=ae.render(!t),r=n.querySelector(ae.settings.barSelector),o=ae.settings.speed,s=ae.settings.easing;return n.offsetWidth,Lh(i=>{vr(r,{transform:"translate3d("+Si(e)+"%,0,0)",transition:"all "+o+"ms "+s}),e===1?(vr(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(()=>{vr(n,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(()=>{ae.remove(),i()},o)},o)):setTimeout(()=>i(),o)}),ae},isStarted:()=>typeof ae.status=="number",start:()=>{ae.status||ae.set(0);const e=()=>{setTimeout(()=>{ae.status&&(ae.trickle(),e())},ae.settings.trickleSpeed)};return ae.settings.trickle&&e(),ae},done:e=>!e&&!ae.status?ae:ae.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=ae.status;return t?(typeof e!="number"&&(e=(1-t)*ho(Math.random()*t,.1,.95)),t=ho(t+e,0,.994),ae.set(t)):ae.start()},trickle:()=>ae.inc(Math.random()*ae.settings.trickleRate),render:e=>{if(ae.isRendered())return document.getElementById("nprogress");Ci(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=ae.settings.template;const n=t.querySelector(ae.settings.barSelector),r=e?"-100":Si(ae.status||0),o=document.querySelector(ae.settings.parent);return vr(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&Ci(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{Pi(document.documentElement,"nprogress-busy"),Pi(document.querySelector(ae.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&Eh(e)},isRendered:()=>!!document.getElementById("nprogress")},ho=(e,t,n)=>en?n:e,Si=e=>(-1+e)*100,Lh=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),vr=function(){const e=["Webkit","O","Moz","ms"],t={};function n(i){return i.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(l,a){return a.toUpperCase()})}function r(i){const l=document.body.style;if(i in l)return i;let a=e.length;const c=i.charAt(0).toUpperCase()+i.slice(1);let f;for(;a--;)if(f=e[a]+c,f in l)return f;return i}function o(i){return i=n(i),t[i]??(t[i]=r(i))}function s(i,l,a){l=o(l),i.style[l]=a}return function(i,l){for(const a in l){const c=l[a];c!==void 0&&Object.prototype.hasOwnProperty.call(l,a)&&s(i,a,c)}}}(),ta=(e,t)=>(typeof e=="string"?e:as(e)).indexOf(" "+t+" ")>=0,Ci=(e,t)=>{const n=as(e),r=n+t;ta(n,t)||(e.className=r.substring(1))},Pi=(e,t)=>{const n=as(e);if(!ta(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},as=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),Eh=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},xh=()=>{Ge(()=>{const e=tn(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||ae.start()}),e.afterEach(n=>{t.add(n.path),ae.done()})})},Ah=Ft({setup(){xh()}}),Th=Object.freeze(Object.defineProperty({__proto__:null,default:Ah},Symbol.toStringTag,{value:"Module"})),Rh=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Oh=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"}`),Ih=ue(Oh),na=()=>Ih,ra=Symbol(""),Mh=()=>{const e=Be(ra);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},Dh=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},$h=Ft({enhance({app:e}){const t=na(),n=e._context.provides[Zo],r=A(()=>Dh(t.value,n.routeLocale.value));e.provide(ra,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),Nh=Object.freeze(Object.defineProperty({__proto__:null,default:$h},Symbol.toStringTag,{value:"Module"})),Hh=()=>na(),Re=()=>Mh(),oa=Symbol(""),jh=e=>{const t=(n=e.value)=>{const r=window.document.documentElement;r.classList.toggle("dark",n),r.dataset.theme=n?"dark":"light"};Ge(()=>{$e(e,t,{immediate:!0})}),Vr(()=>t())},cs=()=>{const e=Be(oa);if(!e)throw new Error("useDarkMode() is called without provider.");return e},Vh=()=>{const e=Re(),t=Yd(),n=ls("vuepress-color-scheme",e.value.colorMode),r=A({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"}});Xt(oa,r),jh(r)};let po=null,An=null;const Fh={wait:()=>po,pending:()=>{po=new Promise(e=>An=e)},resolve:()=>{An==null||An(),po=null,An=null}},sa=()=>Fh,bn=(e,t)=>{const{notFound:n,meta:r,path:o}=Gn(e,t);return n?{text:o,link:o}:{text:r.title||o,link:o}},ki=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),Bh=(e,t)=>{if(t.hash===e)return!0;const n=ki(t.path),r=ki(e);return n===r},ia=(e,t)=>e.link&&Bh(e.link,t)?!0:"children"in e?e.children.some(n=>ia(n,t)):!1,la=e=>!of(e)&&!rr(e),aa=e=>!Ur(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,Wh={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"},Uh=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const n=aa(e);return n!==null?Wh[n]:null},Kh=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=Uh({docsRepo:e,editLinkPattern:o});return s?s.replace(/:repo/,Ur(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,Dl(`${Ml(n)}/${r}`)):null},gn=(e="",t="")=>ea(t)||rr(t)?t:`${pf(e)}${t}`,wr=ue([]),Gh=()=>{const e=tn(),t=Re(),n=at(),r=A(()=>n.value.sidebarDepth??t.value.sidebarDepth??2);e.beforeEach((s,i)=>{s.path!==i.path&&(wr.value=[])});const o=()=>{if(r.value<=0){wr.value=[];return}wr.value=dh({selector:[...new Array(6)].map((s,i)=>`.theme-default-content h${i+1}`).join(","),levels:[2,r.value+1],ignore:[".vp-badge"]})};$e(r,o),Ge(o)},qh=()=>wr,ca=Symbol("sidebarItems"),us=()=>{const e=Be(ca);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},zh=()=>{const e=Re(),t=at(),n=Sn(),r=St(),o=or(),s=qh(),i=A(()=>t.value.home?!1:t.value.sidebar??e.value.sidebar??"heading"),l=A(()=>Jh(i.value,n.value,r.path,o.value,s.value));Xt(ca,l)},Jh=(e,t,n,r,o)=>e===!1?[]:e==="heading"?ua(t,o):Array.isArray(e)?fa(e,o,n,r):Qo(e)?Yh(e,t,o,n):[],Qh=e=>({text:e.title,link:e.link,children:fs(e.children)}),fs=e=>e?e.map(t=>Qh(t)):[],ua=(e,t)=>[{text:e.title,children:fs(t)}],fa=(e,t,n,r="")=>{const o=(s,i)=>{var a;const l=st(s)?bn(gn(i,s)):st(s.link)?{...s,link:la(s.link)?bn(gn(i,s.link)).link:s.link}:s;if("children"in l)return{...l,children:l.children.map(c=>o(c,gn(i,l.prefix)))};if(l.link===n){const c=((a=t[0])==null?void 0:a.level)===1?t[0].children:t;return{...l,children:fs(c)}}return l};return e.map(s=>o(s,r))},Yh=(e,t,n,r)=>{const o=gh(e).sort((s,i)=>i.length-s.length);for(const s of o)if(Zl(decodeURI(r),s)){const i=e[s];return i?i==="heading"?ua(t,n):fa(i,n,r,s):[]}return console.warn(`${decodeURI(r)} is missing sidebar config.`),[]},Xh=he({__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 Zh(e,t,n,r,o,s){return $(),Y("span",{class:Fe(["vp-badge",n.type]),style:Qn({verticalAlign:n.vertical})},[Le(e.$slots,"default",{},()=>[$t(le(n.text),1)])],6)}const ep=we(Xh,[["render",Zh],["__file","Badge.vue"]]),tp=he({name:"CodeGroup",slots:Object,setup(e,{slots:t}){const n=ue([]),r=ue(-1),o=ls("vuepress-code-group",{}),s=A(()=>n.value.map(c=>c.innerText).join(","));Ge(()=>{$e(()=>o.value[s.value],(c=-1)=>{r.value!==c&&(r.value=c)},{immediate:!0}),$e(r,c=>{o.value[s.value]!==c&&(o.value[s.value]=c)})});const i=(c=r.value)=>{c{c>0?r.value=c-1:r.value=n.value.length-1,n.value[r.value].focus()},a=(c,f)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),r.value=f):c.key==="ArrowRight"?(c.preventDefault(),i(f)):c.key==="ArrowLeft"&&(c.preventDefault(),l(f))};return()=>{var f;const c=(((f=t.default)==null?void 0:f.call(t))||[]).filter(u=>u.type.name==="CodeGroupItem").map(u=>(u.props===null&&(u.props={}),u));return c.length===0?null:(r.value<0||r.value>c.length-1?(r.value=c.findIndex(u=>u.props.active===""||u.props.active===!0),r.value===-1&&(r.value=0)):c.forEach((u,p)=>{u.props.active=p===r.value}),ke("div",{class:"code-group"},[ke("div",{class:"code-group-nav",role:"tablist"},c.map((u,p)=>{const g=p===r.value;return ke("button",{ref:_=>{_&&(n.value[p]=_)},class:{"code-group-nav-tab":!0,active:g},role:"tab",ariaSelected:g,onClick:()=>r.value=p,onKeydown:_=>a(_,p)},u.props.title)})),c]))}}}),np=he({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 rp(e,t,n,r,o,s){return $(),Y("div",{class:Fe(["code-group-item",{active:n.active}]),role:"tabpanel"},[Le(e.$slots,"default")],2)}const op=we(np,[["render",rp],["__file","CodeGroupItem.vue"]]),sp=he({__name:"VPHomeFeatures",setup(e,{expose:t}){t();const n=at(),r=A(()=>n.value.features??[]),o={frontmatter:n,features:r};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),ip={key:0,class:"vp-features"};function lp(e,t,n,r,o,s){return r.features.length?($(),Y("div",ip,[($(!0),Y(be,null,bt(r.features,i=>($(),Y("div",{key:i.title,class:"vp-feature"},[W("h2",null,le(i.title),1),W("p",null,le(i.details),1)]))),128))])):Ae("",!0)}const ap=we(sp,[["render",lp],["__file","VPHomeFeatures.vue"]]),cp=he({__name:"VPHomeFooter",setup(e,{expose:t}){t();const n=at(),r=A(()=>n.value.footer),o=A(()=>n.value.footerHtml),s={frontmatter:n,footer:r,footerHtml:o};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),up=["innerHTML"],fp=["textContent"];function dp(e,t,n,r,o,s){return r.footer?($(),Y(be,{key:0},[r.footerHtml?($(),Y("div",{key:0,class:"vp-footer",innerHTML:r.footer},null,8,up)):($(),Y("div",{key:1,class:"vp-footer",textContent:le(r.footer)},null,8,fp))],64)):Ae("",!0)}const hp=we(cp,[["render",dp],["__file","VPHomeFooter.vue"]]),pp=he({__name:"VPHomeHero",setup(e,{expose:t}){t();const n=at(),r=es(),o=cs(),s=A(()=>o.value&&n.value.heroImageDark!==void 0?n.value.heroImageDark:n.value.heroImage),i=A(()=>n.value.heroAlt||a.value||"hero"),l=A(()=>n.value.heroHeight||280),a=A(()=>n.value.heroText===null?null:n.value.heroText||r.value.title||"Hello"),c=A(()=>n.value.tagline===null?null:n.value.tagline||r.value.description||"Welcome to your VuePress site"),f=A(()=>Array.isArray(n.value.actions)?n.value.actions.map(({text:g,link:_,type:S="primary"})=>({text:g,link:_,type:S})):[]),p={frontmatter:n,siteLocale:r,isDarkMode:o,heroImage:s,heroAlt:i,heroHeight:l,heroText:a,tagline:c,actions:f,HomeHeroImage:()=>{if(!s.value)return null;const g=ke("img",{class:"vp-hero-image",src:rs(s.value),alt:i.value,height:l.value});return n.value.heroImageDark===void 0?g:ke(ts,()=>g)},get AutoLink(){return Cn}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),gp={class:"vp-hero"},mp={key:0,id:"main-title"},vp={key:1,class:"vp-hero-description"},_p={key:2,class:"vp-hero-actions"};function bp(e,t,n,r,o,s){return $(),Y("header",gp,[te(r.HomeHeroImage),r.heroText?($(),Y("h1",mp,le(r.heroText),1)):Ae("",!0),r.tagline?($(),Y("p",vp,le(r.tagline),1)):Ae("",!0),r.actions.length?($(),Y("p",_p,[($(!0),Y(be,null,bt(r.actions,i=>($(),Ee(r.AutoLink,{key:i.text,class:Fe(["vp-hero-action-button",[i.type]]),config:i},null,8,["class","config"]))),128))])):Ae("",!0)])}const yp=we(pp,[["render",bp],["__file","VPHomeHero.vue"]]),wp=he({__name:"VPHome",setup(e,{expose:t}){t();const n={VPHomeFeatures:ap,VPHomeFooter:hp,VPHomeHero:yp,get Content(){return ns}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Sp={class:"vp-home"},Cp={class:"theme-default-content"};function Pp(e,t,n,r,o,s){return $(),Y("main",Sp,[te(r.VPHomeHero),te(r.VPHomeFeatures),W("div",Cp,[te(r.Content)]),te(r.VPHomeFooter)])}const kp=we(wp,[["render",Pp],["__file","VPHome.vue"]]),Lp="719px",Ep={mobile:Lp};var qn;(function(e){e.MOBILE="mobile"})(qn||(qn={}));const xp={[qn.MOBILE]:Number.parseInt(Ep.mobile.replace("px",""),10)},da=(e,t)=>{const n=xp[e];Number.isInteger(n)&&(lt("orientationchange",()=>t(n),!1),lt("resize",()=>t(n),!1),Ge(()=>{t(n)}))},Ap=he({__name:"VPNavbarBrand",setup(e,{expose:t}){t();const n=or(),r=es(),o=Re(),s=cs(),i=A(()=>o.value.home||n.value),l=A(()=>r.value.title),a=A(()=>s.value&&o.value.logoDark!==void 0?o.value.logoDark:o.value.logo),c=A(()=>o.value.logoAlt??l.value),f=A(()=>l.value.toLocaleUpperCase().trim()===c.value.toLocaleUpperCase().trim()),p={routeLocale:n,siteLocale:r,themeLocale:o,isDarkMode:s,navbarBrandLink:i,navbarBrandTitle:l,navbarBrandLogo:a,navbarBrandLogoAlt:c,navBarLogoAltMatchesTitle:f,NavbarBrandLogo:()=>{if(!a.value)return null;const g=ke("img",{class:"vp-site-logo",src:rs(a.value),alt:c.value});return o.value.logoDark===void 0?g:ke(ts,()=>g)},get RouteLink(){return qr}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),Tp=["aria-hidden"];function Rp(e,t,n,r,o,s){return $(),Ee(r.RouteLink,{to:r.navbarBrandLink},{default:xe(()=>[te(r.NavbarBrandLogo),r.navbarBrandTitle?($(),Y("span",{key:0,class:Fe(["vp-site-name",{"vp-hide-mobile":r.navbarBrandLogo}]),"aria-hidden":r.navBarLogoAltMatchesTitle},le(r.navbarBrandTitle),11,Tp)):Ae("",!0)]),_:1},8,["to"])}const Op=we(Ap,[["render",Rp],["__file","VPNavbarBrand.vue"]]),ha=(e,t="")=>st(e)?bn(gn(t,e)):"children"in e?{...e,children:e.children.map(n=>ha(n,gn(t,e.prefix)))}:{...e,link:la(e.link)?bn(gn(t,e.link)).link:e.link},Ip=()=>{const e=Re();return A(()=>(e.value.navbar||[]).map(t=>ha(t)))},Mp=()=>{const e=Re(),t=A(()=>e.value.repo),n=A(()=>t.value?aa(t.value):null),r=A(()=>t.value&&!Ur(t.value)?`https://github.com/${t.value}`:t.value),o=A(()=>r.value?e.value.repoLabel?e.value.repoLabel:n.value===null?"Source":n.value:null);return A(()=>!r.value||!o.value?[]:[{text:o.value,link:r.value}])},Dp=()=>{const e=St(),t=uh(),n=or(),r=ql(),o=es(),s=Hh(),i=Re();return A(()=>{const l=Object.keys(r.value.locales);if(l.length<2)return[];const a=e.path,c=e.fullPath;return[{text:`${i.value.selectLanguageText}`,ariaLabel:`${i.value.selectLanguageAriaLabel??i.value.selectLanguageText}`,children:l.map(u=>{var R,b;const p=((R=r.value.locales)==null?void 0:R[u])??{},g=((b=s.value.locales)==null?void 0:b[u])??{},_=`${p.lang}`,S=g.selectLanguageName??_;if(_===o.value.lang)return{text:S,activeMatch:".",link:e.fullPath};const k=a.replace(n.value,u);return{text:S,link:t.value.some(m=>m===k)?c.replace(a,k):g.home??u}})}]})},$p=he({__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 Np(e,t,n,r,o,s){return $(),Ee(nr,{name:"vp-dropdown",onEnter:r.setHeight,onAfterEnter:r.unsetHeight,onBeforeLeave:r.setHeight},{default:xe(()=>[Le(e.$slots,"default")]),_:3})}const pa=we($p,[["render",Np],["__file","VPDropdownTransition.vue"]]),Hp=he({__name:"VPNavbarDropdown",props:{item:{}},setup(e,{expose:t}){t();const n=e,{item:r}=Zi(n),o=St(),s=ue(!1),i=A(()=>r.value.ariaLabel||r.value.text),l=(f,u)=>u[u.length-1]===f,a=f=>{const u=f.detail===0;s.value=u?!s.value:!1};$e(()=>o.path,()=>{s.value=!1});const c={props:n,item:r,route:o,open:s,dropdownAriaLabel:i,isLastItemOfArray:l,handleDropdown:a,VPDropdownTransition:pa,get AutoLink(){return Cn}};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}}),jp=["aria-label"],Vp={class:"title"},Fp=W("span",{class:"arrow down"},null,-1),Bp=["aria-label"],Wp={class:"title"},Up={class:"vp-navbar-dropdown"},Kp={class:"vp-navbar-dropdown-subtitle"},Gp={key:1},qp={class:"vp-navbar-dropdown-subitem-wrapper"};function zp(e,t,n,r,o,s){return $(),Y("div",{class:Fe(["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",Vp,le(r.item.text),1),Fp],8,jp),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",Wp,le(r.item.text),1),W("span",{class:Fe(["arrow",r.open?"down":"right"])},null,2)],8,Bp),te(r.VPDropdownTransition,null,{default:xe(()=>[kr(W("ul",Up,[($(!0),Y(be,null,bt(r.item.children,i=>($(),Y("li",{key:i.text,class:"vp-navbar-dropdown-item"},["children"in i?($(),Y(be,{key:0},[W("h4",Kp,[i.link?($(),Ee(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"])):($(),Y("span",Gp,le(i.text),1))]),W("ul",qp,[($(!0),Y(be,null,bt(i.children,l=>($(),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)):($(),Ee(r.AutoLink,{key:1,config:i,onFocusout:l=>r.isLastItemOfArray(i,r.item.children)&&(r.open=!1)},null,8,["config","onFocusout"]))]))),128))],512),[[Or,r.open]])]),_:1})],2)}const Jp=we(Hp,[["render",zp],["__file","VPNavbarDropdown.vue"]]),Qp=he({__name:"VPNavbarItems",setup(e,{expose:t}){t();const n=Ip(),r=Dp(),o=Mp(),s=ue(!1),i=A(()=>Re().value.navbarLabel??"site navigation"),l=A(()=>[...n.value,...r.value,...o.value]);da(qn.MOBILE,c=>{s.value=window.innerWidth($(),Y("div",{key:i.text,class:"vp-navbar-item"},["children"in i?($(),Ee(r.VPNavbarDropdown,{key:0,class:Fe({mobile:r.isMobile}),item:i},null,8,["class","item"])):($(),Ee(r.AutoLink,{key:1,config:i},null,8,["config"]))]))),128))],8,Yp)):Ae("",!0)}const ga=we(Qp,[["render",Xp],["__file","VPNavbarItems.vue"]]),Zp={},eg={class:"dark-icon",viewBox:"0 0 32 32"},tg=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),ng=[tg];function rg(e,t){return $(),Y("svg",eg,ng)}const og=we(Zp,[["render",rg],["__file","VPDarkIcon.vue"]]),sg={},ig={class:"light-icon",viewBox:"0 0 32 32"},lg=pu('',9),ag=[lg];function cg(e,t){return $(),Y("svg",ig,ag)}const ug=we(sg,[["render",cg],["__file","VPLightIcon.vue"]]),fg=he({__name:"VPToggleColorModeButton",setup(e,{expose:t}){t();const n=Re(),r=cs(),s={themeLocale:n,isDarkMode:r,toggleColorMode:()=>{r.value=!r.value},VPDarkIcon:og,VPLightIcon:ug};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),dg=["title"];function hg(e,t,n,r,o,s){return $(),Y("button",{class:"vp-toggle-color-mode-button",title:r.themeLocale.toggleColorMode,onClick:r.toggleColorMode},[kr(te(r.VPLightIcon,null,null,512),[[Or,!r.isDarkMode]]),kr(te(r.VPDarkIcon,null,null,512),[[Or,r.isDarkMode]])],8,dg)}const pg=we(fg,[["render",hg],["__file","VPToggleColorModeButton.vue"]]),gg=he({__name:"VPToggleSidebarButton",emits:["toggle"],setup(e,{expose:t}){t();const r={themeLocale:Re()};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),mg=["title"],vg=W("div",{class:"icon","aria-hidden":"true"},[W("span"),W("span"),W("span")],-1),_g=[vg];function bg(e,t,n,r,o,s){return $(),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"))},_g,8,mg)}const yg=we(gg,[["render",bg],["__file","VPToggleSidebarButton.vue"]]),wg=he({__name:"VPNavbar",emits:["toggle-sidebar"],setup(e,{expose:t}){t();const n=Re(),r=ue(null),o=ue(null),s=ue(0),i=A(()=>s.value?{maxWidth:s.value+"px"}:{}),l=(c,f)=>{var g,_,S;const u=(S=(_=(g=c==null?void 0:c.ownerDocument)==null?void 0:g.defaultView)==null?void 0:_.getComputedStyle(c,null))==null?void 0:S[f],p=Number.parseInt(u,10);return Number.isNaN(p)?0:p};da(qn.MOBILE,c=>{var u;const f=l(r.value,"paddingLeft")+l(r.value,"paddingRight");window.innerWidthe.$emit("toggle-sidebar"))}),W("span",Cg,[te(r.VPNavbarBrand)],512),W("div",{class:"vp-navbar-items-wrapper",style:Qn(r.linksWrapperStyle)},[Le(e.$slots,"before"),te(r.VPNavbarItems,{class:"vp-hide-mobile"}),Le(e.$slots,"after"),r.themeLocale.colorModeSwitch?($(),Ee(r.VPToggleColorModeButton,{key:0})):Ae("",!0),te(i)],4)],512)}const kg=we(wg,[["render",Pg],["__file","VPNavbar.vue"]]),Lg=()=>{const e=Re(),t=Sn(),n=at();return A(()=>{var o;return n.value.contributors??e.value.contributors??!0?((o=t.value.git)==null?void 0:o.contributors)??null:null})},Eg=()=>{const e=Re(),t=Sn(),n=at();return A(()=>{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 c=Kh({docsRepo:s,docsBranch:i,docsDir:l,filePathRelative:t.value.filePathRelative,editLinkPattern:n.value.editLinkPattern??e.value.editLinkPattern});return c?{text:a??"Edit this page",link:c}:null})},xg=()=>{const e=Re(),t=Sn(),n=at();return A(()=>{var s,i;return!(n.value.lastUpdated??e.value.lastUpdated??!0)||!((s=t.value.git)!=null&&s.updatedTime)?null:new Date((i=t.value.git)==null?void 0:i.updatedTime).toLocaleString()})},Ag={},Tg={class:"edit-icon",viewBox:"0 0 1024 1024"},Rg=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),Og=[Rg];function Ig(e,t){return $(),Y("svg",Tg,Og)}const Mg=we(Ag,[["render",Ig],["__file","VPEditIcon.vue"]]),Dg=he({__name:"VPPageMeta",setup(e,{expose:t}){t();const n=Re(),r=Eg(),o=xg(),s=Lg(),i={themeLocale:n,editLink:r,lastUpdated:o,contributors:s,VPEditIcon:Mg,get AutoLink(){return Cn}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),$g={class:"vp-page-meta"},Ng={key:0,class:"vp-meta-item edit-link"},Hg={class:"vp-meta-item git-info"},jg={key:0,class:"vp-meta-item last-updated"},Vg={class:"meta-item-label"},Fg={class:"meta-item-info"},Bg={key:1,class:"vp-meta-item contributors"},Wg={class:"meta-item-label"},Ug={class:"meta-item-info"},Kg=["title"];function Gg(e,t,n,r,o,s){const i=Ko("ClientOnly");return $(),Y("footer",$g,[r.editLink?($(),Y("div",Ng,[te(r.AutoLink,{class:"label",config:r.editLink},{before:xe(()=>[te(r.VPEditIcon)]),_:1},8,["config"])])):Ae("",!0),W("div",Hg,[r.lastUpdated?($(),Y("div",jg,[W("span",Vg,le(r.themeLocale.lastUpdatedText)+": ",1),te(i,null,{default:xe(()=>[W("span",Fg,le(r.lastUpdated),1)]),_:1})])):Ae("",!0),r.contributors&&r.contributors.length?($(),Y("div",Bg,[W("span",Wg,le(r.themeLocale.contributorsText)+": ",1),W("span",Ug,[($(!0),Y(be,null,bt(r.contributors,(l,a)=>($(),Y(be,{key:a},[W("span",{class:"contributor",title:`email: ${l.email}`},le(l.name),9,Kg),a!==r.contributors.length-1?($(),Y(be,{key:0},[$t(", ")],64)):Ae("",!0)],64))),128))])])):Ae("",!0)])])}const qg=we(Dg,[["render",Gg],["__file","VPPageMeta.vue"]]),zg=()=>{const e=tn(),t=St();return n=>{n&&(ea(n)?t.path!==n&&e.push(n):rr(n)?window==null||window.open(n):e.push(encodeURI(n)))}},Li=(e,t)=>e===!1?!1:st(e)?bn(e,t):Qo(e)?{...e,link:bn(e.link,t).link}:null,To=(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&&!Gn(s.prefix).notFound?{...s,link:s.prefix}:null:null}for(const s of e)if("children"in s){const i=To(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&&!Gn(s.prefix).notFound?{...s,link:s.prefix}:null:null}return null},Jg=()=>{const e=at(),t=Re(),n=us(),r=St(),o=A(()=>{const i=Li(e.value.prev,r.path);return i===!1?null:i??(t.value.prev===!1?null:To(n.value,r.path,-1))}),s=A(()=>{const i=Li(e.value.next,r.path);return i===!1?null:i??(t.value.next===!1?null:To(n.value,r.path,1))});return{prevLink:o,nextLink:s}},Qg=he({__name:"VPPageNav",setup(e,{expose:t}){t();const n=Re(),r=zg(),{prevLink:o,nextLink:s}=Jg(),i=A(()=>Re().value.pageNavbarLabel??"page navigation");lt("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 Cn}};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),Yg=["aria-label"],Xg={class:"hint"},Zg=W("span",{class:"arrow left"},null,-1),em={class:"link"},tm={class:"hint"},nm=W("span",{class:"arrow right"},null,-1),rm={class:"link"};function om(e,t,n,r,o,s){return r.prevLink||r.nextLink?($(),Y("nav",{key:0,class:"vp-page-nav","aria-label":r.navbarLabel},[r.prevLink?($(),Ee(r.AutoLink,{key:0,class:"prev",config:r.prevLink},{default:xe(()=>[W("div",Xg,[Zg,$t(" "+le(r.themeLocale.prev??"Prev"),1)]),W("div",em,[W("span",null,le(r.prevLink.text),1)])]),_:1},8,["config"])):Ae("",!0),r.nextLink?($(),Ee(r.AutoLink,{key:1,class:"next",config:r.nextLink},{default:xe(()=>[W("div",tm,[$t(le(r.themeLocale.next??"Next")+" ",1),nm]),W("div",rm,[W("span",null,le(r.nextLink.text),1)])]),_:1},8,["config"])):Ae("",!0)],8,Yg)):Ae("",!0)}const sm=we(Qg,[["render",om],["__file","VPPageNav.vue"]]),im=he({__name:"VPPage",setup(e,{expose:t}){t(),Gh();const n={VPPageMeta:qg,VPPageNav:sm,get Content(){return ns}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),lm={class:"vp-page"},am={class:"theme-default-content"};function cm(e,t,n,r,o,s){return $(),Y("main",lm,[Le(e.$slots,"top"),W("div",am,[Le(e.$slots,"content-top"),te(r.Content),Le(e.$slots,"content-bottom")]),te(r.VPPageMeta),te(r.VPPageNav),Le(e.$slots,"bottom")])}const um=we(im,[["render",cm],["__file","VPPage.vue"]]),fm=he({__name:"VPSidebarItem",props:{item:{},depth:{default:0}},setup(e,{expose:t}){t();const n=e,{item:r,depth:o}=Zi(n),s=St(),i=tn(),l=A(()=>"collapsible"in r.value&&r.value.collapsible),a=A(()=>ia(r.value,s)),c=A(()=>({"vp-sidebar-item":!0,"vp-sidebar-heading":o.value===0,active:a.value,collapsible:l.value})),f=A(()=>l.value?a.value:!0),[u,p]=Wd(f.value),g=k=>{l.value&&(k.preventDefault(),p())},_=i.afterEach(k=>{wn(()=>{u.value=f.value})});Uo(()=>{_()});const S={props:n,item:r,depth:o,route:s,router:i,collapsible:l,isActive:a,itemClass:c,isOpenDefault:f,isOpen:u,toggleIsOpen:p,onClick:g,unregisterRouterHook:_,VPDropdownTransition:pa,get AutoLink(){return Cn}};return Object.defineProperty(S,"__isScriptSetup",{enumerable:!1,value:!0}),S}}),dm={class:"vp-sidebar-children"};function hm(e,t,n,r,o,s){const i=Ko("VPSidebarItem",!0);return $(),Y("li",null,[r.item.link?($(),Ee(r.AutoLink,{key:0,class:Fe(r.itemClass),config:r.item},null,8,["class","config"])):($(),Y("p",{key:1,tabindex:"0",class:Fe(r.itemClass),onClick:r.onClick,onKeydown:Yu(r.onClick,["enter"])},[$t(le(r.item.text)+" ",1),r.collapsible?($(),Y("span",{key:0,class:Fe(["arrow",r.isOpen?"down":"right"])},null,2)):Ae("",!0)],34)),"children"in r.item&&r.item.children.length?($(),Ee(r.VPDropdownTransition,{key:2},{default:xe(()=>[kr(W("ul",dm,[($(!0),Y(be,null,bt(r.item.children,l=>($(),Ee(i,{key:`${r.depth}${l.text}${l.link}`,item:l,depth:r.depth+1},null,8,["item","depth"]))),128))],512),[[Or,r.isOpen]])]),_:1})):Ae("",!0)])}const pm=we(fm,[["render",hm],["__file","VPSidebarItem.vue"]]),gm=he({__name:"VPSidebarItems",setup(e,{expose:t}){t();const n=St(),r=us();Ge(()=>{$e(()=>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:c}=i.getBoundingClientRect(),{top:f,height:u}=l.getBoundingClientRect();fa+c&&l.scrollIntoView(!1)})});const o={route:n,sidebarItems:r,VPSidebarItem:pm};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),mm={key:0,class:"vp-sidebar-items"};function vm(e,t,n,r,o,s){return r.sidebarItems.length?($(),Y("ul",mm,[($(!0),Y(be,null,bt(r.sidebarItems,i=>($(),Ee(r.VPSidebarItem,{key:`${i.text}${i.link}`,item:i},null,8,["item"]))),128))])):Ae("",!0)}const _m=we(gm,[["render",vm],["__file","VPSidebarItems.vue"]]),bm=he({__name:"VPSidebar",setup(e,{expose:t}){t();const n={VPNavbarItems:ga,VPSidebarItems:_m};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),ym={class:"vp-sidebar"};function wm(e,t,n,r,o,s){return $(),Y("aside",ym,[te(r.VPNavbarItems),Le(e.$slots,"top"),te(r.VPSidebarItems),Le(e.$slots,"bottom")])}const Sm=we(bm,[["render",wm],["__file","VPSidebar.vue"]]),Cm=he({__name:"Layout",setup(e,{expose:t}){t();const n=Sn(),r=at(),o=Re(),s=A(()=>r.value.navbar!==!1&&o.value.navbar!==!1),i=us(),l=ue(!1),a=m=>{l.value=typeof m=="boolean"?m:!l.value},c={x:0,y:0},f=m=>{c.x=m.changedTouches[0].clientX,c.y=m.changedTouches[0].clientY},u=m=>{const w=m.changedTouches[0].clientX-c.x,j=m.changedTouches[0].clientY-c.y;Math.abs(w)>Math.abs(j)&&Math.abs(w)>40&&(w>0&&c.x<=80?a(!0):a(!1))},p=A(()=>r.value.externalLinkIcon??o.value.externalLinkIcon??!0),g=A(()=>[{"no-navbar":!s.value,"no-sidebar":!i.value.length,"sidebar-open":l.value,"external-link-icon":p.value},r.value.pageClass]);let _;Ge(()=>{_=tn().afterEach(()=>{a(!1)})}),Vr(()=>{_()});const S=sa(),k=S.resolve,R=S.pending,b={page:n,frontmatter:r,themeLocale:o,shouldShowNavbar:s,sidebarItems:i,isSidebarOpen:l,toggleSidebar:a,touchStart:c,onTouchStart:f,onTouchEnd:u,enableExternalLinkIcon:p,containerClass:g,get unregisterRouterHook(){return _},set unregisterRouterHook(m){_=m},scrollPromise:S,onBeforeEnter:k,onBeforeLeave:R,VPHome:kp,VPNavbar:kg,VPPage:um,VPSidebar:Sm};return Object.defineProperty(b,"__isScriptSetup",{enumerable:!1,value:!0}),b}});function Pm(e,t,n,r,o,s){return $(),Y("div",{class:Fe(["vp-theme-container",r.containerClass]),onTouchstart:r.onTouchStart,onTouchend:r.onTouchEnd},[Le(e.$slots,"navbar",{},()=>[r.shouldShowNavbar?($(),Ee(r.VPNavbar,{key:0,onToggleSidebar:r.toggleSidebar},{before:xe(()=>[Le(e.$slots,"navbar-before")]),after:xe(()=>[Le(e.$slots,"navbar-after")]),_:3})):Ae("",!0)]),W("div",{class:"vp-sidebar-mask",onClick:t[0]||(t[0]=i=>r.toggleSidebar(!1))}),Le(e.$slots,"sidebar",{},()=>[te(r.VPSidebar,null,{top:xe(()=>[Le(e.$slots,"sidebar-top")]),bottom:xe(()=>[Le(e.$slots,"sidebar-bottom")]),_:3})]),Le(e.$slots,"page",{},()=>[r.frontmatter.home?($(),Ee(r.VPHome,{key:0})):($(),Ee(nr,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:r.onBeforeEnter,onBeforeLeave:r.onBeforeLeave},{default:xe(()=>[($(),Ee(r.VPPage,{key:r.page.path},{top:xe(()=>[Le(e.$slots,"page-top")]),"content-top":xe(()=>[Le(e.$slots,"page-content-top")]),"content-bottom":xe(()=>[Le(e.$slots,"page-content-bottom")]),bottom:xe(()=>[Le(e.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34)}const ma=we(Cm,[["render",Pm],["__file","Layout.vue"]]),km=he({__name:"NotFound",setup(e,{expose:t}){t();const n=or(),r=Re(),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 qr}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),Lm=e=>(hc("data-v-99131a8e"),e=e(),pc(),e),Em={class:"vp-theme-container"},xm={class:"page"},Am={class:"theme-default-content"},Tm=Lm(()=>W("h1",null,"404",-1));function Rm(e,t,n,r,o,s){return $(),Y("div",Em,[W("main",xm,[W("div",Am,[Tm,W("blockquote",null,le(r.getMsg()),1),te(r.RouteLink,{to:r.homeLink},{default:xe(()=>[$t(le(r.homeText),1)]),_:1},8,["to"])])])])}const Om=we(km,[["render",Rm],["__scopeId","data-v-99131a8e"],["__file","NotFound.vue"]]),Im=Ft({enhance({app:e,router:t}){fo("Badge")||e.component("Badge",ep),fo("CodeGroup")||e.component("CodeGroup",tp),fo("CodeGroupItem")||e.component("CodeGroupItem",op),e.component("VPSearch",()=>{const r=e.component("Docsearch")||e.component("SearchBox");return r?ke(r):null});const n=t.options.scrollBehavior;t.options.scrollBehavior=async(...r)=>(await sa().wait(),n(...r))},setup(){Vh(),zh()},layouts:{Layout:ma,NotFound:Om}}),Mm=Object.freeze(Object.defineProperty({__proto__:null,default:Im},Symbol.toStringTag,{value:"Module"})),Dm=Object.entries;var $m={autoLocale:!1,switchLocale:!1,localeConfig:{"/eng/":["en-US"]},defaultLocale:"/eng/",localeFallback:!0,defaultBehavior:"defaultLocale"};const Nm=$m;Dm(Nm.localeConfig);eh("VUEPRESS_REDIRECT_LOCALES",{});const Hm=Ft({setup(){},rootComponents:[]}),jm=Object.freeze(Object.defineProperty({__proto__:null,default:Hm},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||{}),de=(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))(de||{}),O=(e=>(e.C="C",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.Godot="Godot",e.Haskell="Haskell",e))(O||{});const Vm=[{name:"picsg",url:"/pleshevskiy/picsg",description:"A tool for steganographing information in a picture encoded using the Vernam cipher.",roles:[ie.Author],technologies:[O.Haskell],startDate:new Date("2024-04-13"),status:de.AsIs},{name:"Mindustry tools",url:"/pleshevskiy/mindustry-tools",description:"Tools for the Mindustry game",roles:[ie.Author],technologies:[O.Nix,O.Godot],startDate:new Date("2024-01-07"),status:de.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:[O.Deno,O.Sqlite,O.TypeScript,O.Vue,O.Docker,O.Woodpecker,O.Nix],startDate:new Date("2023-07-03"),status:de.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:[O.JavaScript,O.NodeJS,O.Nix],startDate:new Date("2023-06-27"),status:de.PassivelyMaintained},{name:"tree-sitter-plpgsql",url:"/pleshevskiy/tree-sitter-plpgsql",description:"plpgsql grammar for tree-sitter",roles:[ie.Author],technologies:[O.C,O.JavaScript,O.TreeSitter,O.Nix],startDate:new Date("2023-01-05"),status:de.PassivelyMaintained},{name:"wd2",url:"/pleshevskiy/wd2",description:"A wrapper over d2 which allows to use additional configs from d2 file",roles:[ie.Author],technologies:[O.Bash,O.Nix],startDate:new Date("2022-12-12"),endDate:new Date("2023-07-31"),status:de.AsIs},{name:"tree-sitter-d2",url:"/pleshevskiy/tree-sitter-d2",description:"d2 grammar for tree-sitter",roles:[ie.Author],technologies:[O.C,O.JavaScript,O.TreeSitter,O.Nix],startDate:new Date("2022-12-04"),status:de.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:[O.Nix,O.Lua],startDate:new Date("2022-11-22"),status:de.PassivelyMaintained},{name:"vnetod",url:"/pleshevskiy/vnetod",description:"Dotenv section switcher",roles:[ie.Author],technologies:[O.Rust],startDate:new Date("2022-07-29"),status:de.PassivelyMaintained},{name:"estring",url:"/pleshevskiy/estring",description:"A simple way to parse a string using type annotations.",roles:[ie.Author],technologies:[O.Rust],startDate:new Date("2022-07-23"),status:de.PassivelyMaintained},{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:[O.Rust],startDate:new Date("2022-07-18"),status:de.PassivelyMaintained},{name:"docker stack drone plugin",url:"/drone_plugins/docker_stack",description:"Deploy to production using `docker stack deploy`",roles:[ie.Author],technologies:[O.Docker,O.Drone,O.Woodpecker],startDate:new Date("2022-06-06"),status:de.PassivelyMaintained},{name:"dexios",url:"/github/dexios",description:"Dexios is a fast, secure, and open source command-line encryption tool.",roles:[ie.Collaborator],technologies:[O.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:[O.TypeScript,O.Deno,O.Rust],startDate:new Date("2022-05-04"),status:de.PassivelyMaintained},{name:"pleshevski.ru",url:"/pleshevskiy/pleshevski.ru",description:"Source code of my personal site",roles:[ie.Author],technologies:[O.TypeScript,O.Deno,O.Docker,O.Woodpecker],startDate:new Date("2022-03-16"),status:de.PassivelyMaintained},{name:"paren",url:"/pleshevskiy/paren",description:"Library for parsing and rendering information.",roles:[ie.Author],technologies:[O.TypeScript,O.Deno],startDate:new Date("2022-03-14"),status:de.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:[O.Rust],startDate:new Date("2022-02-04"),status:de.AsIs},{name:"ood_persistence",url:"/pleshevskiy/ood_persistence",description:"Asynchronous and synchronous interfaces and persistence implementations for your OOD architecture ",roles:[ie.Author],technologies:[O.Rust],startDate:new Date("2021-10-12"),status:de.Deprecated},{name:"migra",url:"/pleshevskiy/migra",description:"Simple SQL migration manager for your project.",roles:[ie.Author],technologies:[O.Rust],startDate:new Date("2021-01-31"),status:de.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:[O.JavaScript],startDate:new Date("2021-08-23"),status:de.AsIs},{name:"react-rest-request",url:"/pleshevskiy/react-rest-request",description:"Minimalistic REST API client for React inspired by Apollo.",roles:[ie.Author],technologies:[O.TypeScript,O.React],startDate:new Date("2020-10-04"),status:de.Deprecated},{name:"sonic-channel",url:"/pleshevskiy/sonic-channel",description:"Rust client for sonic search backend.",roles:[ie.Author],technologies:[O.Rust],startDate:new Date("2020-07-18"),status:de.PassivelyMaintained},{name:"itconfig",url:"/pleshevskiy/itconfig",description:"Easy build a configs from environment variables and use it in globally.",roles:[ie.Author],technologies:[O.Rust],startDate:new Date("2019-12-22"),status:de.Deprecated},{name:"it-fsm",url:"/pleshevskiy/it-fsm",description:"Simple full-featured finite state machine for your project",roles:[ie.Author],technologies:[O.TypeScript,O.NodeJS,O.Deno],startDate:new Date("2019"),status:de.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:[O.Python,O.Flask,O.Postgresql,O.TypeScript,O.React,O.Docker,O.Woodpecker,O.Nix],startDate:new Date("2019-09-22"),status:de.PassivelyMaintained},{name:"genrss",url:"/pleshevskiy/genrss",description:"RSS generator for python",roles:[ie.Author],technologies:[O.Python],startDate:new Date("2019-07-23"),status:de.AsIs},{name:"marshmallow_pageinfo",url:"/pleshevskiy/marshmallow_pageinfo",description:"Page info marshmallow schema for api",roles:[ie.Author],technologies:[O.Python],startDate:new Date("2019-10-05"),status:de.AsIs},{name:"Binary Management",url:"https://www.binarymanagement.com",description:"Project management tool for interior designers",roles:[ie.Developer,ie.TechLead,ie.TeamLead],technologies:[O.TypeScript,O.NodeJS,O.React,O.Antd,O.Docker,O.Drone,O.Rust,O.Nix],startDate:new Date("2018-09-15"),status:de.ActiveDeveloped},{name:"Core Spirit",url:"https://corespirit.com",description:"Social platform focusing on human and planetary enhancement",roles:[ie.Developer],technologies:[O.TypeScript,O.NodeJS,O.React,O.Docker,O.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:[O.Python,O.Flask,O.JavaScript,O.Docker,O.Woodpecker],startDate:new Date("2018-04-10"),status:de.PassivelyMaintained},{name:"ictmpl",url:"/pleshevskiy/ictmpl",description:"Generate projects from templates",roles:[ie.Author],technologies:[O.Python],startDate:new Date("2018-06-30"),status:de.AsIs},{name:"jjcrypto",url:"/pleshevskiy/jjcrypto",description:"Javascript encoder and decoder",roles:[ie.Author],technologies:[O.Php],startDate:new Date("2015-11-01"),status:de.AsIs}];function Fm(e){return e.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})}const Bm=e=>e.url.startsWith("https://")?e.url:new URL(e.url,"https://git.pleshevski.ru").toString(),Wm=Object.freeze(Object.defineProperty({__proto__:null,getExternalLink:Bm},Symbol.toStringTag,{value:"Module"})),Um={name:"WorksPage",computed:{tableTheme(){return this.$themeLocale.worksTable??{}}}},Km=he({...Um,setup(e,{expose:t}){t();const n={get CHRONOLOGICAL_WORKS(){return Vm},get renderDate(){return Fm},get w(){return Wm}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Gm=["href"],qm=["innerHTML"],zm={key:0};function Jm(e,t,n,r,o,s){return $(),Y("table",null,[W("thead",null,[W("tr",null,[W("th",null,le(s.tableTheme.name),1),W("th",null,le(s.tableTheme.description),1),W("th",null,le(s.tableTheme.role),1),W("th",null,le(s.tableTheme.technologies),1),W("th",null,le(s.tableTheme.status),1),W("th",null,le(s.tableTheme.dates),1)])]),W("tbody",null,[($(!0),Y(be,null,bt(r.CHRONOLOGICAL_WORKS,i=>($(),Y("tr",null,[W("td",null,[W("a",{rel:"nofollow noopener",href:r.w.getExternalLink(i)},le(i.name),9,Gm)]),W("td",null,le(i.description),1),W("td",{innerHTML:i.roles.join(", ")},null,8,qm),W("td",null,le(i.technologies.join(", ")),1),W("td",null,le(i.status),1),W("td",null,[W("div",null,[W("small",{class:Fe({grey:i.endDate})},le(r.renderDate(i.startDate)),3)]),i.endDate?($(),Y("div",zm,[W("small",null,le(r.renderDate(i.endDate)),1)])):Ae("",!0)])]))),256))])])}const Qm=we(Km,[["render",Jm],["__file","ChronologicalWorksTable.vue"]]),Ym={__name:"WorksPage",setup(e,{expose:t}){t();const n={ParentLayout:ma,get ChronologicalWorksTable(){return Qm}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}},Xm={class:"works-table-wrapper"};function Zm(e,t,n,r,o,s){return $(),Ee(r.ParentLayout,null,{"page-bottom":xe(()=>[W("div",Xm,[te(r.ChronologicalWorksTable)])]),_:1})}const ev=we(Ym,[["render",Zm],["__scopeId","data-v-765855fb"],["__file","WorksPage.vue"]]),tv=Ft({layouts:{WorksPage:ev}}),nv=Object.freeze(Object.defineProperty({__proto__:null,default:tv},Symbol.toStringTag,{value:"Module"})),_r=[ch,bh,kh,Th,Rh,Nh,Mm,jm,nv].map(e=>e.default).filter(Boolean),rv=JSON.parse('{"base":"/","lang":"ru-RU","title":"Дмитрий Плешевский","description":" ","head":[],"locales":{"/":{"lang":"ru-RU","title":"Дмитрий Плешевский"},"/eng/":{"lang":"en-US","title":"Dmitriy Pleshevskiy"}}}');var Rn=yn(rv),ov=Jf,sv=()=>{const e=wd({history:ov(Ml("/")),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===mt){const r=Gn(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},iv=e=>{e.component("ClientOnly",ts),e.component("Content",ns),e.component("RouteLink",qr)},lv=(e,t,n)=>{const r=A(()=>t.currentRoute.value.path),o=oc((k,R)=>({get(){return k(),t.currentRoute.value.meta._pageChunk},set(b){t.currentRoute.value.meta._pageChunk=b,R()}})),s=A(()=>Kt.resolveLayouts(n)),i=A(()=>Kt.resolveRouteLocale(Rn.value.locales,r.value)),l=A(()=>Kt.resolveSiteLocaleData(Rn.value,i.value)),a=A(()=>o.value.comp),c=A(()=>o.value.data),f=A(()=>c.value.frontmatter),u=A(()=>Kt.resolvePageHeadTitle(c.value,l.value)),p=A(()=>Kt.resolvePageHead(u.value,f.value,l.value)),g=A(()=>Kt.resolvePageLang(c.value,l.value)),_=A(()=>Kt.resolvePageLayout(c.value,s.value)),S={layouts:s,pageData:c,pageComponent:a,pageFrontmatter:f,pageHead:p,pageHeadTitle:u,pageLang:g,pageLayout:_,redirects:xo,routeLocale:i,routePath:r,routes:pn,siteData:Rn,siteLocaleData:l};return e.provide(Zo,S),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>p.value},$headTitle:{get:()=>u.value},$lang:{get:()=>g.value},$page:{get:()=>c.value},$routeLocale:{get:()=>i.value},$site:{get:()=>Rn.value},$siteLocale:{get:()=>l.value},$withBase:{get:()=>rs}}),S},av=()=>{const e=Pd(),t=kd();let n=[];const r=()=>{e.value.forEach(i=>{const l=cv(i);l&&n.push(l)})},o=()=>{const i=[];return e.value.forEach(l=>{const a=uv(l);a&&i.push(a)}),i},s=()=>{document.documentElement.lang=t.value;const i=o();n.forEach((l,a)=>{const c=i.findIndex(f=>l.isEqualNode(f));c===-1?(l.remove(),delete n[a]):i.splice(c,1)}),i.forEach(l=>document.head.appendChild(l)),n=[...n.filter(l=>!!l),...i]};Xt(xd,s),Ge(()=>{r(),$e(e,s,{immediate:!1})})},cv=([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},uv=([e,t,n])=>{if(!st(e))return null;const r=document.createElement(e);return Qo(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},fv=ef,dv=async()=>{var n;const e=fv({name:"Vuepress",setup(){var s;av();for(const i of _r)(s=i.setup)==null||s.call(i);const r=_r.flatMap(({rootComponents:i=[]})=>i.map(l=>ke(l))),o=Ld();return()=>[ke(o.value),r]}}),t=sv();iv(e),lv(e,t,_r);for(const r of _r)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:Rn}));return e.use(t),{app:e,router:t}};dv().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{we as _,W as a,$t as b,Y as c,dv as createVueApp,te as d,pu as e,$ as o,Ko as r,xe 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-Bbif8C5G.js b/dist/assets/index.html-Bbif8C5G.js deleted file mode 100644 index 49f8fb4..0000000 --- a/dist/assets/index.html-Bbif8C5G.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,c as l,a as t,b as e,d as s,w as r,e as n,r as o,o as p}from"./app-CYZ52EDj.js";const d={},c=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
  • Java
  • C#
  • C++

Databases:

  • PostgreSQL (prefer, solid 7-year exp)
  • MySQL
  • Sqlite
  • MsSQL
  • MongoDB
  • Reddis

I also have extensive experience in creating the following applications:

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

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 2-year exp)
  • Docker Swarm (prefer, solid 5-year exp)
  • Kubernetes (weak 4-year exp)
  • Woodpecker CI (prefer, solid 3-year exp)
  • Drone CI (solid 3-year exp)
  • Gitlab CI (solid 7-year exp)
  • GitHub Actions (3-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

Telegram: Dmitriy Pleshevskiy

Matrix: @pleshevskiy:matrix.org

Email: dmitriy[at]pleshevski[dot]ru

Gitea

Github (Suspended due to sanctions)

',29);function h(m,u){const a=o("RouteLink");return p(),l("div",null,[t("p",null,[e("Always up-to-date link to "),s(a,{to:"/eng/"},{default:r(()=>[e("resume")]),_:1}),e(".")]),c])}const k=i(d,[["render",h],["__file","index.html.vue"]]),g=JSON.parse(`{"path":"/eng/","title":"Resume","lang":"en-US","frontmatter":{"home":true,"title":"Resume","heroText":null,"description":"Always up-to-date link to . Overview My name is Dmitriy Pleshevskiy. I'm an open source software enthusiast, a lead software developer, architect, team leader and also mentor. S...","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:description","content":"Always up-to-date link to . Overview My name is Dmitriy Pleshevskiy. I'm an open source software enthusiast, a lead software developer, architect, team leader and also mentor. S..."}],["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-07-24T23:27:03.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-24T23:27:03.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Resume\\",\\"description\\":\\"Always up-to-date link to . Overview My name is Dmitriy Pleshevskiy. I'm an open source software enthusiast, a lead software developer, architect, team leader and also mentor. S...\\"}"]]},"headers":[{"level":2,"title":"Overview","slug":"overview","link":"#overview","children":[]},{"level":2,"title":"Skills","slug":"skills","link":"#skills","children":[{"level":3,"title":"Programming Languages:","slug":"programming-languages","link":"#programming-languages","children":[]},{"level":3,"title":"Databases:","slug":"databases","link":"#databases","children":[]}]},{"level":2,"title":"Stack","slug":"stack","link":"#stack","children":[{"level":3,"title":"Backend (Rust)","slug":"backend-rust","link":"#backend-rust","children":[]},{"level":3,"title":"Backend (Node.JS)","slug":"backend-node-js","link":"#backend-node-js","children":[]},{"level":3,"title":"Frontend","slug":"frontend","link":"#frontend","children":[]},{"level":3,"title":"DevOps","slug":"devops","link":"#devops","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":1721863623000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":2}]},"autoDesc":true,"filePathRelative":"eng/index.md"}`);export{k as comp,g as data}; diff --git a/dist/assets/index.html-CFkWDF7K.js b/dist/assets/index.html-CFkWDF7K.js new file mode 100644 index 0000000..7441b0e --- /dev/null +++ b/dist/assets/index.html-CFkWDF7K.js @@ -0,0 +1 @@ +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-DVhfb_AK.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

Telegram: Dmitriy Pleshevskiy

Matrix: @pleshevskiy:matrix.org

Email: dmitriy[at]pleshevski[dot]ru

',29);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-07-25T12:12:09.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-25T12:12:09.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":1721909529000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":3}]},"filePathRelative":"eng/index.md"}');export{x as comp,k as data}; diff --git a/dist/assets/index.html-DXVRt_Wz.js b/dist/assets/index.html-DXVRt_Wz.js deleted file mode 100644 index 3e130b2..0000000 --- a/dist/assets/index.html-DXVRt_Wz.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,c as t,a,b as e,d as n,w as r,e as s,r as o,o as p}from"./app-CYZ52EDj.js";const d={},h=s('

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

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

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

Умения

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

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

Базы данных:

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

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

  • Традиционные (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 (предпочитаю, твёрдый 2-летний опыт)
  • Docker Swarm (предпочитаю, твёрдый 5-летний опыт)
  • Kubernetes (слабый 4-летний опыт)
  • Woodpecker CI (предпочитаю, твёрдый 3-летний опыт)
  • Drone CI (твёрдый 3-летний опыт)
  • Gitlab CI (твёрдый 7-летний опыт)
  • GitHub Actions (3-летний опыт)

Интересы

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

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

Контакты

Telegram: Dmitriy Pleshevskiy

Matrix: @pleshevskiy:matrix.org

Email: dmitriy[at]pleshevski[dot]ru

Ссылки

Gitea

Github (Приостановлен из-за санкций)

',29);function c(u,k){const l=o("RouteLink");return p(),t("div",null,[a("p",null,[e("Всегда актуальная ссылка на "),n(l,{to:"/"},{default:r(()=>[e("резюме")]),_:1}),e(".")]),h])}const g=i(d,[["render",c],["__file","index.html.vue"]]),b=JSON.parse('{"path":"/","title":"Резюме","lang":"ru-RU","frontmatter":{"home":true,"title":"Резюме","heroText":null,"description":"Всегда актуальная ссылка на . Общие сведения Меня зовут Дмитрий Плешевский. Я энтузиаст программного обеспечения с открытым исходным кодом, ведущий разработчик програмного обесп...","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:description","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-07-24T23:27:03.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-24T23:27:03.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Резюме\\",\\"description\\":\\"Всегда актуальная ссылка на . Общие сведения Меня зовут Дмитрий Плешевский. Я энтузиаст программного обеспечения с открытым исходным кодом, ведущий разработчик програмного обесп...\\"}"]]},"headers":[{"level":2,"title":"Общие сведения","slug":"общие-сведения","link":"#общие-сведения","children":[]},{"level":2,"title":"Умения","slug":"умения","link":"#умения","children":[{"level":3,"title":"Языки программирования:","slug":"языки-программирования","link":"#языки-программирования","children":[]},{"level":3,"title":"Базы данных:","slug":"базы-данных","link":"#базы-данных","children":[]}]},{"level":2,"title":"Stack","slug":"stack","link":"#stack","children":[{"level":3,"title":"Backend (Rust)","slug":"backend-rust","link":"#backend-rust","children":[]},{"level":3,"title":"Backend (Node.JS)","slug":"backend-node-js","link":"#backend-node-js","children":[]},{"level":3,"title":"Frontend","slug":"frontend","link":"#frontend","children":[]},{"level":3,"title":"DevOps","slug":"devops","link":"#devops","children":[]}]},{"level":2,"title":"Интересы","slug":"интересы","link":"#интересы","children":[]},{"level":2,"title":"Контакты","slug":"контакты","link":"#контакты","children":[]},{"level":2,"title":"Ссылки","slug":"ссылки","link":"#ссылки","children":[]}],"git":{"updatedTime":1721863623000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":2}]},"autoDesc":true,"filePathRelative":"index.md"}');export{g as comp,b as data}; diff --git a/dist/assets/index.html-Dey18qa3.js b/dist/assets/index.html-Dey18qa3.js new file mode 100644 index 0000000..d4f003e --- /dev/null +++ b/dist/assets/index.html-Dey18qa3.js @@ -0,0 +1 @@ +import{_ as i,c as a,a as t,b as e,d as o,w as c,e as n,r as d,o as r}from"./app-DVhfb_AK.js";const s={},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 проекты - моя страсть! Разрабатываю, поддерживаю и улучшаю проекты в своё свободное время.

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

Контакты

Telegram: Dmitriy Pleshevskiy

Matrix: @pleshevskiy:matrix.org

Email: dmitriy[at]pleshevski[dot]ru

Ссылки

',29);function p(u,m){const l=d("RouteLink");return r(),a("div",null,[t("p",null,[e("Всегда актуальная ссылка на "),o(l,{to:"/"},{default:c(()=>[e("резюме")]),_:1}),e(".")]),h])}const b=i(s,[["render",p],["__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-07-25T12:12:09.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-25T12:12:09.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":1721909529000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":3}]},"filePathRelative":"index.md"}');export{b as comp,f as data}; diff --git a/dist/assets/style-BnNdFOI8.css b/dist/assets/style-BnNdFOI8.css deleted file mode 100644 index 41430c4..0000000 --- a/dist/assets/style-BnNdFOI8.css +++ /dev/null @@ -1 +0,0 @@ -@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-bg-color);color:var(--back-to-top-color);box-shadow:2px 2px 10px 4px var(--back-to-top-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-color-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:24px;height:24px;margin:0 auto;background:var(--back-to-top-icon-color);-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-bg-color: #fff;--back-to-top-color: #3eaf7c;--back-to-top-icon-color: currentcolor;--back-to-top-color-hover: #71cda3;--back-to-top-shadow: rgb(0 0 0 / 20%)}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' 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' height='20' width='20' stroke='rgba(128,128,128,1)' 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-color: var(--code-line-number-color, #9e9e9e);--copy-code-hover: var(--code-highlight-bg-color, rgb(0 0 0 / 50%))}.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-color);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-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-hover);color:var(--copy-code-color);font-weight:500;line-height:1.25rem;white-space:nowrap}.copy-code-disabled .vp-copy-code-button{display:none}body:not(.copy-code-disabled) div[class*=language-]:hover:before{display:none}body:not(.copy-code-disabled) div[class*=language-]:hover .vp-copy-code-button{opacity:1}:root{--medium-zoom-z-index: 100;--medium-zoom-bg-color: #fff;--medium-zoom-opacity: 1}.medium-zoom-overlay{z-index:var(--medium-zoom-z-index);background-color:var(--medium-zoom-bg-color)!important}.medium-zoom-overlay~img{z-index:calc(var(--medium-zoom-z-index) + 1)}.medium-zoom--opened .medium-zoom-overlay{opacity:var(--medium-zoom-opacity)}:root{--nprogress-color: #29d;--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-color)}: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-highlight-bg-color: #343d4e;--code-line-number-color: 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}.vp-badge{display:inline-block;vertical-align:top;height:18px;padding:0 6px;border-radius:3px;color:var(--c-bg);font-weight:600;font-size:14px;line-height:18px;transition:color var(--t-color),background-color var(--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(--c-code-group-tab-bg)}@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(--c-code-group-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 var(--c-code-group-tab-outline)}.code-group-nav-tab.active{border-bottom:var(--c-code-group-tab-active-border) 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(--c-border);transition:border-color var(--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;color:var(--c-text-light);font-weight:500;font-size:1.4rem}@media (max-width: 419px){.vp-feature h2{font-size:1.25rem}}.vp-feature p{color:var(--c-text-lighter)}.vp-footer{padding:2.5rem;border-top:1px solid var(--c-border);color:var(--c-text-lighter);text-align:center;transition:border-color var(--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(--c-text-lightest);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(--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(--c-brand);background-color:var(--c-brand);color:var(--c-bg)}.vp-hero-action-button.primary:hover{background-color:var(--c-brand-light)}.vp-hero-action-button.secondary{border-color:var(--c-brand);background-color:var(--c-bg);color:var(--c-brand)}.vp-hero-action-button.secondary:hover{background-color:var(--c-brand-light);color:var(--c-bg)}.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(--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(--c-border);border-bottom-color:var(--c-border-dark);border-radius:.25rem;background-color:var(--c-bg-navbar);text-align:left;white-space:nowrap}.vp-navbar-dropdown-title{display:block;padding:inherit;border:none;background:transparent;color:var(--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(--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(--c-text-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(--c-text-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(--c-text-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(--c-border);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(--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(--c-text-accent)}.vp-navbar-item>a:hover,.vp-navbar-item>a.route-link-active{margin-bottom:-2px;border-bottom:2px solid var(--c-text-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(--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(--c-text);transition:transform var(--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(--c-border);background-color:var(--c-bg-navbar);line-height:var(--navbar-line-height);transition:background-color var(--t-color),border-color var(--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(--c-text-lighter)}.vp-page-meta .vp-meta-item .vp-meta-info{color:var(--c-text-quote);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(--c-border);transition:border-top var(--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(--c-border);border-radius:.25rem}.vp-page-nav .route-link:hover{background:var(--c-bg-light)}.vp-page-nav .route-link .hint{color:var(--c-text-quote);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(--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(--c-text-accent);color:var(--c-text-accent);font-weight:600}a.vp-sidebar-item{cursor:pointer}a.vp-sidebar-item:hover{color:var(--c-text-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(--c-border);background-color:var(--c-bg-sidebar);font-size:16px;transition:transform var(--t-transform),background-color var(--t-color),border-color var(--t-color);scrollbar-color:var(--c-brand) var(--c-border);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(--c-border)}.vp-sidebar::-webkit-scrollbar-thumb{background-color:var(--c-brand)}.vp-sidebar .vp-navbar-items{display:none;padding:.5rem 0 .75rem;border-bottom:1px solid var(--c-border);transition:border-color var(--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-99131a8e]{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.vp-theme-container[data-v-99131a8e]{padding:2rem}}html,body{background:#fff}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media print{html{font-size:12pt}}body{min-height:100vh;margin:0;padding:0;color:#2c3e50;font-synthesis:style}a{color:#3eaf7c;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 #00000026;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:#3eaf7c;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(--c-brand);font-size:.75em}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--c-brand);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{--c-brand: #3eaf7c;--c-brand-light: #4abf8a;--c-bg: #fff;--c-bg-light: #f3f4f5;--c-bg-lighter: #eee;--c-bg-dark: #ebebec;--c-bg-darker: #e6e6e6;--c-bg-navbar: var(--c-bg);--c-bg-sidebar: var(--c-bg);--c-bg-arrow: #ccc;--c-text: #2c3e50;--c-text-accent: var(--c-brand);--c-text-light: #3a5169;--c-text-lighter: #4e6e8e;--c-text-lightest: #6a8bad;--c-text-quote: #999;--c-border: #eaecef;--c-border-dark: #dfe2e5;--c-tip: #42b983;--c-tip-bg: var(--c-bg-light);--c-tip-title: var(--c-text);--c-tip-text: var(--c-text);--c-tip-text-accent: var(--c-text-accent);--c-warning: #ffc310;--c-warning-bg: #fffae3;--c-warning-bg-light: #fff3ba;--c-warning-bg-lighter: #fff0b0;--c-warning-border-dark: #f7dc91;--c-warning-details-bg: #fff5ca;--c-warning-title: #f1b300;--c-warning-text: #746000;--c-warning-text-accent: #edb100;--c-warning-text-light: #c1971c;--c-warning-text-quote: #ccab49;--c-danger: #f11e37;--c-danger-bg: #ffe0e0;--c-danger-bg-light: #ffcfde;--c-danger-bg-lighter: #ffc9c9;--c-danger-border-dark: #f1abab;--c-danger-details-bg: #ffd4d4;--c-danger-title: #ed1e2c;--c-danger-text: #600;--c-danger-text-accent: #bd1a1a;--c-danger-text-light: #b5474d;--c-danger-text-quote: #c15b5b;--c-details-bg: #eee;--c-badge-tip: var(--c-tip);--c-badge-warning: #ecc808;--c-badge-warning-text: var(--c-bg);--c-badge-danger: #dc2626;--c-badge-danger-text: var(--c-bg);--c-code-group-tab-title: rgb(255 255 255 / 90%);--c-code-group-tab-bg: var(--code-bg-color);--c-code-group-tab-outline: var(var(--c-code-group-tab-title));--c-code-group-tab-active-border: var(--c-brand);--t-color: .3s ease;--t-transform: .3s ease;--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;--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-icon-color: var(--c-text-quote)}.vp-back-to-top-button{--back-to-top-color: var(--c-brand);--back-to-top-color-hover: var(--c-brand-light);--back-to-top-bg-color: var(--c-bg)}.vp-catalog-wrapper{--catalog-bg-color: var(--c-bg);--catalog-bg-secondary-color: var(--c-bg-dark);--catalog-border-color: var(--c-border);--catalog-active-color: var(--c-brand);--catalog-hover-color: var(--c-brand-light)}.waline-wrapper{--waline-bg-color: var(--c-bg);--waline-bg-color-light: var(--c-bg-light);--waline-text-color: var(--c-color);--waline-border: 1px solid var(--c-border);--waline-border-color: var(--c-border);--waline-theme-color: var(--c-brand);--waline-active-color: var(--c-brand-light)}.DocSearch{--docsearch-primary-color: var(--c-brand);--docsearch-text-color: var(--c-text);--docsearch-highlight-color: var(--c-brand);--docsearch-muted-color: var(--c-text-quote);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--c-bg-light);--docsearch-searchbox-background: var(--c-bg-lighter);--docsearch-searchbox-focus-background: var(--c-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--c-brand);--docsearch-hit-color: var(--c-text-light);--docsearch-hit-active-color: var(--c-bg);--docsearch-hit-background: var(--c-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--c-border-dark);--docsearch-footer-background: var(--c-bg)}.medium-zoom-overlay{--medium-zoom-bg-color: var(--c-bg)}.vp-notice-wrapper{--notice-color: var(--c-text);--notice-bg-color: var(--c-bg);--notice-primary-color: var(--c-brand);--notice-primary-text-color: var(--c-bg);--notice-primary-hover-color: var(--c-brand-light);--notice-button-color: var(--c-bg-light);--notice-button-hover-color: var(--c-bg-lighter)}#nprogress{--nprogress-color: var(--c-brand)}body{--photo-swipe-bullet: var(--c-bg);--photo-swipe-bullet-active: var(--c-brand);--pwa-text-color: var(--c-text);--pwa-bg-color: var(--c-bg);--pwa-border-color: var(--c-brand);--pwa-btn-text-color: var(--c-bg);--pwa-btn-bg-color: var(--c-brand);--pwa-btn-hover-bg-color: var(--c-brand-light)}.redirect-modal-mask{--redirect-bg-color: var(--c-bg);--redirect-bg-color-light: var(--c-bg-light);--redirect-bg-color-lighter: var(--c-bg-lighter);--redirect-text-color: var(--c-text);--redirect-primary-color: var(--c-brand);--redirect-primary-hover-color: var(--c-brand-light);--redirect-primary-text-color: var(--c-bg)}.search-box{--search-bg-color: var(--c-bg);--search-accent-color: var(--c-brand);--search-text-color: var(--c-text);--search-border-color: var(--c-border);--search-item-text-color: var(--c-text-lighter);--search-item-focus-bg-color: var(--c-bg-light)}html.dark{--c-brand: #3aa675;--c-brand-light: #349469;--c-bg: #22272e;--c-bg-light: #2b313a;--c-bg-lighter: #262c34;--c-bg-dark: #343b44;--c-bg-darker: #37404c;--c-text: #adbac7;--c-text-light: #96a7b7;--c-text-lighter: #8b9eb0;--c-text-lightest: #8094a8;--c-border: #3e4c5a;--c-border-dark: #34404c;--c-tip: #318a62;--c-warning: #e0ad15;--c-warning-bg: #2d2f2d;--c-warning-bg-light: #423e2a;--c-warning-bg-lighter: #44442f;--c-warning-border-dark: #957c35;--c-warning-details-bg: #39392d;--c-warning-title: #fdca31;--c-warning-text: #d8d96d;--c-warning-text-accent: #ffbf00;--c-warning-text-light: #ddb84b;--c-warning-text-quote: #ccab49;--c-danger: #fc1e38;--c-danger-bg: #39232c;--c-danger-bg-light: #4b2b35;--c-danger-bg-lighter: #553040;--c-danger-border-dark: #a25151;--c-danger-details-bg: #482936;--c-danger-title: #fc2d3b;--c-danger-text: #ea9ca0;--c-danger-text-accent: #fd3636;--c-danger-text-light: #d9777c;--c-danger-text-quote: #d56b6b;--c-details-bg: #323843;--c-badge-warning: var(--c-warning);--c-badge-warning-text: #3c2e05;--c-badge-danger: var(--c-danger);--c-badge-danger-text: #401416}html.dark .DocSearch{--docsearch-logo-color: var(--c-text);--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.dark body{--pwa-shadow-color: rgb(0 0 0 / 30%);--pwa-content-color: #ccc;--pwa-content-light-color: #999}html,body{background-color:var(--c-bg);transition:background-color var(--t-color)}html.dark{color-scheme:dark}body{color:var(--c-text);font-size:1rem;font-family:var(--font-family)}h2{border-color:var(--c-border);transition:border-color var(--t-color)}a{color:var(--c-text-accent)}code{background-color:var(--c-bg-light);color:var(--c-text-lighter);font-family:var(--code-font-family);transition:background-color var(--t-color)}p a code{color:var(--c-text-accent)}kbd{border-color:var(--c-border-dark);transition:border-color var(--t-color)}blockquote{border-color:var(--c-border-dark);color:var(--c-text-quote);transition:border-color var(--t-color)}hr{border-color:var(--c-border);transition:border-color var(--t-color)}table{transition:border-color var(--t-color)}tr:nth-child(odd){background-color:var(--c-bg-light);transition:background-color var(--t-color)}tr:nth-child(odd) code{background-color:var(--c-bg-dark)}th,td{border-color:var(--c-border-dark);transition:border-color var(--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(--t-color),color var(--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(--t-color)}.custom-container{transition:color var(--t-color),border-color var(--t-color),background-color var(--t-color)}.custom-container .custom-container-title{font-weight:600}.custom-container .custom-container-title:not(:only-child){margin-bottom:-.4rem}.custom-container.tip,.custom-container.warning,.custom-container.danger{margin:1rem 0;padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid}.custom-container.tip{border-color:var(--c-tip);background-color:var(--c-tip-bg);color:var(--c-tip-text)}.custom-container.tip .custom-container-title{color:var(--c-tip-title)}.custom-container.tip a{color:var(--c-tip-text-accent)}.custom-container.tip code{background-color:var(--c-bg-dark)}.custom-container.warning{--external-link-icon-color: var(--c-warning-text-quote);border-color:var(--c-warning);background-color:var(--c-warning-bg);color:var(--c-warning-text)}.custom-container.warning .custom-container-title{color:var(--c-warning-title)}.custom-container.warning a{color:var(--c-warning-text-accent)}.custom-container.warning blockquote{border-left-color:var(--c-warning-border-dark);color:var(--c-warning-text-quote)}.custom-container.warning code{background-color:var(--c-warning-bg-light);color:var(--c-warning-text-light)}.custom-container.warning details{background-color:var(--c-warning-details-bg)}.custom-container.warning details code{background-color:var(--c-warning-bg-lighter)}.custom-container.danger{--external-link-icon-color: var(--c-danger-text-quote);border-color:var(--c-danger);background-color:var(--c-danger-bg);color:var(--c-danger-text)}.custom-container.danger .custom-container-title{color:var(--c-danger-title)}.custom-container.danger a{color:var(--c-danger-text-accent)}.custom-container.danger blockquote{border-left-color:var(--c-danger-border-dark);color:var(--c-danger-text-quote)}.custom-container.danger code{background-color:var(--c-danger-bg-light);color:var(--c-danger-text-light)}.custom-container.danger details{background-color:var(--c-danger-details-bg)}.custom-container.danger details code{background-color:var(--c-danger-bg-lighter)}.custom-container.details{position:relative;display:block;margin:1.6em 0;padding:1.6em;border-radius:2px;background-color:var(--c-details-bg)}.custom-container.details code{background-color:var(--c-bg-darker)}.custom-container.details h4{margin-top:0}.custom-container.details figure:last-child,.custom-container.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-container.details summary{outline:none;cursor:pointer}.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}html.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-icon-color);-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-icon-color);-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-icon-color);-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(--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)}.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/style-LjaJbYtv.css b/dist/assets/style-LjaJbYtv.css new file mode 100644 index 0000000..9d03e48 --- /dev/null +++ b/dist/assets/style-LjaJbYtv.css @@ -0,0 +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-bg-color);color:var(--back-to-top-color);box-shadow:2px 2px 10px 4px var(--back-to-top-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-color-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:24px;height:24px;margin:0 auto;background:var(--back-to-top-icon-color);-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-bg-color: #fff;--back-to-top-color: #3eaf7c;--back-to-top-icon-color: currentcolor;--back-to-top-color-hover: #71cda3;--back-to-top-shadow: rgb(0 0 0 / 20%)}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' 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' height='20' width='20' stroke='rgba(128,128,128,1)' 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-color: var(--code-line-number-color, #9e9e9e);--copy-code-hover: var(--code-highlight-bg-color, rgb(0 0 0 / 50%))}.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-color);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-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-hover);color:var(--copy-code-color);font-weight:500;line-height:1.25rem;white-space:nowrap}.copy-code-disabled .vp-copy-code-button{display:none}body:not(.copy-code-disabled) div[class*=language-]:hover:before{display:none}body:not(.copy-code-disabled) div[class*=language-]:hover .vp-copy-code-button{opacity:1}:root{--nprogress-color: #29d;--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-color)}: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-highlight-bg-color: #343d4e;--code-line-number-color: 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}.vp-badge{display:inline-block;vertical-align:top;height:18px;padding:0 6px;border-radius:3px;color:var(--c-bg);font-weight:600;font-size:14px;line-height:18px;transition:color var(--t-color),background-color var(--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(--c-code-group-tab-bg)}@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(--c-code-group-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 var(--c-code-group-tab-outline)}.code-group-nav-tab.active{border-bottom:var(--c-code-group-tab-active-border) 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(--c-border);transition:border-color var(--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;color:var(--c-text-light);font-weight:500;font-size:1.4rem}@media (max-width: 419px){.vp-feature h2{font-size:1.25rem}}.vp-feature p{color:var(--c-text-lighter)}.vp-footer{padding:2.5rem;border-top:1px solid var(--c-border);color:var(--c-text-lighter);text-align:center;transition:border-color var(--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(--c-text-lightest);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(--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(--c-brand);background-color:var(--c-brand);color:var(--c-bg)}.vp-hero-action-button.primary:hover{background-color:var(--c-brand-light)}.vp-hero-action-button.secondary{border-color:var(--c-brand);background-color:var(--c-bg);color:var(--c-brand)}.vp-hero-action-button.secondary:hover{background-color:var(--c-brand-light);color:var(--c-bg)}.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(--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(--c-border);border-bottom-color:var(--c-border-dark);border-radius:.25rem;background-color:var(--c-bg-navbar);text-align:left;white-space:nowrap}.vp-navbar-dropdown-title{display:block;padding:inherit;border:none;background:transparent;color:var(--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(--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(--c-text-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(--c-text-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(--c-text-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(--c-border);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(--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(--c-text-accent)}.vp-navbar-item>a:hover,.vp-navbar-item>a.route-link-active{margin-bottom:-2px;border-bottom:2px solid var(--c-text-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(--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(--c-text);transition:transform var(--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(--c-border);background-color:var(--c-bg-navbar);line-height:var(--navbar-line-height);transition:background-color var(--t-color),border-color var(--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(--c-text-lighter)}.vp-page-meta .vp-meta-item .vp-meta-info{color:var(--c-text-quote);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(--c-border);transition:border-top var(--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(--c-border);border-radius:.25rem}.vp-page-nav .route-link:hover{background:var(--c-bg-light)}.vp-page-nav .route-link .hint{color:var(--c-text-quote);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(--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(--c-text-accent);color:var(--c-text-accent);font-weight:600}a.vp-sidebar-item{cursor:pointer}a.vp-sidebar-item:hover{color:var(--c-text-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(--c-border);background-color:var(--c-bg-sidebar);font-size:16px;transition:transform var(--t-transform),background-color var(--t-color),border-color var(--t-color);scrollbar-color:var(--c-brand) var(--c-border);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(--c-border)}.vp-sidebar::-webkit-scrollbar-thumb{background-color:var(--c-brand)}.vp-sidebar .vp-navbar-items{display:none;padding:.5rem 0 .75rem;border-bottom:1px solid var(--c-border);transition:border-color var(--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-99131a8e]{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.vp-theme-container[data-v-99131a8e]{padding:2rem}}html,body{background:#fff}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media print{html{font-size:12pt}}body{min-height:100vh;margin:0;padding:0;color:#2c3e50;font-synthesis:style}a{color:#3eaf7c;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 #00000026;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:#3eaf7c;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(--c-brand);font-size:.75em}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--c-brand);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{--c-brand: #3eaf7c;--c-brand-light: #4abf8a;--c-bg: #fff;--c-bg-light: #f3f4f5;--c-bg-lighter: #eee;--c-bg-dark: #ebebec;--c-bg-darker: #e6e6e6;--c-bg-navbar: var(--c-bg);--c-bg-sidebar: var(--c-bg);--c-bg-arrow: #ccc;--c-text: #2c3e50;--c-text-accent: var(--c-brand);--c-text-light: #3a5169;--c-text-lighter: #4e6e8e;--c-text-lightest: #6a8bad;--c-text-quote: #999;--c-border: #eaecef;--c-border-dark: #dfe2e5;--c-tip: #42b983;--c-tip-bg: var(--c-bg-light);--c-tip-title: var(--c-text);--c-tip-text: var(--c-text);--c-tip-text-accent: var(--c-text-accent);--c-warning: #ffc310;--c-warning-bg: #fffae3;--c-warning-bg-light: #fff3ba;--c-warning-bg-lighter: #fff0b0;--c-warning-border-dark: #f7dc91;--c-warning-details-bg: #fff5ca;--c-warning-title: #f1b300;--c-warning-text: #746000;--c-warning-text-accent: #edb100;--c-warning-text-light: #c1971c;--c-warning-text-quote: #ccab49;--c-danger: #f11e37;--c-danger-bg: #ffe0e0;--c-danger-bg-light: #ffcfde;--c-danger-bg-lighter: #ffc9c9;--c-danger-border-dark: #f1abab;--c-danger-details-bg: #ffd4d4;--c-danger-title: #ed1e2c;--c-danger-text: #600;--c-danger-text-accent: #bd1a1a;--c-danger-text-light: #b5474d;--c-danger-text-quote: #c15b5b;--c-details-bg: #eee;--c-badge-tip: var(--c-tip);--c-badge-warning: #ecc808;--c-badge-warning-text: var(--c-bg);--c-badge-danger: #dc2626;--c-badge-danger-text: var(--c-bg);--c-code-group-tab-title: rgb(255 255 255 / 90%);--c-code-group-tab-bg: var(--code-bg-color);--c-code-group-tab-outline: var(var(--c-code-group-tab-title));--c-code-group-tab-active-border: var(--c-brand);--t-color: .3s ease;--t-transform: .3s ease;--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;--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-icon-color: var(--c-text-quote)}.vp-back-to-top-button{--back-to-top-color: var(--c-brand);--back-to-top-color-hover: var(--c-brand-light);--back-to-top-bg-color: var(--c-bg)}.vp-catalog-wrapper{--catalog-bg-color: var(--c-bg);--catalog-bg-secondary-color: var(--c-bg-dark);--catalog-border-color: var(--c-border);--catalog-active-color: var(--c-brand);--catalog-hover-color: var(--c-brand-light)}.waline-wrapper{--waline-bg-color: var(--c-bg);--waline-bg-color-light: var(--c-bg-light);--waline-text-color: var(--c-color);--waline-border: 1px solid var(--c-border);--waline-border-color: var(--c-border);--waline-theme-color: var(--c-brand);--waline-active-color: var(--c-brand-light)}.DocSearch{--docsearch-primary-color: var(--c-brand);--docsearch-text-color: var(--c-text);--docsearch-highlight-color: var(--c-brand);--docsearch-muted-color: var(--c-text-quote);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--c-bg-light);--docsearch-searchbox-background: var(--c-bg-lighter);--docsearch-searchbox-focus-background: var(--c-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--c-brand);--docsearch-hit-color: var(--c-text-light);--docsearch-hit-active-color: var(--c-bg);--docsearch-hit-background: var(--c-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--c-border-dark);--docsearch-footer-background: var(--c-bg)}.medium-zoom-overlay{--medium-zoom-bg-color: var(--c-bg)}.vp-notice-wrapper{--notice-color: var(--c-text);--notice-bg-color: var(--c-bg);--notice-primary-color: var(--c-brand);--notice-primary-text-color: var(--c-bg);--notice-primary-hover-color: var(--c-brand-light);--notice-button-color: var(--c-bg-light);--notice-button-hover-color: var(--c-bg-lighter)}#nprogress{--nprogress-color: var(--c-brand)}body{--photo-swipe-bullet: var(--c-bg);--photo-swipe-bullet-active: var(--c-brand);--pwa-text-color: var(--c-text);--pwa-bg-color: var(--c-bg);--pwa-border-color: var(--c-brand);--pwa-btn-text-color: var(--c-bg);--pwa-btn-bg-color: var(--c-brand);--pwa-btn-hover-bg-color: var(--c-brand-light)}.redirect-modal-mask{--redirect-bg-color: var(--c-bg);--redirect-bg-color-light: var(--c-bg-light);--redirect-bg-color-lighter: var(--c-bg-lighter);--redirect-text-color: var(--c-text);--redirect-primary-color: var(--c-brand);--redirect-primary-hover-color: var(--c-brand-light);--redirect-primary-text-color: var(--c-bg)}.search-box{--search-bg-color: var(--c-bg);--search-accent-color: var(--c-brand);--search-text-color: var(--c-text);--search-border-color: var(--c-border);--search-item-text-color: var(--c-text-lighter);--search-item-focus-bg-color: var(--c-bg-light)}html.dark{--c-brand: #3aa675;--c-brand-light: #349469;--c-bg: #22272e;--c-bg-light: #2b313a;--c-bg-lighter: #262c34;--c-bg-dark: #343b44;--c-bg-darker: #37404c;--c-text: #adbac7;--c-text-light: #96a7b7;--c-text-lighter: #8b9eb0;--c-text-lightest: #8094a8;--c-border: #3e4c5a;--c-border-dark: #34404c;--c-tip: #318a62;--c-warning: #e0ad15;--c-warning-bg: #2d2f2d;--c-warning-bg-light: #423e2a;--c-warning-bg-lighter: #44442f;--c-warning-border-dark: #957c35;--c-warning-details-bg: #39392d;--c-warning-title: #fdca31;--c-warning-text: #d8d96d;--c-warning-text-accent: #ffbf00;--c-warning-text-light: #ddb84b;--c-warning-text-quote: #ccab49;--c-danger: #fc1e38;--c-danger-bg: #39232c;--c-danger-bg-light: #4b2b35;--c-danger-bg-lighter: #553040;--c-danger-border-dark: #a25151;--c-danger-details-bg: #482936;--c-danger-title: #fc2d3b;--c-danger-text: #ea9ca0;--c-danger-text-accent: #fd3636;--c-danger-text-light: #d9777c;--c-danger-text-quote: #d56b6b;--c-details-bg: #323843;--c-badge-warning: var(--c-warning);--c-badge-warning-text: #3c2e05;--c-badge-danger: var(--c-danger);--c-badge-danger-text: #401416}html.dark .DocSearch{--docsearch-logo-color: var(--c-text);--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.dark body{--pwa-shadow-color: rgb(0 0 0 / 30%);--pwa-content-color: #ccc;--pwa-content-light-color: #999}html,body{background-color:var(--c-bg);transition:background-color var(--t-color)}html.dark{color-scheme:dark}body{color:var(--c-text);font-size:1rem;font-family:var(--font-family)}h2{border-color:var(--c-border);transition:border-color var(--t-color)}a{color:var(--c-text-accent)}code{background-color:var(--c-bg-light);color:var(--c-text-lighter);font-family:var(--code-font-family);transition:background-color var(--t-color)}p a code{color:var(--c-text-accent)}kbd{border-color:var(--c-border-dark);transition:border-color var(--t-color)}blockquote{border-color:var(--c-border-dark);color:var(--c-text-quote);transition:border-color var(--t-color)}hr{border-color:var(--c-border);transition:border-color var(--t-color)}table{transition:border-color var(--t-color)}tr:nth-child(odd){background-color:var(--c-bg-light);transition:background-color var(--t-color)}tr:nth-child(odd) code{background-color:var(--c-bg-dark)}th,td{border-color:var(--c-border-dark);transition:border-color var(--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(--t-color),color var(--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(--t-color)}.custom-container{transition:color var(--t-color),border-color var(--t-color),background-color var(--t-color)}.custom-container .custom-container-title{font-weight:600}.custom-container .custom-container-title:not(:only-child){margin-bottom:-.4rem}.custom-container.tip,.custom-container.warning,.custom-container.danger{margin:1rem 0;padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid}.custom-container.tip{border-color:var(--c-tip);background-color:var(--c-tip-bg);color:var(--c-tip-text)}.custom-container.tip .custom-container-title{color:var(--c-tip-title)}.custom-container.tip a{color:var(--c-tip-text-accent)}.custom-container.tip code{background-color:var(--c-bg-dark)}.custom-container.warning{--external-link-icon-color: var(--c-warning-text-quote);border-color:var(--c-warning);background-color:var(--c-warning-bg);color:var(--c-warning-text)}.custom-container.warning .custom-container-title{color:var(--c-warning-title)}.custom-container.warning a{color:var(--c-warning-text-accent)}.custom-container.warning blockquote{border-left-color:var(--c-warning-border-dark);color:var(--c-warning-text-quote)}.custom-container.warning code{background-color:var(--c-warning-bg-light);color:var(--c-warning-text-light)}.custom-container.warning details{background-color:var(--c-warning-details-bg)}.custom-container.warning details code{background-color:var(--c-warning-bg-lighter)}.custom-container.danger{--external-link-icon-color: var(--c-danger-text-quote);border-color:var(--c-danger);background-color:var(--c-danger-bg);color:var(--c-danger-text)}.custom-container.danger .custom-container-title{color:var(--c-danger-title)}.custom-container.danger a{color:var(--c-danger-text-accent)}.custom-container.danger blockquote{border-left-color:var(--c-danger-border-dark);color:var(--c-danger-text-quote)}.custom-container.danger code{background-color:var(--c-danger-bg-light);color:var(--c-danger-text-light)}.custom-container.danger details{background-color:var(--c-danger-details-bg)}.custom-container.danger details code{background-color:var(--c-danger-bg-lighter)}.custom-container.details{position:relative;display:block;margin:1.6em 0;padding:1.6em;border-radius:2px;background-color:var(--c-details-bg)}.custom-container.details code{background-color:var(--c-bg-darker)}.custom-container.details h4{margin-top:0}.custom-container.details figure:last-child,.custom-container.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-container.details summary{outline:none;cursor:pointer}.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}html.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-icon-color);-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-icon-color);-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-icon-color);-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(--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-Dh8HOvXG.js b/dist/assets/works.html-D_1XWu_F.js similarity index 62% rename from dist/assets/works.html-Dh8HOvXG.js rename to dist/assets/works.html-D_1XWu_F.js index 298e9fc..2686332 100644 --- a/dist/assets/works.html-Dh8HOvXG.js +++ b/dist/assets/works.html-D_1XWu_F.js @@ -1 +1 @@ -import{_ as e,c as r,o as t,e as a}from"./app-CYZ52EDj.js";const l={},i=a('

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

Binary Management

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

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

  • Разработка GraphQL API (Node.JS, Apollo, PostgreSQL, Redis, BullMQ). Перенес триггеры базы данных в бизнес-логику. Написал интеграционные тесты на 70% api.
  • Разработка фронтенда (React, Antd). Сформировал uikit и общие компоненты, оптимизировал сложные и нагруженные компоненты. Полностью изменил работу с API на фронтенде. Внедрил практику написания интеграционных тестов с помощью cypress.
  • Полностью перенес проект на TypeScript. Сформировал изолированные модули системы.
  • Как руководитель команды, я привнес в проект метод критической цепи, метод буфера и метод планирования с конца. Помог команде войти в ритм, чтобы выпускать релизы каждую неделю небольшими партиями. Я также несколько раз составлял индивидуальный план развития для членов команды.

Master Progress

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

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

Core Spirit

  • Даты: Август 2018 - May 2020
  • Роль: Lead Fullstack Developer

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

  • REST API (Node.JS, Express, 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)

Хронология

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

',19),n=[i];function s(o,p){return t(),r("div",null,n)}const h=e(l,[["render",s],["__file","works.html.vue"]]),d=JSON.parse('{"path":"/works.html","title":"Работы","lang":"ru-RU","frontmatter":{"title":"Работы","layout":"WorksPage","sidebar":false,"description":"Выделенный опыт работы Binary Management Даты: Август 2018 – по настоящее время Роли: Lead Fullstack Developer, Team Lead, Architect Разработка инструмента управления проектами ...","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:description","content":"Выделенный опыт работы Binary Management Даты: Август 2018 – по настоящее время Роли: Lead Fullstack Developer, Team Lead, Architect Разработка инструмента управления проектами ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"ru-RU"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-07-24T14:15:05.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-24T14:15:05.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Работы\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-07-24T14:15:05.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Выделенный опыт работы","slug":"выделенныи-опыт-работы","link":"#выделенныи-опыт-работы","children":[{"level":3,"title":"Binary Management","slug":"binary-management","link":"#binary-management","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":1721830505000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":1}]},"autoDesc":true,"filePathRelative":"works.md"}');export{h as comp,d as data}; +import{_ as e,c as r,o as t,e as a}from"./app-DVhfb_AK.js";const l={},i=a('

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

Binary Management

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

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

  • Разработка GraphQL API (Node.JS, Apollo, PostgreSQL, Redis, BullMQ). Перенес триггеры базы данных в бизнес-логику. Написал интеграционные тесты на 70% api.
  • Разработка фронтенда (React, Antd). Сформировал uikit и общие компоненты, оптимизировал сложные и нагруженные компоненты. Полностью изменил работу с API на фронтенде. Внедрил практику написания интеграционных тестов с помощью cypress.
  • Полностью перенес проект на TypeScript. Сформировал изолированные модули системы.
  • Как руководитель команды, я привнес в проект метод критической цепи, метод буфера и метод планирования с конца. Помог команде войти в ритм, чтобы выпускать релизы каждую неделю небольшими партиями. Я также несколько раз составлял индивидуальный план развития для членов команды.

Master Progress

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

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

Core Spirit

  • Даты: Август 2018 - May 2020
  • Роль: Lead Fullstack Developer

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

  • REST API (Node.JS, Express, 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)

Хронология

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

',19),s=[i];function n(o,p){return t(),r("div",null,s)}const h=e(l,[["render",n],["__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-07-25T12:12:09.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-25T12:12:09.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":[]}],"git":{"updatedTime":1721909529000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":2}]},"filePathRelative":"works.md"}');export{h as comp,d as data}; diff --git a/dist/assets/works.html-B352zyqn.js b/dist/assets/works.html-D_SQDS1j.js similarity index 60% rename from dist/assets/works.html-B352zyqn.js rename to dist/assets/works.html-D_SQDS1j.js index 74e9b4b..4383637 100644 --- a/dist/assets/works.html-B352zyqn.js +++ b/dist/assets/works.html-D_SQDS1j.js @@ -1 +1 @@ -import{_ as e,c as t,o as r,e as a}from"./app-CYZ52EDj.js";const o={},i=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

  • Development of the GraphQL API (Node.JS, Apollo, PostgreSQL, Redis, BullMQ). Moved database triggers to business logic. Wrote integration tests on 70% api.
  • Development of the frontend (React, Antd). Formed uikit, shared components, redesigned the page generation gathering. Completely changed work with API on the frontend. Introduced the practice of writing integration tests using cypress
  • Completely ported the project to TypeScript. I have formed isolated modules of the system.
  • As a team leader, I brought the critical chain method, the buffer method, and the planning method to the project from the end. Helped the team get into a rhythm to make releases each week in small batches. A couple of times I also prepared an individual development plan for team members.

Master Progress

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

Development web infrastructure of the educational center Master Progress

Core Spirit

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

Development of Social platform focusing on human and planetary enhancement.

  • REST API (Node.JS, Express, PostgreSQL) for main site and backoffice.
  • 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)
',17),n=[i];function l(s,p){return r(),t("div",null,n)}const h=e(o,[["render",l],["__file","works.html.vue"]]),d=JSON.parse('{"path":"/eng/works.html","title":"Works","lang":"en-US","frontmatter":{"title":"Works","layout":"WorksPage","sidebar":false,"description":"Highlighted working experience Binary Management Dates: August 2018 – currently Roles: Lead Fullstack Developer, Team Lead, Architect Development of a project management tool fo...","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:description","content":"Highlighted working experience Binary Management Dates: August 2018 – currently Roles: Lead Fullstack Developer, Team Lead, Architect Development of a project management tool fo..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"ru-RU"}],["meta",{"property":"og:updated_time","content":"2024-07-24T14:15:05.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-24T14:15:05.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Works\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-07-24T14:15:05.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":3,"title":"Highlighted working experience","slug":"highlighted-working-experience","link":"#highlighted-working-experience","children":[]}],"git":{"updatedTime":1721830505000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":1}]},"autoDesc":true,"filePathRelative":"eng/works.md"}');export{h as comp,d as data}; +import{_ as e,c as t,o as r,e as o}from"./app-DVhfb_AK.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

  • Development of the GraphQL API (Node.JS, Apollo, PostgreSQL, Redis, BullMQ). Moved database triggers to business logic. Wrote integration tests on 70% api.
  • Development of the frontend (React, Antd). Formed uikit, shared components, redesigned the page generation gathering. Completely changed work with API on the frontend. Introduced the practice of writing integration tests using cypress
  • Completely ported the project to TypeScript. I have formed isolated modules of the system.
  • As a team leader, I brought the critical chain method, the buffer method, and the planning method to the project from the end. Helped the team get into a rhythm to make releases each week in small batches. A couple of times I also prepared an individual development plan for team members.

Master Progress

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

Development web infrastructure of the educational center Master Progress

Core Spirit

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

Development of Social platform focusing on human and planetary enhancement.

  • REST API (Node.JS, Express, PostgreSQL) for main site and backoffice.
  • 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.

',19),n=[i];function l(s,p){return r(),t("div",null,n)}const h=e(a,[["render",l],["__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-07-25T12:12:09.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-25T12:12:09.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":2,"title":"Chronology","slug":"chronology","link":"#chronology","children":[]}],"git":{"updatedTime":1721909529000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":2}]},"filePathRelative":"eng/works.md"}');export{h as comp,d as data}; diff --git a/dist/eng/index.html b/dist/eng/index.html index 480593c..44ea76e 100644 --- a/dist/eng/index.html +++ b/dist/eng/index.html @@ -31,13 +31,13 @@ document.documentElement.dataset.theme = 'dark' } - Resume | Dmitriy Pleshevskiy - - - + Resume | Dmitriy Pleshevskiy + + + -
- +
+ diff --git a/dist/eng/works.html b/dist/eng/works.html index f17c862..1f7232b 100644 --- a/dist/eng/works.html +++ b/dist/eng/works.html @@ -31,13 +31,13 @@ document.documentElement.dataset.theme = 'dark' } - Works | Dmitriy Pleshevskiy - - - + Works | Dmitriy Pleshevskiy + + + -
- +
+ diff --git a/dist/index.html b/dist/index.html index 4dbc7e6..f24e06d 100644 --- a/dist/index.html +++ b/dist/index.html @@ -31,13 +31,13 @@ document.documentElement.dataset.theme = 'dark' } - Резюме | Дмитрий Плешевский - - - + Резюме | Дмитрий Плешевский + + + -
- +
+ diff --git a/dist/sitemap.xml b/dist/sitemap.xml index 193a00a..6bb1e1d 100644 --- a/dist/sitemap.xml +++ b/dist/sitemap.xml @@ -1,3 +1,3 @@ -https://pleshevski.ru/2024-07-24T23:27:03.000Zdailyhttps://pleshevski.ru/works.html2024-07-24T14:15:05.000Zdailyhttps://pleshevski.ru/eng/2024-07-24T23:27:03.000Zdailyhttps://pleshevski.ru/eng/works.html2024-07-24T14:15:05.000Zdaily \ No newline at end of file +https://pleshevski.ru/2024-07-25T12:12:09.000Zmonthlyhttps://pleshevski.ru/works.html2024-07-25T12:12:09.000Zmonthlyhttps://pleshevski.ru/eng/2024-07-25T12:12:09.000Zmonthlyhttps://pleshevski.ru/eng/works.html2024-07-25T12:12:09.000Zmonthly \ No newline at end of file diff --git a/dist/works.html b/dist/works.html index 0287b53..1198fe9 100644 --- a/dist/works.html +++ b/dist/works.html @@ -31,13 +31,13 @@ document.documentElement.dataset.theme = 'dark' } - Работы | Дмитрий Плешевский - - - + Работы | Дмитрий Плешевский + + + -
- +
+ diff --git a/docs/works.md b/docs/works.md index f669fde..010a45d 100644 --- a/docs/works.md +++ b/docs/works.md @@ -34,9 +34,9 @@ cypress. Разработка веб-инфраструктуры образовательного центра Мастер Прогресс - [Главного сайта](https://masterprogress.ru) (Python, Flask). -- [Кабинета студента](https://cabinet.masterprogress.ru) (Python, Flask, +- [Кабинета студента](https://cabinet.masterprogress.ru) (Python, Flask, TypeScript, React). -- [Инструмента для работы с rosmintrud](https://rosmintrud.masterprogress.ru) +- [Инструмента для работы с rosmintrud](https://rosmintrud.masterprogress.ru) (Deno, Vue, Typescript) - Создана полная инфраструктура на Woodpecker CI и Docker swarm. @@ -45,7 +45,7 @@ TypeScript, React). - Даты: Август 2018 - May 2020 - Роль: Lead Fullstack Developer -Разработка социальной платформы, сфокусированной на улучшении человека и +Разработка социальной платформы, сфокусированной на улучшении человека и планеты. - REST API (Node.JS, Express, PostgreSQL) для основного сайта и diff --git a/flake.nix b/flake.nix index 6fb5c94..e5f675f 100644 --- a/flake.nix +++ b/flake.nix @@ -32,6 +32,7 @@ devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ + pre-commit nodejs_22 gnumake pnpm diff --git a/package.json b/package.json index a4b39b3..83e69b0 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,6 @@ { - "name": "pleshevskiy", - "version": "0.0.1", "description": "Dmitriy Pleshevskiy", - "license": "MIT", - "type": "module", - "scripts": { - "docs:build": "vuepress build docs", - "docs:clean-dev": "vuepress dev docs --clean-cache", - "docs:dev": "vuepress dev docs", - "docs:update-package": "pnpm dlx vp-update" - }, "devDependencies": { - "@vuepress/bundler-vite": "^2.0.0-rc.7", - "@vuepress/plugin-blog": "^2.0.0-rc.11", - "@vuepress/plugin-redirect": "2.0.0-rc.8", - "@vuepress/theme-default": "^2.0.0-rc.11", - "vue": "^3.4.0", - "vuepress": "^2.0.0-rc.7", - "@rushstack/eslint-patch": "^1.1.4", "@types/node": "^20.14.2", "@vitejs/plugin-vue": "^4.0.0", @@ -26,11 +9,27 @@ "@vue/language-server": "^2.0.19", "@vue/tsconfig": "^0.5.1", "@vue/typescript-plugin": "^2.0.19", + "@vuepress/bundler-vite": "^2.0.0-rc.7", + "@vuepress/plugin-blog": "^2.0.0-rc.11", + "@vuepress/plugin-redirect": "2.0.0-rc.8", + "@vuepress/theme-default": "^2.0.0-rc.11", "eslint": "<9.0.0", "eslint-plugin-cypress": "^3.3.0", "eslint-plugin-vue": "^9.14.1", "prettier": ">=3.0.0", "typescript": "~5.4.5", - "vue-tsc": "^1.6.0" - } + "vue": "^3.4.0", + "vue-tsc": "^1.6.0", + "vuepress": "^2.0.0-rc.7" + }, + "license": "MIT", + "name": "pleshevskiy", + "scripts": { + "docs:build": "vuepress build docs", + "docs:clean-dev": "vuepress dev docs --clean-cache", + "docs:dev": "vuepress dev docs", + "docs:update-package": "pnpm dlx vp-update" + }, + "type": "module", + "version": "0.0.1" } diff --git a/scripts/pre-commit b/scripts/pre-commit new file mode 100755 index 0000000..18c4e75 --- /dev/null +++ b/scripts/pre-commit @@ -0,0 +1,13 @@ +#! /usr/bin/env bash + +# Can be used as a pre-commit hook +# Just symlink this file to .git/hooks/pre-commit + +set -xe + +if [ ! -z $(git diff --cached --name-only | grep "^docs/") ] +then + make build + git add dist +fi + diff --git a/tsconfig.json b/tsconfig.json index 43aab21..05272de 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,11 +1,11 @@ { - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "docs/**/*", "docs/**/*.vue"], "compilerOptions": { - "composite": true, "baseUrl": ".", + "composite": true, "paths": { "@/*": ["./docs/*"] } - } + }, + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "docs/**/*", "docs/**/*.vue"] }