diff --git a/404.html b/404.html new file mode 100644 index 0000000..182dcc3 --- /dev/null +++ b/404.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + +

404

There's nothing here.
Take me home
+ + + diff --git a/assets/404.html-BGblxds9.js b/assets/404.html-BGblxds9.js new file mode 100644 index 0000000..8595353 --- /dev/null +++ b/assets/404.html-BGblxds9.js @@ -0,0 +1 @@ +import{_ as e,o,c as n,b as r}from"./app-DkfO46MA.js";const a={};function l(i,t){return o(),n("div",null,t[0]||(t[0]=[r("p",null,"404 Not Found",-1)]))}const c=e(a,[["render",l],["__file","404.html.vue"]]),s=JSON.parse('{"path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["meta",{"property":"og:url","content":"https://worldline.github.io/worldline/learning-ai/learning-ai/404.html"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"]]},"headers":[],"git":{},"filePathRelative":null,"autoDesc":true}');export{c as comp,s as data}; diff --git a/assets/alphago-D7ibr0g1.png b/assets/alphago-D7ibr0g1.png new file mode 100644 index 0000000..ee406eb Binary files /dev/null and b/assets/alphago-D7ibr0g1.png differ diff --git a/assets/app-DkfO46MA.js b/assets/app-DkfO46MA.js new file mode 100644 index 0000000..e5ed3d7 --- /dev/null +++ b/assets/app-DkfO46MA.js @@ -0,0 +1,42 @@ +const Xf="modulepreload",Zf=function(e){return"/learning-ai/"+e},Fi={},Dt=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),a=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));o=Promise.allSettled(n.map(l=>{if(l=Zf(l),l in Fi)return;Fi[l]=!0;const u=l.endsWith(".css"),f=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${f}`))return;const c=document.createElement("link");if(c.rel=u?"stylesheet":Xf,u||(c.as="script"),c.crossOrigin="",c.href=l,a&&c.setAttribute("nonce",a),document.head.appendChild(c),u)return new Promise((d,p)=>{c.addEventListener("load",d),c.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}function s(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return o.then(i=>{for(const a of i||[])a.status==="rejected"&&s(a.reason);return t().catch(s)})};/** +* @vue/shared v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Yn(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Se={},Rn=[],xt=()=>{},Jf=()=>!1,Mr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ws=e=>e.startsWith("onUpdate:"),Ne=Object.assign,qs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Qf=Object.prototype.hasOwnProperty,he=(e,t)=>Qf.call(e,t),re=Array.isArray,Ln=e=>wo(e)==="[object Map]",nu=e=>wo(e)==="[object Set]",oe=e=>typeof e=="function",Oe=e=>typeof e=="string",Bt=e=>typeof e=="symbol",Te=e=>e!==null&&typeof e=="object",ru=e=>(Te(e)||oe(e))&&oe(e.then)&&oe(e.catch),ou=Object.prototype.toString,wo=e=>ou.call(e),ed=e=>wo(e).slice(8,-1),su=e=>wo(e)==="[object Object]",Gs=e=>Oe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Dn=Yn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),To=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},td=/-(\w)/g,rt=To(e=>e.replace(td,(t,n)=>n?n.toUpperCase():"")),nd=/\B([A-Z])/g,$t=To(e=>e.replace(nd,"-$1").toLowerCase()),Hr=To(e=>e.charAt(0).toUpperCase()+e.slice(1)),Wo=To(e=>e?`on${Hr(e)}`:""),en=(e,t)=>!Object.is(e,t),qo=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},rd=e=>{const t=parseFloat(e);return isNaN(t)?e:t},od=e=>{const t=Oe(e)?Number(e):NaN;return isNaN(t)?e:t};let Bi;const Oo=()=>Bi||(Bi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Xn(e){if(re(e)){const t={};for(let n=0;n{if(n){const r=n.split(id);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function ud(e){let t="";if(!e||Oe(e))return t;for(const n in e){const r=e[n];if(Oe(r)||typeof r=="number"){const o=n.startsWith("--")?n:$t(n);t+=`${o}:${r};`}}return t}function nt(e){let t="";if(Oe(e))t=e;else if(re(e))for(let n=0;n?@[\\\]^`{|}~]/g;function md(e,t){return e.replace(hd,n=>`\\${n}`)}const au=e=>!!(e&&e.__v_isRef===!0),Ie=e=>Oe(e)?e:e==null?"":re(e)||Te(e)&&(e.toString===ou||!oe(e.toString))?au(e)?Ie(e.value):JSON.stringify(e,lu,2):String(e),lu=(e,t)=>au(t)?lu(e,t.value):Ln(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[Go(r,s)+" =>"]=o,n),{})}:nu(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Go(n))}:Bt(t)?Go(t):Te(t)&&!re(t)&&!su(t)?String(t):t,Go=(e,t="")=>{var n;return Bt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ye;class gd{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ye,!t&&Ye&&(this.index=(Ye.scopes||(Ye.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(gr){let t=gr;for(gr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;mr;){let t=mr;for(mr=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function pu(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function hu(e){let t,n=e.depsTail,r=n;for(;r;){const o=r.prevDep;r.version===-1?(r===n&&(n=o),Js(r),vd(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=o}e.deps=t,e.depsTail=n}function _s(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(mu(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function mu(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ar))return;e.globalVersion=Ar;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!_s(e)){e.flags&=-3;return}const n=Ce,r=vt;Ce=e,vt=!0;try{pu(e);const o=e.fn(e._value);(t.version===0||en(o,e._value))&&(e._value=o,t.version++)}catch(o){throw t.version++,o}finally{Ce=n,vt=r,hu(e),e.flags&=-3}}function Js(e,t=!1){const{dep:n,prevSub:r,nextSub:o}=e;if(r&&(r.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)Js(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function vd(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let vt=!0;const gu=[];function Ut(){gu.push(vt),vt=!1}function jt(){const e=gu.pop();vt=e===void 0?!0:e}function Ui(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ce;Ce=void 0;try{t()}finally{Ce=n}}}let Ar=0;class yd{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class xo{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!Ce||!vt||Ce===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ce)n=this.activeLink=new yd(Ce,this),Ce.deps?(n.prevDep=Ce.depsTail,Ce.depsTail.nextDep=n,Ce.depsTail=n):Ce.deps=Ce.depsTail=n,_u(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Ce.depsTail,n.nextDep=void 0,Ce.depsTail.nextDep=n,Ce.depsTail=n,Ce.deps===n&&(Ce.deps=r)}return n}trigger(t){this.version++,Ar++,this.notify(t)}notify(t){Xs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Zs()}}}function _u(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)_u(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const po=new WeakMap,En=Symbol(""),vs=Symbol(""),Cr=Symbol("");function Ke(e,t,n){if(vt&&Ce){let r=po.get(e);r||po.set(e,r=new Map);let o=r.get(n);o||(r.set(n,o=new xo),o.map=r,o.key=n),o.track()}}function Ht(e,t,n,r,o,s){const i=po.get(e);if(!i){Ar++;return}const a=l=>{l&&l.trigger()};if(Xs(),t==="clear")i.forEach(a);else{const l=re(e),u=l&&Gs(n);if(l&&n==="length"){const f=Number(r);i.forEach((c,d)=>{(d==="length"||d===Cr||!Bt(d)&&d>=f)&&a(c)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),u&&a(i.get(Cr)),t){case"add":l?u&&a(i.get("length")):(a(i.get(En)),Ln(e)&&a(i.get(vs)));break;case"delete":l||(a(i.get(En)),Ln(e)&&a(i.get(vs)));break;case"set":Ln(e)&&a(i.get(En));break}}Zs()}function bd(e,t){const n=po.get(e);return n&&n.get(t)}function On(e){const t=ue(e);return t===e?t:(Ke(t,"iterate",Cr),mt(e)?t:t.map(We))}function ko(e){return Ke(e=ue(e),"iterate",Cr),e}const Ed={__proto__:null,[Symbol.iterator](){return Xo(this,Symbol.iterator,We)},concat(...e){return On(this).concat(...e.map(t=>re(t)?On(t):t))},entries(){return Xo(this,"entries",e=>(e[1]=We(e[1]),e))},every(e,t){return It(this,"every",e,t,void 0,arguments)},filter(e,t){return It(this,"filter",e,t,n=>n.map(We),arguments)},find(e,t){return It(this,"find",e,t,We,arguments)},findIndex(e,t){return It(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return It(this,"findLast",e,t,We,arguments)},findLastIndex(e,t){return It(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return It(this,"forEach",e,t,void 0,arguments)},includes(...e){return Zo(this,"includes",e)},indexOf(...e){return Zo(this,"indexOf",e)},join(e){return On(this).join(e)},lastIndexOf(...e){return Zo(this,"lastIndexOf",e)},map(e,t){return It(this,"map",e,t,void 0,arguments)},pop(){return or(this,"pop")},push(...e){return or(this,"push",e)},reduce(e,...t){return ji(this,"reduce",e,t)},reduceRight(e,...t){return ji(this,"reduceRight",e,t)},shift(){return or(this,"shift")},some(e,t){return It(this,"some",e,t,void 0,arguments)},splice(...e){return or(this,"splice",e)},toReversed(){return On(this).toReversed()},toSorted(e){return On(this).toSorted(e)},toSpliced(...e){return On(this).toSpliced(...e)},unshift(...e){return or(this,"unshift",e)},values(){return Xo(this,"values",We)}};function Xo(e,t,n){const r=ko(e),o=r[t]();return r!==e&&!mt(e)&&(o._next=o.next,o.next=()=>{const s=o._next();return s.value&&(s.value=n(s.value)),s}),o}const Sd=Array.prototype;function It(e,t,n,r,o,s){const i=ko(e),a=i!==e&&!mt(e),l=i[t];if(l!==Sd[t]){const c=l.apply(e,s);return a?We(c):c}let u=n;i!==e&&(a?u=function(c,d){return n.call(this,We(c),d,e)}:n.length>2&&(u=function(c,d){return n.call(this,c,d,e)}));const f=l.call(i,u,r);return a&&o?o(f):f}function ji(e,t,n,r){const o=ko(e);let s=n;return o!==e&&(mt(e)?n.length>3&&(s=function(i,a,l){return n.call(this,i,a,l,e)}):s=function(i,a,l){return n.call(this,i,We(a),l,e)}),o[t](s,...r)}function Zo(e,t,n){const r=ue(e);Ke(r,"iterate",Cr);const o=r[t](...n);return(o===-1||o===!1)&&ti(n[0])?(n[0]=ue(n[0]),r[t](...n)):o}function or(e,t,n=[]){Ut(),Xs();const r=ue(e)[t].apply(e,n);return Zs(),jt(),r}const Ad=Yn("__proto__,__v_isRef,__isVue"),vu=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Bt));function Cd(e){Bt(e)||(e=String(e));const t=ue(this);return Ke(t,"has",e),t.hasOwnProperty(e)}class yu{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?Dd:Au:s?Su:Eu).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=re(t);if(!o){let l;if(i&&(l=Ed[n]))return l;if(n==="hasOwnProperty")return Cd}const a=Reflect.get(t,n,De(t)?t:r);return(Bt(n)?vu.has(n):Ad(n))||(o||Ke(t,"get",n),s)?a:De(a)?i&&Gs(n)?a:a.value:Te(a)?o?Po(a):Fr(a):a}}class bu extends yu{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(!this._isShallow){const l=Cn(s);if(!mt(r)&&!Cn(r)&&(s=ue(s),r=ue(r)),!re(t)&&De(s)&&!De(r))return l?!1:(s.value=r,!0)}const i=re(t)&&Gs(n)?Number(n)e,qr=e=>Reflect.getPrototypeOf(e);function kd(e,t,n){return function(...r){const o=this.__v_raw,s=ue(o),i=Ln(s),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,u=o[e](...r),f=n?ys:t?bs:We;return!t&&Ke(s,"iterate",l?vs:En),{next(){const{value:c,done:d}=u.next();return d?{value:c,done:d}:{value:a?[f(c[0]),f(c[1])]:f(c),done:d}},[Symbol.iterator](){return this}}}}function Gr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Pd(e,t){const n={get(o){const s=this.__v_raw,i=ue(s),a=ue(o);e||(en(o,a)&&Ke(i,"get",o),Ke(i,"get",a));const{has:l}=qr(i),u=t?ys:e?bs:We;if(l.call(i,o))return u(s.get(o));if(l.call(i,a))return u(s.get(a));s!==i&&s.get(o)},get size(){const o=this.__v_raw;return!e&&Ke(ue(o),"iterate",En),Reflect.get(o,"size",o)},has(o){const s=this.__v_raw,i=ue(s),a=ue(o);return e||(en(o,a)&&Ke(i,"has",o),Ke(i,"has",a)),o===a?s.has(o):s.has(o)||s.has(a)},forEach(o,s){const i=this,a=i.__v_raw,l=ue(a),u=t?ys:e?bs:We;return!e&&Ke(l,"iterate",En),a.forEach((f,c)=>o.call(s,u(f),u(c),i))}};return Ne(n,e?{add:Gr("add"),set:Gr("set"),delete:Gr("delete"),clear:Gr("clear")}:{add(o){!t&&!mt(o)&&!Cn(o)&&(o=ue(o));const s=ue(this);return qr(s).has.call(s,o)||(s.add(o),Ht(s,"add",o,o)),this},set(o,s){!t&&!mt(s)&&!Cn(s)&&(s=ue(s));const i=ue(this),{has:a,get:l}=qr(i);let u=a.call(i,o);u||(o=ue(o),u=a.call(i,o));const f=l.call(i,o);return i.set(o,s),u?en(s,f)&&Ht(i,"set",o,s):Ht(i,"add",o,s),this},delete(o){const s=ue(this),{has:i,get:a}=qr(s);let l=i.call(s,o);l||(o=ue(o),l=i.call(s,o)),a&&a.call(s,o);const u=s.delete(o);return l&&Ht(s,"delete",o,void 0),u},clear(){const o=ue(this),s=o.size!==0,i=o.clear();return s&&Ht(o,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=kd(o,e,t)}),n}function Qs(e,t){const n=Pd(e,t);return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(he(n,o)&&o in r?n:r,o,s)}const Id={get:Qs(!1,!1)},Rd={get:Qs(!1,!0)},Ld={get:Qs(!0,!1)};const Eu=new WeakMap,Su=new WeakMap,Au=new WeakMap,Dd=new WeakMap;function Nd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Vd(e){return e.__v_skip||!Object.isExtensible(e)?0:Nd(ed(e))}function Fr(e){return Cn(e)?e:ei(e,!1,Td,Id,Eu)}function Cu(e){return ei(e,!1,xd,Rd,Su)}function Po(e){return ei(e,!0,Od,Ld,Au)}function ei(e,t,n,r,o){if(!Te(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const i=Vd(e);if(i===0)return e;const a=new Proxy(e,i===2?r:n);return o.set(e,a),a}function Nn(e){return Cn(e)?Nn(e.__v_raw):!!(e&&e.__v_isReactive)}function Cn(e){return!!(e&&e.__v_isReadonly)}function mt(e){return!!(e&&e.__v_isShallow)}function ti(e){return e?!!e.__v_raw:!1}function ue(e){const t=e&&e.__v_raw;return t?ue(t):e}function Md(e){return!he(e,"__v_skip")&&Object.isExtensible(e)&&$n(e,"__v_skip",!0),e}const We=e=>Te(e)?Fr(e):e,bs=e=>Te(e)?Po(e):e;function De(e){return e?e.__v_isRef===!0:!1}function de(e){return wu(e,!1)}function kt(e){return wu(e,!0)}function wu(e,t){return De(e)?e:new Hd(e,t)}class Hd{constructor(t,n){this.dep=new xo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ue(t),this._value=n?t:We(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||mt(t)||Cn(t);t=r?t:ue(t),en(t,n)&&(this._rawValue=t,this._value=r?t:We(t),this.dep.trigger())}}function Qt(e){return De(e)?e.value:e}const Fd={get:(e,t,n)=>t==="__v_raw"?e:Qt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return De(o)&&!De(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Tu(e){return Nn(e)?e:new Proxy(e,Fd)}class Bd{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new xo,{get:r,set:o}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=o}get value(){return this._value=this._get()}set value(t){this._set(t)}}function $d(e){return new Bd(e)}function Ou(e){const t=re(e)?new Array(e.length):{};for(const n in e)t[n]=xu(e,n);return t}class Ud{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return bd(ue(this._object),this._key)}}class jd{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function zd(e,t,n){return De(e)?e:oe(e)?new jd(e):Te(e)&&arguments.length>1?xu(e,t,n):de(e)}function xu(e,t,n){const r=e[t];return De(r)?r:new Ud(e,t,n)}class Kd{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new xo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ar-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Ce!==this)return du(this,!0),!0}get value(){const t=this.dep.track();return mu(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Wd(e,t,n=!1){let r,o;return oe(e)?r=e:(r=e.get,o=e.set),new Kd(r,o,n)}const Yr={},ho=new WeakMap;let mn;function qd(e,t=!1,n=mn){if(n){let r=ho.get(n);r||ho.set(n,r=[]),r.push(e)}}function Gd(e,t,n=Se){const{immediate:r,deep:o,once:s,scheduler:i,augmentJob:a,call:l}=n,u=E=>o?E:mt(E)||o===!1||o===0?Ft(E,1):Ft(E);let f,c,d,p,_=!1,v=!1;if(De(e)?(c=()=>e.value,_=mt(e)):Nn(e)?(c=()=>u(e),_=!0):re(e)?(v=!0,_=e.some(E=>Nn(E)||mt(E)),c=()=>e.map(E=>{if(De(E))return E.value;if(Nn(E))return u(E);if(oe(E))return l?l(E,2):E()})):oe(e)?t?c=l?()=>l(e,2):e:c=()=>{if(d){Ut();try{d()}finally{jt()}}const E=mn;mn=f;try{return l?l(e,3,[p]):e(p)}finally{mn=E}}:c=xt,t&&o){const E=c,V=o===!0?1/0:o;c=()=>Ft(E(),V)}const y=uu(),b=()=>{f.stop(),y&&qs(y.effects,f)};if(s&&t){const E=t;t=(...V)=>{E(...V),b()}}let A=v?new Array(e.length).fill(Yr):Yr;const m=E=>{if(!(!(f.flags&1)||!f.dirty&&!E))if(t){const V=f.run();if(o||_||(v?V.some((W,M)=>en(W,A[M])):en(V,A))){d&&d();const W=mn;mn=f;try{const M=[V,A===Yr?void 0:v&&A[0]===Yr?[]:A,p];l?l(t,3,M):t(...M),A=V}finally{mn=W}}}else f.run()};return a&&a(m),f=new cu(c),f.scheduler=i?()=>i(m,!1):m,p=E=>qd(E,!1,f),d=f.onStop=()=>{const E=ho.get(f);if(E){if(l)l(E,4);else for(const V of E)V();ho.delete(f)}},t?r?m(!0):A=f.run():i?i(m.bind(null,!0),!0):f.run(),b.pause=f.pause.bind(f),b.resume=f.resume.bind(f),b.stop=b,b}function Ft(e,t=1/0,n){if(t<=0||!Te(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,De(e))Ft(e.value,t,n);else if(re(e))for(let r=0;r{Ft(r,t,n)});else if(su(e)){for(const r in e)Ft(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Ft(e[r],t,n)}return e}/** +* @vue/runtime-core v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const _r=[];let Jo=!1;function Gt(e,...t){if(Jo)return;Jo=!0,Ut();const n=_r.length?_r[_r.length-1].component:null,r=n&&n.appContext.config.warnHandler,o=Yd();if(r)Zn(r,n,11,[e+t.map(s=>{var i,a;return(a=(i=s.toString)==null?void 0:i.call(s))!=null?a:JSON.stringify(s)}).join(""),n&&n.proxy,o.map(({vnode:s})=>`at <${gc(n,s.type)}>`).join(` +`),o]);else{const s=[`[Vue warn]: ${e}`,...t];o.length&&s.push(` +`,...Xd(o)),console.warn(...s)}jt(),Jo=!1}function Yd(){let e=_r[_r.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const r=e.component&&e.component.parent;e=r&&r.vnode}return t}function Xd(e){const t=[];return e.forEach((n,r)=>{t.push(...r===0?[]:[` +`],...Zd(n))}),t}function Zd({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",r=e.component?e.component.parent==null:!1,o=` at <${gc(e.component,e.type,r)}`,s=">"+n;return e.props?[o,...Jd(e.props),s]:[o+s]}function Jd(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(r=>{t.push(...ku(r,e[r]))}),n.length>3&&t.push(" ..."),t}function ku(e,t,n){return Oe(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:De(t)?(t=ku(e,ue(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):oe(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ue(t),n?t:[`${e}=`,t])}function Zn(e,t,n,r){try{return r?e(...r):e()}catch(o){Br(o,t,n)}}function bt(e,t,n,r){if(oe(e)){const o=Zn(e,t,n,r);return o&&ru(o)&&o.catch(s=>{Br(s,t,n)}),o}if(re(e)){const o=[];for(let s=0;s>>1,o=Xe[r],s=wr(o);s=wr(n)?Xe.push(e):Xe.splice(ep(t),0,e),e.flags|=1,Iu()}}function Iu(){mo||(mo=Pu.then(Ru))}function tp(e){re(e)?Vn.push(...e):Yt&&e.id===-1?Yt.splice(Pn+1,0,e):e.flags&1||(Vn.push(e),e.flags|=1),Iu()}function zi(e,t,n=wt+1){for(;nwr(n)-wr(r));if(Vn.length=0,Yt){Yt.push(...t);return}for(Yt=t,Pn=0;Pne.id==null?e.flags&2?-1:1/0:e.id;function Ru(e){try{for(wt=0;wtOt.emit(o,...s)),cr=[]):typeof window<"u"&&window.HTMLElement&&!((r=(n=window.navigator)==null?void 0:n.userAgent)!=null&&r.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(s=>{Lu(s,t)}),setTimeout(()=>{Ot||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Es=!0,cr=[])},3e3)):(Es=!0,cr=[])}function np(e,t){Io("app:init",e,t,{Fragment:_e,Text:tn,Comment:je,Static:Hn})}function rp(e){Io("app:unmount",e)}const op=ri("component:added"),Du=ri("component:updated"),sp=ri("component:removed"),ip=e=>{Ot&&typeof Ot.cleanupBuffer=="function"&&!Ot.cleanupBuffer(e)&&sp(e)};/*! #__NO_SIDE_EFFECTS__ */function ri(e){return t=>{Io(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}function ap(e,t,n){Io("component:emit",e.appContext.app,e,t,n)}let $e=null,Nu=null;function _o(e){const t=$e;return $e=e,Nu=e&&e.type.__scopeId||null,t}function Ve(e,t=$e,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&oa(-1);const s=_o(t);let i;try{i=e(...o)}finally{_o(s),r._d&&oa(1)}return Du(t),i};return r._n=!0,r._c=!0,r._d=!0,r}function vo(e,t){if($e===null)return e;const n=No($e),r=e.dirs||(e.dirs=[]);for(let o=0;oe.__isTeleport,Xt=Symbol("_leaveCb"),Xr=Symbol("_enterCb");function up(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Je(()=>{e.isMounted=!0}),si(()=>{e.isUnmounting=!0}),e}const dt=[Function,Array],Mu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:dt,onEnter:dt,onAfterEnter:dt,onEnterCancelled:dt,onBeforeLeave:dt,onLeave:dt,onAfterLeave:dt,onLeaveCancelled:dt,onBeforeAppear:dt,onAppear:dt,onAfterAppear:dt,onAppearCancelled:dt},Hu=e=>{const t=e.subTree;return t.component?Hu(t.component):t},cp={name:"BaseTransition",props:Mu,setup(e,{slots:t}){const n=Ur(),r=up();return()=>{const o=t.default&&$u(t.default(),!0);if(!o||!o.length)return;const s=Fu(o),i=ue(e),{mode:a}=i;if(r.isLeaving)return Qo(s);const l=Ki(s);if(!l)return Qo(s);let u=Ss(l,i,r,n,d=>u=d);l.type!==je&&Tr(l,u);const f=n.subTree,c=f&&Ki(f);if(c&&c.type!==je&&!vn(l,c)&&Hu(n).type!==je){const d=Ss(c,i,r,n);if(Tr(c,d),a==="out-in"&&l.type!==je)return r.isLeaving=!0,d.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave},Qo(s);a==="in-out"&&l.type!==je&&(d.delayLeave=(p,_,v)=>{const y=Bu(r,c);y[String(c.key)]=c,p[Xt]=()=>{_(),p[Xt]=void 0,delete u.delayedLeave},u.delayedLeave=v})}return s}}};function Fu(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==je){t=n;break}}return t}const fp=cp;function Bu(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 Ss(e,t,n,r,o){const{appear:s,mode:i,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:f,onEnterCancelled:c,onBeforeLeave:d,onLeave:p,onAfterLeave:_,onLeaveCancelled:v,onBeforeAppear:y,onAppear:b,onAfterAppear:A,onAppearCancelled:m}=t,E=String(e.key),V=Bu(n,e),W=(U,O)=>{U&&bt(U,r,9,O)},M=(U,O)=>{const B=O[1];W(U,O),re(U)?U.every(w=>w.length<=1)&&B():U.length<=1&&B()},C={mode:i,persisted:a,beforeEnter(U){let O=l;if(!n.isMounted)if(s)O=y||l;else return;U[Xt]&&U[Xt](!0);const B=V[E];B&&vn(e,B)&&B.el[Xt]&&B.el[Xt](),W(O,[U])},enter(U){let O=u,B=f,w=c;if(!n.isMounted)if(s)O=b||u,B=A||f,w=m||c;else return;let L=!1;const Z=U[Xr]=ee=>{L||(L=!0,ee?W(w,[U]):W(B,[U]),C.delayedLeave&&C.delayedLeave(),U[Xr]=void 0)};O?M(O,[U,Z]):Z()},leave(U,O){const B=String(e.key);if(U[Xr]&&U[Xr](!0),n.isUnmounting)return O();W(d,[U]);let w=!1;const L=U[Xt]=Z=>{w||(w=!0,O(),Z?W(v,[U]):W(_,[U]),U[Xt]=void 0,V[B]===e&&delete V[B])};V[B]=e,p?M(p,[U,L]):L()},clone(U){const O=Ss(U,t,n,r,o);return o&&o(O),O}};return C}function Qo(e){if($r(e))return e=rn(e),e.children=null,e}function Ki(e){if(!$r(e))return Vu(e.type)&&e.children?Fu(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&oe(n.default))return n.default()}}function Tr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,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 $u(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;syo(_,t&&(re(t)?t[v]:t),n,r,o));return}if(Sn(r)&&!o)return;const s=r.shapeFlag&4?No(r.component):r.el,i=o?null:s,{i:a,r:l}=e,u=t&&t.r,f=a.refs===Se?a.refs={}:a.refs,c=a.setupState,d=ue(c),p=c===Se?()=>!1:_=>he(d,_);if(u!=null&&u!==l&&(Oe(u)?(f[u]=null,p(u)&&(c[u]=null)):De(u)&&(u.value=null)),oe(l))Zn(l,a,12,[i,f]);else{const _=Oe(l),v=De(l);if(_||v){const y=()=>{if(e.f){const b=_?p(l)?c[l]:f[l]:l.value;o?re(b)&&qs(b,s):re(b)?b.includes(s)||b.push(s):_?(f[l]=[s],p(l)&&(c[l]=f[l])):(l.value=[s],e.k&&(f[e.k]=l.value))}else _?(f[l]=i,p(l)&&(c[l]=i)):v&&(l.value=i,e.k&&(f[e.k]=i))};i?(y.id=-1,at(y,n)):y()}}}let Wi=!1;const cn=()=>{Wi||(console.error("Hydration completed but contains mismatches."),Wi=!0)},dp=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",pp=e=>e.namespaceURI.includes("MathML"),Zr=e=>{if(e.nodeType===1){if(dp(e))return"svg";if(pp(e))return"mathml"}},_n=e=>e.nodeType===8;function hp(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:a,insert:l,createComment:u}}=e,f=(m,E)=>{if(!E.hasChildNodes()){Gt("Attempting to hydrate existing markup but container is empty. Performing full mount instead."),n(null,m,E),go(),E._vnode=m;return}c(E.firstChild,m,null,null,null),go(),E._vnode=m},c=(m,E,V,W,M,C=!1)=>{C=C||!!E.dynamicChildren;const U=_n(m)&&m.data==="[",O=()=>v(m,E,V,W,M,U),{type:B,ref:w,shapeFlag:L,patchFlag:Z}=E;let ee=m.nodeType;E.el=m,$n(m,"__vnode",E,!0),$n(m,"__vueParentComponent",V,!0),Z===-2&&(C=!1,E.dynamicChildren=null);let I=null;switch(B){case tn:ee!==3?E.children===""?(l(E.el=o(""),i(m),m),I=m):I=O():(m.data!==E.children&&(Gt("Hydration text mismatch in",m.parentNode,` + - rendered on server: ${JSON.stringify(m.data)} + - expected on client: ${JSON.stringify(E.children)}`),cn(),m.data=E.children),I=s(m));break;case je:A(m)?(I=s(m),b(E.el=m.content.firstChild,m,V)):ee!==8||U?I=O():I=s(m);break;case Hn:if(U&&(m=s(m),ee=m.nodeType),ee===1||ee===3){I=m;const D=!E.children.length;for(let z=0;z{C=C||!!E.dynamicChildren;const{type:U,props:O,patchFlag:B,shapeFlag:w,dirs:L,transition:Z}=E,ee=U==="input"||U==="option";if(ee||B!==-1){L&&Tt(E,null,V,"created");let I=!1;if(A(m)){I=rc(null,Z)&&V&&V.vnode.props&&V.vnode.props.appear;const z=m.content.firstChild;I&&Z.beforeEnter(z),b(z,m,V),E.el=m=z}if(w&16&&!(O&&(O.innerHTML||O.textContent))){let z=p(m.firstChild,E,m,V,W,M,C),le=!1;for(;z;){fr(m,1)||(le||(Gt("Hydration children mismatch on",m,` +Server rendered element contains more child nodes than client vdom.`),le=!0),cn());const ye=z;z=z.nextSibling,a(ye)}}else if(w&8){let z=E.children;z[0]===` +`&&(m.tagName==="PRE"||m.tagName==="TEXTAREA")&&(z=z.slice(1)),m.textContent!==z&&(fr(m,0)||(Gt("Hydration text content mismatch on",m,` + - rendered on server: ${m.textContent} + - expected on client: ${E.children}`),cn()),m.textContent=E.children)}if(O){const z=m.tagName.includes("-");for(const le in O)!(L&&L.some(ye=>ye.dir.created))&&mp(m,le,O[le],E,V)&&cn(),(ee&&(le.endsWith("value")||le==="indeterminate")||Mr(le)&&!Dn(le)||le[0]==="."||z)&&r(m,le,null,O[le],void 0,V)}let D;(D=O&&O.onVnodeBeforeMount)&&pt(D,V,E),L&&Tt(E,null,V,"beforeMount"),((D=O&&O.onVnodeMounted)||L||I)&&cc(()=>{D&&pt(D,V,E),I&&Z.enter(m),L&&Tt(E,null,V,"mounted")},W)}return m.nextSibling},p=(m,E,V,W,M,C,U)=>{U=U||!!E.dynamicChildren;const O=E.children,B=O.length;let w=!1;for(let L=0;L{const{slotScopeIds:U}=E;U&&(M=M?M.concat(U):U);const O=i(m),B=p(s(m),E,O,V,W,M,C);return B&&_n(B)&&B.data==="]"?s(E.anchor=B):(cn(),l(E.anchor=u("]"),O,B),B)},v=(m,E,V,W,M,C)=>{if(fr(m.parentElement,1)||(Gt(`Hydration node mismatch: +- rendered on server:`,m,m.nodeType===3?"(text)":_n(m)&&m.data==="["?"(start of fragment)":"",` +- expected on client:`,E.type),cn()),E.el=null,C){const B=y(m);for(;;){const w=s(m);if(w&&w!==B)a(w);else break}}const U=s(m),O=i(m);return a(m),n(null,E,O,U,V,W,Zr(O),M),U},y=(m,E="[",V="]")=>{let W=0;for(;m;)if(m=s(m),m&&_n(m)&&(m.data===E&&W++,m.data===V)){if(W===0)return s(m);W--}return m},b=(m,E,V)=>{const W=E.parentNode;W&&W.replaceChild(m,E);let M=V;for(;M;)M.vnode.el===E&&(M.vnode.el=M.subTree.el=m),M=M.parent},A=m=>m.nodeType===1&&m.tagName==="TEMPLATE";return[f,c]}function mp(e,t,n,r,o){let s,i,a,l;if(t==="class")a=e.getAttribute("class"),l=nt(n),gp(qi(a||""),qi(l))||(s=2,i="class");else if(t==="style"){a=e.getAttribute("style")||"",l=Oe(n)?n:ud(Xn(n));const u=Gi(a),f=Gi(l);if(r.dirs)for(const{dir:c,value:d}of r.dirs)c.name==="show"&&!d&&f.set("display","none");o&&Uu(o,r,f),_p(u,f)||(s=3,i="style")}else(e instanceof SVGElement&&dd(t)||e instanceof HTMLElement&&($i(t)||fd(t)))&&($i(t)?(a=e.hasAttribute(t),l=Ys(n)):n==null?(a=e.hasAttribute(t),l=!1):(e.hasAttribute(t)?a=e.getAttribute(t):t==="value"&&e.tagName==="TEXTAREA"?a=e.value:a=!1,l=pd(n)?String(n):!1),a!==l&&(s=4,i=t));if(s!=null&&!fr(e,s)){const u=d=>d===!1?"(not rendered)":`${i}="${d}"`,f=`Hydration ${ju[s]} mismatch on`,c=` + - rendered on server: ${u(a)} + - expected on client: ${u(l)} + Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead. + You should fix the source of the mismatch.`;return Gt(f,e,c),!0}return!1}function qi(e){return new Set(e.trim().split(/\s+/))}function gp(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Gi(e){const t=new Map;for(const n of e.split(";")){let[r,o]=n.split(":");r=r.trim(),o=o&&o.trim(),r&&o&&t.set(r,o)}return t}function _p(e,t){if(e.size!==t.size)return!1;for(const[n,r]of e)if(r!==t.get(n))return!1;return!0}function Uu(e,t,n){const r=e.subTree;if(e.getCssVars&&(t===r||r&&r.type===_e&&r.children.includes(t))){const o=e.getCssVars();for(const s in o)n.set(`--${md(s)}`,String(o[s]))}t===r&&e.parent&&Uu(e.parent,e.vnode,n)}const Yi="data-allow-mismatch",ju={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function fr(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Yi);)e=e.parentElement;const n=e&&e.getAttribute(Yi);if(n==null)return!1;if(n==="")return!0;{const r=n.split(",");return t===0&&r.includes("children")?!0:n.split(",").includes(ju[t])}}Oo().requestIdleCallback;Oo().cancelIdleCallback;function vp(e,t){if(_n(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(_n(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const Sn=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function yp(e){oe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,hydrate:s,timeout:i,suspensible:a=!0,onError:l}=e;let u=null,f,c=0;const d=()=>(c++,u=null,p()),p=()=>{let _;return u||(_=u=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),l)return new Promise((y,b)=>{l(v,()=>y(d()),()=>b(v),c+1)});throw v}).then(v=>_!==u&&u?u:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),f=v,v)))};return me({name:"AsyncComponentWrapper",__asyncLoader:p,__asyncHydrate(_,v,y){const b=s?()=>{const A=s(y,m=>vp(_,m));A&&(v.bum||(v.bum=[])).push(A)}:y;f?b():p().then(()=>!v.isUnmounted&&b())},get __asyncResolved(){return f},setup(){const _=Be;if(oi(_),f)return()=>es(f,_);const v=m=>{u=null,Br(m,_,13,!r)};if(a&&_.suspense||Un)return p().then(m=>()=>es(m,_)).catch(m=>(v(m),()=>r?ae(r,{error:m}):null));const y=de(!1),b=de(),A=de(!!o);return o&&setTimeout(()=>{A.value=!1},o),i!=null&&setTimeout(()=>{if(!y.value&&!b.value){const m=new Error(`Async component timed out after ${i}ms.`);v(m),b.value=m}},i),p().then(()=>{y.value=!0,_.parent&&$r(_.parent.vnode)&&_.parent.update()}).catch(m=>{v(m),b.value=m}),()=>{if(y.value&&f)return es(f,_);if(b.value&&r)return ae(r,{error:b.value});if(n&&!A.value)return ae(n)}}})}function es(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,i=ae(e,r,o);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const $r=e=>e.type.__isKeepAlive;function bp(e,t){zu(e,"a",t)}function Ep(e,t){zu(e,"da",t)}function zu(e,t,n=Be){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Ro(t,r,n),n){let o=n.parent;for(;o&&o.parent;)$r(o.parent.vnode)&&Sp(r,t,n,o),o=o.parent}}function Sp(e,t,n,r){const o=Ro(t,e,r,!0);Lo(()=>{qs(r[t],o)},n)}function Ro(e,t,n=Be,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{Ut();const a=jr(n),l=bt(t,n,e,i);return a(),jt(),l});return r?o.unshift(s):o.push(s),s}}const zt=e=>(t,n=Be)=>{(!Un||e==="sp")&&Ro(e,(...r)=>t(...r),n)},Ap=zt("bm"),Je=zt("m"),Cp=zt("bu"),wp=zt("u"),si=zt("bum"),Lo=zt("um"),Tp=zt("sp"),Op=zt("rtg"),xp=zt("rtc");function kp(e,t=Be){Ro("ec",e,t)}const Pp="components";function ii(e,t){return Rp(Pp,e,!0,t)||e}const Ip=Symbol.for("v-ndc");function Rp(e,t,n=!0,r=!1){const o=$e||Be;if(o){const s=o.type;{const a=mc(s,!1);if(a&&(a===t||a===rt(t)||a===Hr(rt(t))))return s}const i=Xi(o[e]||s[e],t)||Xi(o.appContext[e],t);return!i&&r?s:i}}function Xi(e,t){return e&&(e[t]||e[rt(t)]||e[Hr(rt(t))])}function nn(e,t,n,r){let o;const s=n,i=re(e);if(i||Oe(e)){const a=i&&Nn(e);let l=!1;a&&(l=!mt(e),e=ko(e)),o=new Array(e.length);for(let u=0,f=e.length;ut(a,l,void 0,s));else{const a=Object.keys(e);o=new Array(a.length);for(let l=0,u=a.length;lxr(t)?!(t.type===je||t.type===_e&&!Ku(t.children)):!0)?e:null}const As=e=>e?pc(e)?No(e):As(e.parent):null,vr=Ne(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>As(e.parent),$root:e=>As(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ai(e),$forceUpdate:e=>e.f||(e.f=()=>{ni(e.update)}),$nextTick:e=>e.n||(e.n=Jn.bind(e.proxy)),$watch:e=>Jp.bind(e)}),ts=(e,t)=>e!==Se&&!e.__isScriptSetup&&he(e,t),Lp={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:a,appContext:l}=e;let u;if(t[0]!=="$"){const p=i[t];if(p!==void 0)switch(p){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(ts(r,t))return i[t]=1,r[t];if(o!==Se&&he(o,t))return i[t]=2,o[t];if((u=e.propsOptions[0])&&he(u,t))return i[t]=3,s[t];if(n!==Se&&he(n,t))return i[t]=4,n[t];Cs&&(i[t]=0)}}const f=vr[t];let c,d;if(f)return t==="$attrs"&&Ke(e.attrs,"get",""),f(e);if((c=a.__cssModules)&&(c=c[t]))return c;if(n!==Se&&he(n,t))return i[t]=4,n[t];if(d=l.config.globalProperties,he(d,t))return d[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return ts(o,t)?(o[t]=n,!0):r!==Se&&he(r,t)?(r[t]=n,!0):he(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 a;return!!n[i]||e!==Se&&he(e,i)||ts(t,i)||(a=s[0])&&he(a,i)||he(r,i)||he(vr,i)||he(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:he(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Zi(e){return re(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Cs=!0;function Dp(e){const t=ai(e),n=e.proxy,r=e.ctx;Cs=!1,t.beforeCreate&&Ji(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:a,provide:l,inject:u,created:f,beforeMount:c,mounted:d,beforeUpdate:p,updated:_,activated:v,deactivated:y,beforeDestroy:b,beforeUnmount:A,destroyed:m,unmounted:E,render:V,renderTracked:W,renderTriggered:M,errorCaptured:C,serverPrefetch:U,expose:O,inheritAttrs:B,components:w,directives:L,filters:Z}=t;if(u&&Np(u,r,null),i)for(const D in i){const z=i[D];oe(z)&&(r[D]=z.bind(n))}if(o){const D=o.call(n,n);Te(D)&&(e.data=Fr(D))}if(Cs=!0,s)for(const D in s){const z=s[D],le=oe(z)?z.bind(n,n):oe(z.get)?z.get.bind(n,n):xt,ye=!oe(z)&&oe(z.set)?z.set.bind(n):xt,xe=H({get:le,set:ye});Object.defineProperty(r,D,{enumerable:!0,configurable:!0,get:()=>xe.value,set:be=>xe.value=be})}if(a)for(const D in a)Wu(a[D],r,n,D);if(l){const D=oe(l)?l.call(n):l;Reflect.ownKeys(D).forEach(z=>{An(z,D[z])})}f&&Ji(f,e,"c");function I(D,z){re(z)?z.forEach(le=>D(le.bind(n))):z&&D(z.bind(n))}if(I(Ap,c),I(Je,d),I(Cp,p),I(wp,_),I(bp,v),I(Ep,y),I(kp,C),I(xp,W),I(Op,M),I(si,A),I(Lo,E),I(Tp,U),re(O))if(O.length){const D=e.exposed||(e.exposed={});O.forEach(z=>{Object.defineProperty(D,z,{get:()=>n[z],set:le=>n[z]=le})})}else e.exposed||(e.exposed={});V&&e.render===xt&&(e.render=V),B!=null&&(e.inheritAttrs=B),w&&(e.components=w),L&&(e.directives=L),U&&oi(e)}function Np(e,t,n=xt){re(e)&&(e=ws(e));for(const r in e){const o=e[r];let s;Te(o)?"default"in o?s=Ze(o.from||r,o.default,!0):s=Ze(o.from||r):s=Ze(o),De(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Ji(e,t,n){bt(re(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Wu(e,t,n,r){let o=r.includes(".")?ac(n,r):()=>n[r];if(Oe(e)){const s=t[e];oe(s)&&Ue(o,s)}else if(oe(e))Ue(o,e.bind(n));else if(Te(e))if(re(e))e.forEach(s=>Wu(s,t,n,r));else{const s=oe(e.handler)?e.handler.bind(n):t[e.handler];oe(s)&&Ue(o,s,e)}}function ai(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,a=s.get(t);let l;return a?l=a:!o.length&&!n&&!r?l=t:(l={},o.length&&o.forEach(u=>bo(l,u,i,!0)),bo(l,t,i)),Te(t)&&s.set(t,l),l}function bo(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&bo(e,s,n,!0),o&&o.forEach(i=>bo(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=Vp[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const Vp={data:Qi,props:ea,emits:ea,methods:dr,computed:dr,beforeCreate:Ge,created:Ge,beforeMount:Ge,mounted:Ge,beforeUpdate:Ge,updated:Ge,beforeDestroy:Ge,beforeUnmount:Ge,destroyed:Ge,unmounted:Ge,activated:Ge,deactivated:Ge,errorCaptured:Ge,serverPrefetch:Ge,components:dr,directives:dr,watch:Hp,provide:Qi,inject:Mp};function Qi(e,t){return t?e?function(){return Ne(oe(e)?e.call(this,this):e,oe(t)?t.call(this,this):t)}:t:e}function Mp(e,t){return dr(ws(e),ws(t))}function ws(e){if(re(e)){const t={};for(let n=0;n1)return n&&oe(t)?t.call(r&&r.proxy):t}}const Gu={},Yu=()=>Object.create(Gu),Xu=e=>Object.getPrototypeOf(e)===Gu;function $p(e,t,n,r=!1){const o={},s=Yu();e.propsDefaults=Object.create(null),Zu(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:Cu(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function Up(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,a=ue(o),[l]=e.propsOptions;let u=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let c=0;c{l=!0;const[d,p]=Ju(c,t,!0);Ne(i,d),p&&a.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!s&&!l)return Te(e)&&r.set(e,Rn),Rn;if(re(s))for(let f=0;fe[0]==="_"||e==="$stable",li=e=>re(e)?e.map(ht):[ht(e)],zp=(e,t,n)=>{if(t._n)return t;const r=Ve((...o)=>li(t(...o)),n);return r._c=!1,r},ec=(e,t,n)=>{const r=e._ctx;for(const o in e){if(Qu(o))continue;const s=e[o];if(oe(s))t[o]=zp(o,s,r);else if(s!=null){const i=li(s);t[o]=()=>i}}},tc=(e,t)=>{const n=li(t);e.slots.default=()=>n},nc=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},Kp=(e,t,n)=>{const r=e.slots=Yu();if(e.vnode.shapeFlag&32){const o=t._;o?(nc(r,t,n),n&&$n(r,"_",o,!0)):ec(t,r)}else t&&tc(e,t)},Wp=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=Se;if(r.shapeFlag&32){const a=t._;a?n&&a===1?s=!1:nc(o,t,n):(s=!t.$stable,ec(t,o)),i=t}else t&&(tc(e,t),i={default:1});if(s)for(const a in o)!Qu(a)&&i[a]==null&&delete o[a]},at=cc;function qp(e){return Gp(e,hp)}function Gp(e,t){const n=Oo();n.__VUE__=!0,Lu(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:r,remove:o,patchProp:s,createElement:i,createText:a,createComment:l,setText:u,setElementText:f,parentNode:c,nextSibling:d,setScopeId:p=xt,insertStaticContent:_}=e,v=(h,g,S,k=null,T=null,R=null,K=void 0,$=null,F=!!g.dynamicChildren)=>{if(h===g)return;h&&!vn(h,g)&&(k=x(h),be(h,T,R,!0),h=null),g.patchFlag===-2&&(F=!1,g.dynamicChildren=null);const{type:N,ref:te,shapeFlag:G}=g;switch(N){case tn:y(h,g,S,k);break;case je:b(h,g,S,k);break;case Hn:h==null&&A(g,S,k,K);break;case _e:w(h,g,S,k,T,R,K,$,F);break;default:G&1?V(h,g,S,k,T,R,K,$,F):G&6?L(h,g,S,k,T,R,K,$,F):(G&64||G&128)&&N.process(h,g,S,k,T,R,K,$,F,J)}te!=null&&T&&yo(te,h&&h.ref,R,g||h,!g)},y=(h,g,S,k)=>{if(h==null)r(g.el=a(g.children),S,k);else{const T=g.el=h.el;g.children!==h.children&&u(T,g.children)}},b=(h,g,S,k)=>{h==null?r(g.el=l(g.children||""),S,k):g.el=h.el},A=(h,g,S,k)=>{[h.el,h.anchor]=_(h.children,g,S,k,h.el,h.anchor)},m=({el:h,anchor:g},S,k)=>{let T;for(;h&&h!==g;)T=d(h),r(h,S,k),h=T;r(g,S,k)},E=({el:h,anchor:g})=>{let S;for(;h&&h!==g;)S=d(h),o(h),h=S;o(g)},V=(h,g,S,k,T,R,K,$,F)=>{g.type==="svg"?K="svg":g.type==="math"&&(K="mathml"),h==null?W(g,S,k,T,R,K,$,F):U(h,g,T,R,K,$,F)},W=(h,g,S,k,T,R,K,$)=>{let F,N;const{props:te,shapeFlag:G,transition:Q,dirs:se}=h;if(F=h.el=i(h.type,R,te&&te.is,te),G&8?f(F,h.children):G&16&&C(h.children,F,null,k,T,ns(h,R),K,$),se&&Tt(h,null,k,"created"),M(F,h,h.scopeId,K,k),te){for(const Ae in te)Ae!=="value"&&!Dn(Ae)&&s(F,Ae,null,te[Ae],R,k);"value"in te&&s(F,"value",null,te.value,R),(N=te.onVnodeBeforeMount)&&pt(N,k,h)}$n(F,"__vnode",h,!0),$n(F,"__vueParentComponent",k,!0),se&&Tt(h,null,k,"beforeMount");const fe=rc(T,Q);fe&&Q.beforeEnter(F),r(F,g,S),((N=te&&te.onVnodeMounted)||fe||se)&&at(()=>{N&&pt(N,k,h),fe&&Q.enter(F),se&&Tt(h,null,k,"mounted")},T)},M=(h,g,S,k,T)=>{if(S&&p(h,S),k)for(let R=0;R{for(let N=F;N{const $=g.el=h.el;$.__vnode=g;let{patchFlag:F,dynamicChildren:N,dirs:te}=g;F|=h.patchFlag&16;const G=h.props||Se,Q=g.props||Se;let se;if(S&&fn(S,!1),(se=Q.onVnodeBeforeUpdate)&&pt(se,S,g,h),te&&Tt(g,h,S,"beforeUpdate"),S&&fn(S,!0),(G.innerHTML&&Q.innerHTML==null||G.textContent&&Q.textContent==null)&&f($,""),N?O(h.dynamicChildren,N,$,S,k,ns(g,T),R):K||z(h,g,$,null,S,k,ns(g,T),R,!1),F>0){if(F&16)B($,G,Q,S,T);else if(F&2&&G.class!==Q.class&&s($,"class",null,Q.class,T),F&4&&s($,"style",G.style,Q.style,T),F&8){const fe=g.dynamicProps;for(let Ae=0;Ae{se&&pt(se,S,g,h),te&&Tt(g,h,S,"updated")},k)},O=(h,g,S,k,T,R,K)=>{for(let $=0;${if(g!==S){if(g!==Se)for(const R in g)!Dn(R)&&!(R in S)&&s(h,R,g[R],null,T,k);for(const R in S){if(Dn(R))continue;const K=S[R],$=g[R];K!==$&&R!=="value"&&s(h,R,$,K,T,k)}"value"in S&&s(h,"value",g.value,S.value,T)}},w=(h,g,S,k,T,R,K,$,F)=>{const N=g.el=h?h.el:a(""),te=g.anchor=h?h.anchor:a("");let{patchFlag:G,dynamicChildren:Q,slotScopeIds:se}=g;se&&($=$?$.concat(se):se),h==null?(r(N,S,k),r(te,S,k),C(g.children||[],S,te,T,R,K,$,F)):G>0&&G&64&&Q&&h.dynamicChildren?(O(h.dynamicChildren,Q,S,T,R,K,$),(g.key!=null||T&&g===T.subTree)&&oc(h,g,!0)):z(h,g,S,te,T,R,K,$,F)},L=(h,g,S,k,T,R,K,$,F)=>{g.slotScopeIds=$,h==null?g.shapeFlag&512?T.ctx.activate(g,S,k,K,F):Z(g,S,k,T,R,K,F):ee(h,g,F)},Z=(h,g,S,k,T,R,K)=>{const $=h.component=dh(h,k,T);if($r(h)&&($.ctx.renderer=J),ph($,!1,K),$.asyncDep){if(T&&T.registerDep($,I,K),!h.el){const F=$.subTree=ae(je);b(null,F,g,S)}}else I($,h,g,S,T,R,K)},ee=(h,g,S)=>{const k=g.component=h.component;if(rh(h,g,S))if(k.asyncDep&&!k.asyncResolved){D(k,g,S);return}else k.next=g,k.update();else g.el=h.el,k.vnode=g},I=(h,g,S,k,T,R,K)=>{const $=()=>{if(h.isMounted){let{next:G,bu:Q,u:se,parent:fe,vnode:Ae}=h;{const st=sc(h);if(st){G&&(G.el=Ae.el,D(h,G,K)),st.asyncDep.then(()=>{h.isUnmounted||$()});return}}let ge=G,ot;fn(h,!1),G?(G.el=Ae.el,D(h,G,K)):G=Ae,Q&&qo(Q),(ot=G.props&&G.props.onVnodeBeforeUpdate)&&pt(ot,fe,G,Ae),fn(h,!0);const ze=rs(h),_t=h.subTree;h.subTree=ze,v(_t,ze,c(_t.el),x(_t),h,T,R),G.el=ze.el,ge===null&&oh(h,ze.el),se&&at(se,T),(ot=G.props&&G.props.onVnodeUpdated)&&at(()=>pt(ot,fe,G,Ae),T),Du(h)}else{let G;const{el:Q,props:se}=g,{bm:fe,m:Ae,parent:ge,root:ot,type:ze}=h,_t=Sn(g);if(fn(h,!1),fe&&qo(fe),!_t&&(G=se&&se.onVnodeBeforeMount)&&pt(G,ge,g),fn(h,!0),Q&&Ee){const st=()=>{h.subTree=rs(h),Ee(Q,h.subTree,h,T,null)};_t&&ze.__asyncHydrate?ze.__asyncHydrate(Q,h,st):st()}else{ot.ce&&ot.ce._injectChildStyle(ze);const st=h.subTree=rs(h);v(null,st,S,k,h,T,R),g.el=st.el}if(Ae&&at(Ae,T),!_t&&(G=se&&se.onVnodeMounted)){const st=g;at(()=>pt(G,ge,st),T)}(g.shapeFlag&256||ge&&Sn(ge.vnode)&&ge.vnode.shapeFlag&256)&&h.a&&at(h.a,T),h.isMounted=!0,op(h),g=S=k=null}};h.scope.on();const F=h.effect=new cu($);h.scope.off();const N=h.update=F.run.bind(F),te=h.job=F.runIfDirty.bind(F);te.i=h,te.id=h.uid,F.scheduler=()=>ni(te),fn(h,!0),N()},D=(h,g,S)=>{g.component=h;const k=h.vnode.props;h.vnode=g,h.next=null,Up(h,g.props,k,S),Wp(h,g.children,S),Ut(),zi(h),jt()},z=(h,g,S,k,T,R,K,$,F=!1)=>{const N=h&&h.children,te=h?h.shapeFlag:0,G=g.children,{patchFlag:Q,shapeFlag:se}=g;if(Q>0){if(Q&128){ye(N,G,S,k,T,R,K,$,F);return}else if(Q&256){le(N,G,S,k,T,R,K,$,F);return}}se&8?(te&16&&tt(N,T,R),G!==N&&f(S,G)):te&16?se&16?ye(N,G,S,k,T,R,K,$,F):tt(N,T,R,!0):(te&8&&f(S,""),se&16&&C(G,S,k,T,R,K,$,F))},le=(h,g,S,k,T,R,K,$,F)=>{h=h||Rn,g=g||Rn;const N=h.length,te=g.length,G=Math.min(N,te);let Q;for(Q=0;Qte?tt(h,T,R,!0,!1,G):C(g,S,k,T,R,K,$,F,G)},ye=(h,g,S,k,T,R,K,$,F)=>{let N=0;const te=g.length;let G=h.length-1,Q=te-1;for(;N<=G&&N<=Q;){const se=h[N],fe=g[N]=F?Zt(g[N]):ht(g[N]);if(vn(se,fe))v(se,fe,S,null,T,R,K,$,F);else break;N++}for(;N<=G&&N<=Q;){const se=h[G],fe=g[Q]=F?Zt(g[Q]):ht(g[Q]);if(vn(se,fe))v(se,fe,S,null,T,R,K,$,F);else break;G--,Q--}if(N>G){if(N<=Q){const se=Q+1,fe=seQ)for(;N<=G;)be(h[N],T,R,!0),N++;else{const se=N,fe=N,Ae=new Map;for(N=fe;N<=Q;N++){const it=g[N]=F?Zt(g[N]):ht(g[N]);it.key!=null&&Ae.set(it.key,N)}let ge,ot=0;const ze=Q-fe+1;let _t=!1,st=0;const rr=new Array(ze);for(N=0;N=ze){be(it,T,R,!0);continue}let At;if(it.key!=null)At=Ae.get(it.key);else for(ge=fe;ge<=Q;ge++)if(rr[ge-fe]===0&&vn(it,g[ge])){At=ge;break}At===void 0?be(it,T,R,!0):(rr[At-fe]=N+1,At>=st?st=At:_t=!0,v(it,g[At],S,null,T,R,K,$,F),ot++)}const Mi=_t?Yp(rr):Rn;for(ge=Mi.length-1,N=ze-1;N>=0;N--){const it=fe+N,At=g[it],Hi=it+1{const{el:R,type:K,transition:$,children:F,shapeFlag:N}=h;if(N&6){xe(h.component.subTree,g,S,k);return}if(N&128){h.suspense.move(g,S,k);return}if(N&64){K.move(h,g,S,J);return}if(K===_e){r(R,g,S);for(let G=0;G$.enter(R),T);else{const{leave:G,delayLeave:Q,afterLeave:se}=$,fe=()=>r(R,g,S),Ae=()=>{G(R,()=>{fe(),se&&se()})};Q?Q(R,fe,Ae):Ae()}else r(R,g,S)},be=(h,g,S,k=!1,T=!1)=>{const{type:R,props:K,ref:$,children:F,dynamicChildren:N,shapeFlag:te,patchFlag:G,dirs:Q,cacheIndex:se}=h;if(G===-2&&(T=!1),$!=null&&yo($,null,S,h,!0),se!=null&&(g.renderCache[se]=void 0),te&256){g.ctx.deactivate(h);return}const fe=te&1&&Q,Ae=!Sn(h);let ge;if(Ae&&(ge=K&&K.onVnodeBeforeUnmount)&&pt(ge,g,h),te&6)et(h.component,S,k);else{if(te&128){h.suspense.unmount(S,k);return}fe&&Tt(h,null,g,"beforeUnmount"),te&64?h.type.remove(h,g,S,J,k):N&&!N.hasOnce&&(R!==_e||G>0&&G&64)?tt(N,g,S,!1,!0):(R===_e&&G&384||!T&&te&16)&&tt(F,g,S),k&&Qe(h)}(Ae&&(ge=K&&K.onVnodeUnmounted)||fe)&&at(()=>{ge&&pt(ge,g,h),fe&&Tt(h,null,g,"unmounted")},S)},Qe=h=>{const{type:g,el:S,anchor:k,transition:T}=h;if(g===_e){gt(S,k);return}if(g===Hn){E(h);return}const R=()=>{o(S),T&&!T.persisted&&T.afterLeave&&T.afterLeave()};if(h.shapeFlag&1&&T&&!T.persisted){const{leave:K,delayLeave:$}=T,F=()=>K(S,R);$?$(h.el,R,F):F()}else R()},gt=(h,g)=>{let S;for(;h!==g;)S=d(h),o(h),h=S;o(g)},et=(h,g,S)=>{const{bum:k,scope:T,job:R,subTree:K,um:$,m:F,a:N}=h;na(F),na(N),k&&qo(k),T.stop(),R&&(R.flags|=8,be(K,h,g,S)),$&&at($,g),at(()=>{h.isUnmounted=!0},g),g&&g.pendingBranch&&!g.isUnmounted&&h.asyncDep&&!h.asyncResolved&&h.suspenseId===g.pendingId&&(g.deps--,g.deps===0&&g.resolve()),ip(h)},tt=(h,g,S,k=!1,T=!1,R=0)=>{for(let K=R;K{if(h.shapeFlag&6)return x(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const g=d(h.anchor||h.el),S=g&&g[lp];return S?d(S):g};let q=!1;const j=(h,g,S)=>{h==null?g._vnode&&be(g._vnode,null,null,!0):v(g._vnode||null,h,g,null,null,null,S),g._vnode=h,q||(q=!0,zi(),go(),q=!1)},J={p:v,um:be,m:xe,r:Qe,mt:Z,mc:C,pc:z,pbc:O,n:x,o:e};let ce,Ee;return t&&([ce,Ee]=t(J)),{render:j,hydrate:ce,createApp:Bp(j,ce)}}function ns({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 fn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function rc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function oc(e,t,n=!1){const r=e.children,o=t.children;if(re(r)&&re(o))for(let s=0;s>1,e[n[a]]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 sc(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:sc(t)}function na(e){if(e)for(let t=0;tZe(Xp);function ic(e,t){return ui(e,null,t)}function Ue(e,t,n){return ui(e,t,n)}function ui(e,t,n=Se){const{immediate:r,deep:o,flush:s,once:i}=n,a=Ne({},n),l=t&&r||!t&&s!=="post";let u;if(Un){if(s==="sync"){const p=Zp();u=p.__watcherHandles||(p.__watcherHandles=[])}else if(!l){const p=()=>{};return p.stop=xt,p.resume=xt,p.pause=xt,p}}const f=Be;a.call=(p,_,v)=>bt(p,f,_,v);let c=!1;s==="post"?a.scheduler=p=>{at(p,f&&f.suspense)}:s!=="sync"&&(c=!0,a.scheduler=(p,_)=>{_?p():ni(p)}),a.augmentJob=p=>{t&&(p.flags|=4),c&&(p.flags|=2,f&&(p.id=f.uid,p.i=f))};const d=Gd(e,t,a);return Un&&(u?u.push(d):l&&d()),d}function Jp(e,t,n){const r=this.proxy,o=Oe(e)?e.includes(".")?ac(r,e):()=>r[e]:e.bind(r,r);let s;oe(t)?s=t:(s=t.handler,n=t);const i=jr(this),a=ui(o,s.bind(r),n);return i(),a}function ac(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${rt(t)}Modifiers`]||e[`${$t(t)}Modifiers`];function eh(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Se;let o=n;const s=t.startsWith("update:"),i=s&&Qp(r,t.slice(7));i&&(i.trim&&(o=n.map(f=>Oe(f)?f.trim():f)),i.number&&(o=n.map(rd))),ap(e,t,o);let a,l=r[a=Wo(t)]||r[a=Wo(rt(t))];!l&&s&&(l=r[a=Wo($t(t))]),l&&bt(l,e,6,o);const u=r[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,bt(u,e,6,o)}}function lc(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let i={},a=!1;if(!oe(e)){const l=u=>{const f=lc(u,t,!0);f&&(a=!0,Ne(i,f))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!a?(Te(e)&&r.set(e,null),null):(re(s)?s.forEach(l=>i[l]=null):Ne(i,s),Te(e)&&r.set(e,i),i)}function Do(e,t){return!e||!Mr(t)?!1:(t=t.slice(2).replace(/Once$/,""),he(e,t[0].toLowerCase()+t.slice(1))||he(e,$t(t))||he(e,t))}function rs(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[s],slots:i,attrs:a,emit:l,render:u,renderCache:f,props:c,data:d,setupState:p,ctx:_,inheritAttrs:v}=e,y=_o(e);let b,A;try{if(n.shapeFlag&4){const E=o||r,V=E;b=ht(u.call(V,E,f,c,p,d,_)),A=a}else{const E=t;b=ht(E.length>1?E(c,{attrs:a,slots:i,emit:l}):E(c,null)),A=t.props?a:th(a)}}catch(E){yr.length=0,Br(E,e,1),b=ae(je)}let m=b;if(A&&v!==!1){const E=Object.keys(A),{shapeFlag:V}=m;E.length&&V&7&&(s&&E.some(Ws)&&(A=nh(A,s)),m=rn(m,A,!1,!0))}return n.dirs&&(m=rn(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(n.dirs):n.dirs),n.transition&&Tr(m,n.transition),b=m,_o(y),b}const th=e=>{let t;for(const n in e)(n==="class"||n==="style"||Mr(n))&&((t||(t={}))[n]=e[n]);return t},nh=(e,t)=>{const n={};for(const r in e)(!Ws(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function rh(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:a,patchFlag:l}=t,u=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?ra(r,i,u):!!i;if(l&8){const f=t.dynamicProps;for(let c=0;ce.__isSuspense;function cc(e,t){t&&t.pendingBranch?re(e)?t.effects.push(...e):t.effects.push(e):tp(e)}const _e=Symbol.for("v-fgt"),tn=Symbol.for("v-txt"),je=Symbol.for("v-cmt"),Hn=Symbol.for("v-stc"),yr=[];let ut=null;function Y(e=!1){yr.push(ut=e?null:[])}function sh(){yr.pop(),ut=yr[yr.length-1]||null}let Or=1;function oa(e){Or+=e,e<0&&ut&&(ut.hasOnce=!0)}function fc(e){return e.dynamicChildren=Or>0?ut||Rn:null,sh(),Or>0&&ut&&ut.push(e),e}function ne(e,t,n,r,o,s){return fc(ie(e,t,n,r,o,s,!0))}function Le(e,t,n,r,o){return fc(ae(e,t,n,r,o,!0))}function xr(e){return e?e.__v_isVNode===!0:!1}function vn(e,t){return e.type===t.type&&e.key===t.key}const dc=({key:e})=>e??null,io=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Oe(e)||De(e)||oe(e)?{i:$e,r:e,k:t,f:!!n}:e:null);function ie(e,t=null,n=null,r=0,o=null,s=e===_e?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&dc(t),ref:t&&io(t),scopeId:Nu,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:$e};return a?(ci(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=Oe(n)?8:16),Or>0&&!i&&ut&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&ut.push(l),l}const ae=ih;function ih(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===Ip)&&(e=je),xr(e)){const a=rn(e,t,!0);return n&&ci(a,n),Or>0&&!s&&ut&&(a.shapeFlag&6?ut[ut.indexOf(e)]=a:ut.push(a)),a.patchFlag=-2,a}if(yh(e)&&(e=e.__vccOpts),t){t=ah(t);let{class:a,style:l}=t;a&&!Oe(a)&&(t.class=nt(a)),Te(l)&&(ti(l)&&!re(l)&&(l=Ne({},l)),t.style=Xn(l))}const i=Oe(e)?1:uc(e)?128:Vu(e)?64:Te(e)?4:oe(e)?2:0;return ie(e,t,n,r,o,i,s,!0)}function ah(e){return e?ti(e)||Xu(e)?Ne({},e):e:null}function rn(e,t,n=!1,r=!1){const{props:o,ref:s,patchFlag:i,children:a,transition:l}=e,u=t?uh(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&dc(u),ref:t&&t.ref?n&&s?re(s)?s.concat(io(t)):[s,io(t)]:io(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==_e?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&rn(e.ssContent),ssFallback:e.ssFallback&&rn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&Tr(f,l.clone(f)),f}function on(e=" ",t=0){return ae(tn,null,e,t)}function lh(e,t){const n=ae(Hn,null,e);return n.staticCount=t,n}function He(e="",t=!1){return t?(Y(),Le(je,null,e)):ae(je,null,e)}function ht(e){return e==null||typeof e=="boolean"?ae(je):re(e)?ae(_e,null,e.slice()):xr(e)?Zt(e):ae(tn,null,String(e))}function Zt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:rn(e)}function ci(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(re(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),ci(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!Xu(t)?t._ctx=$e:o===3&&$e&&($e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else oe(t)?(t={default:t,_ctx:$e},n=32):(t=String(t),r&64?(n=16,t=[on(t)]):n=8);e.children=t,e.shapeFlag|=n}function uh(...e){const t={};for(let n=0;nBe||$e;let Eo,Os;{const e=Oo(),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)}};Eo=t("__VUE_INSTANCE_SETTERS__",n=>Be=n),Os=t("__VUE_SSR_SETTERS__",n=>Un=n)}const jr=e=>{const t=Be;return Eo(e),e.scope.on(),()=>{e.scope.off(),Eo(t)}},sa=()=>{Be&&Be.scope.off(),Eo(null)};function pc(e){return e.vnode.shapeFlag&4}let Un=!1;function ph(e,t=!1,n=!1){t&&Os(t);const{props:r,children:o}=e.vnode,s=pc(e);$p(e,r,s,t),Kp(e,o,n);const i=s?hh(e,t):void 0;return t&&Os(!1),i}function hh(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Lp);const{setup:r}=n;if(r){Ut();const o=e.setupContext=r.length>1?gh(e):null,s=jr(e),i=Zn(r,e,0,[e.props,o]),a=ru(i);if(jt(),s(),(a||e.sp)&&!Sn(e)&&oi(e),a){if(i.then(sa,sa),t)return i.then(l=>{ia(e,l,t)}).catch(l=>{Br(l,e,0)});e.asyncDep=i}else ia(e,i,t)}else hc(e,t)}function ia(e,t,n){oe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Te(t)&&(e.devtoolsRawSetupState=t,e.setupState=Tu(t)),hc(e,n)}let aa;function hc(e,t,n){const r=e.type;if(!e.render){if(!t&&aa&&!r.render){const o=r.template||ai(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:l}=r,u=Ne(Ne({isCustomElement:s,delimiters:a},i),l);r.render=aa(o,u)}}e.render=r.render||xt}{const o=jr(e);Ut();try{Dp(e)}finally{jt(),o()}}}const mh={get(e,t){return Ke(e,"get",""),e[t]}};function gh(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,mh),slots:e.slots,emit:e.emit,expose:t}}function No(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Tu(Md(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in vr)return vr[n](e)},has(t,n){return n in t||n in vr}})):e.proxy}const _h=/(?:^|[-_])(\w)/g,vh=e=>e.replace(_h,t=>t.toUpperCase()).replace(/[-_]/g,"");function mc(e,t=!0){return oe(e)?e.displayName||e.name:e.name||t&&e.__name}function gc(e,t,n=!1){let r=mc(t);if(!r&&t.__file){const o=t.__file.match(/([^/\\]+)\.\w+$/);o&&(r=o[1])}if(!r&&e&&e.parent){const o=s=>{for(const i in s)if(s[i]===t)return i};r=o(e.components||e.parent.type.components)||o(e.appContext.components)}return r?vh(r):n?"App":"Anonymous"}function yh(e){return oe(e)&&"__vccOpts"in e}const H=(e,t)=>Wd(e,t,Un);function ve(e,t,n){const r=arguments.length;return r===2?Te(t)&&!re(t)?xr(t)?ae(e,null,[t]):ae(e,t):ae(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&xr(n)&&(n=[n]),ae(e,t,n))}const la="3.5.12";/** +* @vue/runtime-dom v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let xs;const ua=typeof window<"u"&&window.trustedTypes;if(ua)try{xs=ua.createPolicy("vue",{createHTML:e=>e})}catch{}const _c=xs?e=>xs.createHTML(e):e=>e,bh="http://www.w3.org/2000/svg",Eh="http://www.w3.org/1998/Math/MathML",Vt=typeof document<"u"?document:null,ca=Vt&&Vt.createElement("template"),Sh={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(bh,e):t==="mathml"?Vt.createElementNS(Eh,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{ca.innerHTML=_c(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=ca.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Wt="transition",sr="animation",kr=Symbol("_vtc"),vc={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},Ah=Ne({},Mu,vc),Ch=e=>(e.displayName="Transition",e.props=Ah,e),fi=Ch((e,{slots:t})=>ve(fp,wh(e),t)),dn=(e,t=[])=>{re(e)?e.forEach(n=>n(...t)):e&&e(...t)},fa=e=>e?re(e)?e.some(t=>t.length>1):e.length>1:!1;function wh(e){const t={};for(const w in e)w in vc||(t[w]=e[w]);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:a=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:u=i,appearToClass:f=a,leaveFromClass:c=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,_=Th(o),v=_&&_[0],y=_&&_[1],{onBeforeEnter:b,onEnter:A,onEnterCancelled:m,onLeave:E,onLeaveCancelled:V,onBeforeAppear:W=b,onAppear:M=A,onAppearCancelled:C=m}=t,U=(w,L,Z)=>{pn(w,L?f:a),pn(w,L?u:i),Z&&Z()},O=(w,L)=>{w._isLeaving=!1,pn(w,c),pn(w,p),pn(w,d),L&&L()},B=w=>(L,Z)=>{const ee=w?M:A,I=()=>U(L,w,Z);dn(ee,[L,I]),da(()=>{pn(L,w?l:s),qt(L,w?f:a),fa(ee)||pa(L,r,v,I)})};return Ne(t,{onBeforeEnter(w){dn(b,[w]),qt(w,s),qt(w,i)},onBeforeAppear(w){dn(W,[w]),qt(w,l),qt(w,u)},onEnter:B(!1),onAppear:B(!0),onLeave(w,L){w._isLeaving=!0;const Z=()=>O(w,L);qt(w,c),qt(w,d),kh(),da(()=>{w._isLeaving&&(pn(w,c),qt(w,p),fa(E)||pa(w,r,y,Z))}),dn(E,[w,Z])},onEnterCancelled(w){U(w,!1),dn(m,[w])},onAppearCancelled(w){U(w,!0),dn(C,[w])},onLeaveCancelled(w){O(w),dn(V,[w])}})}function Th(e){if(e==null)return null;if(Te(e))return[os(e.enter),os(e.leave)];{const t=os(e);return[t,t]}}function os(e){return od(e)}function qt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[kr]||(e[kr]=new Set)).add(t)}function pn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[kr];n&&(n.delete(t),n.size||(e[kr]=void 0))}function da(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Oh=0;function pa(e,t,n,r){const o=e._endId=++Oh,s=()=>{o===e._endId&&r()};if(n!=null)return setTimeout(s,n);const{type:i,timeout:a,propCount:l}=xh(e,t);if(!i)return r();const u=i+"end";let f=0;const c=()=>{e.removeEventListener(u,d),s()},d=p=>{p.target===e&&++f>=l&&c()};setTimeout(()=>{f(n[_]||"").split(", "),o=r(`${Wt}Delay`),s=r(`${Wt}Duration`),i=ha(o,s),a=r(`${sr}Delay`),l=r(`${sr}Duration`),u=ha(a,l);let f=null,c=0,d=0;t===Wt?i>0&&(f=Wt,c=i,d=s.length):t===sr?u>0&&(f=sr,c=u,d=l.length):(c=Math.max(i,u),f=c>0?i>u?Wt:sr:null,d=f?f===Wt?s.length:l.length:0);const p=f===Wt&&/\b(transform|all)(,|$)/.test(r(`${Wt}Property`).toString());return{type:f,timeout:c,propCount:d,hasTransform:p}}function ha(e,t){for(;e.lengthma(n)+ma(e[r])))}function ma(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function kh(){return document.body.offsetHeight}function Ph(e,t,n){const r=e[kr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const So=Symbol("_vod"),yc=Symbol("_vsh"),Ao={beforeMount(e,{value:t},{transition:n}){e[So]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):ir(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),ir(e,!0),r.enter(e)):r.leave(e,()=>{ir(e,!1)}):ir(e,t))},beforeUnmount(e,{value:t}){ir(e,t)}};function ir(e,t){e.style.display=t?e[So]:"none",e[yc]=!t}const Ih=Symbol(""),Rh=/(^|;)\s*display\s*:/;function Lh(e,t,n){const r=e.style,o=Oe(n);let s=!1;if(n&&!o){if(t)if(Oe(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&ao(r,a,"")}else for(const i in t)n[i]==null&&ao(r,i,"");for(const i in n)i==="display"&&(s=!0),ao(r,i,n[i])}else if(o){if(t!==n){const i=r[Ih];i&&(n+=";"+i),r.cssText=n,s=Rh.test(n)}}else t&&e.removeAttribute("style");So in e&&(e[So]=s?r.display:"",e[yc]&&(r.display="none"))}const ga=/\s*!important$/;function ao(e,t,n){if(re(n))n.forEach(r=>ao(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Dh(e,t);ga.test(n)?e.setProperty($t(r),n.replace(ga,""),"important"):e[r]=n}}const _a=["Webkit","Moz","ms"],ss={};function Dh(e,t){const n=ss[t];if(n)return n;let r=rt(t);if(r!=="filter"&&r in e)return ss[t]=r;r=Hr(r);for(let o=0;o<_a.length;o++){const s=_a[o]+r;if(s in e)return ss[t]=s}return t}const va="http://www.w3.org/1999/xlink";function ya(e,t,n,r,o,s=cd(t)){r&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(va,t.slice(6,t.length)):e.setAttributeNS(va,t,n):n==null||s&&!Ys(n)?e.removeAttribute(t):e.setAttribute(t,s?"":Bt(n)?String(n):n)}function ba(e,t,n,r,o){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?_c(n):n);return}const s=e.tagName;if(t==="value"&&s!=="PROGRESS"&&!s.includes("-")){const a=s==="OPTION"?e.getAttribute("value")||"":e.value,l=n==null?e.type==="checkbox"?"on":"":String(n);(a!==l||!("_value"in e))&&(e.value=l),n==null&&e.removeAttribute(t),e._value=n;return}let i=!1;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=Ys(n):n==null&&a==="string"?(n="",i=!0):a==="number"&&(n=0,i=!0)}try{e[t]=n}catch{}i&&e.removeAttribute(o||t)}function Nh(e,t,n,r){e.addEventListener(t,n,r)}function Vh(e,t,n,r){e.removeEventListener(t,n,r)}const Ea=Symbol("_vei");function Mh(e,t,n,r,o=null){const s=e[Ea]||(e[Ea]={}),i=s[t];if(r&&i)i.value=r;else{const[a,l]=Hh(t);if(r){const u=s[t]=$h(r,o);Nh(e,a,u,l)}else i&&(Vh(e,a,i,l),s[t]=void 0)}}const Sa=/(?:Once|Passive|Capture)$/;function Hh(e){let t;if(Sa.test(e)){t={};let r;for(;r=e.match(Sa);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):$t(e.slice(2)),t]}let is=0;const Fh=Promise.resolve(),Bh=()=>is||(Fh.then(()=>is=0),is=Date.now());function $h(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;bt(Uh(r,n.value),t,5,[r])};return n.value=e,n.attached=Bh(),n}function Uh(e,t){if(re(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 Aa=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,jh=(e,t,n,r,o,s)=>{const i=o==="svg";t==="class"?Ph(e,r,i):t==="style"?Lh(e,n,r):Mr(t)?Ws(t)||Mh(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):zh(e,t,r,i))?(ba(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ya(e,t,r,i,s,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Oe(r))?ba(e,rt(t),r,s,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),ya(e,t,r,i))};function zh(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Aa(t)&&oe(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 Aa(t)&&Oe(n)?!1:t in e}const Kh={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Wh=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const s=$t(o.key);if(t.some(i=>i===s||Kh[i]===s))return e(o)})},qh=Ne({patchProp:jh},Sh);let as,Ca=!1;function Gh(){return as=Ca?as:qp(qh),Ca=!0,as}const Yh=(...e)=>{const t=Gh().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Zh(r);if(o)return n(o,!0,Xh(o))},t};function Xh(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Zh(e){return Oe(e)?document.querySelector(e):e}var zr=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),Jh=/.md((\?|#).*)?$/,Qh=(e,t="/")=>zr(e)||e.startsWith("/")&&!e.startsWith(t)&&!Jh.test(e),Vo=e=>/^(https?:)?\/\//.test(e),wa=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},em="http://.",tm=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return wa(new URL(`${n}/${e}`,em).pathname)}return wa(e)},nm=(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"/"},rm=/(#|\?)/,bc=e=>{const[t,...n]=e.split(rm);return{pathname:t,hashAndQueries:n.join("")}},om=["link","meta","script","style","noscript","template"],sm=["title","base"],im=([e,t,n])=>sm.includes(e)?e:om.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,am=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=im(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},lm=e=>e.endsWith("/")||e.endsWith(".html")?e:`${e}/`,Ec=e=>e.endsWith("/")?e.slice(0,-1):e,Sc=e=>e.startsWith("/")?e.slice(1):e,di=e=>Object.prototype.toString.call(e)==="[object Object]",yt=e=>typeof e=="string";const um=JSON.parse("{}"),cm=Object.fromEntries([["/",{loader:()=>Dt(()=>import("./index.html-BvklKyMd.js"),[]),meta:{title:"AI for devs | Tech at Worldline"}}],["/develop/",{loader:()=>Dt(()=>import("./index.html-CRA1Ekr5.js"),[]),meta:{title:"Develop with AI"}}],["/llm/",{loader:()=>Dt(()=>import("./index.html-D0QgU6oo.js"),[]),meta:{title:"Online with Librechat"}}],["/offline/",{loader:()=>Dt(()=>import("./index.html-bbNjYxoL.js"),[]),meta:{title:"Offline with LM Studio"}}],["/overview/",{loader:()=>Dt(()=>import("./index.html-DC5R9WtP.js"),[]),meta:{title:"Let's start"}}],["/services/",{loader:()=>Dt(()=>import("./index.html-D0-PoVlK.js"),[]),meta:{title:"AI for services"}}],["/use/",{loader:()=>Dt(()=>import("./index.html-BcE3IrDX.js"),[]),meta:{title:"Prompt with AI"}}],["/404.html",{loader:()=>Dt(()=>import("./404.html-BGblxds9.js"),[]),meta:{title:""}}]]);function fm(){return Ac().__VUE_DEVTOOLS_GLOBAL_HOOK__}function Ac(){return typeof navigator<"u"&&typeof window<"u"?window:typeof globalThis<"u"?globalThis:{}}const dm=typeof Proxy=="function",pm="devtools-plugin:setup",hm="plugin:settings:set";let xn,ks;function mm(){var e;return xn!==void 0||(typeof window<"u"&&window.performance?(xn=!0,ks=window.performance):typeof globalThis<"u"&&(!((e=globalThis.perf_hooks)===null||e===void 0)&&e.performance)?(xn=!0,ks=globalThis.perf_hooks.performance):xn=!1),xn}function gm(){return mm()?ks.now():Date.now()}class _m{constructor(t,n){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=n;const r={};if(t.settings)for(const i in t.settings){const a=t.settings[i];r[i]=a.defaultValue}const o=`__vue-devtools-plugin-settings__${t.id}`;let s=Object.assign({},r);try{const i=localStorage.getItem(o),a=JSON.parse(i);Object.assign(s,a)}catch{}this.fallbacks={getSettings(){return s},setSettings(i){try{localStorage.setItem(o,JSON.stringify(i))}catch{}s=i},now(){return gm()}},n&&n.on(hm,(i,a)=>{i===this.plugin.id&&this.fallbacks.setSettings(a)}),this.proxiedOn=new Proxy({},{get:(i,a)=>this.target?this.target.on[a]:(...l)=>{this.onQueue.push({method:a,args:l})}}),this.proxiedTarget=new Proxy({},{get:(i,a)=>this.target?this.target[a]:a==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(a)?(...l)=>(this.targetQueue.push({method:a,args:l,resolve:()=>{}}),this.fallbacks[a](...l)):(...l)=>new Promise(u=>{this.targetQueue.push({method:a,args:l,resolve:u})})})}async setRealTarget(t){this.target=t;for(const n of this.onQueue)this.target.on[n.method](...n.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function vm(e,t){const n=e,r=Ac(),o=fm(),s=dm&&n.enableEarlyProxy;if(o&&(r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!s))o.emit(pm,e,t);else{const i=s?new _m(n,o):null;(r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:i}),i&&t(i.proxiedTarget)}}/*! + * vue-router v4.4.5 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const Mt=typeof document<"u";function Cc(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ym(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Cc(e.default)}const pe=Object.assign;function ls(e,t){const n={};for(const r in t){const o=t[r];n[r]=ct(o)?o.map(e):e(o)}return n}const br=()=>{},ct=Array.isArray,wc=/#/g,bm=/&/g,Em=/\//g,Sm=/=/g,Am=/\?/g,Tc=/\+/g,Cm=/%5B/g,wm=/%5D/g,Oc=/%5E/g,Tm=/%60/g,xc=/%7B/g,Om=/%7C/g,kc=/%7D/g,xm=/%20/g;function pi(e){return encodeURI(""+e).replace(Om,"|").replace(Cm,"[").replace(wm,"]")}function km(e){return pi(e).replace(xc,"{").replace(kc,"}").replace(Oc,"^")}function Ps(e){return pi(e).replace(Tc,"%2B").replace(xm,"+").replace(wc,"%23").replace(bm,"%26").replace(Tm,"`").replace(xc,"{").replace(kc,"}").replace(Oc,"^")}function Pm(e){return Ps(e).replace(Sm,"%3D")}function Im(e){return pi(e).replace(wc,"%23").replace(Am,"%3F")}function Rm(e){return e==null?"":Im(e).replace(Em,"%2F")}function jn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Lm=/\/$/,Dm=e=>e.replace(Lm,"");function us(e,t,n="/"){let r,o={},s="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),s=t.slice(l+1,a>-1?a:t.length),o=e(s)),a>-1&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=Hm(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:jn(i)}}function Nm(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ta(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Vm(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&sn(t.matched[r],n.matched[o])&&Pc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function sn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Pc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Mm(e[n],t[n]))return!1;return!0}function Mm(e,t){return ct(e)?Oa(e,t):ct(t)?Oa(t,e):e===t}function Oa(e,t){return ct(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Hm(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,a;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i).join("/")}const Nt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Pr;(function(e){e.pop="pop",e.push="push"})(Pr||(Pr={}));var Er;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Er||(Er={}));function Fm(e){if(!e)if(Mt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Dm(e)}const Bm=/^[^#]+#/;function $m(e,t){return e.replace(Bm,"#")+t}function Um(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 Mo=()=>({left:window.scrollX,top:window.scrollY});function jm(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=Um(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 xa(e,t){return(history.state?history.state.position-t:-1)+e}const Is=new Map;function zm(e,t){Is.set(e,t)}function Km(e){const t=Is.get(e);return Is.delete(e),t}let Wm=()=>location.protocol+"//"+location.host;function Ic(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let a=o.includes(e.slice(s))?e.slice(s).length:1,l=o.slice(a);return l[0]!=="/"&&(l="/"+l),Ta(l,"")}return Ta(n,e)+r+o}function qm(e,t,n,r){let o=[],s=[],i=null;const a=({state:d})=>{const p=Ic(e,location),_=n.value,v=t.value;let y=0;if(d){if(n.value=p,t.value=d,i&&i===_){i=null;return}y=v?d.position-v.position:0}else r(p);o.forEach(b=>{b(n.value,_,{delta:y,type:Pr.pop,direction:y?y>0?Er.forward:Er.back:Er.unknown})})};function l(){i=n.value}function u(d){o.push(d);const p=()=>{const _=o.indexOf(d);_>-1&&o.splice(_,1)};return s.push(p),p}function f(){const{history:d}=window;d.state&&d.replaceState(pe({},d.state,{scroll:Mo()}),"")}function c(){for(const d of s)d();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:l,listen:u,destroy:c}}function ka(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Mo():null}}function Gm(e){const{history:t,location:n}=window,r={value:Ic(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(l,u,f){const c=e.indexOf("#"),d=c>-1?(n.host&&document.querySelector("base")?e:e.slice(c))+l:Wm()+e+l;try{t[f?"replaceState":"pushState"](u,"",d),o.value=u}catch(p){console.error(p),n[f?"replace":"assign"](d)}}function i(l,u){const f=pe({},t.state,ka(o.value.back,l,o.value.forward,!0),u,{position:o.value.position});s(l,f,!0),r.value=l}function a(l,u){const f=pe({},o.value,t.state,{forward:l,scroll:Mo()});s(f.current,f,!0);const c=pe({},ka(r.value,l,null),{position:f.position+1},u);s(l,c,!1),r.value=l}return{location:r,state:o,push:a,replace:i}}function Ym(e){e=Fm(e);const t=Gm(e),n=qm(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=pe({location:"",base:e,go:r,createHref:$m.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 Rc(e){return typeof e=="string"||e&&typeof e=="object"}function Lc(e){return typeof e=="string"||typeof e=="symbol"}const Dc=Symbol("");var Pa;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Pa||(Pa={}));function zn(e,t){return pe(new Error,{type:e,[Dc]:!0},t)}function Rt(e,t){return e instanceof Error&&Dc in e&&(t==null||!!(e.type&t))}const Ia="[^/]+?",Xm={sensitive:!1,strict:!1,start:!0,end:!0},Zm=/[.+*?^${}()[\]/\\]/g;function Jm(e,t){const n=pe({},Xm,t),r=[];let o=n.start?"^":"";const s=[];for(const u of e){const f=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let c=0;ct.length?t.length===1&&t[0]===80?1:-1:0}function Nc(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const eg={type:0,value:""},tg=/[a-zA-Z0-9_]/;function ng(e){if(!e)return[[]];if(e==="/")return[[eg]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${u}": ${p}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let a=0,l,u="",f="";function c(){u&&(n===0?s.push({type:0,value:u}):n===1||n===2||n===3?(s.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:u,regexp:f,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=l}for(;a{i(m)}:br}function i(c){if(Lc(c)){const d=r.get(c);d&&(r.delete(c),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(c);d>-1&&(n.splice(d,1),c.record.name&&r.delete(c.record.name),c.children.forEach(i),c.alias.forEach(i))}}function a(){return n}function l(c){const d=ag(c,n);n.splice(d,0,c),c.record.name&&!Na(c)&&r.set(c.record.name,c)}function u(c,d){let p,_={},v,y;if("name"in c&&c.name){if(p=r.get(c.name),!p)throw zn(1,{location:c});y=p.record.name,_=pe(La(d.params,p.keys.filter(m=>!m.optional).concat(p.parent?p.parent.keys.filter(m=>m.optional):[]).map(m=>m.name)),c.params&&La(c.params,p.keys.map(m=>m.name))),v=p.stringify(_)}else if(c.path!=null)v=c.path,p=n.find(m=>m.re.test(v)),p&&(_=p.parse(v),y=p.record.name);else{if(p=d.name?r.get(d.name):n.find(m=>m.re.test(d.path)),!p)throw zn(1,{location:c,currentLocation:d});y=p.record.name,_=pe({},d.params,c.params),v=p.stringify(_)}const b=[];let A=p;for(;A;)b.unshift(A.record),A=A.parent;return{name:y,path:v,params:_,matched:b,meta:ig(b)}}e.forEach(c=>s(c));function f(){n.length=0,r.clear()}return{addRoute:s,resolve:u,removeRoute:i,clearRoutes:f,getRoutes:a,getRecordMatcher:o}}function La(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Da(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:sg(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function sg(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 Na(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ig(e){return e.reduce((t,n)=>pe(t,n.meta),{})}function Va(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function ag(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;Nc(e,t[s])<0?r=s:n=s+1}const o=lg(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function lg(e){let t=e;for(;t=t.parent;)if(Vc(t)&&Nc(e,t)===0)return t}function Vc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ug(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&Ps(s)):[r&&Ps(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function cg(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ct(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const fg=Symbol(""),Ha=Symbol(""),Ho=Symbol(""),hi=Symbol(""),Rs=Symbol("");function ar(){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 Jt(e,t,n,r,o,s=i=>i()){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((a,l)=>{const u=d=>{d===!1?l(zn(4,{from:n,to:t})):d instanceof Error?l(d):Rc(d)?l(zn(2,{from:t,to:d})):(i&&r.enterCallbacks[o]===i&&typeof d=="function"&&i.push(d),a())},f=s(()=>e.call(r&&r.instances[o],t,n,u));let c=Promise.resolve(f);e.length<3&&(c=c.then(u)),c.catch(d=>l(d))})}function cs(e,t,n,r,o=s=>s()){const s=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(Cc(l)){const f=(l.__vccOpts||l)[t];f&&s.push(Jt(f,n,r,i,a,o))}else{let u=l();s.push(()=>u.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${a}" at "${i.path}"`);const c=ym(f)?f.default:f;i.mods[a]=f,i.components[a]=c;const p=(c.__vccOpts||c)[t];return p&&Jt(p,n,r,i,a,o)()}))}}return s}function Fa(e){const t=Ze(Ho),n=Ze(hi),r=H(()=>{const l=Qt(e.to);return t.resolve(l)}),o=H(()=>{const{matched:l}=r.value,{length:u}=l,f=l[u-1],c=n.matched;if(!f||!c.length)return-1;const d=c.findIndex(sn.bind(null,f));if(d>-1)return d;const p=Ba(l[u-2]);return u>1&&Ba(f)===p&&c[c.length-1].path!==p?c.findIndex(sn.bind(null,l[u-2])):d}),s=H(()=>o.value>-1&&mg(n.params,r.value.params)),i=H(()=>o.value>-1&&o.value===n.matched.length-1&&Pc(n.params,r.value.params));function a(l={}){return hg(l)?t[Qt(e.replace)?"replace":"push"](Qt(e.to)).catch(br):Promise.resolve()}if(Mt){const l=Ur();if(l){const u={route:r.value,isActive:s.value,isExactActive:i.value,error:null};l.__vrl_devtools=l.__vrl_devtools||[],l.__vrl_devtools.push(u),ic(()=>{u.route=r.value,u.isActive=s.value,u.isExactActive=i.value,u.error=Rc(Qt(e.to))?null:'Invalid "to" value'},{flush:"post"})}}return{route:r,href:H(()=>r.value.href),isActive:s,isExactActive:i,navigate:a}}const dg=me({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:Fa,setup(e,{slots:t}){const n=Fr(Fa(e)),{options:r}=Ze(Ho),o=H(()=>({[$a(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[$a(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:ve("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),pg=dg;function hg(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 mg(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(!ct(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function Ba(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const $a=(e,t,n)=>e??t??n,gg=me({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ze(Rs),o=H(()=>e.route||r.value),s=Ze(Ha,0),i=H(()=>{let u=Qt(s);const{matched:f}=o.value;let c;for(;(c=f[u])&&!c.components;)u++;return u}),a=H(()=>o.value.matched[i.value]);An(Ha,H(()=>i.value+1)),An(fg,a),An(Rs,o);const l=de();return Ue(()=>[l.value,a.value,e.name],([u,f,c],[d,p,_])=>{f&&(f.instances[c]=u,p&&p!==f&&u&&u===d&&(f.leaveGuards.size||(f.leaveGuards=p.leaveGuards),f.updateGuards.size||(f.updateGuards=p.updateGuards))),u&&f&&(!p||!sn(f,p)||!d)&&(f.enterCallbacks[c]||[]).forEach(v=>v(u))},{flush:"post"}),()=>{const u=o.value,f=e.name,c=a.value,d=c&&c.components[f];if(!d)return Ua(n.default,{Component:d,route:u});const p=c.props[f],_=p?p===!0?u.params:typeof p=="function"?p(u):p:null,y=ve(d,pe({},_,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(c.instances[f]=null)},ref:l}));if(Mt&&y.ref){const b={depth:i.value,name:c.name,path:c.path,meta:c.meta};(ct(y.ref)?y.ref.map(m=>m.i):[y.ref.i]).forEach(m=>{m.__vrv_devtools=b})}return Ua(n.default,{Component:y,route:u})||y}}});function Ua(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const _g=gg;function lr(e,t){const n=pe({},e,{matched:e.matched.map(r=>xg(r,["instances","children","aliasOf"]))});return{_custom:{type:null,readOnly:!0,display:e.fullPath,tooltip:t,value:n}}}function Jr(e){return{_custom:{display:e}}}let vg=0;function yg(e,t,n){if(t.__hasDevtools)return;t.__hasDevtools=!0;const r=vg++;vm({id:"org.vuejs.router"+(r?"."+r:""),label:"Vue Router",packageName:"vue-router",homepage:"https://router.vuejs.org",logo:"https://router.vuejs.org/logo.png",componentStateTypes:["Routing"],app:e},o=>{typeof o.now!="function"&&console.warn("[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),o.on.inspectComponent((f,c)=>{f.instanceData&&f.instanceData.state.push({type:"Routing",key:"$route",editable:!1,value:lr(t.currentRoute.value,"Current Route")})}),o.on.visitComponentTree(({treeNode:f,componentInstance:c})=>{if(c.__vrv_devtools){const d=c.__vrv_devtools;f.tags.push({label:(d.name?`${d.name.toString()}: `:"")+d.path,textColor:0,tooltip:"This component is rendered by <router-view>",backgroundColor:Mc})}ct(c.__vrl_devtools)&&(c.__devtoolsApi=o,c.__vrl_devtools.forEach(d=>{let p=d.route.path,_=Bc,v="",y=0;d.error?(p=d.error,_=Cg,y=wg):d.isExactActive?(_=Fc,v="This is exactly active"):d.isActive&&(_=Hc,v="This link is active"),f.tags.push({label:p,textColor:y,tooltip:v,backgroundColor:_})}))}),Ue(t.currentRoute,()=>{l(),o.notifyComponentUpdate(),o.sendInspectorTree(a),o.sendInspectorState(a)});const s="router:navigations:"+r;o.addTimelineLayer({id:s,label:`Router${r?" "+r:""} Navigations`,color:4237508}),t.onError((f,c)=>{o.addTimelineEvent({layerId:s,event:{title:"Error during Navigation",subtitle:c.fullPath,logType:"error",time:o.now(),data:{error:f},groupId:c.meta.__navigationId}})});let i=0;t.beforeEach((f,c)=>{const d={guard:Jr("beforeEach"),from:lr(c,"Current Location during this navigation"),to:lr(f,"Target location")};Object.defineProperty(f.meta,"__navigationId",{value:i++}),o.addTimelineEvent({layerId:s,event:{time:o.now(),title:"Start of navigation",subtitle:f.fullPath,data:d,groupId:f.meta.__navigationId}})}),t.afterEach((f,c,d)=>{const p={guard:Jr("afterEach")};d?(p.failure={_custom:{type:Error,readOnly:!0,display:d?d.message:"",tooltip:"Navigation Failure",value:d}},p.status=Jr("❌")):p.status=Jr("✅"),p.from=lr(c,"Current Location during this navigation"),p.to=lr(f,"Target location"),o.addTimelineEvent({layerId:s,event:{title:"End of navigation",subtitle:f.fullPath,time:o.now(),data:p,logType:d?"warning":"default",groupId:f.meta.__navigationId}})});const a="router-inspector:"+r;o.addInspector({id:a,label:"Routes"+(r?" "+r:""),icon:"book",treeFilterPlaceholder:"Search routes"});function l(){if(!u)return;const f=u;let c=n.getRoutes().filter(d=>!d.parent||!d.parent.record.components);c.forEach(jc),f.filter&&(c=c.filter(d=>Ls(d,f.filter.toLowerCase()))),c.forEach(d=>Uc(d,t.currentRoute.value)),f.rootNodes=c.map($c)}let u;o.on.getInspectorTree(f=>{u=f,f.app===e&&f.inspectorId===a&&l()}),o.on.getInspectorState(f=>{if(f.app===e&&f.inspectorId===a){const d=n.getRoutes().find(p=>p.record.__vd_id===f.nodeId);d&&(f.state={options:Eg(d)})}}),o.sendInspectorTree(a),o.sendInspectorState(a)})}function bg(e){return e.optional?e.repeatable?"*":"?":e.repeatable?"+":""}function Eg(e){const{record:t}=e,n=[{editable:!1,key:"path",value:t.path}];return t.name!=null&&n.push({editable:!1,key:"name",value:t.name}),n.push({editable:!1,key:"regexp",value:e.re}),e.keys.length&&n.push({editable:!1,key:"keys",value:{_custom:{type:null,readOnly:!0,display:e.keys.map(r=>`${r.name}${bg(r)}`).join(" "),tooltip:"Param keys",value:e.keys}}}),t.redirect!=null&&n.push({editable:!1,key:"redirect",value:t.redirect}),e.alias.length&&n.push({editable:!1,key:"aliases",value:e.alias.map(r=>r.record.path)}),Object.keys(e.record.meta).length&&n.push({editable:!1,key:"meta",value:e.record.meta}),n.push({key:"score",editable:!1,value:{_custom:{type:null,readOnly:!0,display:e.score.map(r=>r.join(", ")).join(" | "),tooltip:"Score used to sort routes",value:e.score}}}),n}const Mc=15485081,Hc=2450411,Fc=8702998,Sg=2282478,Bc=16486972,Ag=6710886,Cg=16704226,wg=12131356;function $c(e){const t=[],{record:n}=e;n.name!=null&&t.push({label:String(n.name),textColor:0,backgroundColor:Sg}),n.aliasOf&&t.push({label:"alias",textColor:0,backgroundColor:Bc}),e.__vd_match&&t.push({label:"matches",textColor:0,backgroundColor:Mc}),e.__vd_exactActive&&t.push({label:"exact",textColor:0,backgroundColor:Fc}),e.__vd_active&&t.push({label:"active",textColor:0,backgroundColor:Hc}),n.redirect&&t.push({label:typeof n.redirect=="string"?`redirect: ${n.redirect}`:"redirects",textColor:16777215,backgroundColor:Ag});let r=n.__vd_id;return r==null&&(r=String(Tg++),n.__vd_id=r),{id:r,label:n.path,tags:t,children:e.children.map($c)}}let Tg=0;const Og=/^\/(.*)\/([a-z]*)$/;function Uc(e,t){const n=t.matched.length&&sn(t.matched[t.matched.length-1],e.record);e.__vd_exactActive=e.__vd_active=n,n||(e.__vd_active=t.matched.some(r=>sn(r,e.record))),e.children.forEach(r=>Uc(r,t))}function jc(e){e.__vd_match=!1,e.children.forEach(jc)}function Ls(e,t){const n=String(e.re).match(Og);if(e.__vd_match=!1,!n||n.length<3)return!1;if(new RegExp(n[1].replace(/\$$/,""),n[2]).test(t))return e.children.forEach(i=>Ls(i,t)),e.record.path!=="/"||t==="/"?(e.__vd_match=e.re.test(t),!0):!1;const o=e.record.path.toLowerCase(),s=jn(o);return!t.startsWith("/")&&(s.includes(t)||o.includes(t))||s.startsWith(t)||o.startsWith(t)||e.record.name&&String(e.record.name).includes(t)?!0:e.children.some(i=>Ls(i,t))}function xg(e,t){const n={};for(const r in e)t.includes(r)||(n[r]=e[r]);return n}function kg(e){const t=og(e.routes,e),n=e.parseQuery||ug,r=e.stringifyQuery||Ma,o=e.history,s=ar(),i=ar(),a=ar(),l=kt(Nt);let u=Nt;Mt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=ls.bind(null,x=>""+x),c=ls.bind(null,Rm),d=ls.bind(null,jn);function p(x,q){let j,J;return Lc(x)?(j=t.getRecordMatcher(x),J=q):J=x,t.addRoute(J,j)}function _(x){const q=t.getRecordMatcher(x);q&&t.removeRoute(q)}function v(){return t.getRoutes().map(x=>x.record)}function y(x){return!!t.getRecordMatcher(x)}function b(x,q){if(q=pe({},q||l.value),typeof x=="string"){const g=us(n,x,q.path),S=t.resolve({path:g.path},q),k=o.createHref(g.fullPath);return pe(g,S,{params:d(S.params),hash:jn(g.hash),redirectedFrom:void 0,href:k})}let j;if(x.path!=null)j=pe({},x,{path:us(n,x.path,q.path).path});else{const g=pe({},x.params);for(const S in g)g[S]==null&&delete g[S];j=pe({},x,{params:c(g)}),q.params=c(q.params)}const J=t.resolve(j,q),ce=x.hash||"";J.params=f(d(J.params));const Ee=Nm(r,pe({},x,{hash:km(ce),path:J.path})),h=o.createHref(Ee);return pe({fullPath:Ee,hash:ce,query:r===Ma?cg(x.query):x.query||{}},J,{redirectedFrom:void 0,href:h})}function A(x){return typeof x=="string"?us(n,x,l.value.path):pe({},x)}function m(x,q){if(u!==x)return zn(8,{from:q,to:x})}function E(x){return M(x)}function V(x){return E(pe(A(x),{replace:!0}))}function W(x){const q=x.matched[x.matched.length-1];if(q&&q.redirect){const{redirect:j}=q;let J=typeof j=="function"?j(x):j;return typeof J=="string"&&(J=J.includes("?")||J.includes("#")?J=A(J):{path:J},J.params={}),pe({query:x.query,hash:x.hash,params:J.path!=null?{}:x.params},J)}}function M(x,q){const j=u=b(x),J=l.value,ce=x.state,Ee=x.force,h=x.replace===!0,g=W(j);if(g)return M(pe(A(g),{state:typeof g=="object"?pe({},ce,g.state):ce,force:Ee,replace:h}),q||j);const S=j;S.redirectedFrom=q;let k;return!Ee&&Vm(r,J,j)&&(k=zn(16,{to:S,from:J}),xe(J,J,!0,!1)),(k?Promise.resolve(k):O(S,J)).catch(T=>Rt(T)?Rt(T,2)?T:ye(T):z(T,S,J)).then(T=>{if(T){if(Rt(T,2))return M(pe({replace:h},A(T.to),{state:typeof T.to=="object"?pe({},ce,T.to.state):ce,force:Ee}),q||S)}else T=w(S,J,!0,h,ce);return B(S,J,T),T})}function C(x,q){const j=m(x,q);return j?Promise.reject(j):Promise.resolve()}function U(x){const q=gt.values().next().value;return q&&typeof q.runWithContext=="function"?q.runWithContext(x):x()}function O(x,q){let j;const[J,ce,Ee]=Pg(x,q);j=cs(J.reverse(),"beforeRouteLeave",x,q);for(const g of J)g.leaveGuards.forEach(S=>{j.push(Jt(S,x,q))});const h=C.bind(null,x,q);return j.push(h),tt(j).then(()=>{j=[];for(const g of s.list())j.push(Jt(g,x,q));return j.push(h),tt(j)}).then(()=>{j=cs(ce,"beforeRouteUpdate",x,q);for(const g of ce)g.updateGuards.forEach(S=>{j.push(Jt(S,x,q))});return j.push(h),tt(j)}).then(()=>{j=[];for(const g of Ee)if(g.beforeEnter)if(ct(g.beforeEnter))for(const S of g.beforeEnter)j.push(Jt(S,x,q));else j.push(Jt(g.beforeEnter,x,q));return j.push(h),tt(j)}).then(()=>(x.matched.forEach(g=>g.enterCallbacks={}),j=cs(Ee,"beforeRouteEnter",x,q,U),j.push(h),tt(j))).then(()=>{j=[];for(const g of i.list())j.push(Jt(g,x,q));return j.push(h),tt(j)}).catch(g=>Rt(g,8)?g:Promise.reject(g))}function B(x,q,j){a.list().forEach(J=>U(()=>J(x,q,j)))}function w(x,q,j,J,ce){const Ee=m(x,q);if(Ee)return Ee;const h=q===Nt,g=Mt?history.state:{};j&&(J||h?o.replace(x.fullPath,pe({scroll:h&&g&&g.scroll},ce)):o.push(x.fullPath,ce)),l.value=x,xe(x,q,j,h),ye()}let L;function Z(){L||(L=o.listen((x,q,j)=>{if(!et.listening)return;const J=b(x),ce=W(J);if(ce){M(pe(ce,{replace:!0}),J).catch(br);return}u=J;const Ee=l.value;Mt&&zm(xa(Ee.fullPath,j.delta),Mo()),O(J,Ee).catch(h=>Rt(h,12)?h:Rt(h,2)?(M(h.to,J).then(g=>{Rt(g,20)&&!j.delta&&j.type===Pr.pop&&o.go(-1,!1)}).catch(br),Promise.reject()):(j.delta&&o.go(-j.delta,!1),z(h,J,Ee))).then(h=>{h=h||w(J,Ee,!1),h&&(j.delta&&!Rt(h,8)?o.go(-j.delta,!1):j.type===Pr.pop&&Rt(h,20)&&o.go(-1,!1)),B(J,Ee,h)}).catch(br)}))}let ee=ar(),I=ar(),D;function z(x,q,j){ye(x);const J=I.list();return J.length?J.forEach(ce=>ce(x,q,j)):console.error(x),Promise.reject(x)}function le(){return D&&l.value!==Nt?Promise.resolve():new Promise((x,q)=>{ee.add([x,q])})}function ye(x){return D||(D=!x,Z(),ee.list().forEach(([q,j])=>x?j(x):q()),ee.reset()),x}function xe(x,q,j,J){const{scrollBehavior:ce}=e;if(!Mt||!ce)return Promise.resolve();const Ee=!j&&Km(xa(x.fullPath,0))||(J||!j)&&history.state&&history.state.scroll||null;return Jn().then(()=>ce(x,q,Ee)).then(h=>h&&jm(h)).catch(h=>z(h,x,q))}const be=x=>o.go(x);let Qe;const gt=new Set,et={currentRoute:l,listening:!0,addRoute:p,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:y,getRoutes:v,resolve:b,options:e,push:E,replace:V,go:be,back:()=>be(-1),forward:()=>be(1),beforeEach:s.add,beforeResolve:i.add,afterEach:a.add,onError:I.add,isReady:le,install(x){const q=this;x.component("RouterLink",pg),x.component("RouterView",_g),x.config.globalProperties.$router=q,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>Qt(l)}),Mt&&!Qe&&l.value===Nt&&(Qe=!0,E(o.location).catch(ce=>{}));const j={};for(const ce in Nt)Object.defineProperty(j,ce,{get:()=>l.value[ce],enumerable:!0});x.provide(Ho,q),x.provide(hi,Cu(j)),x.provide(Rs,l);const J=x.unmount;gt.add(x),x.unmount=function(){gt.delete(x),gt.size<1&&(u=Nt,L&&L(),L=null,l.value=Nt,Qe=!1,D=!1),J()},Mt&&yg(x,q,t)}};function tt(x){return x.reduce((q,j)=>q.then(()=>U(j)),Promise.resolve())}return et}function Pg(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;isn(u,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(u=>sn(u,l))||o.push(l))}return[n,r,o]}function Tn(){return Ze(Ho)}function Kt(e){return Ze(hi)}var mi=Symbol(""),Pt=()=>{const e=Ze(mi);if(!e)throw new Error("useClientData() is called without provider.");return e},Ig=()=>Pt().pageComponent,Qn=()=>Pt().pageData,St=()=>Pt().pageFrontmatter,Rg=()=>Pt().pageHead,Lg=()=>Pt().pageLang,Dg=()=>Pt().pageLayout,Kr=()=>Pt().routeLocale,Ng=()=>Pt().routes,zc=()=>Pt().siteData,gi=()=>Pt().siteLocaleData,Vg=Symbol(""),Ds=kt(um),Fn=kt(cm),Kc=(e,t)=>{const n=tm(e,t);if(Fn.value[n])return n;const r=encodeURI(n);if(Fn.value[r])return r;const o=Ds.value[n]||Ds.value[r];return o||n},Ir=(e,t)=>{const{pathname:n,hashAndQueries:r}=bc(e),o=Kc(n,t),s=o+r;return Fn.value[o]?{...Fn.value[o],path:s,notFound:!1}:{...Fn.value["/404.html"],path:s,notFound:!0}},Mg=(e,t)=>{const{pathname:n,hashAndQueries:r}=bc(e);return Kc(n,t)+r},Hg=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}},Fo=me({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=Kt(),o=H(()=>e.to.startsWith("#")||e.to.startsWith("?")?e.to:`/learning-ai/${Mg(e.to,r.path).substring(1)}`);return()=>ve("a",{class:["route-link",{[e.activeClass]:e.active}],href:o.value,onClick:(s={})=>{Hg(s)&&n.push(e.to).catch()}},t.default())}}),er=me({name:"AutoLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=zd(e,"config"),r=Kt(),o=zc(),s=H(()=>zr(n.value.link)),i=H(()=>n.value.target||(s.value?"_blank":void 0)),a=H(()=>i.value==="_blank"),l=H(()=>!s.value&&!a.value),u=H(()=>n.value.rel||(a.value?"noopener noreferrer":null)),f=H(()=>n.value.ariaLabel??n.value.text),c=H(()=>{if(n.value.exact)return!1;const p=Object.keys(o.value.locales);return p.length?p.every(_=>_!==n.value.link):n.value.link!=="/"}),d=H(()=>l.value?n.value.activeMatch?(n.value.activeMatch instanceof RegExp?n.value.activeMatch:new RegExp(n.value.activeMatch,"u")).test(r.path):c.value?r.path.startsWith(n.value.link):r.path===n.value.link:!1);return()=>{const{before:p,after:_,default:v}=t,y=(v==null?void 0:v(n.value))??[p==null?void 0:p(n.value),n.value.text,_==null?void 0:_(n.value)];return l.value?ve(Fo,{class:"auto-link",to:n.value.link,active:d.value,"aria-label":f.value},()=>y):ve("a",{class:"auto-link external-link",href:n.value.link,"aria-label":f.value,rel:u.value,target:i.value},y)}}}),_i=me({name:"ClientOnly",setup(e,t){const n=de(!1);return Je(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),vi=me({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=Ig(),n=H(()=>{if(!e.path)return t.value;const r=Ir(e.path);return yp(async()=>r.loader().then(({comp:o})=>o))});return()=>ve(n.value)}}),Fg="Layout",Bg="en-US",hn=Fr({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=yt(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return am(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||Bg,resolvePageLayout:(e,t)=>{const n=yt(e.frontmatter.layout)?e.frontmatter.layout:Fg;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>nm(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]}}}),un=(e={})=>e,yi=e=>Vo(e)?e:`/learning-ai/${Sc(e)}`;function Bo(e){return uu()?(_d(e),!0):!1}function Et(e){return typeof e=="function"?e():Qt(e)}const bi=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const $g=Object.prototype.toString,Ug=e=>$g.call(e)==="[object Object]",Ns=()=>{};function Wc(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 qc=e=>e();function jg(e,t={}){let n,r,o=Ns;const s=a=>{clearTimeout(a),o(),o=Ns};return a=>{const l=Et(e),u=Et(t.maxWait);return n&&s(n),l<=0||u!==void 0&&u<=0?(r&&(s(r),r=null),Promise.resolve(a())):new Promise((f,c)=>{o=t.rejectOnCancel?c:f,u&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,f(a())},u)),n=setTimeout(()=>{r&&s(r),r=null,f(a())},l)})}}function zg(e=qc){const t=de(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:Po(t),pause:n,resume:r,eventFilter:o}}function Kg(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 Wg(e){return Ur()}function qg(e,t=200,n={}){return Wc(jg(t,n),e)}function Gg(e,t,n={}){const{eventFilter:r=qc,...o}=n;return Ue(e,Wc(r,t),o)}function Yg(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:a,isActive:l}=zg(r);return{stop:Gg(e,t,{...o,eventFilter:s}),pause:i,resume:a,isActive:l}}function Ei(e,t=!0,n){Wg()?Je(e,n):t?e():Jn(e)}function Xg(e,t,n={}){const{immediate:r=!0}=n,o=de(!1);let s=null;function i(){s&&(clearTimeout(s),s=null)}function a(){o.value=!1,i()}function l(...u){i(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...u)},Et(t))}return r&&(o.value=!0,bi&&l()),Bo(a),{isPending:Po(o),start:l,stop:a}}function Gc(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=De(e),s=de(e);function i(a){if(arguments.length)return s.value=a,s.value;{const l=Et(n);return s.value=s.value===l?Et(r):l,s.value}}return o?i:[s,i]}const an=bi?window:void 0,Yc=bi?window.navigator:void 0;function yn(e){var t;const n=Et(e);return(t=n==null?void 0:n.$el)!=null?t:n}function ft(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=an):[t,n,r,o]=e,!t)return Ns;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(f=>f()),s.length=0},a=(f,c,d,p)=>(f.addEventListener(c,d,p),()=>f.removeEventListener(c,d,p)),l=Ue(()=>[yn(t),Et(o)],([f,c])=>{if(i(),!f)return;const d=Ug(c)?{...c}:c;s.push(...n.flatMap(p=>r.map(_=>a(f,p,_,d))))},{immediate:!0,flush:"post"}),u=()=>{l(),i()};return Bo(u),u}function Zg(){const e=de(!1),t=Ur();return t&&Je(()=>{e.value=!0},t),e}function $o(e){const t=Zg();return H(()=>(t.value,!!e()))}function Si(e,t={}){const{window:n=an}=t,r=$o(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=de(!1),i=u=>{s.value=u.matches},a=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",i):o.removeListener(i))},l=ic(()=>{r.value&&(a(),o=n.matchMedia(Et(e)),"addEventListener"in o?o.addEventListener("change",i):o.addListener(i),s.value=o.matches)});return Bo(()=>{l(),a(),o=void 0}),s}function ja(e,t={}){const{controls:n=!1,navigator:r=Yc}=t,o=$o(()=>r&&"permissions"in r),s=kt(),i=typeof e=="string"?{name:e}:e,a=kt(),l=()=>{var f,c;a.value=(c=(f=s.value)==null?void 0:f.state)!=null?c:"prompt"};ft(s,"change",l);const u=Kg(async()=>{if(o.value){if(!s.value)try{s.value=await r.permissions.query(i)}catch{s.value=void 0}finally{l()}if(n)return ue(s.value)}});return u(),n?{state:a,isSupported:o,query:u}:a}function Jg(e={}){const{navigator:t=Yc,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=$o(()=>t&&"clipboard"in t),a=ja("clipboard-read"),l=ja("clipboard-write"),u=H(()=>i.value||s),f=de(""),c=de(!1),d=Xg(()=>c.value=!1,o);function p(){i.value&&b(a.value)?t.clipboard.readText().then(A=>{f.value=A}):f.value=y()}u.value&&n&&ft(["copy","cut"],p);async function _(A=Et(r)){u.value&&A!=null&&(i.value&&b(l.value)?await t.clipboard.writeText(A):v(A),f.value=A,c.value=!0,d.start())}function v(A){const m=document.createElement("textarea");m.value=A??"",m.style.position="absolute",m.style.opacity="0",document.body.appendChild(m),m.select(),document.execCommand("copy"),m.remove()}function y(){var A,m,E;return(E=(m=(A=document==null?void 0:document.getSelection)==null?void 0:A.call(document))==null?void 0:m.toString())!=null?E:""}function b(A){return A==="granted"||A==="prompt"}return{isSupported:u,text:f,copied:c,copy:_}}const Qr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},eo="__vueuse_ssr_handlers__",Qg=e_();function e_(){return eo in Qr||(Qr[eo]=Qr[eo]||{}),Qr[eo]}function t_(e,t){return Qg[e]||t}function n_(e){return Si("(prefers-color-scheme: dark)",e)}function r_(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 o_={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()}},za="vueuse-storage";function Ai(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:a=!0,writeDefaults:l=!0,mergeDefaults:u=!1,shallow:f,window:c=an,eventFilter:d,onError:p=O=>{console.error(O)},initOnMounted:_}=r,v=(f?kt:de)(typeof t=="function"?t():t);if(!n)try{n=t_("getDefaultStorage",()=>{var O;return(O=an)==null?void 0:O.localStorage})()}catch(O){p(O)}if(!n)return v;const y=Et(t),b=r_(y),A=(o=r.serializer)!=null?o:o_[b],{pause:m,resume:E}=Yg(v,()=>W(v.value),{flush:s,deep:i,eventFilter:d});c&&a&&Ei(()=>{n instanceof Storage?ft(c,"storage",C):ft(c,za,U),_&&C()}),_||C();function V(O,B){if(c){const w={key:e,oldValue:O,newValue:B,storageArea:n};c.dispatchEvent(n instanceof Storage?new StorageEvent("storage",w):new CustomEvent(za,{detail:w}))}}function W(O){try{const B=n.getItem(e);if(O==null)V(B,null),n.removeItem(e);else{const w=A.write(O);B!==w&&(n.setItem(e,w),V(B,w))}}catch(B){p(B)}}function M(O){const B=O?O.newValue:n.getItem(e);if(B==null)return l&&y!=null&&n.setItem(e,A.write(y)),y;if(!O&&u){const w=A.read(B);return typeof u=="function"?u(w,y):b==="object"&&!Array.isArray(w)?{...y,...w}:w}else return typeof B!="string"?B:A.read(B)}function C(O){if(!(O&&O.storageArea!==n)){if(O&&O.key==null){v.value=y;return}if(!(O&&O.key!==e)){m();try{(O==null?void 0:O.newValue)!==A.write(v.value)&&(v.value=M(O))}catch(B){p(B)}finally{O?Jn(E):E()}}}}function U(O){C(O.detail)}return v}function s_(e,t,n={}){const{window:r=an,...o}=n;let s;const i=$o(()=>r&&"ResizeObserver"in r),a=()=>{s&&(s.disconnect(),s=void 0)},l=H(()=>{const c=Et(e);return Array.isArray(c)?c.map(d=>yn(d)):[yn(c)]}),u=Ue(l,c=>{if(a(),i.value&&r){s=new ResizeObserver(t);for(const d of c)d&&s.observe(d,o)}},{immediate:!0,flush:"post"}),f=()=>{a(),u()};return Bo(f),{isSupported:i,stop:f}}function i_(e,t={width:0,height:0},n={}){const{window:r=an,box:o="content-box"}=n,s=H(()=>{var c,d;return(d=(c=yn(e))==null?void 0:c.namespaceURI)==null?void 0:d.includes("svg")}),i=de(t.width),a=de(t.height),{stop:l}=s_(e,([c])=>{const d=o==="border-box"?c.borderBoxSize:o==="content-box"?c.contentBoxSize:c.devicePixelContentBoxSize;if(r&&s.value){const p=yn(e);if(p){const _=p.getBoundingClientRect();i.value=_.width,a.value=_.height}}else if(d){const p=Array.isArray(d)?d:[d];i.value=p.reduce((_,{inlineSize:v})=>_+v,0),a.value=p.reduce((_,{blockSize:v})=>_+v,0)}else i.value=c.contentRect.width,a.value=c.contentRect.height},n);Ei(()=>{const c=yn(e);c&&(i.value="offsetWidth"in c?c.offsetWidth:t.width,a.value="offsetHeight"in c?c.offsetHeight:t.height)});const u=Ue(()=>yn(e),c=>{i.value=c?t.width:0,a.value=c?t.height:0});function f(){l(),u()}return{width:i,height:a,stop:f}}function a_(e={}){const{window:t=an,behavior:n="auto"}=e;if(!t)return{x:de(0),y:de(0)};const r=de(t.scrollX),o=de(t.scrollY),s=H({get(){return r.value},set(a){scrollTo({left:a,behavior:n})}}),i=H({get(){return o.value},set(a){scrollTo({top:a,behavior:n})}});return ft(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:s,y:i}}function l_(e={}){const{window:t=an,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0,type:i="inner"}=e,a=de(n),l=de(r),u=()=>{t&&(i==="outer"?(a.value=t.outerWidth,l.value=t.outerHeight):s?(a.value=t.innerWidth,l.value=t.innerHeight):(a.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(u(),Ei(u),ft("resize",u,{passive:!0}),o){const f=Si("(orientation: portrait)");Ue(f,()=>u())}return{width:a,height:l}}const Ka=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},u_=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=Tn();ft("scroll",qg(()=>{var _,v;const i=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(i-0)c.some(b=>b.hash===y.hash));for(let y=0;y=(((_=b.parentElement)==null?void 0:_.offsetTop)??0)-r,E=!A||i<(((v=A.parentElement)==null?void 0:v.offsetTop)??0)-r;if(!(m&&E))continue;const W=decodeURIComponent(o.currentRoute.value.hash),M=decodeURIComponent(b.hash);if(W===M)return;if(f){for(let C=y+1;C{if(t===!1)return[];const[n,r]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t,o=e.filter(i=>i.level>=n&&i.level<=r),s=[];e:for(let i=0;i=0;l--){const u=o[l];if(u.level{let n;if(t.length){const r=e.cloneNode(!0);r.querySelectorAll(t.join(",")).forEach(o=>{o.remove()}),n=r.textContent||""}else n=e.textContent||"";return n.trim()},v_=({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:__(o,n),link:`#${o.id}`,slug:o.id,level:s}});return g_(r,t)},Xc=(e,t)=>{var r;const n=(r=Ur())==null?void 0:r.appContext.components;return n?e in n||rt(e)in n||Hr(rt(e))in n:!1},Zc=e=>new Promise(t=>{setTimeout(t,e)}),Jc=e=>{const t=Kr();return H(()=>e[t.value]??{})},y_=()=>{const e=Ng();return H(()=>Object.keys(e.value))},b_=e=>typeof e<"u",Qc=(e,t)=>yt(e)&&e.startsWith(t),{keys:E_}=Object,ef=e=>Qc(e,"/");var S_={"/":{backToTop:"Back to top"}};const A_=me({name:"BackToTop",setup(){const e=St(),t=Jc(S_),n=kt(),{height:r}=i_(n),{height:o}=l_(),{y:s}=a_(),i=H(()=>e.value.backToTop!==!1&&s.value>100),a=H(()=>s.value/(r.value-o.value)*100);return Je(()=>{n.value=document.body}),()=>ve(fi,{name:"back-to-top"},()=>i.value?ve("button",{type:"button",class:"vp-back-to-top-button","aria-label":t.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[ve("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":a.value},ve("svg",ve("circle",{cx:"26",cy:"26",r:"24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-dasharray":`${Math.PI*a.value*.48} ${Math.PI*(100-a.value)*.48}`}))),ve("div",{class:"back-to-top-icon"})]):null)}}),C_=un({rootComponents:[A_]}),w_=Object.freeze(Object.defineProperty({__proto__:null,default:C_},Symbol.toStringTag,{value:"Module"})),T_=/language-(shellscript|shell|bash|sh|zsh)/,O_=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o,ignoreSelector:s=[],transform:i})=>{const a=Si("(max-width: 419px)"),l=H(()=>!a.value||o),u=Jc(n),f=Qn(),c=y=>{var A;if(y.hasAttribute("copy-code"))return;const b=document.createElement("button");b.type="button",b.classList.add("vp-copy-code-button"),b.setAttribute("aria-label",u.value.copy),b.setAttribute("data-copied",u.value.copied),(A=y.parentElement)==null||A.insertBefore(b,y),y.setAttribute("copy-code","")};Ue(()=>[f.value.path,l.value],async()=>{document.body.classList.toggle("no-copy-code",!l.value),l.value&&(await Jn(),await Zc(e),document.querySelectorAll(r.join(",")).forEach(c))},{immediate:!0});const{copy:p}=Jg({legacy:!0}),_=new WeakMap,v=async(y,b,A)=>{const m=b.cloneNode(!0);s.length&&m.querySelectorAll(s.join(",")).forEach(W=>{W.remove()}),i&&i(m);let E=m.textContent||"";if(T_.test(y.className)&&(E=E.replace(/^ *(\$|>) /gm,"")),await p(E),t<=0)return;A.classList.add("copied"),clearTimeout(_.get(A));const V=setTimeout(()=>{A.classList.remove("copied"),A.blur(),_.delete(A)},t);_.set(A,V)};ft("click",y=>{const b=y.target;if(l.value&&b.matches('div[class*="language-"] > button.vp-copy-code-button')){const A=b.parentElement,m=b.nextElementSibling;if(!A||!m)return;v(A,m,b)}})};var x_=[],k_={"/":{copy:"Copy code",copied:"Copied"}},P_=['[vp-content] div[class*="language-"] pre'];const I_=un({setup:()=>{O_({selector:P_,ignoreSelector:x_,locales:k_,duration:2e3,delay:500,showInMobile:!1})}}),R_=Object.freeze(Object.defineProperty({__proto__:null,default:I_},Symbol.toStringTag,{value:"Module"})),L_=un({setup(){ft("beforeprint",()=>{document.querySelectorAll("details").forEach(e=>{e.open=!0})})}}),D_=Object.freeze(Object.defineProperty({__proto__:null,default:L_},Symbol.toStringTag,{value:"Module"}));/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */var gn=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},r=window.Promise||function(w){function L(){}w(L,L)},o=function(w){var L=w.target;if(L===U){_();return}m.indexOf(L)!==-1&&v({target:L})},s=function(){if(!(V||!C.original)){var w=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(W-w)>M.scrollOffset&&setTimeout(_,150)}},i=function(w){var L=w.key||w.keyCode;(L==="Escape"||L==="Esc"||L===27)&&_()},a=function(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},L=w;if(w.background&&(U.style.background=w.background),w.container&&w.container instanceof Object&&(L.container=gn({},M.container,w.container)),w.template){var Z=lo(w.template)?w.template:document.querySelector(w.template);L.template=Z}return M=gn({},M,L),m.forEach(function(ee){ee.dispatchEvent(kn("medium-zoom:update",{detail:{zoom:O}}))}),O},l=function(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e(gn({},M,w))},u=function(){for(var w=arguments.length,L=Array(w),Z=0;Z0?L.reduce(function(I,D){return[].concat(I,qa(D))},[]):m;return ee.forEach(function(I){I.classList.remove("medium-zoom-image"),I.dispatchEvent(kn("medium-zoom:detach",{detail:{zoom:O}}))}),m=m.filter(function(I){return ee.indexOf(I)===-1}),O},c=function(w,L){var Z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return m.forEach(function(ee){ee.addEventListener("medium-zoom:"+w,L,Z)}),E.push({type:"medium-zoom:"+w,listener:L,options:Z}),O},d=function(w,L){var Z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return m.forEach(function(ee){ee.removeEventListener("medium-zoom:"+w,L,Z)}),E=E.filter(function(ee){return!(ee.type==="medium-zoom:"+w&&ee.listener.toString()===L.toString())}),O},p=function(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},L=w.target,Z=function(){var I={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},D=void 0,z=void 0;if(M.container)if(M.container instanceof Object)I=gn({},I,M.container),D=I.width-I.left-I.right-M.margin*2,z=I.height-I.top-I.bottom-M.margin*2;else{var le=lo(M.container)?M.container:document.querySelector(M.container),ye=le.getBoundingClientRect(),xe=ye.width,be=ye.height,Qe=ye.left,gt=ye.top;I=gn({},I,{width:xe,height:be,left:Qe,top:gt})}D=D||I.width-M.margin*2,z=z||I.height-M.margin*2;var et=C.zoomedHd||C.original,tt=Wa(et)?D:et.naturalWidth||D,x=Wa(et)?z:et.naturalHeight||z,q=et.getBoundingClientRect(),j=q.top,J=q.left,ce=q.width,Ee=q.height,h=Math.min(Math.max(ce,tt),D)/ce,g=Math.min(Math.max(Ee,x),z)/Ee,S=Math.min(h,g),k=(-J+(D-ce)/2+M.margin+I.left)/S,T=(-j+(z-Ee)/2+M.margin+I.top)/S,R="scale("+S+") translate3d("+k+"px, "+T+"px, 0)";C.zoomed.style.transform=R,C.zoomedHd&&(C.zoomedHd.style.transform=R)};return new r(function(ee){if(L&&m.indexOf(L)===-1){ee(O);return}var I=function xe(){V=!1,C.zoomed.removeEventListener("transitionend",xe),C.original.dispatchEvent(kn("medium-zoom:opened",{detail:{zoom:O}})),ee(O)};if(C.zoomed){ee(O);return}if(L)C.original=L;else if(m.length>0){var D=m;C.original=D[0]}else{ee(O);return}if(C.original.dispatchEvent(kn("medium-zoom:open",{detail:{zoom:O}})),W=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,V=!0,C.zoomed=M_(C.original),document.body.appendChild(U),M.template){var z=lo(M.template)?M.template:document.querySelector(M.template);C.template=document.createElement("div"),C.template.appendChild(z.content.cloneNode(!0)),document.body.appendChild(C.template)}if(C.original.parentElement&&C.original.parentElement.tagName==="PICTURE"&&C.original.currentSrc&&(C.zoomed.src=C.original.currentSrc),document.body.appendChild(C.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),C.original.classList.add("medium-zoom-image--hidden"),C.zoomed.classList.add("medium-zoom-image--opened"),C.zoomed.addEventListener("click",_),C.zoomed.addEventListener("transitionend",I),C.original.getAttribute("data-zoom-src")){C.zoomedHd=C.zoomed.cloneNode(),C.zoomedHd.removeAttribute("srcset"),C.zoomedHd.removeAttribute("sizes"),C.zoomedHd.removeAttribute("loading"),C.zoomedHd.src=C.zoomed.getAttribute("data-zoom-src"),C.zoomedHd.onerror=function(){clearInterval(le),console.warn("Unable to reach the zoom image target "+C.zoomedHd.src),C.zoomedHd=null,Z()};var le=setInterval(function(){C.zoomedHd.complete&&(clearInterval(le),C.zoomedHd.classList.add("medium-zoom-image--opened"),C.zoomedHd.addEventListener("click",_),document.body.appendChild(C.zoomedHd),Z())},10)}else if(C.original.hasAttribute("srcset")){C.zoomedHd=C.zoomed.cloneNode(),C.zoomedHd.removeAttribute("sizes"),C.zoomedHd.removeAttribute("loading");var ye=C.zoomedHd.addEventListener("load",function(){C.zoomedHd.removeEventListener("load",ye),C.zoomedHd.classList.add("medium-zoom-image--opened"),C.zoomedHd.addEventListener("click",_),document.body.appendChild(C.zoomedHd),Z()})}else Z()})},_=function(){return new r(function(w){if(V||!C.original){w(O);return}var L=function Z(){C.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(C.zoomed),C.zoomedHd&&document.body.removeChild(C.zoomedHd),document.body.removeChild(U),C.zoomed.classList.remove("medium-zoom-image--opened"),C.template&&document.body.removeChild(C.template),V=!1,C.zoomed.removeEventListener("transitionend",Z),C.original.dispatchEvent(kn("medium-zoom:closed",{detail:{zoom:O}})),C.original=null,C.zoomed=null,C.zoomedHd=null,C.template=null,w(O)};V=!0,document.body.classList.remove("medium-zoom--opened"),C.zoomed.style.transform="",C.zoomedHd&&(C.zoomedHd.style.transform=""),C.template&&(C.template.style.transition="opacity 150ms",C.template.style.opacity=0),C.original.dispatchEvent(kn("medium-zoom:close",{detail:{zoom:O}})),C.zoomed.addEventListener("transitionend",L)})},v=function(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},L=w.target;return C.original?_():p({target:L})},y=function(){return M},b=function(){return m},A=function(){return C.original},m=[],E=[],V=!1,W=0,M=n,C={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(t)==="[object Object]"?M=t:(t||typeof t=="string")&&u(t),M=gn({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},M);var U=V_(M.background);document.addEventListener("click",o),document.addEventListener("keyup",i),document.addEventListener("scroll",s),window.addEventListener("resize",_);var O={open:p,close:_,toggle:v,update:a,clone:l,attach:u,detach:f,on:c,off:d,getOptions:y,getImages:b,getZoomedImage:A};return O};function F_(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 B_=".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}";F_(B_);const $_=Symbol("mediumZoom");var U_={};const j_="[vp-content] > img, [vp-content] :not(a) > img",z_=U_,K_=300,W_=un({enhance({app:e,router:t}){const n=H_(z_);n.refresh=(r=j_)=>{n.detach(),n.attach(r)},e.provide($_,n),t.afterEach(()=>{Zc(K_).then(()=>{n.refresh()})})}}),q_=Object.freeze(Object.defineProperty({__proto__:null,default:W_},Symbol.toStringTag,{value:"Module"}));/** + * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT + */const Ga=(e,t)=>{e.classList.add(t)},Ya=(e,t)=>{e.classList.remove(t)},G_=e=>{var t;(t=e==null?void 0:e.parentNode)==null||t.removeChild(e)},fs=(e,t,n)=>en?n:e,Xa=e=>(-1+e)*100,Y_=(()=>{const e=[],t=()=>{const n=e.shift();n&&n(t)};return n=>{e.push(n),e.length===1&&t()}})(),X_=e=>e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(t,n)=>n.toUpperCase()),no=(()=>{const e=["Webkit","O","Moz","ms"],t={},n=s=>{const{style:i}=document.body;if(s in i)return s;const a=s.charAt(0).toUpperCase()+s.slice(1);let l=e.length;for(;l--;){const u=`${e[l]}${a}`;if(u in i)return u}return s},r=s=>{const i=X_(s);return t[i]??(t[i]=n(i))},o=(s,i,a)=>{s.style[r(i)]=a};return(s,i)=>{for(const a in i){const l=i[a];Object.hasOwn(i,a)&&b_(l)&&o(s,a,l)}}})(),Lt={minimum:.08,easing:"ease",speed:200,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},Pe={percent:null,isRendered:()=>!!document.getElementById("nprogress"),set:e=>{const{speed:t,easing:n}=Lt,r=Pe.isStarted(),o=fs(e,Lt.minimum,1);Pe.percent=o===1?null:o;const s=Pe.render(!r),i=s.querySelector(Lt.barSelector);return s.offsetWidth,Y_(a=>{no(i,{transform:`translate3d(${Xa(o)}%,0,0)`,transition:`all ${t}ms ${n}`}),o===1?(no(s,{transition:"none",opacity:"1"}),s.offsetWidth,setTimeout(()=>{no(s,{transition:`all ${t}ms linear`,opacity:"0"}),setTimeout(()=>{Pe.remove(),a()},t)},t)):setTimeout(()=>{a()},t)}),Pe},isStarted:()=>typeof Pe.percent=="number",start:()=>{Pe.percent||Pe.set(0);const e=()=>{setTimeout(()=>{Pe.percent&&(Pe.trickle(),e())},Lt.trickleSpeed)};return e(),Pe},done:e=>!e&&!Pe.percent?Pe:Pe.increase(.3+.5*Math.random()).set(1),increase:e=>{let{percent:t}=Pe;return t?(t=fs(t+(typeof e=="number"?e:(1-t)*fs(Math.random()*t,.1,.95)),0,.994),Pe.set(t)):Pe.start()},trickle:()=>Pe.increase(Math.random()*Lt.trickleRate),render:e=>{if(Pe.isRendered())return document.getElementById("nprogress");Ga(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=Lt.template;const n=t.querySelector(Lt.barSelector),r=document.querySelector(Lt.parent),o=e?"-100":Xa(Pe.percent??0);return no(n,{transition:"all 0 linear",transform:`translate3d(${o}%,0,0)`}),r&&(r!==document.body&&Ga(r,"nprogress-custom-parent"),r.appendChild(t)),t},remove:()=>{Ya(document.documentElement,"nprogress-busy"),Ya(document.querySelector(Lt.parent),"nprogress-custom-parent"),G_(document.getElementById("nprogress"))}},Z_=()=>{Je(()=>{const e=Tn(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||Pe.start()}),e.afterEach(n=>{t.add(n.path),Pe.done()})})},J_=un({setup(){Z_()}}),Q_=Object.freeze(Object.defineProperty({__proto__:null,default:J_},Symbol.toStringTag,{value:"Module"})),ev=({selector:e='div[class*="language-"].has-collapsed-lines > .collapsed-lines'}={})=>{ft("click",t=>{const n=t.target;if(n.matches(e)){const r=n.parentElement;r!=null&&r.classList.toggle("collapsed")&&r.scrollIntoView({block:"center",behavior:"instant"})}})},tv={setup(){ev()}},nv=Object.freeze(Object.defineProperty({__proto__:null,default:tv},Symbol.toStringTag,{value:"Module"})),rv="VUEPRESS_CODE_TAB_STORE",ro=Ai(rv,{}),ov=me({name:"CodeTabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},slots:Object,setup(e,{slots:t}){const n=de(e.active),r=kt([]),o=()=>{e.tabId&&(ro.value[e.tabId]=e.data[n.value].id)},s=(u=n.value)=>{n.value=u{n.value=u>0?u-1:r.value.length-1,r.value[n.value].focus()},a=(u,f)=>{u.key===" "||u.key==="Enter"?(u.preventDefault(),n.value=f):u.key==="ArrowRight"?(u.preventDefault(),s()):u.key==="ArrowLeft"&&(u.preventDefault(),i()),e.tabId&&(ro.value[e.tabId]=e.data[n.value].id)},l=()=>{if(e.tabId){const u=e.data.findIndex(({id:f})=>ro.value[e.tabId]===f);if(u!==-1)return u}return e.active};return Je(()=>{n.value=l(),Ue(()=>ro.value[e.tabId],(u,f)=>{if(e.tabId&&u!==f){const c=e.data.findIndex(({id:d})=>d===u);c!==-1&&(n.value=c)}})}),()=>e.data.length?ve("div",{class:"vp-code-tabs"},[ve("div",{class:"vp-code-tabs-nav",role:"tablist"},e.data.map(({id:u},f)=>{const c=f===n.value;return ve("button",{type:"button",ref:d=>{d&&(r.value[f]=d)},class:["vp-code-tab-nav",{active:c}],role:"tab","aria-controls":`codetab-${e.id}-${f}`,"aria-selected":c,onClick:()=>{n.value=f,o()},onKeydown:d=>{a(d,f)}},t[`title${f}`]({value:u,isActive:c}))})),e.data.map(({id:u},f)=>{const c=f===n.value;return ve("div",{class:["vp-code-tab",{active:c}],id:`codetab-${e.id}-${f}`,role:"tabpanel","aria-expanded":c},[ve("div",{class:"vp-code-tab-title"},t[`title${f}`]({value:u,isActive:c})),t[`tab${f}`]({value:u,isActive:c})])})]):null}}),sv="VUEPRESS_TAB_STORE",ds=Ai(sv,{}),iv=me({name:"Tabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},slots:Object,setup(e,{slots:t}){const n=de(e.active),r=kt([]),o=()=>{e.tabId&&(ds.value[e.tabId]=e.data[n.value].id)},s=(u=n.value)=>{n.value=u{n.value=u>0?u-1:r.value.length-1,r.value[n.value].focus()},a=(u,f)=>{u.key===" "||u.key==="Enter"?(u.preventDefault(),n.value=f):u.key==="ArrowRight"?(u.preventDefault(),s()):u.key==="ArrowLeft"&&(u.preventDefault(),i()),o()},l=()=>{if(e.tabId){const u=e.data.findIndex(({id:f})=>ds.value[e.tabId]===f);if(u!==-1)return u}return e.active};return Je(()=>{n.value=l(),Ue(()=>ds.value[e.tabId],(u,f)=>{if(e.tabId&&u!==f){const c=e.data.findIndex(({id:d})=>d===u);c!==-1&&(n.value=c)}})}),()=>e.data.length?ve("div",{class:"vp-tabs"},[ve("div",{class:"vp-tabs-nav",role:"tablist"},e.data.map(({id:u},f)=>{const c=f===n.value;return ve("button",{type:"button",ref:d=>{d&&(r.value[f]=d)},class:["vp-tab-nav",{active:c}],role:"tab","aria-controls":`tab-${e.id}-${f}`,"aria-selected":c,onClick:()=>{n.value=f,o()},onKeydown:d=>{a(d,f)}},t[`title${f}`]({value:u,isActive:c}))})),e.data.map(({id:u},f)=>{const c=f===n.value;return ve("div",{class:["vp-tab",{active:c}],id:`tab-${e.id}-${f}`,role:"tabpanel","aria-expanded":c},[ve("div",{class:"vp-tab-title"},t[`title${f}`]({value:u,isActive:c})),t[`tab${f}`]({value:u,isActive:c})])})]):null}}),av={enhance:({app:e})=>{e.component("CodeTabs",ov),e.component("Tabs",iv)}},lv=Object.freeze(Object.defineProperty({__proto__:null,default:av},Symbol.toStringTag,{value:"Module"}));var uv=Object.create,tf=Object.defineProperty,cv=Object.getOwnPropertyDescriptor,Ci=Object.getOwnPropertyNames,fv=Object.getPrototypeOf,dv=Object.prototype.hasOwnProperty,pv=(e,t)=>function(){return e&&(t=(0,e[Ci(e)[0]])(e=0)),t},hv=(e,t)=>function(){return t||(0,e[Ci(e)[0]])((t={exports:{}}).exports,t),t.exports},mv=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ci(t))!dv.call(e,o)&&o!==n&&tf(e,o,{get:()=>t[o],enumerable:!(r=cv(t,o))||r.enumerable});return e},gv=(e,t,n)=>(n=e!=null?uv(fv(e)):{},mv(tf(n,"default",{value:e,enumerable:!0}),e)),Wr=pv({"../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.43.0_@types+node@22.9.0__@swc+core@1.5.29_jiti@2.0.0_po_lnt5yfvawfblpk67opvcdwbq7u/node_modules/tsup/assets/esm_shims.js"(){}}),_v=hv({"../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js"(e,t){Wr(),t.exports=r;function n(s){return s instanceof Buffer?Buffer.from(s):new s.constructor(s.buffer.slice(),s.byteOffset,s.length)}function r(s){if(s=s||{},s.circles)return o(s);const i=new Map;if(i.set(Date,c=>new Date(c)),i.set(Map,(c,d)=>new Map(l(Array.from(c),d))),i.set(Set,(c,d)=>new Set(l(Array.from(c),d))),s.constructorHandlers)for(const c of s.constructorHandlers)i.set(c[0],c[1]);let a=null;return s.proto?f:u;function l(c,d){const p=Object.keys(c),_=new Array(p.length);for(let v=0;vnew Date(p)),l.set(Map,(p,_)=>new Map(f(Array.from(p),_))),l.set(Set,(p,_)=>new Set(f(Array.from(p),_))),s.constructorHandlers)for(const p of s.constructorHandlers)l.set(p[0],p[1]);let u=null;return s.proto?d:c;function f(p,_){const v=Object.keys(p),y=new Array(v.length);for(let b=0;b(i=Cv(e,u,f),i.finally(()=>{if(i=null,n.trailing&&a&&!o){const c=l(u,a);return a=null,c}}),i);return function(...u){return i?(n.trailing&&(a=u),i):new Promise(f=>{const c=!o&&n.leading;clearTimeout(o),o=setTimeout(()=>{o=null;const d=n.leading?r:l(this,u);for(const p of s)p(d);s=[]},t),c?(r=l(this,u),f(r)):s.push(f)})}}async function Cv(e,t,n){return await e.apply(t,n)}function Vs(e,t={},n){for(const r in e){const o=e[r],s=n?`${n}:${r}`:r;typeof o=="object"&&o!==null?Vs(o,t,s):typeof o=="function"&&(t[s]=o)}return t}const wv={run:e=>e()},Tv=()=>wv,rf=typeof console.createTask<"u"?console.createTask:Tv;function Ov(e,t){const n=t.shift(),r=rf(n);return e.reduce((o,s)=>o.then(()=>r.run(()=>s(...t))),Promise.resolve())}function xv(e,t){const n=t.shift(),r=rf(n);return Promise.all(e.map(o=>r.run(()=>o(...t))))}function ps(e,t){for(const n of[...e])n(t)}class kv{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const o=t;let s;for(;this._deprecatedHooks[t];)s=this._deprecatedHooks[t],t=s.to;if(s&&!r.allowDeprecated){let i=s.message;i||(i=`${o} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,o=(...s)=>(typeof r=="function"&&r(),r=void 0,o=void 0,n(...s));return r=this.hook(t,o),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const o of r)this.hook(t,o)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=Vs(t),r=Object.keys(n).map(o=>this.hook(o,n[o]));return()=>{for(const o of r.splice(0,r.length))o()}}removeHooks(t){const n=Vs(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(Ov,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(xv,t,...n)}callHookWith(t,n,...r){const o=this._before||this._after?{name:n,args:r,context:{}}:void 0;this._before&&ps(this._before,o);const s=t(n in this._hooks?[...this._hooks[n]]:[],r);return s instanceof Promise?s.finally(()=>{this._after&&o&&ps(this._after,o)}):(this._after&&o&&ps(this._after,o),s)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const n=this._before.indexOf(t);n!==-1&&this._before.splice(n,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const n=this._after.indexOf(t);n!==-1&&this._after.splice(n,1)}}}}function of(){return new kv}var Pv=Object.create,sf=Object.defineProperty,Iv=Object.getOwnPropertyDescriptor,wi=Object.getOwnPropertyNames,Rv=Object.getPrototypeOf,Lv=Object.prototype.hasOwnProperty,Dv=(e,t)=>function(){return e&&(t=(0,e[wi(e)[0]])(e=0)),t},af=(e,t)=>function(){return t||(0,e[wi(e)[0]])((t={exports:{}}).exports,t),t.exports},Nv=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of wi(t))!Lv.call(e,o)&&o!==n&&sf(e,o,{get:()=>t[o],enumerable:!(r=Iv(t,o))||r.enumerable});return e},Vv=(e,t,n)=>(n=e!=null?Pv(Rv(e)):{},Nv(sf(n,"default",{value:e,enumerable:!0}),e)),P=Dv({"../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.43.0_@types+node@22.9.0__@swc+core@1.5.29_jiti@2.0.0_po_lnt5yfvawfblpk67opvcdwbq7u/node_modules/tsup/assets/esm_shims.js"(){}}),Mv=af({"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js"(e,t){P(),function(n){var r={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"Ae",Å:"A",Æ:"AE",Ç:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"Oe",Ő:"O",Ø:"O",Ù:"U",Ú:"U",Û:"U",Ü:"Ue",Ű:"U",Ý:"Y",Þ:"TH",ß:"ss",à:"a",á:"a",â:"a",ã:"a",ä:"ae",å:"a",æ:"ae",ç:"c",è:"e",é:"e",ê:"e",ë:"e",ì:"i",í:"i",î:"i",ï:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"oe",ő:"o",ø:"o",ù:"u",ú:"u",û:"u",ü:"ue",ű:"u",ý:"y",þ:"th",ÿ:"y","ẞ":"SS",ا:"a",أ:"a",إ:"i",آ:"aa",ؤ:"u",ئ:"e",ء:"a",ب:"b",ت:"t",ث:"th",ج:"j",ح:"h",خ:"kh",د:"d",ذ:"th",ر:"r",ز:"z",س:"s",ش:"sh",ص:"s",ض:"dh",ط:"t",ظ:"z",ع:"a",غ:"gh",ف:"f",ق:"q",ك:"k",ل:"l",م:"m",ن:"n",ه:"h",و:"w",ي:"y",ى:"a",ة:"h",ﻻ:"la",ﻷ:"laa",ﻹ:"lai",ﻵ:"laa",گ:"g",چ:"ch",پ:"p",ژ:"zh",ک:"k",ی:"y","َ":"a","ً":"an","ِ":"e","ٍ":"en","ُ":"u","ٌ":"on","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9",က:"k",ခ:"kh",ဂ:"g",ဃ:"ga",င:"ng",စ:"s",ဆ:"sa",ဇ:"z","စျ":"za",ည:"ny",ဋ:"t",ဌ:"ta",ဍ:"d",ဎ:"da",ဏ:"na",တ:"t",ထ:"ta",ဒ:"d",ဓ:"da",န:"n",ပ:"p",ဖ:"pa",ဗ:"b",ဘ:"ba",မ:"m",ယ:"y",ရ:"ya",လ:"l",ဝ:"w",သ:"th",ဟ:"h",ဠ:"la",အ:"a","ြ":"y","ျ":"ya","ွ":"w","ြွ":"yw","ျွ":"ywa","ှ":"h",ဧ:"e","၏":"-e",ဣ:"i",ဤ:"-i",ဉ:"u",ဦ:"-u",ဩ:"aw","သြော":"aw",ဪ:"aw","၀":"0","၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","္":"","့":"","း":"",č:"c",ď:"d",ě:"e",ň:"n",ř:"r",š:"s",ť:"t",ů:"u",ž:"z",Č:"C",Ď:"D",Ě:"E",Ň:"N",Ř:"R",Š:"S",Ť:"T",Ů:"U",Ž:"Z",ހ:"h",ށ:"sh",ނ:"n",ރ:"r",ބ:"b",ޅ:"lh",ކ:"k",އ:"a",ވ:"v",މ:"m",ފ:"f",ދ:"dh",ތ:"th",ލ:"l",ގ:"g",ޏ:"gn",ސ:"s",ޑ:"d",ޒ:"z",ޓ:"t",ޔ:"y",ޕ:"p",ޖ:"j",ޗ:"ch",ޘ:"tt",ޙ:"hh",ޚ:"kh",ޛ:"th",ޜ:"z",ޝ:"sh",ޞ:"s",ޟ:"d",ޠ:"t",ޡ:"z",ޢ:"a",ޣ:"gh",ޤ:"q",ޥ:"w","ަ":"a","ާ":"aa","ި":"i","ީ":"ee","ު":"u","ޫ":"oo","ެ":"e","ޭ":"ey","ޮ":"o","ޯ":"oa","ް":"",ა:"a",ბ:"b",გ:"g",დ:"d",ე:"e",ვ:"v",ზ:"z",თ:"t",ი:"i",კ:"k",ლ:"l",მ:"m",ნ:"n",ო:"o",პ:"p",ჟ:"zh",რ:"r",ს:"s",ტ:"t",უ:"u",ფ:"p",ქ:"k",ღ:"gh",ყ:"q",შ:"sh",ჩ:"ch",ც:"ts",ძ:"dz",წ:"ts",ჭ:"ch",ხ:"kh",ჯ:"j",ჰ:"h",α:"a",β:"v",γ:"g",δ:"d",ε:"e",ζ:"z",η:"i",θ:"th",ι:"i",κ:"k",λ:"l",μ:"m",ν:"n",ξ:"ks",ο:"o",π:"p",ρ:"r",σ:"s",τ:"t",υ:"y",φ:"f",χ:"x",ψ:"ps",ω:"o",ά:"a",έ:"e",ί:"i",ό:"o",ύ:"y",ή:"i",ώ:"o",ς:"s",ϊ:"i",ΰ:"y",ϋ:"y",ΐ:"i",Α:"A",Β:"B",Γ:"G",Δ:"D",Ε:"E",Ζ:"Z",Η:"I",Θ:"TH",Ι:"I",Κ:"K",Λ:"L",Μ:"M",Ν:"N",Ξ:"KS",Ο:"O",Π:"P",Ρ:"R",Σ:"S",Τ:"T",Υ:"Y",Φ:"F",Χ:"X",Ψ:"PS",Ω:"O",Ά:"A",Έ:"E",Ί:"I",Ό:"O",Ύ:"Y",Ή:"I",Ώ:"O",Ϊ:"I",Ϋ:"Y",ā:"a",ē:"e",ģ:"g",ī:"i",ķ:"k",ļ:"l",ņ:"n",ū:"u",Ā:"A",Ē:"E",Ģ:"G",Ī:"I",Ķ:"k",Ļ:"L",Ņ:"N",Ū:"U",Ќ:"Kj",ќ:"kj",Љ:"Lj",љ:"lj",Њ:"Nj",њ:"nj",Тс:"Ts",тс:"ts",ą:"a",ć:"c",ę:"e",ł:"l",ń:"n",ś:"s",ź:"z",ż:"z",Ą:"A",Ć:"C",Ę:"E",Ł:"L",Ń:"N",Ś:"S",Ź:"Z",Ż:"Z",Є:"Ye",І:"I",Ї:"Yi",Ґ:"G",є:"ye",і:"i",ї:"yi",ґ:"g",ă:"a",Ă:"A",ș:"s",Ș:"S",ț:"t",Ț:"T",ţ:"t",Ţ:"T",а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ё:"yo",ж:"zh",з:"z",и:"i",й:"i",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",х:"kh",ц:"c",ч:"ch",ш:"sh",щ:"sh",ъ:"",ы:"y",ь:"",э:"e",ю:"yu",я:"ya",А:"A",Б:"B",В:"V",Г:"G",Д:"D",Е:"E",Ё:"Yo",Ж:"Zh",З:"Z",И:"I",Й:"I",К:"K",Л:"L",М:"M",Н:"N",О:"O",П:"P",Р:"R",С:"S",Т:"T",У:"U",Ф:"F",Х:"Kh",Ц:"C",Ч:"Ch",Ш:"Sh",Щ:"Sh",Ъ:"",Ы:"Y",Ь:"",Э:"E",Ю:"Yu",Я:"Ya",ђ:"dj",ј:"j",ћ:"c",џ:"dz",Ђ:"Dj",Ј:"j",Ћ:"C",Џ:"Dz",ľ:"l",ĺ:"l",ŕ:"r",Ľ:"L",Ĺ:"L",Ŕ:"R",ş:"s",Ş:"S",ı:"i",İ:"I",ğ:"g",Ğ:"G",ả:"a",Ả:"A",ẳ:"a",Ẳ:"A",ẩ:"a",Ẩ:"A",đ:"d",Đ:"D",ẹ:"e",Ẹ:"E",ẽ:"e",Ẽ:"E",ẻ:"e",Ẻ:"E",ế:"e",Ế:"E",ề:"e",Ề:"E",ệ:"e",Ệ:"E",ễ:"e",Ễ:"E",ể:"e",Ể:"E",ỏ:"o",ọ:"o",Ọ:"o",ố:"o",Ố:"O",ồ:"o",Ồ:"O",ổ:"o",Ổ:"O",ộ:"o",Ộ:"O",ỗ:"o",Ỗ:"O",ơ:"o",Ơ:"O",ớ:"o",Ớ:"O",ờ:"o",Ờ:"O",ợ:"o",Ợ:"O",ỡ:"o",Ỡ:"O",Ở:"o",ở:"o",ị:"i",Ị:"I",ĩ:"i",Ĩ:"I",ỉ:"i",Ỉ:"i",ủ:"u",Ủ:"U",ụ:"u",Ụ:"U",ũ:"u",Ũ:"U",ư:"u",Ư:"U",ứ:"u",Ứ:"U",ừ:"u",Ừ:"U",ự:"u",Ự:"U",ữ:"u",Ữ:"U",ử:"u",Ử:"ư",ỷ:"y",Ỷ:"y",ỳ:"y",Ỳ:"Y",ỵ:"y",Ỵ:"Y",ỹ:"y",Ỹ:"Y",ạ:"a",Ạ:"A",ấ:"a",Ấ:"A",ầ:"a",Ầ:"A",ậ:"a",Ậ:"A",ẫ:"a",Ẫ:"A",ắ:"a",Ắ:"A",ằ:"a",Ằ:"A",ặ:"a",Ặ:"A",ẵ:"a",Ẵ:"A","⓪":"0","①":"1","②":"2","③":"3","④":"4","⑤":"5","⑥":"6","⑦":"7","⑧":"8","⑨":"9","⑩":"10","⑪":"11","⑫":"12","⑬":"13","⑭":"14","⑮":"15","⑯":"16","⑰":"17","⑱":"18","⑲":"18","⑳":"18","⓵":"1","⓶":"2","⓷":"3","⓸":"4","⓹":"5","⓺":"6","⓻":"7","⓼":"8","⓽":"9","⓾":"10","⓿":"0","⓫":"11","⓬":"12","⓭":"13","⓮":"14","⓯":"15","⓰":"16","⓱":"17","⓲":"18","⓳":"19","⓴":"20","Ⓐ":"A","Ⓑ":"B","Ⓒ":"C","Ⓓ":"D","Ⓔ":"E","Ⓕ":"F","Ⓖ":"G","Ⓗ":"H","Ⓘ":"I","Ⓙ":"J","Ⓚ":"K","Ⓛ":"L","Ⓜ":"M","Ⓝ":"N","Ⓞ":"O","Ⓟ":"P","Ⓠ":"Q","Ⓡ":"R","Ⓢ":"S","Ⓣ":"T","Ⓤ":"U","Ⓥ":"V","Ⓦ":"W","Ⓧ":"X","Ⓨ":"Y","Ⓩ":"Z","ⓐ":"a","ⓑ":"b","ⓒ":"c","ⓓ":"d","ⓔ":"e","ⓕ":"f","ⓖ":"g","ⓗ":"h","ⓘ":"i","ⓙ":"j","ⓚ":"k","ⓛ":"l","ⓜ":"m","ⓝ":"n","ⓞ":"o","ⓟ":"p","ⓠ":"q","ⓡ":"r","ⓢ":"s","ⓣ":"t","ⓤ":"u","ⓦ":"v","ⓥ":"w","ⓧ":"x","ⓨ":"y","ⓩ":"z","“":'"',"”":'"',"‘":"'","’":"'","∂":"d",ƒ:"f","™":"(TM)","©":"(C)",œ:"oe",Œ:"OE","®":"(R)","†":"+","℠":"(SM)","…":"...","˚":"o",º:"o",ª:"a","•":"*","၊":",","။":".",$:"USD","€":"EUR","₢":"BRN","₣":"FRF","£":"GBP","₤":"ITL","₦":"NGN","₧":"ESP","₩":"KRW","₪":"ILS","₫":"VND","₭":"LAK","₮":"MNT","₯":"GRD","₱":"ARS","₲":"PYG","₳":"ARA","₴":"UAH","₵":"GHS","¢":"cent","¥":"CNY",元:"CNY",円:"YEN","﷼":"IRR","₠":"EWE","฿":"THB","₨":"INR","₹":"INR","₰":"PF","₺":"TRY","؋":"AFN","₼":"AZN",лв:"BGN","៛":"KHR","₡":"CRC","₸":"KZT",ден:"MKD",zł:"PLN","₽":"RUB","₾":"GEL"},o=["်","ް"],s={"ာ":"a","ါ":"a","ေ":"e","ဲ":"e","ိ":"i","ီ":"i","ို":"o","ု":"u","ူ":"u","ေါင်":"aung","ော":"aw","ော်":"aw","ေါ":"aw","ေါ်":"aw","်":"်","က်":"et","ိုက်":"aik","ောက်":"auk","င်":"in","ိုင်":"aing","ောင်":"aung","စ်":"it","ည်":"i","တ်":"at","ိတ်":"eik","ုတ်":"ok","ွတ်":"ut","ေတ်":"it","ဒ်":"d","ိုဒ်":"ok","ုဒ်":"ait","န်":"an","ာန်":"an","ိန်":"ein","ုန်":"on","ွန်":"un","ပ်":"at","ိပ်":"eik","ုပ်":"ok","ွပ်":"ut","န်ုပ်":"nub","မ်":"an","ိမ်":"ein","ုမ်":"on","ွမ်":"un","ယ်":"e","ိုလ်":"ol","ဉ်":"in","ံ":"an","ိံ":"ein","ုံ":"on","ައް":"ah","ަށް":"ah"},i={en:{},az:{ç:"c",ə:"e",ğ:"g",ı:"i",ö:"o",ş:"s",ü:"u",Ç:"C",Ə:"E",Ğ:"G",İ:"I",Ö:"O",Ş:"S",Ü:"U"},cs:{č:"c",ď:"d",ě:"e",ň:"n",ř:"r",š:"s",ť:"t",ů:"u",ž:"z",Č:"C",Ď:"D",Ě:"E",Ň:"N",Ř:"R",Š:"S",Ť:"T",Ů:"U",Ž:"Z"},fi:{ä:"a",Ä:"A",ö:"o",Ö:"O"},hu:{ä:"a",Ä:"A",ö:"o",Ö:"O",ü:"u",Ü:"U",ű:"u",Ű:"U"},lt:{ą:"a",č:"c",ę:"e",ė:"e",į:"i",š:"s",ų:"u",ū:"u",ž:"z",Ą:"A",Č:"C",Ę:"E",Ė:"E",Į:"I",Š:"S",Ų:"U",Ū:"U"},lv:{ā:"a",č:"c",ē:"e",ģ:"g",ī:"i",ķ:"k",ļ:"l",ņ:"n",š:"s",ū:"u",ž:"z",Ā:"A",Č:"C",Ē:"E",Ģ:"G",Ī:"i",Ķ:"k",Ļ:"L",Ņ:"N",Š:"S",Ū:"u",Ž:"Z"},pl:{ą:"a",ć:"c",ę:"e",ł:"l",ń:"n",ó:"o",ś:"s",ź:"z",ż:"z",Ą:"A",Ć:"C",Ę:"e",Ł:"L",Ń:"N",Ó:"O",Ś:"S",Ź:"Z",Ż:"Z"},sv:{ä:"a",Ä:"A",ö:"o",Ö:"O"},sk:{ä:"a",Ä:"A"},sr:{љ:"lj",њ:"nj",Љ:"Lj",Њ:"Nj",đ:"dj",Đ:"Dj"},tr:{Ü:"U",Ö:"O",ü:"u",ö:"o"}},a={ar:{"∆":"delta","∞":"la-nihaya","♥":"hob","&":"wa","|":"aw","<":"aqal-men",">":"akbar-men","∑":"majmou","¤":"omla"},az:{},ca:{"∆":"delta","∞":"infinit","♥":"amor","&":"i","|":"o","<":"menys que",">":"mes que","∑":"suma dels","¤":"moneda"},cs:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"nebo","<":"mensi nez",">":"vetsi nez","∑":"soucet","¤":"mena"},de:{"∆":"delta","∞":"unendlich","♥":"Liebe","&":"und","|":"oder","<":"kleiner als",">":"groesser als","∑":"Summe von","¤":"Waehrung"},dv:{"∆":"delta","∞":"kolunulaa","♥":"loabi","&":"aai","|":"noonee","<":"ah vure kuda",">":"ah vure bodu","∑":"jumula","¤":"faisaa"},en:{"∆":"delta","∞":"infinity","♥":"love","&":"and","|":"or","<":"less than",">":"greater than","∑":"sum","¤":"currency"},es:{"∆":"delta","∞":"infinito","♥":"amor","&":"y","|":"u","<":"menos que",">":"mas que","∑":"suma de los","¤":"moneda"},fa:{"∆":"delta","∞":"bi-nahayat","♥":"eshgh","&":"va","|":"ya","<":"kamtar-az",">":"bishtar-az","∑":"majmooe","¤":"vahed"},fi:{"∆":"delta","∞":"aarettomyys","♥":"rakkaus","&":"ja","|":"tai","<":"pienempi kuin",">":"suurempi kuin","∑":"summa","¤":"valuutta"},fr:{"∆":"delta","∞":"infiniment","♥":"Amour","&":"et","|":"ou","<":"moins que",">":"superieure a","∑":"somme des","¤":"monnaie"},ge:{"∆":"delta","∞":"usasruloba","♥":"siqvaruli","&":"da","|":"an","<":"naklebi",">":"meti","∑":"jami","¤":"valuta"},gr:{},hu:{"∆":"delta","∞":"vegtelen","♥":"szerelem","&":"es","|":"vagy","<":"kisebb mint",">":"nagyobb mint","∑":"szumma","¤":"penznem"},it:{"∆":"delta","∞":"infinito","♥":"amore","&":"e","|":"o","<":"minore di",">":"maggiore di","∑":"somma","¤":"moneta"},lt:{"∆":"delta","∞":"begalybe","♥":"meile","&":"ir","|":"ar","<":"maziau nei",">":"daugiau nei","∑":"suma","¤":"valiuta"},lv:{"∆":"delta","∞":"bezgaliba","♥":"milestiba","&":"un","|":"vai","<":"mazak neka",">":"lielaks neka","∑":"summa","¤":"valuta"},my:{"∆":"kwahkhyaet","∞":"asaonasme","♥":"akhyait","&":"nhin","|":"tho","<":"ngethaw",">":"kyithaw","∑":"paungld","¤":"ngwekye"},mk:{},nl:{"∆":"delta","∞":"oneindig","♥":"liefde","&":"en","|":"of","<":"kleiner dan",">":"groter dan","∑":"som","¤":"valuta"},pl:{"∆":"delta","∞":"nieskonczonosc","♥":"milosc","&":"i","|":"lub","<":"mniejsze niz",">":"wieksze niz","∑":"suma","¤":"waluta"},pt:{"∆":"delta","∞":"infinito","♥":"amor","&":"e","|":"ou","<":"menor que",">":"maior que","∑":"soma","¤":"moeda"},ro:{"∆":"delta","∞":"infinit","♥":"dragoste","&":"si","|":"sau","<":"mai mic ca",">":"mai mare ca","∑":"suma","¤":"valuta"},ru:{"∆":"delta","∞":"beskonechno","♥":"lubov","&":"i","|":"ili","<":"menshe",">":"bolshe","∑":"summa","¤":"valjuta"},sk:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"alebo","<":"menej ako",">":"viac ako","∑":"sucet","¤":"mena"},sr:{},tr:{"∆":"delta","∞":"sonsuzluk","♥":"ask","&":"ve","|":"veya","<":"kucuktur",">":"buyuktur","∑":"toplam","¤":"para birimi"},uk:{"∆":"delta","∞":"bezkinechnist","♥":"lubov","&":"i","|":"abo","<":"menshe",">":"bilshe","∑":"suma","¤":"valjuta"},vn:{"∆":"delta","∞":"vo cuc","♥":"yeu","&":"va","|":"hoac","<":"nho hon",">":"lon hon","∑":"tong","¤":"tien te"}},l=[";","?",":","@","&","=","+","$",",","/"].join(""),u=[";","?",":","@","&","=","+","$",","].join(""),f=[".","!","~","*","'","(",")"].join(""),c=function(y,b){var A="-",m="",E="",V=!0,W={},M,C,U,O,B,w,L,Z,ee,I,D,z,le,ye,xe="";if(typeof y!="string")return"";if(typeof b=="string"&&(A=b),L=a.en,Z=i.en,typeof b=="object"){M=b.maintainCase||!1,W=b.custom&&typeof b.custom=="object"?b.custom:W,U=+b.truncate>1&&b.truncate||!1,O=b.uric||!1,B=b.uricNoSlash||!1,w=b.mark||!1,V=!(b.symbols===!1||b.lang===!1),A=b.separator||A,O&&(xe+=l),B&&(xe+=u),w&&(xe+=f),L=b.lang&&a[b.lang]&&V?a[b.lang]:V?a.en:{},Z=b.lang&&i[b.lang]?i[b.lang]:b.lang===!1||b.lang===!0?{}:i.en,b.titleCase&&typeof b.titleCase.length=="number"&&Array.prototype.toString.call(b.titleCase)?(b.titleCase.forEach(function(be){W[be+""]=be+""}),C=!0):C=!!b.titleCase,b.custom&&typeof b.custom.length=="number"&&Array.prototype.toString.call(b.custom)&&b.custom.forEach(function(be){W[be+""]=be+""}),Object.keys(W).forEach(function(be){var Qe;be.length>1?Qe=new RegExp("\\b"+p(be)+"\\b","gi"):Qe=new RegExp(p(be),"gi"),y=y.replace(Qe,W[be])});for(D in W)xe+=D}for(xe+=A,xe=p(xe),y=y.replace(/(^\s+|\s+$)/g,""),le=!1,ye=!1,I=0,z=y.length;I=0?(E+=D,D=""):ye===!0?(D=s[E]+r[D],E=""):D=le&&r[D].match(/[A-Za-z0-9]/)?" "+r[D]:r[D],le=!1,ye=!1):D in s?(E+=D,D="",I===z-1&&(D=s[E]),ye=!0):L[D]&&!(O&&l.indexOf(D)!==-1)&&!(B&&u.indexOf(D)!==-1)?(D=le||m.substr(-1).match(/[A-Za-z0-9]/)?A+L[D]:L[D],D+=y[I+1]!==void 0&&y[I+1].match(/[A-Za-z0-9]/)?A:"",le=!0):(ye===!0?(D=s[E]+D,E="",ye=!1):le&&(/[A-Za-z0-9]/.test(D)||m.substr(-1).match(/A-Za-z0-9]/))&&(D=" "+D),le=!1),m+=D.replace(new RegExp("[^\\w\\s"+xe+"_-]","g"),A);return C&&(m=m.replace(/(\w)(\S*)/g,function(be,Qe,gt){var et=Qe.toUpperCase()+(gt!==null?gt:"");return Object.keys(W).indexOf(et.toLowerCase())<0?et:et.toLowerCase()})),m=m.replace(/\s+/g,A).replace(new RegExp("\\"+A+"+","g"),A).replace(new RegExp("(^\\"+A+"+|\\"+A+"+$)","g"),""),U&&m.length>U&&(ee=m.charAt(U)===A,m=m.slice(0,U),ee||(m=m.slice(0,m.lastIndexOf(A)))),!M&&!C&&(m=m.toLowerCase()),m},d=function(y){return function(A){return c(A,y)}},p=function(y){return y.replace(/[-\\^$*+?.()|[\]{}\/]/g,"\\$&")},_=function(v,y){for(var b in y)if(y[b]===v)return!0};if(typeof t<"u"&&t.exports)t.exports=c,t.exports.createSlug=d;else if(typeof define<"u"&&define.amd)define([],function(){return c});else try{if(n.getSlug||n.createSlug)throw"speakingurl: globals exists /(getSlug|createSlug)/";n.getSlug=c,n.createSlug=d}catch{}}(e)}}),Hv=af({"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js"(e,t){P(),t.exports=Mv()}});P();P();P();P();P();P();P();function Fv(e){return!!(e&&e.__v_isReadonly)}function lf(e){return Fv(e)?lf(e.__v_raw):!!(e&&e.__v_isReactive)}function hs(e){return!!(e&&e.__v_isRef===!0)}function pr(e){const t=e&&e.__v_raw;return t?pr(t):e}P();function Bv(e){var t;const n=e.name||e._componentTag||e.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__||e.__name;return n==="index"&&((t=e.__file)!=null&&t.endsWith("index.vue"))?"":n}function $v(e){const t=e.__file;if(t)return Ev(Sv(t,".vue"))}function Qa(e,t){return e.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__=t,t}function Uo(e){if(e.__VUE_DEVTOOLS_NEXT_APP_RECORD__)return e.__VUE_DEVTOOLS_NEXT_APP_RECORD__;if(e.root)return e.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__}async function Uv(e){const{app:t,uid:n,instance:r}=e;try{if(r.__VUE_DEVTOOLS_NEXT_UID__)return r.__VUE_DEVTOOLS_NEXT_UID__;const o=await Uo(t);if(!o)return null;const s=o.rootInstance===r;return`${o.id}:${s?"root":n}`}catch{}}function uf(e){var t,n;const r=(t=e.subTree)==null?void 0:t.type,o=Uo(e);return o?((n=o==null?void 0:o.types)==null?void 0:n.Fragment)===r:!1}function jo(e){var t,n,r;const o=Bv((e==null?void 0:e.type)||{});if(o)return o;if((e==null?void 0:e.root)===e)return"Root";for(const i in(n=(t=e.parent)==null?void 0:t.type)==null?void 0:n.components)if(e.parent.type.components[i]===(e==null?void 0:e.type))return Qa(e,i);for(const i in(r=e.appContext)==null?void 0:r.components)if(e.appContext.components[i]===(e==null?void 0:e.type))return Qa(e,i);const s=$v((e==null?void 0:e.type)||{});return s||"Anonymous Component"}function Ms(e,t){return t=t||`${e.id}:root`,e.instanceMap.get(t)||e.instanceMap.get(":root")}var jv=class{constructor(){this.refEditor=new zv}set(e,t,n,r){const o=Array.isArray(t)?t:t.split(".");for(;o.length>1;){const a=o.shift();e instanceof Map&&(e=e.get(a)),e instanceof Set?e=Array.from(e.values())[a]:e=e[a],this.refEditor.isRef(e)&&(e=this.refEditor.get(e))}const s=o[0],i=this.refEditor.get(e)[s];r?r(e,s,n):this.refEditor.isRef(i)?this.refEditor.set(i,n):e[s]=n}get(e,t){const n=Array.isArray(t)?t:t.split(".");for(let r=0;r"u")return!1;const r=Array.isArray(t)?t.slice():t.split("."),o=n?2:1;for(;e&&r.length>o;){const s=r.shift();e=e[s],this.refEditor.isRef(e)&&(e=this.refEditor.get(e))}return e!=null&&Object.prototype.hasOwnProperty.call(e,r[0])}createDefaultSetCallback(e){return(t,n,r)=>{if((e.remove||e.newKey)&&(Array.isArray(t)?t.splice(n,1):pr(t)instanceof Map?t.delete(n):pr(t)instanceof Set?t.delete(Array.from(t.values())[n]):Reflect.deleteProperty(t,n)),!e.remove){const o=t[e.newKey||n];this.refEditor.isRef(o)?this.refEditor.set(o,r):pr(t)instanceof Map?t.set(e.newKey||n,r):pr(t)instanceof Set?t.add(r):t[e.newKey||n]=r}}}},zv=class{set(e,t){if(hs(e))e.value=t;else{if(e instanceof Set&&Array.isArray(t)){e.clear(),t.forEach(o=>e.add(o));return}const n=Object.keys(t);if(e instanceof Map){const o=new Set(e.keys());n.forEach(s=>{e.set(s,Reflect.get(t,s)),o.delete(s)}),o.forEach(s=>e.delete(s));return}const r=new Set(Object.keys(e));n.forEach(o=>{Reflect.set(e,o,Reflect.get(t,o)),r.delete(o)}),r.forEach(o=>Reflect.deleteProperty(e,o))}}get(e){return hs(e)?e.value:e}isRef(e){return hs(e)||lf(e)}};P();function Ti(e){return uf(e)?Kv(e.subTree):e.subTree?[e.subTree.el]:[]}function Kv(e){if(!e.children)return[];const t=[];return e.children.forEach(n=>{n.component?t.push(...Ti(n.component)):n!=null&&n.el&&t.push(n.el)}),t}P();P();function Wv(){const e={top:0,bottom:0,left:0,right:0,get width(){return e.right-e.left},get height(){return e.bottom-e.top}};return e}var oo;function qv(e){return oo||(oo=document.createRange()),oo.selectNode(e),oo.getBoundingClientRect()}function Gv(e){const t=Wv();if(!e.children)return t;for(let n=0,r=e.children.length;ne.bottom)&&(e.bottom=t.bottom),(!e.left||t.lefte.right)&&(e.right=t.right),e}var el={top:0,left:0,right:0,bottom:0,width:0,height:0};function wn(e){const t=e.subTree.el;return typeof window>"u"?el:uf(e)?Gv(e.subTree):(t==null?void 0:t.nodeType)===1?t==null?void 0:t.getBoundingClientRect():e.subTree.component?wn(e.subTree.component):el}var cf="__vue-devtools-component-inspector__",ff="__vue-devtools-component-inspector__card__",df="__vue-devtools-component-inspector__name__",pf="__vue-devtools-component-inspector__indicator__",hf={display:"block",zIndex:2147483640,position:"fixed",backgroundColor:"#42b88325",border:"1px solid #42b88350",borderRadius:"5px",transition:"all 0.1s ease-in",pointerEvents:"none"},Xv={fontFamily:"Arial, Helvetica, sans-serif",padding:"5px 8px",borderRadius:"4px",textAlign:"left",position:"absolute",left:0,color:"#e9e9e9",fontSize:"14px",fontWeight:600,lineHeight:"24px",backgroundColor:"#42b883",boxShadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)"},Zv={display:"inline-block",fontWeight:400,fontStyle:"normal",fontSize:"12px",opacity:.7};function tr(){return document.getElementById(cf)}function Jv(){return document.getElementById(ff)}function Qv(){return document.getElementById(pf)}function e0(){return document.getElementById(df)}function Oi(e){return{left:`${Math.round(e.left*100)/100}px`,top:`${Math.round(e.top*100)/100}px`,width:`${Math.round(e.width*100)/100}px`,height:`${Math.round(e.height*100)/100}px`}}function xi(e){var t;const n=document.createElement("div");n.id=(t=e.elementId)!=null?t:cf,Object.assign(n.style,{...hf,...Oi(e.bounds),...e.style});const r=document.createElement("span");r.id=ff,Object.assign(r.style,{...Xv,top:e.bounds.top<35?0:"-35px"});const o=document.createElement("span");o.id=df,o.innerHTML=`<${e.name}>  `;const s=document.createElement("i");return s.id=pf,s.innerHTML=`${Math.round(e.bounds.width*100)/100} x ${Math.round(e.bounds.height*100)/100}`,Object.assign(s.style,Zv),r.appendChild(o),r.appendChild(s),n.appendChild(r),document.body.appendChild(n),n}function ki(e){const t=tr(),n=Jv(),r=e0(),o=Qv();t&&(Object.assign(t.style,{...hf,...Oi(e.bounds)}),Object.assign(n.style,{top:e.bounds.top<35?0:"-35px"}),r.innerHTML=`<${e.name}>  `,o.innerHTML=`${Math.round(e.bounds.width*100)/100} x ${Math.round(e.bounds.height*100)/100}`)}function t0(e){const t=wn(e);if(!t.width&&!t.height)return;const n=jo(e);tr()?ki({bounds:t,name:n}):xi({bounds:t,name:n})}function mf(){const e=tr();e&&(e.style.display="none")}var Hs=null;function Fs(e){const t=e.target;if(t){const n=t.__vueParentComponent;if(n&&(Hs=n,n.vnode.el)){const o=wn(n),s=jo(n);tr()?ki({bounds:o,name:s}):xi({bounds:o,name:s})}}}function n0(e,t){var n;if(e.preventDefault(),e.stopPropagation(),Hs){const r=(n=qe.value)==null?void 0:n.app;Uv({app:r,uid:r.uid,instance:Hs}).then(o=>{t(o)})}}var Co=null;function r0(){mf(),window.removeEventListener("mouseover",Fs),window.removeEventListener("click",Co,!0),Co=null}function o0(){return window.addEventListener("mouseover",Fs),new Promise(e=>{function t(n){n.preventDefault(),n.stopPropagation(),n0(n,r=>{window.removeEventListener("click",t,!0),Co=null,window.removeEventListener("mouseover",Fs);const o=tr();o&&(o.style.display="none"),e(JSON.stringify({id:r}))})}Co=t,window.addEventListener("click",t,!0)})}function s0(e){const t=Ms(qe.value,e.id);if(t){const[n]=Ti(t);if(typeof n.scrollIntoView=="function")n.scrollIntoView({behavior:"smooth"});else{const r=wn(t),o=document.createElement("div"),s={...Oi(r),position:"absolute"};Object.assign(o.style,s),document.body.appendChild(o),o.scrollIntoView({behavior:"smooth"}),setTimeout(()=>{document.body.removeChild(o)},2e3)}setTimeout(()=>{const r=wn(t);if(r.width||r.height){const o=jo(t),s=tr();s?ki({name:o,bounds:r}):xi({...e,name:o,bounds:r}),setTimeout(()=>{s&&(s.style.display="none")},1500)}},1200)}}P();var tl,nl;(nl=(tl=X).__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__)!=null||(tl.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__=!0);function i0(e){let t=0;const n=setInterval(()=>{X.__VUE_INSPECTOR__&&(clearInterval(n),t+=30,e()),t>=5e3&&clearInterval(n)},30)}function a0(){const e=X.__VUE_INSPECTOR__,t=e.openInEditor;e.openInEditor=async(...n)=>{e.disable(),t(...n)}}function l0(){return new Promise(e=>{function t(){a0(),e(X.__VUE_INSPECTOR__)}X.__VUE_INSPECTOR__?t():i0(()=>{t()})})}P();P();P();var u0="__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__";function c0(){if(!nf||typeof localStorage>"u"||localStorage===null)return{recordingState:!1,mouseEventEnabled:!1,keyboardEventEnabled:!1,componentEventEnabled:!1,performanceEventEnabled:!1,selected:""};const e=localStorage.getItem(u0);return e?JSON.parse(e):{recordingState:!1,mouseEventEnabled:!1,keyboardEventEnabled:!1,componentEventEnabled:!1,performanceEventEnabled:!1,selected:""}}P();P();P();var rl,ol;(ol=(rl=X).__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS)!=null||(rl.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS=[]);var f0=new Proxy(X.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS,{get(e,t,n){return Reflect.get(e,t,n)}});function d0(e,t){Me.timelineLayersState[t.id]=!1,f0.push({...e,descriptorId:t.id,appRecord:Uo(t.app)})}var sl,il;(il=(sl=X).__VUE_DEVTOOLS_KIT_INSPECTOR__)!=null||(sl.__VUE_DEVTOOLS_KIT_INSPECTOR__=[]);var Pi=new Proxy(X.__VUE_DEVTOOLS_KIT_INSPECTOR__,{get(e,t,n){return Reflect.get(e,t,n)}}),gf=Kn(()=>{nr.hooks.callHook("sendInspectorToClient",_f())});function p0(e,t){var n,r;Pi.push({options:e,descriptor:t,treeFilterPlaceholder:(n=e.treeFilterPlaceholder)!=null?n:"Search tree...",stateFilterPlaceholder:(r=e.stateFilterPlaceholder)!=null?r:"Search state...",treeFilter:"",selectedNodeId:"",appRecord:Uo(t.app)}),gf()}function _f(){return Pi.filter(e=>e.descriptor.app===qe.value.app).filter(e=>e.descriptor.id!=="components").map(e=>{var t;const n=e.descriptor,r=e.options;return{id:r.id,label:r.label,logo:n.logo,icon:`custom-ic-baseline-${(t=r==null?void 0:r.icon)==null?void 0:t.replace(/_/g,"-")}`,packageName:n.packageName,homepage:n.homepage,pluginId:n.id}})}function uo(e,t){return Pi.find(n=>n.options.id===e&&(t?n.descriptor.app===t:!0))}function h0(){const e=of();e.hook("addInspector",({inspector:r,plugin:o})=>{p0(r,o.descriptor)});const t=Kn(async({inspectorId:r,plugin:o})=>{var s;if(!r||!((s=o==null?void 0:o.descriptor)!=null&&s.app)||Me.highPerfModeEnabled)return;const i=uo(r,o.descriptor.app),a={app:o.descriptor.app,inspectorId:r,filter:(i==null?void 0:i.treeFilter)||"",rootNodes:[]};await new Promise(l=>{e.callHookWith(async u=>{await Promise.all(u.map(f=>f(a))),l()},"getInspectorTree")}),e.callHookWith(async l=>{await Promise.all(l.map(u=>u({inspectorId:r,rootNodes:a.rootNodes})))},"sendInspectorTreeToClient")},120);e.hook("sendInspectorTree",t);const n=Kn(async({inspectorId:r,plugin:o})=>{var s;if(!r||!((s=o==null?void 0:o.descriptor)!=null&&s.app)||Me.highPerfModeEnabled)return;const i=uo(r,o.descriptor.app),a={app:o.descriptor.app,inspectorId:r,nodeId:(i==null?void 0:i.selectedNodeId)||"",state:null},l={currentTab:`custom-inspector:${r}`};a.nodeId&&await new Promise(u=>{e.callHookWith(async f=>{await Promise.all(f.map(c=>c(a,l))),u()},"getInspectorState")}),e.callHookWith(async u=>{await Promise.all(u.map(f=>f({inspectorId:r,nodeId:a.nodeId,state:a.state})))},"sendInspectorStateToClient")},120);return e.hook("sendInspectorState",n),e.hook("customInspectorSelectNode",({inspectorId:r,nodeId:o,plugin:s})=>{const i=uo(r,s.descriptor.app);i&&(i.selectedNodeId=o)}),e.hook("timelineLayerAdded",({options:r,plugin:o})=>{d0(r,o.descriptor)}),e.hook("timelineEventAdded",({options:r,plugin:o})=>{var s;const i=["performance","component-event","keyboard","mouse"];Me.highPerfModeEnabled||!((s=Me.timelineLayersState)!=null&&s[o.descriptor.id])&&!i.includes(r.layerId)||e.callHookWith(async a=>{await Promise.all(a.map(l=>l(r)))},"sendTimelineEventToClient")}),e.hook("getComponentInstances",async({app:r})=>{const o=r.__VUE_DEVTOOLS_NEXT_APP_RECORD__;if(!o)return null;const s=o.id.toString();return[...o.instanceMap].filter(([a])=>a.split(":")[0]===s).map(([,a])=>a)}),e.hook("getComponentBounds",async({instance:r})=>wn(r)),e.hook("getComponentName",({instance:r})=>jo(r)),e.hook("componentHighlight",({uid:r})=>{const o=qe.value.instanceMap.get(r);o&&t0(o)}),e.hook("componentUnhighlight",()=>{mf()}),e}var al,ll;(ll=(al=X).__VUE_DEVTOOLS_KIT_APP_RECORDS__)!=null||(al.__VUE_DEVTOOLS_KIT_APP_RECORDS__=[]);var ul,cl;(cl=(ul=X).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__)!=null||(ul.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__={});var fl,dl;(dl=(fl=X).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__)!=null||(fl.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__="");var pl,hl;(hl=(pl=X).__VUE_DEVTOOLS_KIT_CUSTOM_TABS__)!=null||(pl.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__=[]);var ml,gl;(gl=(ml=X).__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__)!=null||(ml.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__=[]);var bn="__VUE_DEVTOOLS_KIT_GLOBAL_STATE__";function m0(){return{connected:!1,clientConnected:!1,vitePluginDetected:!0,appRecords:[],activeAppRecordId:"",tabs:[],commands:[],highPerfModeEnabled:!0,devtoolsClientDetected:{},perfUniqueGroupId:0,timelineLayersState:c0()}}var _l,vl;(vl=(_l=X)[bn])!=null||(_l[bn]=m0());var g0=Kn(e=>{nr.hooks.callHook("devtoolsStateUpdated",{state:e})});Kn((e,t)=>{nr.hooks.callHook("devtoolsConnectedUpdated",{state:e,oldState:t})});var zo=new Proxy(X.__VUE_DEVTOOLS_KIT_APP_RECORDS__,{get(e,t,n){return t==="value"?X.__VUE_DEVTOOLS_KIT_APP_RECORDS__:X.__VUE_DEVTOOLS_KIT_APP_RECORDS__[t]}}),qe=new Proxy(X.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__,{get(e,t,n){return t==="value"?X.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__:t==="id"?X.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__:X.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[t]}});function vf(){g0({...X[bn],appRecords:zo.value,activeAppRecordId:qe.id,tabs:X.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__,commands:X.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__})}function _0(e){X.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__=e,vf()}function v0(e){X.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__=e,vf()}var Me=new Proxy(X[bn],{get(e,t){return t==="appRecords"?zo:t==="activeAppRecordId"?qe.id:t==="tabs"?X.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__:t==="commands"?X.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__:X[bn][t]},deleteProperty(e,t){return delete e[t],!0},set(e,t,n){return{...X[bn]},e[t]=n,X[bn][t]=n,!0}});function y0(e={}){var t,n,r;const{file:o,host:s,baseUrl:i=window.location.origin,line:a=0,column:l=0}=e;if(o){if(s==="chrome-extension"){const u=o.replace(/\\/g,"\\\\"),f=(n=(t=window.VUE_DEVTOOLS_CONFIG)==null?void 0:t.openInEditorHost)!=null?n:"/";fetch(`${f}__open-in-editor?file=${encodeURI(o)}`).then(c=>{if(!c.ok){const d=`Opening component ${u} failed`;console.log(`%c${d}`,"color:red")}})}else if(Me.vitePluginDetected){const u=(r=X.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__)!=null?r:i;X.__VUE_INSPECTOR__.openInEditor(u,o,a,l)}}}P();P();P();P();P();var yl,bl;(bl=(yl=X).__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__)!=null||(yl.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__=[]);var Ii=new Proxy(X.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__,{get(e,t,n){return Reflect.get(e,t,n)}});function Bs(e){const t={};return Object.keys(e).forEach(n=>{t[n]=e[n].defaultValue}),t}function Ri(e){return`__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${e}__`}function b0(e){var t,n,r;const o=(n=(t=Ii.find(s=>{var i;return s[0].id===e&&!!((i=s[0])!=null&&i.settings)}))==null?void 0:t[0])!=null?n:null;return(r=o==null?void 0:o.settings)!=null?r:null}function yf(e,t){var n,r,o;const s=Ri(e);if(s){const i=localStorage.getItem(s);if(i)return JSON.parse(i)}if(e){const i=(r=(n=Ii.find(a=>a[0].id===e))==null?void 0:n[0])!=null?r:null;return Bs((o=i==null?void 0:i.settings)!=null?o:{})}return Bs(t)}function E0(e,t){const n=Ri(e);localStorage.getItem(n)||localStorage.setItem(n,JSON.stringify(Bs(t)))}function S0(e,t,n){const r=Ri(e),o=localStorage.getItem(r),s=JSON.parse(o||"{}"),i={...s,[t]:n};localStorage.setItem(r,JSON.stringify(i)),nr.hooks.callHookWith(a=>{a.forEach(l=>l({pluginId:e,key:t,oldValue:s[t],newValue:n,settings:i}))},"setPluginSettings")}P();P();P();P();P();P();P();P();P();P();P();var El,Sl,lt=(Sl=(El=X).__VUE_DEVTOOLS_HOOK)!=null?Sl:El.__VUE_DEVTOOLS_HOOK=of(),A0={vueAppInit(e){lt.hook("app:init",e)},vueAppUnmount(e){lt.hook("app:unmount",e)},vueAppConnected(e){lt.hook("app:connected",e)},componentAdded(e){return lt.hook("component:added",e)},componentEmit(e){return lt.hook("component:emit",e)},componentUpdated(e){return lt.hook("component:updated",e)},componentRemoved(e){return lt.hook("component:removed",e)},setupDevtoolsPlugin(e){lt.hook("devtools-plugin:setup",e)},perfStart(e){return lt.hook("perf:start",e)},perfEnd(e){return lt.hook("perf:end",e)}},bf={on:A0,setupDevToolsPlugin(e,t){return lt.callHook("devtools-plugin:setup",e,t)}},C0=class{constructor({plugin:e,ctx:t}){this.hooks=t.hooks,this.plugin=e}get on(){return{visitComponentTree:e=>{this.hooks.hook("visitComponentTree",e)},inspectComponent:e=>{this.hooks.hook("inspectComponent",e)},editComponentState:e=>{this.hooks.hook("editComponentState",e)},getInspectorTree:e=>{this.hooks.hook("getInspectorTree",e)},getInspectorState:e=>{this.hooks.hook("getInspectorState",e)},editInspectorState:e=>{this.hooks.hook("editInspectorState",e)},inspectTimelineEvent:e=>{this.hooks.hook("inspectTimelineEvent",e)},timelineCleared:e=>{this.hooks.hook("timelineCleared",e)},setPluginSettings:e=>{this.hooks.hook("setPluginSettings",e)}}}notifyComponentUpdate(e){var t;if(Me.highPerfModeEnabled)return;const n=_f().find(r=>r.packageName===this.plugin.descriptor.packageName);if(n!=null&&n.id){if(e){const r=[e.appContext.app,e.uid,(t=e.parent)==null?void 0:t.uid,e];lt.callHook("component:updated",...r)}else lt.callHook("component:updated");this.hooks.callHook("sendInspectorState",{inspectorId:n.id,plugin:this.plugin})}}addInspector(e){this.hooks.callHook("addInspector",{inspector:e,plugin:this.plugin}),this.plugin.descriptor.settings&&E0(e.id,this.plugin.descriptor.settings)}sendInspectorTree(e){Me.highPerfModeEnabled||this.hooks.callHook("sendInspectorTree",{inspectorId:e,plugin:this.plugin})}sendInspectorState(e){Me.highPerfModeEnabled||this.hooks.callHook("sendInspectorState",{inspectorId:e,plugin:this.plugin})}selectInspectorNode(e,t){this.hooks.callHook("customInspectorSelectNode",{inspectorId:e,nodeId:t,plugin:this.plugin})}visitComponentTree(e){return this.hooks.callHook("visitComponentTree",e)}now(){return Me.highPerfModeEnabled?0:Date.now()}addTimelineLayer(e){this.hooks.callHook("timelineLayerAdded",{options:e,plugin:this.plugin})}addTimelineEvent(e){Me.highPerfModeEnabled||this.hooks.callHook("timelineEventAdded",{options:e,plugin:this.plugin})}getSettings(e){return yf(e??this.plugin.descriptor.id,this.plugin.descriptor.settings)}getComponentInstances(e){return this.hooks.callHook("getComponentInstances",{app:e})}getComponentBounds(e){return this.hooks.callHook("getComponentBounds",{instance:e})}getComponentName(e){return this.hooks.callHook("getComponentName",{instance:e})}highlightElement(e){const t=e.__VUE_DEVTOOLS_NEXT_UID__;return this.hooks.callHook("componentHighlight",{uid:t})}unhighlightElement(){return this.hooks.callHook("componentUnhighlight")}},w0=C0;P();P();P();P();var T0="__vue_devtool_undefined__",O0="__vue_devtool_infinity__",x0="__vue_devtool_negative_infinity__",k0="__vue_devtool_nan__";P();P();var P0={[T0]:"undefined",[k0]:"NaN",[O0]:"Infinity",[x0]:"-Infinity"};Object.entries(P0).reduce((e,[t,n])=>(e[n]=t,e),{});P();P();P();P();P();var Al,Cl;(Cl=(Al=X).__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__)!=null||(Al.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__=new Set);function I0(e,t){return bf.setupDevToolsPlugin(e,t)}function R0(e,t){const[n,r]=e;if(n.app!==t)return;const o=new w0({plugin:{setupFn:r,descriptor:n},ctx:nr});n.packageName==="vuex"&&o.on.editInspectorState(s=>{o.sendInspectorState(s.inspectorId)}),r(o)}function Ef(e){X.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(e)||Me.highPerfModeEnabled||(X.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(e),Ii.forEach(t=>{R0(t,e)}))}P();P();var Rr="__VUE_DEVTOOLS_ROUTER__",Wn="__VUE_DEVTOOLS_ROUTER_INFO__",wl,Tl;(Tl=(wl=X)[Wn])!=null||(wl[Wn]={currentRoute:null,routes:[]});var Ol,xl;(xl=(Ol=X)[Rr])!=null||(Ol[Rr]={});new Proxy(X[Wn],{get(e,t){return X[Wn][t]}});new Proxy(X[Rr],{get(e,t){if(t==="value")return X[Rr]}});function L0(e){const t=new Map;return((e==null?void 0:e.getRoutes())||[]).filter(n=>!t.has(n.path)&&t.set(n.path,1))}function Li(e){return e.map(t=>{let{path:n,name:r,children:o,meta:s}=t;return o!=null&&o.length&&(o=Li(o)),{path:n,name:r,children:o,meta:s}})}function D0(e){if(e){const{fullPath:t,hash:n,href:r,path:o,name:s,matched:i,params:a,query:l}=e;return{fullPath:t,hash:n,href:r,path:o,name:s,params:a,query:l,matched:Li(i)}}return e}function N0(e,t){function n(){var r;const o=(r=e.app)==null?void 0:r.config.globalProperties.$router,s=D0(o==null?void 0:o.currentRoute.value),i=Li(L0(o)),a=console.warn;console.warn=()=>{},X[Wn]={currentRoute:s?Ja(s):{},routes:Ja(i)},X[Rr]=o,console.warn=a}n(),bf.on.componentUpdated(Kn(()=>{var r;((r=t.value)==null?void 0:r.app)===e.app&&(n(),!Me.highPerfModeEnabled&&nr.hooks.callHook("routerInfoUpdated",{state:X[Wn]}))},200))}function V0(e){return{async getInspectorTree(t){const n={...t,app:qe.value.app,rootNodes:[]};return await new Promise(r=>{e.callHookWith(async o=>{await Promise.all(o.map(s=>s(n))),r()},"getInspectorTree")}),n.rootNodes},async getInspectorState(t){const n={...t,app:qe.value.app,state:null},r={currentTab:`custom-inspector:${t.inspectorId}`};return await new Promise(o=>{e.callHookWith(async s=>{await Promise.all(s.map(i=>i(n,r))),o()},"getInspectorState")}),n.state},editInspectorState(t){const n=new jv,r={...t,app:qe.value.app,set:(o,s=t.path,i=t.state.value,a)=>{n.set(o,s,i,a||n.createDefaultSetCallback(t.state))}};e.callHookWith(o=>{o.forEach(s=>s(r))},"editInspectorState")},sendInspectorState(t){const n=uo(t);e.callHook("sendInspectorState",{inspectorId:t,plugin:{descriptor:n.descriptor,setupFn:()=>({})}})},inspectComponentInspector(){return o0()},cancelInspectComponentInspector(){return r0()},getComponentRenderCode(t){const n=Ms(qe.value,t);if(n)return(n==null?void 0:n.type)instanceof Function?n.type.toString():n.render.toString()},scrollToComponent(t){return s0({id:t})},openInEditor:y0,getVueInspector:l0,toggleApp(t){const n=zo.value.find(r=>r.id===t);n&&(v0(t),_0(n),N0(n,qe),gf(),Ef(n.app))},inspectDOM(t){const n=Ms(qe.value,t);if(n){const[r]=Ti(n);r&&(X.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__=r)}},updatePluginSettings(t,n,r){S0(t,n,r)},getPluginSettings(t){return{options:b0(t),values:yf(t)}}}}P();var kl,Pl;(Pl=(kl=X).__VUE_DEVTOOLS_ENV__)!=null||(kl.__VUE_DEVTOOLS_ENV__={vitePluginDetected:!1});var Il=h0(),Rl,Ll;(Ll=(Rl=X).__VUE_DEVTOOLS_KIT_CONTEXT__)!=null||(Rl.__VUE_DEVTOOLS_KIT_CONTEXT__={hooks:Il,get state(){return{...Me,activeAppRecordId:qe.id,activeAppRecord:qe.value,appRecords:zo.value}},api:V0(Il)});var nr=X.__VUE_DEVTOOLS_KIT_CONTEXT__;P();Vv(Hv());var Dl,Nl;(Nl=(Dl=X).__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__)!=null||(Dl.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__={id:0,appIds:new Set});P();function M0(e){Me.highPerfModeEnabled=e??!Me.highPerfModeEnabled,!e&&qe.value&&Ef(qe.value.app)}P();P();P();function H0(e){Me.devtoolsClientDetected={...Me.devtoolsClientDetected,...e};const t=Object.values(Me.devtoolsClientDetected).some(Boolean);M0(!t)}var Vl,Ml;(Ml=(Vl=X).__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__)!=null||(Vl.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__=H0);P();P();P();P();P();P();P();var F0=class{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(e,t){this.keyToValue.set(e,t),this.valueToKey.set(t,e)}getByKey(e){return this.keyToValue.get(e)}getByValue(e){return this.valueToKey.get(e)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}},Sf=class{constructor(e){this.generateIdentifier=e,this.kv=new F0}register(e,t){this.kv.getByValue(e)||(t||(t=this.generateIdentifier(e)),this.kv.set(t,e))}clear(){this.kv.clear()}getIdentifier(e){return this.kv.getByValue(e)}getValue(e){return this.kv.getByKey(e)}},B0=class extends Sf{constructor(){super(e=>e.name),this.classToAllowedProps=new Map}register(e,t){typeof t=="object"?(t.allowProps&&this.classToAllowedProps.set(e,t.allowProps),super.register(e,t.identifier)):super.register(e,t)}getAllowedProps(e){return this.classToAllowedProps.get(e)}};P();P();function $0(e){if("values"in Object)return Object.values(e);const t=[];for(const n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function U0(e,t){const n=$0(e);if("find"in n)return n.find(t);const r=n;for(let o=0;ot(r,n))}function co(e,t){return e.indexOf(t)!==-1}function Hl(e,t){for(let n=0;nt.isApplicable(e))}findByName(e){return this.transfomers[e]}};P();P();var z0=e=>Object.prototype.toString.call(e).slice(8,-1),Af=e=>typeof e>"u",K0=e=>e===null,Lr=e=>typeof e!="object"||e===null||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,$s=e=>Lr(e)&&Object.keys(e).length===0,ln=e=>Array.isArray(e),W0=e=>typeof e=="string",q0=e=>typeof e=="number"&&!isNaN(e),G0=e=>typeof e=="boolean",Y0=e=>e instanceof RegExp,Dr=e=>e instanceof Map,Nr=e=>e instanceof Set,Cf=e=>z0(e)==="Symbol",X0=e=>e instanceof Date&&!isNaN(e.valueOf()),Z0=e=>e instanceof Error,Fl=e=>typeof e=="number"&&isNaN(e),J0=e=>G0(e)||K0(e)||Af(e)||q0(e)||W0(e)||Cf(e),Q0=e=>typeof e=="bigint",e1=e=>e===1/0||e===-1/0,t1=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),n1=e=>e instanceof URL;P();var wf=e=>e.replace(/\./g,"\\."),ms=e=>e.map(String).map(wf).join("."),Sr=e=>{const t=[];let n="";for(let o=0;onull,()=>{}),Ct(Q0,"bigint",e=>e.toString(),e=>typeof BigInt<"u"?BigInt(e):(console.error("Please add a BigInt polyfill."),e)),Ct(X0,"Date",e=>e.toISOString(),e=>new Date(e)),Ct(Z0,"Error",(e,t)=>{const n={name:e.name,message:e.message};return t.allowedErrorProps.forEach(r=>{n[r]=e[r]}),n},(e,t)=>{const n=new Error(e.message);return n.name=e.name,n.stack=e.stack,t.allowedErrorProps.forEach(r=>{n[r]=e[r]}),n}),Ct(Y0,"regexp",e=>""+e,e=>{const t=e.slice(1,e.lastIndexOf("/")),n=e.slice(e.lastIndexOf("/")+1);return new RegExp(t,n)}),Ct(Nr,"set",e=>[...e.values()],e=>new Set(e)),Ct(Dr,"map",e=>[...e.entries()],e=>new Map(e)),Ct(e=>Fl(e)||e1(e),"number",e=>Fl(e)?"NaN":e>0?"Infinity":"-Infinity",Number),Ct(e=>e===0&&1/e===-1/0,"number",()=>"-0",Number),Ct(n1,"URL",e=>e.toString(),e=>new URL(e))];function Ko(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var Of=Ko((e,t)=>Cf(e)?!!t.symbolRegistry.getIdentifier(e):!1,(e,t)=>["symbol",t.symbolRegistry.getIdentifier(e)],e=>e.description,(e,t,n)=>{const r=n.symbolRegistry.getValue(t[1]);if(!r)throw new Error("Trying to deserialize unknown symbol");return r}),r1=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,t)=>(e[t.name]=t,e),{}),xf=Ko(t1,e=>["typed-array",e.constructor.name],e=>[...e],(e,t)=>{const n=r1[t[1]];if(!n)throw new Error("Trying to deserialize unknown typed array");return new n(e)});function kf(e,t){return e!=null&&e.constructor?!!t.classRegistry.getIdentifier(e.constructor):!1}var Pf=Ko(kf,(e,t)=>["class",t.classRegistry.getIdentifier(e.constructor)],(e,t)=>{const n=t.classRegistry.getAllowedProps(e.constructor);if(!n)return{...e};const r={};return n.forEach(o=>{r[o]=e[o]}),r},(e,t,n)=>{const r=n.classRegistry.getValue(t[1]);if(!r)throw new Error("Trying to deserialize unknown class - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564");return Object.assign(Object.create(r.prototype),e)}),If=Ko((e,t)=>!!t.customTransformerRegistry.findApplicable(e),(e,t)=>["custom",t.customTransformerRegistry.findApplicable(e).name],(e,t)=>t.customTransformerRegistry.findApplicable(e).serialize(e),(e,t,n)=>{const r=n.customTransformerRegistry.findByName(t[1]);if(!r)throw new Error("Trying to deserialize unknown custom value");return r.deserialize(e)}),o1=[Pf,Of,If,xf],Bl=(e,t)=>{const n=Hl(o1,o=>o.isApplicable(e,t));if(n)return{value:n.transform(e,t),type:n.annotation(e,t)};const r=Hl(Tf,o=>o.isApplicable(e,t));if(r)return{value:r.transform(e,t),type:r.annotation}},Rf={};Tf.forEach(e=>{Rf[e.annotation]=e});var s1=(e,t,n)=>{if(ln(t))switch(t[0]){case"symbol":return Of.untransform(e,t,n);case"class":return Pf.untransform(e,t,n);case"custom":return If.untransform(e,t,n);case"typed-array":return xf.untransform(e,t,n);default:throw new Error("Unknown transformation: "+t)}else{const r=Rf[t];if(!r)throw new Error("Unknown transformation: "+t);return r.untransform(e,n)}};P();var In=(e,t)=>{const n=e.keys();for(;t>0;)n.next(),t--;return n.next().value};function Lf(e){if(co(e,"__proto__"))throw new Error("__proto__ is not allowed as a property");if(co(e,"prototype"))throw new Error("prototype is not allowed as a property");if(co(e,"constructor"))throw new Error("constructor is not allowed as a property")}var i1=(e,t)=>{Lf(t);for(let n=0;n{if(Lf(t),t.length===0)return n(e);let r=e;for(let s=0;sjs(s,t,[...n,...Sr(i)]));return}const[r,o]=e;o&&qn(o,(s,i)=>{js(s,t,[...n,...Sr(i)])}),t(r,n)}function a1(e,t,n){return js(t,(r,o)=>{e=Us(e,o,s=>s1(s,r,n))}),e}function l1(e,t){function n(r,o){const s=i1(e,Sr(o));r.map(Sr).forEach(i=>{e=Us(e,i,()=>s)})}if(ln(t)){const[r,o]=t;r.forEach(s=>{e=Us(e,Sr(s),()=>e)}),o&&qn(o,n)}else qn(t,n);return e}var u1=(e,t)=>Lr(e)||ln(e)||Dr(e)||Nr(e)||kf(e,t);function c1(e,t,n){const r=n.get(e);r?r.push(t):n.set(e,[t])}function f1(e,t){const n={};let r;return e.forEach(o=>{if(o.length<=1)return;t||(o=o.map(a=>a.map(String)).sort((a,l)=>a.length-l.length));const[s,...i]=o;s.length===0?r=i.map(ms):n[ms(s)]=i.map(ms)}),r?$s(n)?[r]:[r,n]:$s(n)?void 0:n}var Df=(e,t,n,r,o=[],s=[],i=new Map)=>{var a;const l=J0(e);if(!l){c1(e,o,t);const _=i.get(e);if(_)return r?{transformedValue:null}:_}if(!u1(e,n)){const _=Bl(e,n),v=_?{transformedValue:_.value,annotations:[_.type]}:{transformedValue:e};return l||i.set(e,v),v}if(co(s,e))return{transformedValue:null};const u=Bl(e,n),f=(a=u==null?void 0:u.value)!=null?a:e,c=ln(f)?[]:{},d={};qn(f,(_,v)=>{if(v==="__proto__"||v==="constructor"||v==="prototype")throw new Error(`Detected property ${v}. This is a prototype pollution risk, please remove it from your object.`);const y=Df(_,t,n,r,[...o,v],[...s,e],i);c[v]=y.transformedValue,ln(y.annotations)?d[v]=y.annotations:Lr(y.annotations)&&qn(y.annotations,(b,A)=>{d[wf(v)+"."+A]=b})});const p=$s(d)?{transformedValue:c,annotations:u?[u.type]:void 0}:{transformedValue:c,annotations:u?[u.type,d]:d};return l||i.set(e,p),p};P();P();function Nf(e){return Object.prototype.toString.call(e).slice(8,-1)}function $l(e){return Nf(e)==="Array"}function d1(e){if(Nf(e)!=="Object")return!1;const t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}function p1(e,t,n,r,o){const s={}.propertyIsEnumerable.call(r,t)?"enumerable":"nonenumerable";s==="enumerable"&&(e[t]=n),o&&s==="nonenumerable"&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function zs(e,t={}){if($l(e))return e.map(o=>zs(o,t));if(!d1(e))return e;const n=Object.getOwnPropertyNames(e),r=Object.getOwnPropertySymbols(e);return[...n,...r].reduce((o,s)=>{if($l(t.props)&&!t.props.includes(s))return o;const i=e[s],a=zs(i,t);return p1(o,s,a,e,t.nonenumerable),o},{})}var we=class{constructor({dedupe:e=!1}={}){this.classRegistry=new B0,this.symbolRegistry=new Sf(t=>{var n;return(n=t.description)!=null?n:""}),this.customTransformerRegistry=new j0,this.allowedErrorProps=[],this.dedupe=e}serialize(e){const t=new Map,n=Df(e,t,this,this.dedupe),r={json:n.transformedValue};n.annotations&&(r.meta={...r.meta,values:n.annotations});const o=f1(t,this.dedupe);return o&&(r.meta={...r.meta,referentialEqualities:o}),r}deserialize(e){const{json:t,meta:n}=e;let r=zs(t);return n!=null&&n.values&&(r=a1(r,n.values,this)),n!=null&&n.referentialEqualities&&(r=l1(r,n.referentialEqualities)),r}stringify(e){return JSON.stringify(this.serialize(e))}parse(e){return this.deserialize(JSON.parse(e))}registerClass(e,t){this.classRegistry.register(e,t)}registerSymbol(e,t){this.symbolRegistry.register(e,t)}registerCustom(e,t){this.customTransformerRegistry.register({name:t,...e})}allowErrorProps(...e){this.allowedErrorProps.push(...e)}};we.defaultInstance=new we;we.serialize=we.defaultInstance.serialize.bind(we.defaultInstance);we.deserialize=we.defaultInstance.deserialize.bind(we.defaultInstance);we.stringify=we.defaultInstance.stringify.bind(we.defaultInstance);we.parse=we.defaultInstance.parse.bind(we.defaultInstance);we.registerClass=we.defaultInstance.registerClass.bind(we.defaultInstance);we.registerSymbol=we.defaultInstance.registerSymbol.bind(we.defaultInstance);we.registerCustom=we.defaultInstance.registerCustom.bind(we.defaultInstance);we.allowErrorProps=we.defaultInstance.allowErrorProps.bind(we.defaultInstance);P();P();P();P();P();P();P();P();P();P();P();P();P();P();P();P();P();P();P();P();P();P();P();var Ul,jl;(jl=(Ul=X).__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__)!=null||(Ul.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__=[]);var zl,Kl;(Kl=(zl=X).__VUE_DEVTOOLS_KIT_RPC_CLIENT__)!=null||(zl.__VUE_DEVTOOLS_KIT_RPC_CLIENT__=null);var Wl,ql;(ql=(Wl=X).__VUE_DEVTOOLS_KIT_RPC_SERVER__)!=null||(Wl.__VUE_DEVTOOLS_KIT_RPC_SERVER__=null);var Gl,Yl;(Yl=(Gl=X).__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__)!=null||(Gl.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__=null);var Xl,Zl;(Zl=(Xl=X).__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__)!=null||(Xl.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__=null);var Jl,Ql;(Ql=(Jl=X).__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__)!=null||(Jl.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__=null);P();P();P();P();P();P();P();const h1=JSON.parse(`{"logo":"logo_worldline.png","sidebar":[{"text":"Home","link":"/"},"/overview/","/use/","/llm/","/offline/","/develop/","/services/"],"locales":{"/":{"selectLanguageName":"English"}},"colorMode":"auto","colorModeSwitch":true,"navbar":[],"repo":null,"selectLanguageText":"Languages","selectLanguageAriaLabel":"Select language","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"}`),m1=de(h1),Vf=()=>m1,Mf=Symbol(""),g1=()=>{const e=Ze(Mf);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},_1=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},v1=un({enhance({app:e}){const t=Vf(),n=e._context.provides[mi],r=H(()=>_1(t.value,n.routeLocale.value));e.provide(Mf,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}}),I0({app:e,id:"org.vuejs.vuepress.plugin-theme-data",label:"VuePress Theme Data Plugin",packageName:"@vuepress/plugin-theme-data",homepage:"https://v2.vuepress.vuejs.org",logo:"https://v2.vuepress.vuejs.org/images/hero.png",componentStateTypes:["VuePress"]},o=>{o.on.inspectComponent(s=>{s.instanceData.state.push({type:"VuePress",key:"themeData",editable:!1,value:t.value},{type:"VuePress",key:"themeLocaleData",editable:!1,value:r.value})})})}}),y1=Object.freeze(Object.defineProperty({__proto__:null,default:v1},Symbol.toStringTag,{value:"Module"})),b1=()=>Vf(),Fe=()=>g1(),Hf=Symbol(""),E1=e=>{const t=(n=e.value)=>{const r=window.document.documentElement;r.dataset.theme=n?"dark":"light"};Je(()=>{Ue(e,t,{immediate:!0})}),Lo(()=>{t()})},Di=()=>{const e=Ze(Hf);if(!e)throw new Error("useDarkMode() is called without provider.");return e},S1=()=>{const e=Fe(),t=n_(),n=Ai("vuepress-color-scheme",e.value.colorMode),r=H({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"}});An(Hf,r),E1(r)};let gs=null,ur=null;const A1={wait:()=>gs,pending:()=>{gs=new Promise(e=>{ur=e})},resolve:()=>{ur==null||ur(),gs=null,ur=null}},Ff=()=>A1,Gn=(e,t)=>{const{notFound:n,meta:r,path:o}=Ir(e,t);return n?{text:o,link:o}:{text:r.title||o,link:o}},eu=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),C1=(e,t)=>{if(t.hash===e)return!0;const n=eu(t.path),r=eu(e);return n===r},Bf=(e,t)=>e.link&&C1(e.link,t)?!0:"children"in e?e.children.some(n=>Bf(n,t)):!1,$f=e=>!Qh(e)&&!zr(e),Uf=e=>!Vo(e)||e.includes("github.com")?"GitHub":e.includes("bitbucket.org")?"Bitbucket":e.includes("gitlab.com")?"GitLab":e.includes("gitee.com")?"Gitee":null,w1={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"},T1=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const n=Uf(e);return n!==null?w1[n]:null},O1=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=T1({docsRepo:e,editLinkPattern:o});return s?s.replace(/:repo/,Vo(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,Sc(`${Ec(n)}/${r}`)):null},Bn=(e="",t="")=>ef(t)||zr(t)?t:`${lm(e)}${t}`,fo=de([]),x1=()=>{const e=Tn(),t=Fe(),n=St(),r=H(()=>n.value.sidebarDepth??t.value.sidebarDepth??2);e.beforeEach((s,i)=>{s.path!==i.path&&(fo.value=[])});const o=()=>{if(r.value<=0){fo.value=[];return}fo.value=v_({levels:[2,r.value+1],ignore:[".vp-badge"]})};Ue(r,o),Je(o)},k1=()=>fo,P1=e=>({text:e.title,link:e.link,children:Ni(e.children)}),Ni=e=>e?e.map(t=>P1(t)):[],jf=(e,t)=>[{text:e.title,children:Ni(t)}],zf=(e,t,n,r="")=>{const o=(s,i)=>{var l;const a=yt(s)?Gn(Bn(i,s)):yt(s.link)?{...s,link:$f(s.link)?Gn(Bn(i,s.link)).link:s.link}:s;if("children"in a)return{...a,children:a.children.map(u=>o(u,Bn(i,a.prefix)))};if(a.link===n){const u=((l=t[0])==null?void 0:l.level)===1?t[0].children:t;return{...a,children:Ni(u)}}return a};return e.map(s=>o(s,r))},I1=(e,t,n,r)=>{const o=E_(e).sort((s,i)=>i.length-s.length);for(const s of o)if(Qc(decodeURI(r),s)){const i=e[s];return i?i==="heading"?jf(t,n):zf(i,n,r,s):[]}return console.warn(`${decodeURI(r)} is missing sidebar config.`),[]},Kf=Symbol("sidebarItems"),Vi=()=>{const e=Ze(Kf);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},R1=(e,t,n,r,o)=>e===!1?[]:e==="heading"?jf(t,o):Array.isArray(e)?zf(e,o,n,r):di(e)?I1(e,t,o,n):[],L1=()=>{const e=Fe(),t=St(),n=Qn(),r=Kt(),o=Kr(),s=k1(),i=H(()=>t.value.home?!1:t.value.sidebar??e.value.sidebar??"heading"),a=H(()=>R1(i.value,n.value,r.path,o.value,s.value));An(Kf,a)},D1=me({__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}}),ke=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n};function N1(e,t,n,r,o,s){return Y(),ne("span",{class:nt(["vp-badge",n.type]),style:Xn({verticalAlign:n.vertical})},[Re(e.$slots,"default",{},()=>[on(Ie(n.text),1)])],6)}const V1=ke(D1,[["render",N1],["__file","Badge.vue"]]),M1=me({__name:"VPHomeFeatures",setup(e,{expose:t}){t();const n=St(),r=H(()=>n.value.features??[]),o={frontmatter:n,features:r};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),H1={key:0,class:"vp-features"};function F1(e,t,n,r,o,s){return r.features.length?(Y(),ne("div",H1,[(Y(!0),ne(_e,null,nn(r.features,i=>(Y(),ne("div",{key:i.title,class:"vp-feature"},[ie("h2",null,Ie(i.title),1),ie("p",null,Ie(i.details),1)]))),128))])):He("",!0)}const B1=ke(M1,[["render",F1],["__file","VPHomeFeatures.vue"]]),$1=me({__name:"VPHomeFooter",setup(e,{expose:t}){t();const n=St(),r=H(()=>n.value.footer),o=H(()=>n.value.footerHtml),s={frontmatter:n,footer:r,footerHtml:o};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),U1=["innerHTML"],j1=["textContent"];function z1(e,t,n,r,o,s){return r.footer?(Y(),ne(_e,{key:0},[r.footerHtml?(Y(),ne("div",{key:0,class:"vp-footer","vp-footer":"",innerHTML:r.footer},null,8,U1)):(Y(),ne("div",{key:1,class:"vp-footer","vp-footer":"",textContent:Ie(r.footer)},null,8,j1))],64)):He("",!0)}const K1=ke($1,[["render",z1],["__file","VPHomeFooter.vue"]]),W1=me({__name:"VPHomeHero",setup(e,{expose:t}){t();const n=St(),r=gi(),o=Di(),s=H(()=>n.value.heroText===null?null:n.value.heroText||r.value.title||"Hello"),i=H(()=>n.value.tagline===null?null:n.value.tagline||r.value.description||"Welcome to your VuePress site"),a=H(()=>o.value&&n.value.heroImageDark!==void 0?n.value.heroImageDark:n.value.heroImage),l=H(()=>n.value.heroAlt||s.value||"hero"),u=H(()=>n.value.heroHeight??280),f=H(()=>Array.isArray(n.value.actions)?n.value.actions.map(({text:p,link:_,type:v="primary"})=>({text:p,link:_,type:v})):[]),d={frontmatter:n,siteLocale:r,isDarkMode:o,heroText:s,tagline:i,heroImage:a,heroAlt:l,heroHeight:u,actions:f,HomeHeroImage:()=>{if(!a.value)return null;const p=ve("img",{class:"vp-hero-image",src:yi(a.value),alt:l.value,height:u.value});return n.value.heroImageDark===void 0?p:ve(_i,()=>p)},get AutoLink(){return er}};return Object.defineProperty(d,"__isScriptSetup",{enumerable:!1,value:!0}),d}}),q1={class:"vp-hero"},G1={key:0,id:"main-title"},Y1={key:1,class:"vp-hero-description"},X1={key:2,class:"vp-hero-actions"};function Z1(e,t,n,r,o,s){return Y(),ne("header",q1,[ae(r.HomeHeroImage),r.heroText?(Y(),ne("h1",G1,Ie(r.heroText),1)):He("",!0),r.tagline?(Y(),ne("p",Y1,Ie(r.tagline),1)):He("",!0),r.actions.length?(Y(),ne("p",X1,[(Y(!0),ne(_e,null,nn(r.actions,i=>(Y(),Le(r.AutoLink,{key:i.text,class:nt(["vp-hero-action-button",[i.type]]),config:i},null,8,["class","config"]))),128))])):He("",!0)])}const J1=ke(W1,[["render",Z1],["__file","VPHomeHero.vue"]]),Q1=me({__name:"VPHome",setup(e,{expose:t}){t();const n={VPHomeFeatures:B1,VPHomeFooter:K1,VPHomeHero:J1,get Content(){return vi}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),ey={class:"vp-home"},ty={class:"theme-default-content","vp-content":""};function ny(e,t,n,r,o,s){return Y(),ne("main",ey,[ae(r.VPHomeHero),ae(r.VPHomeFeatures),ie("div",ty,[ae(r.Content)]),ae(r.VPHomeFooter)])}const ry=ke(Q1,[["render",ny],["__file","VPHome.vue"]]),oy=me({__name:"VPNavbarBrand",setup(e,{expose:t}){t();const n=Kr(),r=gi(),o=Fe(),s=Di(),i=H(()=>o.value.home||n.value),a=H(()=>r.value.title),l=H(()=>s.value&&o.value.logoDark!==void 0?o.value.logoDark:o.value.logo),u=H(()=>o.value.logoAlt??a.value),f=H(()=>a.value.toLocaleUpperCase().trim()===u.value.toLocaleUpperCase().trim()),d={routeLocale:n,siteLocale:r,themeLocale:o,isDarkMode:s,navbarBrandLink:i,navbarBrandTitle:a,navbarBrandLogo:l,navbarBrandLogoAlt:u,navBarLogoAltMatchesTitle:f,NavbarBrandLogo:()=>{if(!l.value)return null;const p=ve("img",{class:"vp-site-logo",src:yi(l.value),alt:u.value});return o.value.logoDark===void 0?p:ve(_i,()=>p)},get RouteLink(){return Fo}};return Object.defineProperty(d,"__isScriptSetup",{enumerable:!1,value:!0}),d}}),sy=["aria-hidden"];function iy(e,t,n,r,o,s){return Y(),Le(r.RouteLink,{to:r.navbarBrandLink},{default:Ve(()=>[ae(r.NavbarBrandLogo),r.navbarBrandTitle?(Y(),ne("span",{key:0,class:nt(["vp-site-name",{"vp-hide-mobile":r.navbarBrandLogo}]),"aria-hidden":r.navBarLogoAltMatchesTitle},Ie(r.navbarBrandTitle),11,sy)):He("",!0)]),_:1},8,["to"])}const ay=ke(oy,[["render",iy],["__file","VPNavbarBrand.vue"]]),ly=me({__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 uy(e,t,n,r,o,s){return Y(),Le(fi,{name:"vp-dropdown",onEnter:r.setHeight,onAfterEnter:r.unsetHeight,onBeforeLeave:r.setHeight},{default:Ve(()=>[Re(e.$slots,"default")]),_:3})}const Wf=ke(ly,[["render",uy],["__file","VPDropdownTransition.vue"]]),cy=me({__name:"VPNavbarDropdown",props:{config:{}},setup(e,{expose:t}){t();const n=e,{config:r}=Ou(n),o=Kt(),[s,i]=Gc(!1),a=H(()=>r.value.ariaLabel||r.value.text),l=(c,d)=>d[d.length-1]===c,u=c=>{c.detail===0?i():i(!1)};Ue(()=>o.path,()=>{i(!1)});const f={props:n,config:r,route:o,open:s,toggleOpen:i,dropdownAriaLabel:a,isLastItemOfArray:l,handleDropdown:u,VPDropdownTransition:Wf,get AutoLink(){return er}};return Object.defineProperty(f,"__isScriptSetup",{enumerable:!1,value:!0}),f}}),fy=["aria-label"],dy={class:"title"},py=["aria-label"],hy={class:"title"},my={class:"vp-navbar-dropdown"},gy={class:"vp-navbar-dropdown-subtitle"},_y={key:1},vy={class:"vp-navbar-dropdown-subitem-wrapper"};function yy(e,t,n,r,o,s){return Y(),ne("div",{class:nt(["vp-navbar-dropdown-wrapper",{open:r.open}])},[ie("button",{class:"vp-navbar-dropdown-title",type:"button","aria-label":r.dropdownAriaLabel,onClick:r.handleDropdown},[ie("span",dy,Ie(r.config.text),1),t[1]||(t[1]=ie("span",{class:"arrow down"},null,-1))],8,fy),ie("button",{class:"vp-navbar-dropdown-title-mobile",type:"button","aria-label":r.dropdownAriaLabel,onClick:t[0]||(t[0]=()=>r.toggleOpen())},[ie("span",hy,Ie(r.config.text),1),ie("span",{class:nt(["arrow",r.open?"down":"right"])},null,2)],8,py),ae(r.VPDropdownTransition,null,{default:Ve(()=>[vo(ie("ul",my,[(Y(!0),ne(_e,null,nn(r.config.children,i=>(Y(),ne("li",{key:i.text,class:"vp-navbar-dropdown-item"},["children"in i?(Y(),ne(_e,{key:0},[ie("h4",gy,[i.link?(Y(),Le(r.AutoLink,{key:0,config:i,onFocusout:()=>{r.isLastItemOfArray(i,r.config.children)&&i.children.length===0&&(r.open=!1)}},null,8,["config","onFocusout"])):(Y(),ne("span",_y,Ie(i.text),1))]),ie("ul",vy,[(Y(!0),ne(_e,null,nn(i.children,a=>(Y(),ne("li",{key:a.link,class:"vp-navbar-dropdown-subitem"},[ae(r.AutoLink,{config:a,onFocusout:()=>{r.isLastItemOfArray(a,i.children)&&r.isLastItemOfArray(i,r.config.children)&&r.toggleOpen(!1)}},null,8,["config","onFocusout"])]))),128))])],64)):(Y(),Le(r.AutoLink,{key:1,config:i,onFocusout:()=>{r.isLastItemOfArray(i,r.config.children)&&r.toggleOpen(!1)}},null,8,["config","onFocusout"]))]))),128))],512),[[Ao,r.open]])]),_:1})],2)}const by=ke(cy,[["render",yy],["__file","VPNavbarDropdown.vue"]]),qf=(e,t="")=>yt(e)?Gn(Bn(t,e)):"children"in e?{...e,children:e.children.map(n=>qf(n,Bn(t,e.prefix)))}:{...e,link:$f(e.link)?Gn(Bn(t,e.link)).link:e.link},Ey=()=>{const e=Fe();return H(()=>(e.value.navbar||[]).map(t=>qf(t)))},Sy=()=>{const e=Fe(),t=H(()=>e.value.repo),n=H(()=>t.value?Uf(t.value):null),r=H(()=>t.value&&!Vo(t.value)?`https://github.com/${t.value}`:t.value),o=H(()=>r.value?e.value.repoLabel?e.value.repoLabel:n.value===null?"Source":n.value:null);return H(()=>!r.value||!o.value?[]:[{text:o.value,link:r.value}])},Ay=()=>{const e=Kt(),t=y_(),n=Kr(),r=zc(),o=gi(),s=b1(),i=Fe();return H(()=>{const a=Object.keys(r.value.locales);if(a.length<2)return[];const l=e.path,u=e.fullPath;return[{text:`${i.value.selectLanguageText}`,ariaLabel:`${i.value.selectLanguageAriaLabel??i.value.selectLanguageText}`,children:a.map(c=>{var b,A;const d=((b=r.value.locales)==null?void 0:b[c])??{},p=((A=s.value.locales)==null?void 0:A[c])??{},_=`${d.lang}`,v=p.selectLanguageName??_;if(_===o.value.lang)return{text:v,activeMatch:".",link:e.fullPath};const y=l.replace(n.value,c);return{text:v,link:t.value.some(m=>m===y)?u.replace(l,y):p.home??c}})}]})},Cy="719px",wy={mobile:Cy};var Vr;(function(e){e.Mobile="mobile"})(Vr||(Vr={}));const Ty={[Vr.Mobile]:Number.parseInt(wy.mobile.replace("px",""),10)},Gf=(e,t)=>{const n=Ty[e];Number.isInteger(n)&&(ft("orientationchange",()=>{t(n)},!1),ft("resize",()=>{t(n)},!1),Je(()=>{t(n)}))},Oy=me({__name:"VPNavbarItems",setup(e,{expose:t}){t();const n=Ey(),r=Ay(),o=Sy(),s=de(!1),i=H(()=>Fe().value.navbarLabel??"site navigation"),a=H(()=>[...n.value,...r.value,...o.value]);Gf(Vr.Mobile,u=>{s.value=window.innerWidth(Y(),ne("div",{key:i.text,class:"vp-navbar-item"},["children"in i?(Y(),Le(r.VPNavbarDropdown,{key:0,class:nt({mobile:r.isMobile}),config:i},null,8,["class","config"])):(Y(),Le(r.AutoLink,{key:1,config:i},null,8,["config"]))]))),128))],8,xy)):He("",!0)}const Yf=ke(Oy,[["render",ky],["__file","VPNavbarItems.vue"]]),Py={},Iy={class:"dark-icon",viewBox:"0 0 32 32"};function Ry(e,t){return Y(),ne("svg",Iy,t[0]||(t[0]=[ie("path",{d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z",fill:"currentColor"},null,-1)]))}const Ly=ke(Py,[["render",Ry],["__file","VPDarkIcon.vue"]]),Dy={},Ny={class:"light-icon",viewBox:"0 0 32 32"};function Vy(e,t){return Y(),ne("svg",Ny,t[0]||(t[0]=[lh('',9)]))}const My=ke(Dy,[["render",Vy],["__file","VPLightIcon.vue"]]),Hy=me({__name:"VPToggleColorModeButton",setup(e,{expose:t}){t();const n=Fe(),r=Di(),s={themeLocale:n,isDarkMode:r,toggleColorMode:()=>{r.value=!r.value},VPDarkIcon:Ly,VPLightIcon:My};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),Fy=["title"];function By(e,t,n,r,o,s){return Y(),ne("button",{type:"button",class:"vp-toggle-color-mode-button",title:r.themeLocale.toggleColorMode,onClick:r.toggleColorMode},[vo(ae(r.VPLightIcon,null,null,512),[[Ao,!r.isDarkMode]]),vo(ae(r.VPDarkIcon,null,null,512),[[Ao,r.isDarkMode]])],8,Fy)}const $y=ke(Hy,[["render",By],["__file","VPToggleColorModeButton.vue"]]),Uy=me({__name:"VPToggleSidebarButton",emits:["toggle"],setup(e,{expose:t}){t();const r={themeLocale:Fe()};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),jy=["title"];function zy(e,t,n,r,o,s){return Y(),ne("div",{class:"vp-toggle-sidebar-button",title:r.themeLocale.toggleSidebar,"aria-expanded":"false",role:"button",tabindex:"0",onClick:t[0]||(t[0]=i=>e.$emit("toggle"))},t[1]||(t[1]=[ie("div",{class:"icon","aria-hidden":"true"},[ie("span"),ie("span"),ie("span")],-1)]),8,jy)}const Ky=ke(Uy,[["render",zy],["__file","VPToggleSidebarButton.vue"]]),Wy=me({__name:"VPNavbar",emits:["toggleSidebar"],setup(e,{expose:t}){t();const n=Xc("SearchBox")?ii("SearchBox"):()=>null,r=Fe(),o=de(null),s=de(null),i=de(0),a=H(()=>i.value?{maxWidth:`${i.value}px`}:{}),l=(f,c)=>{var _;const d=(_=f==null?void 0:f.ownerDocument.defaultView)==null?void 0:_.getComputedStyle(f,null)[c],p=Number.parseInt(d,10);return Number.isNaN(p)?0:p};Gf(Vr.Mobile,f=>{var d;const c=l(o.value,"paddingLeft")+l(o.value,"paddingRight");window.innerWidthe.$emit("toggleSidebar"))}),ie("span",Gy,[ae(r.VPNavbarBrand)],512),ie("div",{class:"vp-navbar-items-wrapper",style:Xn(r.linksWrapperStyle)},[Re(e.$slots,"before"),ae(r.VPNavbarItems,{class:"vp-hide-mobile"}),Re(e.$slots,"after"),r.themeLocale.colorModeSwitch?(Y(),Le(r.VPToggleColorModeButton,{key:0})):He("",!0),ae(r.SearchBox)],4)],512)}const Xy=ke(Wy,[["render",Yy],["__file","VPNavbar.vue"]]),Zy={},Jy={class:"edit-icon",viewBox:"0 0 1024 1024"};function Qy(e,t){return Y(),ne("svg",Jy,t[0]||(t[0]=[ie("g",{fill:"currentColor"},[ie("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"}),ie("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})],-1)]))}const eb=ke(Zy,[["render",Qy],["__file","VPEditIcon.vue"]]),tb=()=>{const e=Fe(),t=Qn(),n=St();return H(()=>{var o;return n.value.contributors??e.value.contributors??!0?((o=t.value.git)==null?void 0:o.contributors)??null:null})},nb=()=>{const e=Fe(),t=Qn(),n=St();return H(()=>{if(!(n.value.editLink??e.value.editLink??!0))return null;const{repo:o,docsRepo:s=o,docsBranch:i="main",docsDir:a="",editLinkText:l}=e.value;if(!s)return null;const u=O1({docsRepo:s,docsBranch:i,docsDir:a,filePathRelative:t.value.filePathRelative,editLinkPattern:n.value.editLinkPattern??e.value.editLinkPattern});return u?{text:l??"Edit this page",link:u}:null})},rb=()=>{const e=Fe(),t=Qn(),n=St();return H(()=>{var s;return!(n.value.lastUpdated??e.value.lastUpdated??!0)||!((s=t.value.git)!=null&&s.updatedTime)?null:new Date(t.value.git.updatedTime).toLocaleString()})},ob=me({__name:"VPPageMeta",setup(e,{expose:t}){t();const n=Fe(),r=nb(),o=rb(),s=tb(),i={themeLocale:n,editLink:r,lastUpdated:o,contributors:s,VPEditIcon:eb,get AutoLink(){return er}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),sb={class:"vp-page-meta"},ib={key:0,class:"vp-meta-item edit-link"},ab={class:"vp-meta-item git-info"},lb={key:0,class:"vp-meta-item last-updated"},ub={class:"meta-item-label"},cb={class:"meta-item-info"},fb={key:1,class:"vp-meta-item contributors"},db={class:"meta-item-label"},pb={class:"meta-item-info"},hb=["title"];function mb(e,t,n,r,o,s){const i=ii("ClientOnly");return Y(),ne("footer",sb,[r.editLink?(Y(),ne("div",ib,[ae(r.AutoLink,{class:"label",config:r.editLink},{before:Ve(()=>[ae(r.VPEditIcon)]),_:1},8,["config"])])):He("",!0),ie("div",ab,[r.lastUpdated?(Y(),ne("div",lb,[ie("span",ub,Ie(r.themeLocale.lastUpdatedText)+": ",1),ae(i,null,{default:Ve(()=>[ie("span",cb,Ie(r.lastUpdated),1)]),_:1})])):He("",!0),r.contributors&&r.contributors.length?(Y(),ne("div",fb,[ie("span",db,Ie(r.themeLocale.contributorsText)+": ",1),ie("span",pb,[(Y(!0),ne(_e,null,nn(r.contributors,(a,l)=>(Y(),ne(_e,{key:l},[ie("span",{class:"contributor",title:`email: ${a.email}`},Ie(a.name),9,hb),l!==r.contributors.length-1?(Y(),ne(_e,{key:0},[on(", ")],64)):He("",!0)],64))),128))])])):He("",!0)])])}const gb=ke(ob,[["render",mb],["__file","VPPageMeta.vue"]]),_b=()=>{const e=Tn(),t=Kt();return n=>{n&&(ef(n)?t.path!==n&&e.push(n):zr(n)?window.open(n):e.push(encodeURI(n)))}},tu=(e,t)=>e===!1?!1:yt(e)?Gn(e,t):di(e)?{...e,link:Gn(e.link,t).link}:null,Ks=(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&&!Ir(s.prefix).notFound?{...s,link:s.prefix}:null:null}for(const s of e)if("children"in s){const i=Ks(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&&!Ir(s.prefix).notFound?{...s,link:s.prefix}:null:null}return null},vb=()=>{const e=St(),t=Fe(),n=Vi(),r=Kt(),o=H(()=>{const i=tu(e.value.prev,r.path);return i===!1?null:i??(t.value.prev===!1?null:Ks(n.value,r.path,-1))}),s=H(()=>{const i=tu(e.value.next,r.path);return i===!1?null:i??(t.value.next===!1?null:Ks(n.value,r.path,1))});return{prevLink:o,nextLink:s}},yb=me({__name:"VPPageNav",setup(e,{expose:t}){t();const n=Fe(),r=_b(),{prevLink:o,nextLink:s}=vb(),i=H(()=>n.value.pageNavbarLabel??"page navigation");ft("keydown",l=>{l.altKey&&(l.key==="ArrowRight"?s.value&&(r(s.value.link),l.preventDefault()):l.key==="ArrowLeft"&&o.value&&(r(o.value.link),l.preventDefault()))});const a={themeLocale:n,navigate:r,prevLink:o,nextLink:s,navbarLabel:i,get AutoLink(){return er}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),bb=["aria-label"],Eb={class:"hint"},Sb={class:"link"},Ab={class:"hint"},Cb={class:"link"};function wb(e,t,n,r,o,s){return r.prevLink||r.nextLink?(Y(),ne("nav",{key:0,class:"vp-page-nav","aria-label":r.navbarLabel},[r.prevLink?(Y(),Le(r.AutoLink,{key:0,class:"prev",config:r.prevLink},{default:Ve(()=>[ie("div",Eb,[t[0]||(t[0]=ie("span",{class:"arrow left"},null,-1)),on(" "+Ie(r.themeLocale.prev??"Prev"),1)]),ie("div",Sb,[ie("span",null,Ie(r.prevLink.text),1)])]),_:1},8,["config"])):He("",!0),r.nextLink?(Y(),Le(r.AutoLink,{key:1,class:"next",config:r.nextLink},{default:Ve(()=>[ie("div",Ab,[on(Ie(r.themeLocale.next??"Next")+" ",1),t[1]||(t[1]=ie("span",{class:"arrow right"},null,-1))]),ie("div",Cb,[ie("span",null,Ie(r.nextLink.text),1)])]),_:1},8,["config"])):He("",!0)],8,bb)):He("",!0)}const Tb=ke(yb,[["render",wb],["__file","VPPageNav.vue"]]),Ob=me({__name:"VPPage",setup(e,{expose:t}){t(),x1();const n={VPPageMeta:gb,VPPageNav:Tb,get Content(){return vi}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),xb={class:"vp-page"},kb={class:"theme-default-content","vp-content":""};function Pb(e,t,n,r,o,s){return Y(),ne("main",xb,[Re(e.$slots,"top"),ie("div",kb,[Re(e.$slots,"content-top"),ae(r.Content),Re(e.$slots,"content-bottom")]),ae(r.VPPageMeta),ae(r.VPPageNav),Re(e.$slots,"bottom")])}const Ib=ke(Ob,[["render",Pb],["__file","VPPage.vue"]]),Rb=me({__name:"VPSidebarItem",props:{item:{},depth:{default:0}},setup(e,{expose:t}){t();const n=e,{item:r,depth:o}=Ou(n),s=Kt(),i=Tn(),a=H(()=>"collapsible"in r.value&&r.value.collapsible),l=H(()=>Bf(r.value,s)),u=H(()=>({"vp-sidebar-item":!0,"vp-sidebar-heading":o.value===0,active:l.value,collapsible:a.value})),f=H(()=>a.value?l.value:!0),[c,d]=Gc(f.value),p=y=>{a.value&&(y.preventDefault(),d())},_=i.afterEach(()=>{Jn(()=>{c.value=f.value})});si(()=>{_()});const v={props:n,item:r,depth:o,route:s,router:i,collapsible:a,isActive:l,itemClass:u,isOpenDefault:f,isOpen:c,toggleIsOpen:d,onClick:p,unregisterRouterHook:_,VPDropdownTransition:Wf,get AutoLink(){return er}};return Object.defineProperty(v,"__isScriptSetup",{enumerable:!1,value:!0}),v}}),Lb={class:"vp-sidebar-children"};function Db(e,t,n,r,o,s){const i=ii("VPSidebarItem",!0);return Y(),ne("li",null,[r.item.link?(Y(),Le(r.AutoLink,{key:0,class:nt(r.itemClass),config:r.item},null,8,["class","config"])):(Y(),ne("p",{key:1,tabindex:"0",class:nt(r.itemClass),onClick:r.onClick,onKeydown:Wh(r.onClick,["enter"])},[on(Ie(r.item.text)+" ",1),r.collapsible?(Y(),ne("span",{key:0,class:nt(["arrow",r.isOpen?"down":"right"])},null,2)):He("",!0)],34)),"children"in r.item&&r.item.children.length?(Y(),Le(r.VPDropdownTransition,{key:2},{default:Ve(()=>[vo(ie("ul",Lb,[(Y(!0),ne(_e,null,nn(r.item.children,a=>(Y(),Le(i,{key:`${r.depth}${a.text}${a.link}`,item:a,depth:r.depth+1},null,8,["item","depth"]))),128))],512),[[Ao,r.isOpen]])]),_:1})):He("",!0)])}const Nb=ke(Rb,[["render",Db],["__file","VPSidebarItem.vue"]]),Vb=me({__name:"VPSidebarItems",setup(e,{expose:t}){t();const n=Kt(),r=Vi();Je(()=>{Ue(()=>n.hash,s=>{const i=document.querySelector(".vp-sidebar");if(!i)return;const a=document.querySelector(`.vp-sidebar a.vp-sidebar-item[href="${n.path}${s}"]`);if(!a)return;const{top:l,height:u}=i.getBoundingClientRect(),{top:f,height:c}=a.getBoundingClientRect();fl+u&&a.scrollIntoView(!1)})});const o={route:n,sidebarItems:r,VPSidebarItem:Nb};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),Mb={key:0,class:"vp-sidebar-items"};function Hb(e,t,n,r,o,s){return r.sidebarItems.length?(Y(),ne("ul",Mb,[(Y(!0),ne(_e,null,nn(r.sidebarItems,i=>(Y(),Le(r.VPSidebarItem,{key:`${i.text}${i.link}`,item:i},null,8,["item"]))),128))])):He("",!0)}const Fb=ke(Vb,[["render",Hb],["__file","VPSidebarItems.vue"]]),Bb=me({__name:"VPSidebar",setup(e,{expose:t}){t();const n={VPNavbarItems:Yf,VPSidebarItems:Fb};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),$b={class:"vp-sidebar","vp-sidebar":""};function Ub(e,t,n,r,o,s){return Y(),ne("aside",$b,[ae(r.VPNavbarItems),Re(e.$slots,"top"),ae(r.VPSidebarItems),Re(e.$slots,"bottom")])}const jb=ke(Bb,[["render",Ub],["__file","VPSidebar.vue"]]),zb=me({__name:"Layout",setup(e,{expose:t}){t();const n=Qn(),r=St(),o=Fe(),s=H(()=>r.value.navbar!==!1&&o.value.navbar!==!1),i=Vi(),a=de(!1),l=m=>{a.value=typeof m=="boolean"?m:!a.value},u={x:0,y:0},f=m=>{u.x=m.changedTouches[0].clientX,u.y=m.changedTouches[0].clientY},c=m=>{const E=m.changedTouches[0].clientX-u.x,V=m.changedTouches[0].clientY-u.y;Math.abs(E)>Math.abs(V)&&Math.abs(E)>40&&(E>0&&u.x<=80?l(!0):l(!1))},d=H(()=>r.value.externalLinkIcon??o.value.externalLinkIcon??!0),p=H(()=>[{"no-navbar":!s.value,"no-sidebar":!i.value.length,"sidebar-open":a.value,"external-link-icon":d.value},r.value.pageClass]);let _;Je(()=>{_=Tn().afterEach(()=>{l(!1)})}),Lo(()=>{_()});const v=Ff(),y=v.resolve,b=v.pending,A={page:n,frontmatter:r,themeLocale:o,shouldShowNavbar:s,sidebarItems:i,isSidebarOpen:a,toggleSidebar:l,touchStart:u,onTouchStart:f,onTouchEnd:c,enableExternalLinkIcon:d,containerClass:p,get unregisterRouterHook(){return _},set unregisterRouterHook(m){_=m},scrollPromise:v,onBeforeEnter:y,onBeforeLeave:b,VPHome:ry,VPNavbar:Xy,VPPage:Ib,VPSidebar:jb};return Object.defineProperty(A,"__isScriptSetup",{enumerable:!1,value:!0}),A}});function Kb(e,t,n,r,o,s){return Y(),ne("div",{class:nt(["vp-theme-container",r.containerClass]),"vp-container":"",onTouchstart:r.onTouchStart,onTouchend:r.onTouchEnd},[Re(e.$slots,"navbar",{},()=>[r.shouldShowNavbar?(Y(),Le(r.VPNavbar,{key:0,onToggleSidebar:r.toggleSidebar},{before:Ve(()=>[Re(e.$slots,"navbar-before")]),after:Ve(()=>[Re(e.$slots,"navbar-after")]),_:3})):He("",!0)]),ie("div",{class:"vp-sidebar-mask",onClick:t[0]||(t[0]=i=>r.toggleSidebar(!1))}),Re(e.$slots,"sidebar",{},()=>[ae(r.VPSidebar,null,{top:Ve(()=>[Re(e.$slots,"sidebar-top")]),bottom:Ve(()=>[Re(e.$slots,"sidebar-bottom")]),_:3})]),Re(e.$slots,"page",{},()=>[r.frontmatter.home?(Y(),Le(r.VPHome,{key:0})):(Y(),Le(fi,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:r.onBeforeEnter,onBeforeLeave:r.onBeforeLeave},{default:Ve(()=>[(Y(),Le(r.VPPage,{key:r.page.path},{top:Ve(()=>[Re(e.$slots,"page-top")]),"content-top":Ve(()=>[Re(e.$slots,"page-content-top")]),"content-bottom":Ve(()=>[Re(e.$slots,"page-content-bottom")]),bottom:Ve(()=>[Re(e.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34)}const Wb=ke(zb,[["render",Kb],["__file","Layout.vue"]]),qb=me({__name:"NotFound",setup(e,{expose:t}){t();const n=Kr(),r=Fe(),o=r.value.notFound??["Not Found"],s=()=>o[Math.floor(Math.random()*o.length)],i=r.value.home??n.value,a=r.value.backToHome??"Back to home",l={routeLocale:n,themeLocale:r,messages:o,getMsg:s,homeLink:i,homeText:a,get RouteLink(){return Fo}};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),Gb={class:"vp-theme-container","vp-container":""},Yb={class:"page"},Xb={class:"theme-default-content","vp-content":""};function Zb(e,t,n,r,o,s){return Y(),ne("div",Gb,[ie("main",Yb,[ie("div",Xb,[t[0]||(t[0]=ie("h1",null,"404",-1)),ie("blockquote",null,Ie(r.getMsg()),1),ae(r.RouteLink,{to:r.homeLink},{default:Ve(()=>[on(Ie(r.homeText),1)]),_:1},8,["to"])])])])}const Jb=ke(qb,[["render",Zb],["__scopeId","data-v-67c08c1d"],["__file","NotFound.vue"]]),Qb=un({enhance({app:e,router:t}){Xc("Badge")||e.component("Badge",V1);const n=t.options.scrollBehavior;t.options.scrollBehavior=async(...r)=>(await Ff().wait(),n(...r))},setup(){S1(),L1()},layouts:{Layout:Wb,NotFound:Jb}}),eE=Object.freeze(Object.defineProperty({__proto__:null,default:Qb},Symbol.toStringTag,{value:"Module"})),so=[m_,w_,R_,D_,q_,Q_,nv,lv,y1,eE].map(e=>e.default).filter(Boolean),tE=JSON.parse('{"base":"/learning-ai/","lang":"en-US","title":"","description":"","head":[["link",{"rel":"icon","href":"/learning-ai/favicon.ico"}],["link",{"rel":"manifest","href":"/learning-ai/manifest.webmanifest"}],["meta",{"name":"theme-color","content":"#00A67E"}]],"locales":{}}');var hr=kt(tE),nE=Ym,rE=()=>{const e=kg({history:nE(Ec("/learning-ai/")),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===Nt){const r=Ir(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},oE=e=>{e.component("ClientOnly",_i),e.component("Content",vi),e.component("RouteLink",Fo)},sE=(e,t,n)=>{const r=H(()=>t.currentRoute.value.path),o=$d((y,b)=>({get(){return y(),t.currentRoute.value.meta._pageChunk},set(A){t.currentRoute.value.meta._pageChunk=A,b()}})),s=H(()=>hn.resolveLayouts(n)),i=H(()=>hn.resolveRouteLocale(hr.value.locales,r.value)),a=H(()=>hn.resolveSiteLocaleData(hr.value,i.value)),l=H(()=>o.value.comp),u=H(()=>o.value.data),f=H(()=>u.value.frontmatter),c=H(()=>hn.resolvePageHeadTitle(u.value,a.value)),d=H(()=>hn.resolvePageHead(c.value,f.value,a.value)),p=H(()=>hn.resolvePageLang(u.value,a.value)),_=H(()=>hn.resolvePageLayout(u.value,s.value)),v={layouts:s,pageData:u,pageComponent:l,pageFrontmatter:f,pageHead:d,pageHeadTitle:c,pageLang:p,pageLayout:_,redirects:Ds,routeLocale:i,routePath:r,routes:Fn,siteData:hr,siteLocaleData:a};return e.provide(mi,v),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>d.value},$headTitle:{get:()=>c.value},$lang:{get:()=>p.value},$page:{get:()=>u.value},$routeLocale:{get:()=>i.value},$site:{get:()=>hr.value},$siteLocale:{get:()=>a.value},$withBase:{get:()=>yi}}),v},iE=([e,t,n=""])=>{const r=Object.entries(t).map(([a,l])=>yt(l)?`[${a}=${JSON.stringify(l)}]`:l?`[${a}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(a=>a.innerText===n)??null},aE=([e,t,n])=>{if(!yt(e))return null;const r=document.createElement(e);return di(t)&&Object.entries(t).forEach(([o,s])=>{yt(s)?r.setAttribute(o,s):s&&r.setAttribute(o,"")}),yt(n)&&r.appendChild(document.createTextNode(n)),r},lE=()=>{const e=Rg(),t=Lg();let n=[];const r=()=>{e.value.forEach(i=>{const a=iE(i);a&&n.push(a)})},o=()=>{const i=[];return e.value.forEach(a=>{const l=aE(a);l&&i.push(l)}),i},s=()=>{document.documentElement.lang=t.value;const i=o();n.forEach((a,l)=>{const u=i.findIndex(f=>a.isEqualNode(f));u===-1?(a.remove(),delete n[l]):i.splice(u,1)}),i.forEach(a=>document.head.appendChild(a)),n=[...n.filter(a=>!!a),...i]};An(Vg,s),Je(()=>{r(),Ue(e,s,{immediate:!1})})},uE=Yh,cE=async()=>{var r;const e=uE({name:"Vuepress",setup(){var i;lE();for(const a of so)(i=a.setup)==null||i.call(a);const o=so.flatMap(({rootComponents:a=[]})=>a.map(l=>ve(l))),s=Dg();return()=>[ve(s.value),o]}}),t=rE();oE(e);const n=sE(e,t,so);{const{setupDevtools:o}=await Dt(async()=>{const{setupDevtools:s}=await import("./setupDevtools-7MC2TMWH-BnF_1LTO.js");return{setupDevtools:s}},[]);o(e,n)}for(const o of so)await((r=o.enhance)==null?void 0:r.call(o,{app:e,router:t,siteData:hr}));return e.use(t),{app:e,router:t}};cE().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{ke as _,lh as a,ie as b,ne as c,cE as createVueApp,Y as o,I0 as s,Ue as w}; diff --git a/assets/assistant-BJUR0Mbm.png b/assets/assistant-BJUR0Mbm.png new file mode 100644 index 0000000..1dffcf3 Binary files /dev/null and b/assets/assistant-BJUR0Mbm.png differ diff --git a/assets/avatar-Bf9zzubu.png b/assets/avatar-Bf9zzubu.png new file mode 100644 index 0000000..9899730 Binary files /dev/null and b/assets/avatar-Bf9zzubu.png differ diff --git a/assets/demo_prompt-BpZVtafc.gif b/assets/demo_prompt-BpZVtafc.gif new file mode 100644 index 0000000..e240e35 Binary files /dev/null and b/assets/demo_prompt-BpZVtafc.gif differ diff --git a/assets/gasparov-DChlTPYb.jpg b/assets/gasparov-DChlTPYb.jpg new file mode 100644 index 0000000..05af862 Binary files /dev/null and b/assets/gasparov-DChlTPYb.jpg differ diff --git a/assets/index.html-BcE3IrDX.js b/assets/index.html-BcE3IrDX.js new file mode 100644 index 0000000..1015057 --- /dev/null +++ b/assets/index.html-BcE3IrDX.js @@ -0,0 +1,91 @@ +import{_ as s,o as a,c as e,a as t}from"./app-DkfO46MA.js";const i={};function o(p,n){return a(),e("div",null,n[0]||(n[0]=[t(`

Prompt with AI

Prompt engineering

Prompt engineering involves the design and creation of prompts that are used to elicit specific responses or actions from AI models or interactive systems. These prompts are carefully crafted to guide the behavior or generate particular outputs from the AI, such as generating natural language responses, providing recommendations, or completing specific tasks.

Definition

In the context of AI language models, prompt engineering is especially important for shaping the model's behavior and output. By designing prompts effectively, engineers can influence the model's responses and ensure that it generates coherent, relevant, and accurate content.

There are four main areas to consider when writing an effective prompt. You don’t need to use all four, but using a few will help!

  • Persona: Who is the user you're writing for? What are their skills and knowledge?
  • Task: What specific action do you want the user to perform?
  • Context: What information does the user need to know to complete the task?
  • Format: What is the desired output of the task?

Example Prompt:

  • [Persona] You are a Google Cloud program manager.
  • [Task] Draft an executive summary email
  • [Context] to [person description] based on [details about relevant program docs].
  • [Format] Limit to bullet points.

By using "act as," you are establishing a specific context for the language model and guiding it to understand the type of task or request you are making. This helps to set the right expectations and provides the language model with the necessary context to generate a response tailored to the defined role.

"Act as a creative writing assistant and generate a short story based 
+on a prompt about a futuristic world where robots have become sentient."
+

Summarize

Summary is a prompt engineering technique that involves providing a summary of a given document or text. It can helps for summarizing changelogs, articles, or other technical documents.

Help me write an article of this document [Insert or copy paste document text]
+Generate 5 titles out of the following topic….
+Generate a subtitle to catch readers’ attention on the following 
+topic [describe the topic]
+

Write

Write is a prompt engineering technique that involves providing a step-by-step guide or instructions for a given task or process. Its useful for developers to create functional and technical documentations.

Create a template of an email response to customer inquiring about ….
+Create a guide that explains how to use ….
+Write step by step instructions
+

For Developers

Code explanation

Code explanation is a prompt engineering technique that involves providing a detailed explanation of a code snippet or function. This technique is useful for developers who want to understand the inner workings of a codebase or for those who want to document their code.

cf. Preformatted prompts for an example of code explanation

Generation

Act as a code generator. Generate a Python function that takes a list of 
+numbers as input and returns the sum of all the numbers.
+

Completion

Code completion is a prompt engineering technique that involves providing a list of possible completions for a given code snippet or function. This technique is useful for developers who want to suggest possible code changes or improvements based on their existing code.

Conversion

Code conversion is a prompt engineering technique that involves providing a conversion of a code snippet or function from one programming language to another. This technique is useful for developers who want to migrate their code from one language to another or for those who want to use a different programming language for their projects.

Review

Code review is a prompt engineering technique that involves providing a code review of a given code snippet or function. This technique is useful for developers who want to review their code for potential issues,bugs, or for those who want to provide feedback on their code.

Fixing

Code fixing is a prompt engineering technique that involves providing a code fix for a given code snippet or function. This technique is useful for developers who want to fix bugs or issues in their code or for those who want to improve the quality of their code.

Help me find mistakes in my code [insert your code]
+Explain what this snippet of code does [insert code snippet]
+What it the correct syntax for a [statement or function] 
+in [programming language]
+How do I fix the following programming language code 
+[program language] code which explain the functioning [Insert code snippet]
+

Refactoring

Code refactor is a prompt engineering technique that involves providing a code refactoring of a given code snippet or function within a specific scope. This technique is useful for developers who want to refactor their code within a specific context or for those who want to improve the readability and maintainability of their code.

Data mocking

Mock data generation is a prompt engineering technique that involves providing a mock data set for a given code snippet or function. This technique is useful for developers who want to test their code with mock data or for those who want to generate test data for their projects. It avoid creating manually fake data for testing.

Go further

Testing

Testing is a prompt engineering technique that involves providing a test case for a given code snippet or function. This technique is useful for developers who want to test their code or for those who want to ensure the correctness of their code.

System design and architecture

System design and architecture is a prompt engineering technique that involves providing a system design or architecture for a given code snippet or function. This technique is useful for developers who want to design their code or for those who want to understand the overall architecture of their projects.

Documentation generation

Documentation generation is a prompt engineering technique that involves providing a documentation for a given code snippet or function. This technique is useful for developers who want to document their code or for those who want to provide documentation for their projects. It can be used to generate documentation in various formats such as Markdown, HTML, or PDF.

Commit Message Generation

Commit message generation is a prompt engineering technique that involves providing a commit message for a given code snippet or function. This technique is useful for developers who want to generate commit messages for their code or for those who want to ensure that their commit messages are clear and concise.

Vulnerability checking

Vulnerability checking is a prompt engineering technique that involves providing a vulnerability check for a given code snippet or function. This technique is useful for developers who want to check for vulnerabilities in their code or for those who want to ensure that their code is secure.

Warning

This prompt is not recommended for production use. It is intended for testing and debugging purposes only and is not a proof of security or safety of your app.

Shell/CLI commands manual

As a developer, you’re not limited to only writing code. LLMs can assist with CLI such as shell commands and version control using Git.

Regular expression explanation

You can understand complex regular expressions and generate ones that match specific patterns in text. This technique is useful for developers who want to write complex regular expressions or for those who want to understand the syntax of regular expressions.

Explain this regular expression in JavaScript: const regex = 
+/^[A-Za-z0–9._%+-]+@[A-Za-z0–9.-]+\\\\.[A-Za-z]{2,}$/;
+

🧪 Exercises

Exercise 1: Basic Function Creation

  • Create a function that calculates the factorial of a number.
  • Handle both positive integers and zero, with error handling for negative inputs.

Expected Output (python)

def factorial(n):
+    if n < 0:
+        raise ValueError("Input must be a non-negative integer.")
+    if n == 0:
+        return 1
+    result = 1
+    for i in range(1, n + 1):
+        result *= i
+    return result
+

Exercise 2: API Request Handling

  • Write a function to fetch data from a given URL using the Fetch API.
  • Return the JSON response and handle any potential errors.

Expected Output (javascript)

async function fetchData(url) {
+    try {
+        const response = await fetch(url);
+        if (!response.ok) {
+            throw new Error(\`HTTP error! status: \${response.status}\`);
+        }
+        const data = await response.json();
+        return data;
+    } catch (error) {
+        console.error("Error fetching data:", error);
+    }
+}
+

Exercise 3: Class Definition

  • Define a class representing a book with properties for title, author, and publication year.
  • Include a method to display the book's details.

Expected Output (C#)

public class Book
+{
+    public string Title { get; set; }
+    public string Author { get; set; }
+    public int PublicationYear { get; set; }
+
+    public void DisplayDetails()
+    {
+        Console.WriteLine($"Title: {Title}, Author: {Author}, Year: {PublicationYear}");
+    }
+}
+

Exercise 4: Simple Web Server

  • Set up a basic web server that listens on port 3000.
  • Respond with a simple message when accessed.

Expected Output (Javascript)

const http = require('http');
+
+const server = http.createServer((req, res) => {
+    res.statusCode = 200;
+    res.setHeader('Content-Type', 'text/plain');
+    res.end('Hello, World!\\n');
+});
+
+server.listen(3000, () => {
+    console.log('Server running at http://localhost:3000/');
+});
+

Exercise 5: Data Validation

Details:

  • Write a method to validate if a given string is a valid email address.
  • Use a regular expression for the validation.

Expected Output (Ruby)

def valid_email?(email)
+    regex = /\\A[\\w+\\-.]+@[a-z\\d\\-.]+\\.[a-z]+\\z/i
+    !!(email =~ regex)
+end
+

Exercise 6: Mock Data Generation

Create prompts that can generate mock user profiles. The language used is JavaScript.

The profile should include:

  • Name
  • Age
  • Email
  • Address (Street, City, State, Zip Code)
  • Phone Number
Solutions

Exercise 1: Basic Function Creation

Persona: Python Developer
Task: Create a function
Context: You need to calculate the factorial of a number.

As a Python Developer, create a function named factorial that takes a single integer input and returns its factorial. The function should handle both positive integers and zero. Include error handling for negative inputs.

Exercise 2: API Request Handling

Persona: JavaScript Developer
Task: Write a function to handle API requests
Context: You need to fetch data from a given URL.

As a JavaScript Developer, write a function named fetchData that takes a URL as an argument and fetches data from that URL using the Fetch API. The function should return the JSON response and handle any errors that may occur during the fetch operation.

Exercise 3: Class Definition

Persona: C# Developer
Task: Define a class
Context: You are creating a representation of a book.

As a C# Developer, create a class named Book that has properties for Title, Author, and PublicationYear. Include a method named DisplayDetails that prints the book's details in a formatted string.

Exercise 4: Simple Web Server

Persona: JavaScript Developer
Task: Set up a web server
Context: You need to create a simple server that responds to requests.

As a JavaScript Developer, set up a simple web server using the http module that listens on port 3000 and responds with "Hello, World!" when accessed.

Exercise 5: Data Validation

Persona: Ruby Developer
Task: Write a validation method
Context: You need to validate email addresses.

As a Ruby Developer, write a method named valid_email? that takes a string as input and returns true if it is a valid email address, and false otherwise. Use a regular expression for validation.

Exercise 6: Mock Data Generation

As a JavaScript Developer, write a function named generateUserProfile that generates a mock user profile with the following details: name, age, email, address, and phone number. The function should return an object containing the user profile details.

function generateUserProfile() {
+    const names = ["Alice", "Bob", "Charlie", "David", "Eva"];
+    const randomName = names[Math.floor(Math.random() * names.length)];
+    const randomAge = Math.floor(Math.random() * 50) + 18; // Age between 18 and 67
+    const randomEmail = \`\${randomName.toLowerCase()}@example.com\`;
+    const randomAddress = {
+        street: \`\${Math.floor(Math.random() * 1000)} Main St\`,
+        city: "Sample City",
+        state: "CA",
+        zip: "12345"
+    };
+    const randomPhone = \`(\${Math.floor(Math.random() * 900) + 100})-\${Math.floor(Math.random() * 900) + 100}-\${Math.floor(Math.random() * 9000) + 1000}\`;
+
+    return {
+        name: randomName,
+        age: randomAge,
+        email: randomEmail,
+        address: randomAddress,
+        phone: randomPhone
+    };
+}
+
+// Example usage
+console.log(generateUserProfile());
+
`,81)]))}const r=s(i,[["render",o],["__file","index.html.vue"]]),c=JSON.parse('{"path":"/use/","title":"Prompt with AI","lang":"en-US","frontmatter":{"description":"Prompt with AI Prompt engineering Prompt engineering involves the design and creation of prompts that are used to elicit specific responses or actions from AI models or interact...","head":[["meta",{"property":"og:url","content":"https://worldline.github.io/worldline/learning-ai/learning-ai/use/"}],["meta",{"property":"og:title","content":"Prompt with AI"}],["meta",{"property":"og:description","content":"Prompt with AI Prompt engineering Prompt engineering involves the design and creation of prompts that are used to elicit specific responses or actions from AI models or interact..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-11-20T13:15:23.000Z"}],["meta",{"property":"article:modified_time","content":"2024-11-20T13:15:23.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Prompt with AI\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-20T13:15:23.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Prompt engineering","slug":"prompt-engineering","link":"#prompt-engineering","children":[{"level":3,"title":"Definition","slug":"definition","link":"#definition","children":[]},{"level":3,"title":"Summarize","slug":"summarize","link":"#summarize","children":[]},{"level":3,"title":"Write","slug":"write","link":"#write","children":[]}]},{"level":2,"title":"For Developers","slug":"for-developers","link":"#for-developers","children":[{"level":3,"title":"Code explanation","slug":"code-explanation","link":"#code-explanation","children":[]},{"level":3,"title":"Generation","slug":"generation","link":"#generation","children":[]},{"level":3,"title":"Completion","slug":"completion","link":"#completion","children":[]},{"level":3,"title":"Conversion","slug":"conversion","link":"#conversion","children":[]},{"level":3,"title":"Review","slug":"review","link":"#review","children":[]},{"level":3,"title":"Fixing","slug":"fixing","link":"#fixing","children":[]},{"level":3,"title":"Refactoring","slug":"refactoring","link":"#refactoring","children":[]},{"level":3,"title":"Data mocking","slug":"data-mocking","link":"#data-mocking","children":[]}]},{"level":2,"title":"Go further","slug":"go-further","link":"#go-further","children":[{"level":3,"title":"Testing","slug":"testing","link":"#testing","children":[]},{"level":3,"title":"System design and architecture","slug":"system-design-and-architecture","link":"#system-design-and-architecture","children":[]},{"level":3,"title":"Documentation generation","slug":"documentation-generation","link":"#documentation-generation","children":[]},{"level":3,"title":"Commit Message Generation","slug":"commit-message-generation","link":"#commit-message-generation","children":[]},{"level":3,"title":"Vulnerability checking","slug":"vulnerability-checking","link":"#vulnerability-checking","children":[]},{"level":3,"title":"Shell/CLI commands manual","slug":"shell-cli-commands-manual","link":"#shell-cli-commands-manual","children":[]},{"level":3,"title":"Regular expression explanation","slug":"regular-expression-explanation","link":"#regular-expression-explanation","children":[]}]},{"level":2,"title":"🧪 Exercises","slug":"🧪-exercises","link":"#🧪-exercises","children":[{"level":3,"title":"Exercise 1: Basic Function Creation","slug":"exercise-1-basic-function-creation","link":"#exercise-1-basic-function-creation","children":[]},{"level":3,"title":"Exercise 2: API Request Handling","slug":"exercise-2-api-request-handling","link":"#exercise-2-api-request-handling","children":[]},{"level":3,"title":"Exercise 3: Class Definition","slug":"exercise-3-class-definition","link":"#exercise-3-class-definition","children":[]},{"level":3,"title":"Exercise 4: Simple Web Server","slug":"exercise-4-simple-web-server","link":"#exercise-4-simple-web-server","children":[]},{"level":3,"title":"Exercise 5: Data Validation","slug":"exercise-5-data-validation","link":"#exercise-5-data-validation","children":[]},{"level":3,"title":"Exercise 6: Mock Data Generation","slug":"exercise-6-mock-data-generation","link":"#exercise-6-mock-data-generation","children":[]}]}],"git":{"updatedTime":1732108523000,"contributors":[{"name":"Brah","email":"brah.gharbi@gmail.com","commits":6,"url":"https://github.com/Brah"},{"name":"Ibrahim Gharbi","email":"brah.gharbi@gmail.com","commits":2,"url":"https://github.com/Ibrahim Gharbi"}]},"filePathRelative":"use/README.md","autoDesc":true}');export{r as comp,c as data}; diff --git a/assets/index.html-BvklKyMd.js b/assets/index.html-BvklKyMd.js new file mode 100644 index 0000000..2bd7d62 --- /dev/null +++ b/assets/index.html-BvklKyMd.js @@ -0,0 +1 @@ +import{_ as t,c as a,a as r,o as n}from"./app-DkfO46MA.js";const o="/learning-ai/assets/logo_worldline-t5KadDQv.png",i="/learning-ai/assets/avatar-Bf9zzubu.png",l={};function s(h,e){return n(),a("div",null,e[0]||(e[0]=[r('

Disclamer

LLMs and MMLLMs are constantly evolving, and new applications for developer training are emerging all the time.

AI for devs | Tech at Worldline

Who we are

avatar

We design payments technology that powers the growth of millions​ of businesses around the world. Engineering the next frontiers​ in payments technology​

  • Leader in payment and secured transactions. ​
  • Over 50bn transactions/year​
  • 7000+ engineers​ in over 40 countries​
  • A huge & diverse​ tech-stack

Follow trainers of this Hands-on Lab

avatar
Gharbi Ibrahim
🔗 @__brah​
🔗 cv.gharbi.org

Follow our Tech team

',10)]))}const d=t(l,[["render",s],["__file","index.html.vue"]]),p=JSON.parse(`{"path":"/","title":"AI for devs | Tech at Worldline","lang":"en-US","frontmatter":{"home":true,"heroImage":"./logo.png","heroText":"Hands-on Lab - AI for Devs","tagline":"Discover AI in practice.","actions":[{"text":"Start the Hands-on Lab →","link":"/overview/","type":"primary"}],"features":[{"title":"Let's start","details":"Prerequisites - Definitions - A bit of History - The market"},{"title":"General assistants","details":"Prompt engineering - LibreChat quickstart - Offline prompting"},{"title":"Develop with AI","details":"Github Copilot"},{"title":"AI for services","details":"Cloud LLMs - Advanced RAG"}],"footer":"Worldline © 2024 | tech at Worldline","description":"Disclamer LLMs and MMLLMs are constantly evolving, and new applications for developer training are emerging all the time. AI for devs | Tech at Worldline Who we are avatar We de...","head":[["meta",{"property":"og:url","content":"https://worldline.github.io/worldline/learning-ai/learning-ai/"}],["meta",{"property":"og:title","content":"AI for devs | Tech at Worldline"}],["meta",{"property":"og:description","content":"Disclamer LLMs and MMLLMs are constantly evolving, and new applications for developer training are emerging all the time. AI for devs | Tech at Worldline Who we are avatar We de..."}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-11-14T15:16:48.000Z"}],["meta",{"property":"article:modified_time","content":"2024-11-14T15:16:48.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"AI for devs | Tech at Worldline\\",\\"description\\":\\"Disclamer LLMs and MMLLMs are constantly evolving, and new applications for developer training are emerging all the time. AI for devs | Tech at Worldline Who we are avatar We de...\\"}"]]},"headers":[{"level":2,"title":"Who we are","slug":"who-we-are","link":"#who-we-are","children":[{"level":3,"title":"Follow trainers of this Hands-on Lab","slug":"follow-trainers-of-this-hands-on-lab","link":"#follow-trainers-of-this-hands-on-lab","children":[]},{"level":3,"title":"Follow our Tech team","slug":"follow-our-tech-team","link":"#follow-our-tech-team","children":[]}]}],"git":{"updatedTime":1731597408000,"contributors":[{"name":"Brah","email":"brah.gharbi@gmail.com","commits":1,"url":"https://github.com/Brah"},{"name":"Ibrahim Gharbi","email":"brah.gharbi@gmail.com","commits":2,"url":"https://github.com/Ibrahim Gharbi"}]},"filePathRelative":"index.md","autoDesc":true}`);export{d as comp,p as data}; diff --git a/assets/index.html-CRA1Ekr5.js b/assets/index.html-CRA1Ekr5.js new file mode 100644 index 0000000..92203a0 --- /dev/null +++ b/assets/index.html-CRA1Ekr5.js @@ -0,0 +1,4 @@ +import{_ as a,o as t,c as i,a as n}from"./app-DkfO46MA.js";const o={};function r(s,e){return t(),i("div",null,e[0]||(e[0]=[n(`

Develop with AI

Github Copilot

Update

Copilot can now use other LLMs than OpenAI, including Google, and Anthropic to provide code suggestions

Github Copilot is a tool that uses the OpenAI language models to provide code suggestions and suggestions for improving code quality.

Alternative code assistance

There is also other producs indegrated to IDEs such as Gitlab Duo, Gemini Code Assist, SuperMaven, AWS CodeWhisperer, and more.

Copilot Chat

Copilot Chat is a chat interface that allows you to ask questions and get suggestions for code improvements.

it's available on :

  • JetBrains IDEs
  • Visual Studio
  • Visual Studio Code
  • In Github mobile App
  • Web version in github.com (Preview)

It is a similar approach to chat GPT prompting optimised for the developper experience.

CLI

CLI helps you using you command line interpreter You can use it in the terminal with the following command:

gh auth login
+gh extension install github.copilot
+gh copilot explain "traceroute github.com"
+

Warning

Github CLI is not supported yet with our Worldline account, so you need to use the web version with the link here

JetBrains integration

Completion

Assistance

Refactoring

Test generation

Documentation

Architecture diagram

VSCode integration

Completion

Assistance

Refactoring

Test generation

Documentation

Architecture diagram

Gihub Spark

GitHub Spark is an AI-powered tool for creating and sharing micro apps (“sparks”), which can be tailored to your exact needs and preferences, and are directly usable from your desktop and mobile devices. Without needing to write or deploy any code.

And it enables this through a combination of three tightly-integrated components:

An NL-based editor, which allows easily describing your ideas, and then refining them over time A managed runtime environment, which hosts your sparks, and provides them access to data storage, theming, and LLMs A PWA-enabled dashboard, which lets you manage and launch your sparks from anywhere

🧪 Exercises

📖 Further readings

*Worldline AI coding assistant

`,36)]))}const h=a(o,[["render",r],["__file","index.html.vue"]]),c=JSON.parse('{"path":"/develop/","title":"Develop with AI","lang":"en-US","frontmatter":{"description":"Develop with AI Github Copilot Update Copilot can now use other LLMs than OpenAI, including Google, and Anthropic to provide code suggestions Github Copilot is a tool that uses ...","head":[["meta",{"property":"og:url","content":"https://worldline.github.io/worldline/learning-ai/learning-ai/develop/"}],["meta",{"property":"og:title","content":"Develop with AI"}],["meta",{"property":"og:description","content":"Develop with AI Github Copilot Update Copilot can now use other LLMs than OpenAI, including Google, and Anthropic to provide code suggestions Github Copilot is a tool that uses ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-11-20T13:15:23.000Z"}],["meta",{"property":"article:modified_time","content":"2024-11-20T13:15:23.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Develop with AI\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-20T13:15:23.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Github Copilot","slug":"github-copilot","link":"#github-copilot","children":[{"level":3,"title":"Copilot Chat","slug":"copilot-chat","link":"#copilot-chat","children":[]},{"level":3,"title":"CLI","slug":"cli","link":"#cli","children":[]},{"level":3,"title":"JetBrains integration","slug":"jetbrains-integration","link":"#jetbrains-integration","children":[]},{"level":3,"title":"VSCode integration","slug":"vscode-integration","link":"#vscode-integration","children":[]}]},{"level":2,"title":"Gihub Spark","slug":"gihub-spark","link":"#gihub-spark","children":[]},{"level":2,"title":"🧪 Exercises","slug":"🧪-exercises","link":"#🧪-exercises","children":[]},{"level":2,"title":"📖 Further readings","slug":"📖-further-readings","link":"#📖-further-readings","children":[]}],"git":{"updatedTime":1732108523000,"contributors":[{"name":"Brah","email":"brah.gharbi@gmail.com","commits":1,"url":"https://github.com/Brah"},{"name":"Ibrahim Gharbi","email":"brah.gharbi@gmail.com","commits":3,"url":"https://github.com/Ibrahim Gharbi"}]},"filePathRelative":"develop/README.md","autoDesc":true}');export{h as comp,c as data}; diff --git a/assets/index.html-D0-PoVlK.js b/assets/index.html-D0-PoVlK.js new file mode 100644 index 0000000..0ad5543 --- /dev/null +++ b/assets/index.html-D0-PoVlK.js @@ -0,0 +1 @@ +import{_ as i,o as a,c as o,a as n}from"./app-DkfO46MA.js";const t={};function r(s,e){return a(),o("div",null,e[0]||(e[0]=[n('

AI for services

APIs with LibreChat

For basic APIs exchange with LibreChat, you can use simple HTTP requests. You can use the /api/v1/chat/completions endpoint to send a request to the API and receive a response.

CloudAI with GCP

GCP is a suite of cloud computing services provided by Google. It includes a wide range of tools and services for building and consuming LLMs, such as Vertex AI, Google Colab, and ML Flow.

Large Consumer-Facing

These products are directly available to consumers, often integrating AI capabilities into everyday applications:

  • Google Colaboratory (Colab): A free Jupyter Notebook environment hosted by Google. Excellent for learning, experimentation, and sharing machine learning code. While not a "production" platform like Vertex AI, it's extremely popular for its ease of use and free access to compute resources (though with limitations).
  • Gemini: Google's large language model (LLM), positioned as a competitor to OpenAI's GPT models. Gemini's capabilities are integrated into various Google products and services, and are also accessible through APIs. Different versions of Gemini (e.g., Gemini Pro, Gemini Ultra) offer varying levels of capability and access. It powers several consumer-facing features across Google's ecosystem.
  • AI Studio Cloud-based machine learning platform offered by several companies, most notably Google with its Google AI Studio (now largely integrated into Vertex AI) and Amazon with Amazon SageMaker Studio. While both share the general goal of providing a user-friendly environment for building, training, and deploying machine learning models, their specific features and offerings differ. https://aistudio.google.com/

Vertex AI

This is the central hub for most Google Cloud's AI/ML services. It integrates and supersedes many previous offerings.

  • Vertex AI Training: Training machine learning models using various algorithms and frameworks (TensorFlow, PyTorch, scikit-learn, XGBoost, etc.). Provides access to managed compute instances (including TPUs).
  • Vertex AI Prediction: Deploying trained models for inference (making predictions). Offers different deployment options based on scale and latency requirements.
  • Vertex AI Pipelines: Creating and managing machine learning workflows, including data preprocessing, model training, evaluation, and deployment, as a series of connected steps.
  • Vertex AI Model Monitoring: Monitoring deployed models for performance degradation and potential issues (drift).
  • Vertex AI Feature Store: Centralized repository for storing, managing, and versioning features used in machine learning models, improving collaboration and reuse.
  • Vertex AI Matching Engine: A service for performing similarity searches (for example, recommendation systems).

Google Cloud APIs

Pre-trained Models and APIs: Google offers numerous pre-trained models and APIs for various tasks, making it easier to integrate AI into applications without building models from scratch. Examples include:

  • Google Cloud Natural Language API: Processing and understanding text (sentiment analysis, entity recognition, etc.). Google Cloud Vision API: Analyzing images (object detection, image classification, optical character recognition, etc.).
  • Google Cloud Speech-to-Text API: Converting audio to text.
  • Google Cloud Text-to-Speech API: Converting text to audio.
  • Google Cloud Translation API: Translating text between languages.
  • Other APIs: Many more APIs exist for various tasks like video intelligence, dialogflow (conversational AI), and more.

Specialized AI Products

Beyond the core platform and APIs, Google offers several specialized AI products:

  • TensorFlow: A popular open-source machine learning framework developed by Google. While not strictly a "Google Cloud" product, it's deeply integrated with their services.
  • TensorFlow Extended (TFX): A platform for deploying TensorFlow models at scale, often used in conjunction with Vertex AI.
  • JAX: A high-performance machine learning library, often used for research and advanced applications.
  • Google AI Platform Notebooks (integrated into Vertex AI): Jupyter Notebook environments hosted on Google Cloud. (Previously a separate offering, often confused with Google Colab.)
  • Dialogflow CX: A conversational AI platform for building complex conversational experiences.

Manage models (ML Flow)

MLflow provides tools for managing experiments, tracking model versions, deploying models to various environments, and managing models in a central registry. It's designed to be platform-agnostic, meaning it can work with many different cloud providers and even on-premises infrastructure.

Function calling (langchain4j)

Function calling is a feature that allows you to call functions from other services. It is useful for working with functions, such as APIs, and for interacting with models that require function calls.

To use function calling, you need to specify the function name and arguments in the prompt.

Ressouces Jean François James

Structured Outputs (Json Mode)

Json mode is a feature that allows you to send structured data to the model. It is useful for working with structured data, such as JSON objects, and for interacting with models that require structured input.

To use Json mode, you need to specify the input format as JSON in the prompt. You can do this by adding the following line to the beginning of your prompt:

Advanced RAG (llama-index)

RAG with Ollama CLI with Langchain4j and llama-index

Collaborative (Hugging Face)

The platform where the machine learning community collaborates on models, datasets, and applications.

Hugging Face is a platform for researchers and developers to share, explore, and build AI models. It provides a centralized repository for models, datasets, and applications, making it easy to find, use, and contribute to the growing ecosystem of AI technologies.

  • Creating/deploy/customize a model
  • Pre-trained model, use behind the APIs, also a ML part, training model generation for use

🧪 Exercises

📖 Further readings

',34)]))}const c=i(t,[["render",r],["__file","index.html.vue"]]),d=JSON.parse('{"path":"/services/","title":"AI for services","lang":"en-US","frontmatter":{"description":"AI for services APIs with LibreChat For basic APIs exchange with LibreChat, you can use simple HTTP requests. You can use the /api/v1/chat/completions endpoint to send a request...","head":[["meta",{"property":"og:url","content":"https://worldline.github.io/worldline/learning-ai/learning-ai/services/"}],["meta",{"property":"og:title","content":"AI for services"}],["meta",{"property":"og:description","content":"AI for services APIs with LibreChat For basic APIs exchange with LibreChat, you can use simple HTTP requests. You can use the /api/v1/chat/completions endpoint to send a request..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-11-20T13:15:23.000Z"}],["meta",{"property":"article:modified_time","content":"2024-11-20T13:15:23.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"AI for services\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-20T13:15:23.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"APIs with LibreChat","slug":"apis-with-librechat","link":"#apis-with-librechat","children":[]},{"level":2,"title":"CloudAI with GCP","slug":"cloudai-with-gcp","link":"#cloudai-with-gcp","children":[{"level":3,"title":"Large Consumer-Facing","slug":"large-consumer-facing","link":"#large-consumer-facing","children":[]},{"level":3,"title":"Vertex AI","slug":"vertex-ai","link":"#vertex-ai","children":[]},{"level":3,"title":"Google Cloud APIs","slug":"google-cloud-apis","link":"#google-cloud-apis","children":[]},{"level":3,"title":"Specialized AI Products","slug":"specialized-ai-products","link":"#specialized-ai-products","children":[]}]},{"level":2,"title":"Manage models (ML Flow)","slug":"manage-models-ml-flow","link":"#manage-models-ml-flow","children":[]},{"level":2,"title":"Function calling (langchain4j)","slug":"function-calling-langchain4j","link":"#function-calling-langchain4j","children":[]},{"level":2,"title":"Structured Outputs (Json Mode)","slug":"structured-outputs-json-mode","link":"#structured-outputs-json-mode","children":[]},{"level":2,"title":"Advanced RAG (llama-index)","slug":"advanced-rag-llama-index","link":"#advanced-rag-llama-index","children":[]},{"level":2,"title":"Collaborative (Hugging Face)","slug":"collaborative-hugging-face","link":"#collaborative-hugging-face","children":[]},{"level":2,"title":"🧪 Exercises","slug":"🧪-exercises","link":"#🧪-exercises","children":[]},{"level":2,"title":"📖 Further readings","slug":"📖-further-readings","link":"#📖-further-readings","children":[]}],"git":{"updatedTime":1732108523000,"contributors":[{"name":"Brah","email":"brah.gharbi@gmail.com","commits":1,"url":"https://github.com/Brah"},{"name":"Ibrahim Gharbi","email":"brah.gharbi@gmail.com","commits":4,"url":"https://github.com/Ibrahim Gharbi"}]},"filePathRelative":"services/README.md","autoDesc":true}');export{c as comp,d as data}; diff --git a/assets/index.html-D0QgU6oo.js b/assets/index.html-D0QgU6oo.js new file mode 100644 index 0000000..b8cad0d --- /dev/null +++ b/assets/index.html-D0QgU6oo.js @@ -0,0 +1,6 @@ +import{_ as a,o as t,c as i,a as n}from"./app-DkfO46MA.js";const s="/learning-ai/assets/librechat_interface-CYKYbYEb.png",r="/learning-ai/assets/prompt-D9YI1LJh.png",o="/learning-ai/assets/demo_prompt-BpZVtafc.gif",l="/learning-ai/assets/assistant-BJUR0Mbm.png",p="/learning-ai/assets/multi_plugin-TCdQZhy0.png",c="/learning-ai/assets/result_prompt-C4XLLbdh.png",h={};function d(u,e){return t(),i("div",null,e[0]||(e[0]=[n('

Online with Librechat

librechat_interface

LibreChat is a free, open source AI chat platform. This Web UI offers vast customization, supporting numerous AI providers, services, and integrations. Serves all AI Conversations in one place with a familiar interface, innovative enhancements, for as many users as you need.

The full librechat documentation is available here

Let's discover how to use LibreChat to create efficient and effective conversations with AI for developers.

Prompts history

Prompts history allows users to save and load prompts for their conversations and easily access them later. Reusing prompts can save time and effort, especially when working with multiple conversations and keep track of the context and details of a conversation.

Favorites

The favorites feature allows users to save and load favorite prompts for their conversations and easily access them later.

Presets

The presets feature allows users to save and load predefined settings for initialise a conversations. Users can import and export these presets as JSON files, set a default preset, and share them with others.

Preformatted prompts

The prompts feature allows users to save and load predefined prompts to use it during their conversations. You can use a prompt with the /[prompt command]. A prompt can have parameters, which are replaced with values when the prompt is used.

Exemple of preformatted prompts : Explain the following code snippet in Java, Kotlin or Javascript

  • Click on the + button to add a new prompt.
  • name your prompt : explain
  • on Text tab, you can write your prompt :
Explain the following {{language:Java|Kotlin|Javascript}} snippet of code: 
+{{code}}
+

preformatted_prompts_config

  • Now you can use the /explain command to get the explanation of the code snippet.

preformatted_prompts_usage

AI providers

Azure OpenAI

Azure OpenAI Service provides REST API access to OpenAI's powerful language models, including the o1-preview, o1-mini, GPT-4o, GPT-4o mini, GPT-4 Turbo with Vision, GPT-4, GPT-3.5-Turbo, and Embeddings model series.

Google Gemini

Gemini is a large language model (LLM) developed by Google. It's designed to be a multimodal AI, meaning it can work with and understand different types of information, including text, code, audio, and images. Google positions Gemini as a highly capable model for a range of tasks, from answering questions and generating creative content to problem-solving and more complex reasoning. There are different versions of Gemini, optimized for different tasks and scales.

Anthropic Claude

Claude is an Artificial Intelligence, trained by Anthropic. Claude can process large amounts of information, brainstorm ideas, generate text and code, help you understand subjects, coach you through difficult situations, help simplify your busywork so you can focus on what matters most, and so much more.

Assistants

The Assistants API enables the creation of AI assistants, offering functionalities like code interpreter, knowledge retrieval of files, and function execution. The Assistants API allows you to build AI assistants within your own applications for specific needs. An Assistant has instructions and can leverage models, tools, and files to respond to user queries. The Assistants API currently supports three types of tools: Code Interpreter, File Search, and Function calling.

assistant

Plugins

The plugins endpoint opens the door to prompting LLMs in new ways other than traditional input/output prompting.

Warning

Every additional plugin selected will increase your token usage as there are detailed instructions the LLM needs for each one For best use, be selective with plugins per message and narrow your requests as much as possible

DALL-E 3

Dall-e 3 is a librechat Plugin for generating images from text. You can use it to generate images from text, such as product descriptions, product images, or even documentation images to illustrate your technical documentation.

Confluence

Ask confluence is a librechat Plugin for Confluence documents.

IT support

Ask for IT support enable you to get support from the IT team and create WLSD tickets from your chats.

WOLF

Wolf is a librechat Plugin for WL Managagement System documents. The sharepoint documention is available here

Ask to WorldLine management system Friend everything you are looking for in the WMS content. AskWOLF plugin is meant to help you navigate through the multitude of information provided by the WMS (Applicable Policies, Processes & Procedures, Transversal & Operations SP pages links, …). This Worldline LibreChat plugin relies on ChatGPT technologies.

​​​​​​​Worldline Management System (WMS) is the Group reference for all information pertaining to our operating model such as applicable policies, processes and governance structures. Key responsibilities are :

  • consistently address its customers’ and markets’ requirements across all its geographies
  • continuous improvement of customer satisfaction through effective application of WMS
  • correct interpretation of applicable ISO standards requirements

Example of prompts:

  • AskWOLF: What is the WMS?
  • AskWOLF: What are the policies?
  • AskWOLF: What are the processes?

Browse plugins

Retrieve data from internet and use it to generate a response.

Plugin mixing

You can mix plugins to create more complex prompts. For example, you can use the DALL-E 3 plugin to generate images from text and then use the IT support plugin to get support from the IT team.

Generate the favicon 16x16 pixels based on the content found in 
+https://worldline.github.io/learning-ai/overview/ with Browser plugin 
+and generate the favicon with DallE. I want no background and black and white image
+

promptFavicon

RAG

RAG is possible with LibreChat. You can use RAG to create a conversation with the AI. To can add files to the conversation, you go to the file tab and select the file you want to add. Then the file will be added to the file manager and you can use it in the prompt.

The file can be an png, a video, a text file, or a PDF file.

🧪 Exercises

1. Prompt creation

Select one prompt engineering technique and make a prompt in librechat that can be called with the /[prompt_name] command.

2. Plugins mixing

Use the Browse and Dall-E plugins to create a prompt that generates a a favicon based on the content of this learning-ai website.

3. Make your own assistant

Choose your favorite topic ( cooking, travel, sports, etc.) and create an assistant that can answer questions about it. You can share documents, files and instructions to configure your custom assistant and use it.

📖 Further readings

',63)]))}const g=a(h,[["render",d],["__file","index.html.vue"]]),f=JSON.parse('{"path":"/llm/","title":"Online with Librechat","lang":"en-US","frontmatter":{"description":"Online with Librechat librechat_interface LibreChat is a free, open source AI chat platform. This Web UI offers vast customization, supporting numerous AI providers, services, a...","head":[["meta",{"property":"og:url","content":"https://worldline.github.io/worldline/learning-ai/learning-ai/llm/"}],["meta",{"property":"og:title","content":"Online with Librechat"}],["meta",{"property":"og:description","content":"Online with Librechat librechat_interface LibreChat is a free, open source AI chat platform. This Web UI offers vast customization, supporting numerous AI providers, services, a..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-11-20T13:15:23.000Z"}],["meta",{"property":"article:modified_time","content":"2024-11-20T13:15:23.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Online with Librechat\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-20T13:15:23.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Prompts history","slug":"prompts-history","link":"#prompts-history","children":[]},{"level":2,"title":"Favorites","slug":"favorites","link":"#favorites","children":[]},{"level":2,"title":"Presets","slug":"presets","link":"#presets","children":[]},{"level":2,"title":"Preformatted prompts","slug":"preformatted-prompts","link":"#preformatted-prompts","children":[]},{"level":2,"title":"AI providers","slug":"ai-providers","link":"#ai-providers","children":[{"level":3,"title":"Azure OpenAI","slug":"azure-openai","link":"#azure-openai","children":[]},{"level":3,"title":"Google Gemini","slug":"google-gemini","link":"#google-gemini","children":[]},{"level":3,"title":"Anthropic Claude","slug":"anthropic-claude","link":"#anthropic-claude","children":[]}]},{"level":2,"title":"Assistants","slug":"assistants","link":"#assistants","children":[]},{"level":2,"title":"Plugins","slug":"plugins","link":"#plugins","children":[{"level":3,"title":"DALL-E 3","slug":"dall-e-3","link":"#dall-e-3","children":[]},{"level":3,"title":"Confluence","slug":"confluence","link":"#confluence","children":[]},{"level":3,"title":"IT support","slug":"it-support","link":"#it-support","children":[]},{"level":3,"title":"WOLF","slug":"wolf","link":"#wolf","children":[]},{"level":3,"title":"Browse plugins","slug":"browse-plugins","link":"#browse-plugins","children":[]}]},{"level":2,"title":"Plugin mixing","slug":"plugin-mixing","link":"#plugin-mixing","children":[]},{"level":2,"title":"RAG","slug":"rag","link":"#rag","children":[]},{"level":2,"title":"🧪 Exercises","slug":"🧪-exercises","link":"#🧪-exercises","children":[]},{"level":2,"title":"📖 Further readings","slug":"📖-further-readings","link":"#📖-further-readings","children":[]}],"git":{"updatedTime":1732108523000,"contributors":[{"name":"Brah","email":"brah.gharbi@gmail.com","commits":2,"url":"https://github.com/Brah"}]},"filePathRelative":"llm/README.md","autoDesc":true}');export{g as comp,f as data}; diff --git a/assets/index.html-DC5R9WtP.js b/assets/index.html-DC5R9WtP.js new file mode 100644 index 0000000..8f9bd03 --- /dev/null +++ b/assets/index.html-DC5R9WtP.js @@ -0,0 +1 @@ +import{_ as t,o as n,c as l,a,b as i}from"./app-DkfO46MA.js";const r="/learning-ai/assets/turing_test-DKoxXym2.png",o="/learning-ai/assets/gasparov-DChlTPYb.jpg",s="/learning-ai/assets/jeopardy-CySJ857r.jpg",c="/learning-ai/assets/alphago-D7ibr0g1.png",p="/learning-ai/assets/market-C_dAjFms.png",h="/learning-ai/assets/top50-Du4eFrfo.png",d={};function u(b,e){return n(),l("div",null,e[0]||(e[0]=[a('

Let's start

Warning

LLMs and MMLLMs are constantly evolving, and new applications for developer training are emerging all the time.

Prerequisites

Shell Command Line Skills:

The AI should include support for providing guidance on using shell commands, navigating file systems, and executing command-line operations across different operating systems.

Understanding of HTTP and API:

Proficiency in HTTP protocol, RESTful API concepts, and web service integration is crucial for the AI to provide support on API design, consumption, and troubleshooting common API-related issues.

Basic Cloud Knowledge:

Understanding of cloud computing principles, including basic concepts of cloud infrastructure, services, and deployment models, will enable the AI to offer guidance on cloud-based development, deployment, and best practices.

Warning

Additionnaly, Request Worldline librechat access: send a mail at Generative AI Taskforce email

There is a dedicated sharepoint for basic general assistant quick start at Worldline : LibreChat Worldline guides

Definitions

Large Language Model (LLM)

Large Language Model is a powerful type of AI model trained on massive datasets of text and code. LLMs can understand, generate, and manipulate language. Ex : ChatGPT, Bard, Codex

What are Large Language Models (LLMs)? by Google for developpers

',14),i("iframe",{width:"560",height:"315",src:"https://www.youtube.com/embed/iR2O2GPbB0E",title:"What are Large Language Models (LLMs)? by Google for developpers",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""},null,-1),a('

Multi-Modal LLM (MMLLM)

Multi-Modal Large Language Model is an advanced LLM that can process and generate both text and other data formats like images, audio, or video. Ex: DALL-E 2, Stable Diffusion (for image generation)

Machine Learning (ML)

Machine Learning is a subset of AI that focuses on training algorithms to learn from data and make predictions or decisions without explicit programming. ML powers many AI applications, including image recognition, natural language processing, and predictive analytics.

Deep Learning (DL)

Deep Learning is a type of ML that uses artificial neural networks with multiple layers to learn complex patterns from data.DL has revolutionized fields like computer vision, speech recognition, and machine translation.

Neural Network

A computational model inspired by the structure of the human brain, consisting of interconnected nodes (neurons) organized in layers.Neural networks are the core building blocks of deep learning models.

Natural Language Processing (NLP)

Natural Language Processing is a branch of Artificial Intelligence (AI) that focuses on enabling computers to understand, interpret, and generate human language. It implies :

  • Text Analysis
  • Language Understanding
  • Text Generation
  • Translation
  • Speech Recognition: Powers voice assistants and speech-to-text technologies

Prompt:

A specific set of instructions or questions given to an LLM to guide its response. Well-crafted prompts are crucial for getting accurate and relevant output from LLMs. Ex : "Write a Python function to check if a string is a palindrome."

Token:

The smallest unit of meaning processed by an LLM. Tokens can be words, parts of words, punctuation marks, or special characters. LLMs process text by analyzing sequences of tokens, making it important to understand how they are broken down. Ex : The sentence "I love programming" would be split into the following tokens: "I", "love", "programming".

Temperature:

A parameter in some LLMs that controls the randomness or creativity of the generated text. Adjust temperature based on the desired level of creativity or accuracy in the LLM's output.

  • A higher temperature generate more randomness and unpredictability in the output.
  • A lower temperature generate more predictable and coherent output.

RAG: Retrieval Augmented Generation

RAG (Retrieval Augmented Generation) is a powerful technique in the field of Natural Language Processing (NLP) that combines the best of both worlds: information retrieval and language generation.

  • The system first retrieves relevant information from a vast knowledge base (often a database or a set of documents) based on the user's query or prompt.
  • This retrieved information is then used to augment the language model's input, providing it with more context and specific facts.
  • Finally, the language model uses this augmented input to generate a more comprehensive and informative response, leveraging both its knowledge base and its language generation capabilities.

A bit of History

AI's history has been marked by periods of progress and setbacks. Computing power, data availability, and algorithmic advancements have played crucial roles in AI's evolution. AI is no longer limited to expert systems but encompasses a wide range of techniques and applications.

  • 1950: Alan Turing proposes the "Turing Test" to assess machine intelligence.

During the turing test, the human questioner asks a series of questions to both respondantes. After the specified time, the questionner tries to decide which terminal is operated bu the human respondant and which terminal is operated by the computer.

turing

  • 1956: Dartmouth Conference establishes the field of "Artificial Intelligence".

  • 1959: Arthur Samuel develops a checkers-playing program that learns and improves over time.

  • 1960s: Research focused on logic-based reasoning and early expert systems.

  • 1972: The first expert system, DENDRAL, is developed for identifying organic molecules.

  • 1980s-1990s: Development of new techniques like machine learning and neural networks.

  • 1997: Deep Blue, a chess-playing computer, defeats Garry Kasparov, the world chess champion. gasparov

  • 1990s-2000s: Advances in computing power, data availability, and algorithms as fuel for AI progress.

  • 2010s: Deep learning revolutionizes AI with breakthroughs in image recognition, speech recognition, and natural language processing.

  • 2011: Watson, an IBM supercomputer, wins Jeopardy! against human champions. jeopardy

  • 2016: AlphaGo, a program developed by Google DeepMind, defeats Go champion Lee Sedol. alphago

  • 2022: First release of ChatGPT : AI continues to evolve rapidly, with advancements in areas like autonomous vehicles, robotics, and personalized medicine.

The market

market

top50

🧪 Exercises

1. LLMs and MMLLMs are constantly evolving.


2. Multi-Modal LLMs can process and generate only text data.


3. Which of the following are examples of Machine Learning applications?




4. Deep Learning uses artificial neural networks with multiple layers.


5. Natural Language Processing (NLP) includes which of the following?




6. RAG stands for Retrieval Augmented Generation.


7. LLMs can only generate text and cannot understand it.


8. Which of the following is NOT a type of Machine Learning?




9. Deep Learning models require less data than traditional Machine Learning models.


10. Natural Language Processing can be used for sentiment analysis.


11. Which of the following are common applications of Deep Learning?




12. RAG can improve the accuracy of responses generated by LLMs.


13. Which of the following is a benefit of using Cloud Computing for AI?




14. The Turing Test is designed to evaluate a machine's ability to exhibit intelligent behavior.


15. Multi-Modal LLMs can only process text and images.


Solution

1. LLMs and MMLLMs are constantly evolving.


2. Multi-Modal LLMs can process and generate only text data.


3. Which of the following are examples of Machine Learning applications?




4. Deep Learning uses artificial neural networks with multiple layers.


5. Natural Language Processing (NLP) includes which of the following?




6. RAG stands for Retrieval Augmented Generation.


7. LLMs can only generate text and cannot understand it.


8. Which of the following is NOT a type of Machine Learning?




9. Deep Learning models require less data than traditional Machine Learning models.


10. Natural Language Processing can be used for sentiment analysis.


11. Which of the following are common applications of Deep Learning?




12. RAG can improve the accuracy of responses generated by LLMs.


13. Which of the following is a benefit of using Cloud Computing for AI?




14. The Turing Test is designed to evaluate a machine's ability to exhibit intelligent behavior.


15. Multi-Modal LLMs can only process text and images.


📖 Further readings

',35)]))}const m=t(d,[["render",u],["__file","index.html.vue"]]),f=JSON.parse(`{"path":"/overview/","title":"Let's start","lang":"en-US","frontmatter":{"description":"Let's start Warning LLMs and MMLLMs are constantly evolving, and new applications for developer training are emerging all the time. Prerequisites Shell Command Line Skills: The ...","head":[["meta",{"property":"og:url","content":"https://worldline.github.io/worldline/learning-ai/learning-ai/overview/"}],["meta",{"property":"og:title","content":"Let's start"}],["meta",{"property":"og:description","content":"Let's start Warning LLMs and MMLLMs are constantly evolving, and new applications for developer training are emerging all the time. Prerequisites Shell Command Line Skills: The ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-11-20T13:15:23.000Z"}],["meta",{"property":"article:modified_time","content":"2024-11-20T13:15:23.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Let's start\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-20T13:15:23.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Prerequisites","slug":"prerequisites","link":"#prerequisites","children":[]},{"level":2,"title":"Definitions","slug":"definitions","link":"#definitions","children":[{"level":3,"title":"Large Language Model (LLM)","slug":"large-language-model-llm","link":"#large-language-model-llm","children":[]},{"level":3,"title":"Multi-Modal LLM (MMLLM)","slug":"multi-modal-llm-mmllm","link":"#multi-modal-llm-mmllm","children":[]},{"level":3,"title":"Machine Learning (ML)","slug":"machine-learning-ml","link":"#machine-learning-ml","children":[]},{"level":3,"title":"Deep Learning (DL)","slug":"deep-learning-dl","link":"#deep-learning-dl","children":[]},{"level":3,"title":"Neural Network","slug":"neural-network","link":"#neural-network","children":[]}]},{"level":2,"title":"A bit of History","slug":"a-bit-of-history","link":"#a-bit-of-history","children":[]},{"level":2,"title":"The market","slug":"the-market","link":"#the-market","children":[]},{"level":2,"title":"🧪 Exercises","slug":"🧪-exercises","link":"#🧪-exercises","children":[]},{"level":2,"title":"📖 Further readings","slug":"📖-further-readings","link":"#📖-further-readings","children":[]}],"git":{"updatedTime":1732108523000,"contributors":[{"name":"Brah","email":"brah.gharbi@gmail.com","commits":3,"url":"https://github.com/Brah"},{"name":"Ibrahim Gharbi","email":"brah.gharbi@gmail.com","commits":4,"url":"https://github.com/Ibrahim Gharbi"}]},"filePathRelative":"overview/README.md","autoDesc":true}`);export{m as comp,f as data}; diff --git a/assets/index.html-bbNjYxoL.js b/assets/index.html-bbNjYxoL.js new file mode 100644 index 0000000..dc03679 --- /dev/null +++ b/assets/index.html-bbNjYxoL.js @@ -0,0 +1,12 @@ +import{_ as n,o as s,c as a,a as t}from"./app-DkfO46MA.js";const o="/learning-ai/assets/lmstudio-B6PjFtYg.png",i={};function l(p,e){return s(),a("div",null,e[0]||(e[0]=[t('

Offline with LM Studio

Disclamer

Be careful with offline prompting models downloaded from the internet. They can contain malicious code. And also the size of the model can be very large from few Gb to few Tb.

Definitions

If you don't want to use the online AI providers, you can use offline prompting. This technique involves using a local LLM to generate responses to prompts. It is useful for developers who want to use a local LLM for offline prompting or for those who want to experiment with different LLMs without relying on online providers.

LM Studio is a tool that allows developers to experiment with different LLMs without relying on online providers. It provides a user-friendly interface for selecting and configuring LLMs, as well as a chat interface for interacting with the LLMs. It also includes features for fine-tuning and deploying LLMs. This technique is useful for developers who want to experiment with different LLMs.

Installation

lmstudio_installation

For installation, you can follow the instructions here

Model configuration

You can configure the model you want to use in the settings tab. You can select the model you want to use and configure it according to your needs.

Context Length: The context length is the number of tokens that will be used as context for the model. This is important because it determines how much information the model can use to generate a response. A longer context length will allow the model to generate more detailed and relevant responses, but it may also increase the computational cost of the model.

GPU Offload: This option allows you to offload the model to a GPU if available. This can significantly speed up the generation process, especially for longer prompts or complex models.

CPU Threads: This option allows you to specify the number of CPU threads to use for the model. This can be useful for controlling the computational resources used by the model.

Evaluation batch size: This option allows you to specify the batch size for evaluation. This is important for evaluating the performance of the model and can affect the speed and accuracy of the generation process.

RoPE Frequency base: This option allows you to specify the frequency base for RoPE (Range-based Output Embedding). This is important for controlling the output length of the model and can affect the quality of the generated responses.

RoPE Frequency scale: This option allows you to specify the frequency scale for RoPE (Range-based Output Embedding). This is important for controlling the output length of the model and can affect the quality of the generated responses.

Keep model in memory: This option allows you to keep the model in memory after the generation process is complete. This can be useful for generating multiple responses or for using the model for offline prompting.

Try mmap() for faster loading: This option allows you to try using mmap() for faster loading of the model. This can be useful for loading large models or for generating responses quickly.

Seed: This option allows you to specify a seed for the model. This can be useful for controlling the randomness of the generated responses.

Flash Attention: This option allows you to enable flash attention for the model. This can be useful for generating more detailed and accurate responses, but it may also increase the computational cost of the model.

enable APIs

You can use the APIs to generate responses from the models. To enable the API server with LM Studio, you need to set the API Server option to ON in the settings tab. You can then use the API endpoints to generate responses from the models.

2024-11-15 18:45:22  [INFO] [LM STUDIO SERVER] Success! HTTP server listening on port 1234
+2024-11-15 18:45:22  [INFO]
+2024-11-15 18:45:22  [INFO] [LM STUDIO SERVER] Supported endpoints:
+2024-11-15 18:45:22  [INFO] [LM STUDIO SERVER] ->	GET  http://localhost:1234/v1/models
+2024-11-15 18:45:22  [INFO] [LM STUDIO SERVER] ->	POST http://localhost:1234/v1/chat/completions
+2024-11-15 18:45:22  [INFO] [LM STUDIO SERVER] ->	POST http://localhost:1234/v1/completions
+2024-11-15 18:45:22  [INFO] [LM STUDIO SERVER] ->	POST http://localhost:1234/v1/embeddings
+2024-11-15 18:45:22  [INFO]
+2024-11-15 18:45:22  [INFO] [LM STUDIO SERVER] Logs are saved into /Users/ibrahim/.cache/lm-studio/server-logs
+2024-11-15 18:45:22  [INFO] Server started.
+2024-11-15 18:45:22  [INFO] Just-in-time model loading active.
+

You can use the endpoints to generate responses from the models. The endpoints are as follows:

  • GET /v1/models: This endpoint returns a list of the available models.
  • POST /v1/chat/completions: This endpoint generates responses from the models using the chat format.Chat format is used for tasks such as chatbots, conversational AI, and language learning.
  • POST /v1/completions: This endpoint generates responses from the models using the completion format. Completion format is used for tasks such as question answering, summarization, and text generation.
  • POST /v1/embeddings: This endpoint generates embeddings from the models. Embeddings are used for tasks such as sentiment analysis, text classification, and language translation.

🧪 Exercises

📖 Further readings

`,27)]))}const c=n(i,[["render",l],["__file","index.html.vue"]]),d=JSON.parse('{"path":"/offline/","title":"Offline with LM Studio","lang":"en-US","frontmatter":{"description":"Offline with LM Studio Disclamer Be careful with offline prompting models downloaded from the internet. They can contain malicious code. And also the size of the model can be ve...","head":[["meta",{"property":"og:url","content":"https://worldline.github.io/worldline/learning-ai/learning-ai/offline/"}],["meta",{"property":"og:title","content":"Offline with LM Studio"}],["meta",{"property":"og:description","content":"Offline with LM Studio Disclamer Be careful with offline prompting models downloaded from the internet. They can contain malicious code. And also the size of the model can be ve..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-11-15T17:49:41.000Z"}],["meta",{"property":"article:modified_time","content":"2024-11-15T17:49:41.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Offline with LM Studio\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-15T17:49:41.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Definitions","slug":"definitions","link":"#definitions","children":[]},{"level":2,"title":"Installation","slug":"installation","link":"#installation","children":[]},{"level":2,"title":"Model configuration","slug":"model-configuration","link":"#model-configuration","children":[]},{"level":2,"title":"enable APIs","slug":"enable-apis","link":"#enable-apis","children":[]},{"level":2,"title":"🧪 Exercises","slug":"🧪-exercises","link":"#🧪-exercises","children":[]},{"level":2,"title":"📖 Further readings","slug":"📖-further-readings","link":"#📖-further-readings","children":[]}],"git":{"updatedTime":1731692981000,"contributors":[{"name":"Brah","email":"brah.gharbi@gmail.com","commits":1,"url":"https://github.com/Brah"}]},"filePathRelative":"offline/README.md","autoDesc":true}');export{c as comp,d as data}; diff --git a/assets/jeopardy-CySJ857r.jpg b/assets/jeopardy-CySJ857r.jpg new file mode 100644 index 0000000..e490acb Binary files /dev/null and b/assets/jeopardy-CySJ857r.jpg differ diff --git a/assets/librechat_interface-CYKYbYEb.png b/assets/librechat_interface-CYKYbYEb.png new file mode 100644 index 0000000..21a139b Binary files /dev/null and b/assets/librechat_interface-CYKYbYEb.png differ diff --git a/assets/lmstudio-B6PjFtYg.png b/assets/lmstudio-B6PjFtYg.png new file mode 100644 index 0000000..956e83e Binary files /dev/null and b/assets/lmstudio-B6PjFtYg.png differ diff --git a/assets/logo_worldline-t5KadDQv.png b/assets/logo_worldline-t5KadDQv.png new file mode 100644 index 0000000..6981642 Binary files /dev/null and b/assets/logo_worldline-t5KadDQv.png differ diff --git a/assets/market-C_dAjFms.png b/assets/market-C_dAjFms.png new file mode 100644 index 0000000..3afffea Binary files /dev/null and b/assets/market-C_dAjFms.png differ diff --git a/assets/multi_plugin-TCdQZhy0.png b/assets/multi_plugin-TCdQZhy0.png new file mode 100644 index 0000000..ee1ea76 Binary files /dev/null and b/assets/multi_plugin-TCdQZhy0.png differ diff --git a/assets/prompt-D9YI1LJh.png b/assets/prompt-D9YI1LJh.png new file mode 100644 index 0000000..9ab8068 Binary files /dev/null and b/assets/prompt-D9YI1LJh.png differ diff --git a/assets/result_prompt-C4XLLbdh.png b/assets/result_prompt-C4XLLbdh.png new file mode 100644 index 0000000..fa8a390 Binary files /dev/null and b/assets/result_prompt-C4XLLbdh.png differ diff --git a/assets/setupDevtools-7MC2TMWH-BnF_1LTO.js b/assets/setupDevtools-7MC2TMWH-BnF_1LTO.js new file mode 100644 index 0000000..b753321 --- /dev/null +++ b/assets/setupDevtools-7MC2TMWH-BnF_1LTO.js @@ -0,0 +1 @@ +import{s as T,w as E}from"./app-DkfO46MA.js";var l="org.vuejs.vuepress",v="VuePress",I=v,r=l,N=v,i="client-data",a="Client Data",g=(p,n)=>{T({app:p,id:l,label:v,packageName:"@vuepress/client",homepage:"https://vuepress.vuejs.org",logo:"https://vuepress.vuejs.org/images/hero.png",componentStateTypes:[I]},t=>{const c=Object.entries(n),u=Object.keys(n),d=Object.values(n);t.on.inspectComponent(e=>{e.instanceData.state.push(...c.map(([s,o])=>({type:I,editable:!1,key:s,value:o.value})))}),t.addInspector({id:r,label:N,icon:"article"}),t.on.getInspectorTree(e=>{e.inspectorId===r&&(e.rootNodes=[{id:i,label:a,children:u.map(s=>({id:s,label:s}))}])}),t.on.getInspectorState(e=>{e.inspectorId===r&&(e.nodeId===i&&(e.state={[a]:c.map(([s,o])=>({key:s,value:o.value}))}),u.includes(e.nodeId)&&(e.state={[a]:[{key:e.nodeId,value:n[e.nodeId].value}]}))}),E(d,()=>{t.notifyComponentUpdate(),t.sendInspectorState(r)})})};export{g as setupDevtools}; diff --git a/assets/style-D1zXtE8K.css b/assets/style-D1zXtE8K.css new file mode 100644 index 0000000..b6d1278 --- /dev/null +++ b/assets/style-D1zXtE8K.css @@ -0,0 +1 @@ +.vp-back-to-top-button{position:fixed!important;inset-inline-end:1rem;bottom:4rem;z-index:100;width:48px;height:48px;padding:12px;border-width:0;border-radius:50%;background:var(--back-to-top-c-bg);color:var(--back-to-top-c-accent-bg);box-shadow:2px 2px 10px 4px var(--back-to-top-c-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{transform:scale(.8);transform-origin:100% 100%}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-c-accent-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:24px;height:24px;margin:0 auto;background:var(--back-to-top-c-icon);-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:52px;height:52px}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;transform:rotate(-90deg);transform-origin:50% 50%}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cpath%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='4'%20d='M24.008%2014.1V42M12%2026l12-12l12%2012M12%206h24'%20/%3e%3c/svg%3e");--back-to-top-c-bg: var(--vp-c-bg);--back-to-top-c-accent-bg: var(--vp-c-accent-bg);--back-to-top-c-accent-hover: var(--vp-c-accent-hover);--back-to-top-c-shadow: var(--vp-c-shadow);--back-to-top-c-icon: currentcolor}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:#0000;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:before{content:"";display:inline-block;width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-c-text);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-c-hover)}.vp-copy-code-button.copied:before{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--copy-code-c-hover);color:var(--copy-code-c-text);font-weight:500;line-height:1.25rem;white-space:nowrap}.no-copy-code .vp-copy-code-button{display:none}body:not(.no-copy-code) div[class*=language-]:hover:before{display:none}body:not(.no-copy-code) div[class*=language-]:hover .vp-copy-code-button{opacity:1}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2' /%3e%3c/svg%3e");--code-copied-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4' /%3e%3c/svg%3e");--copy-code-c-text: var(--code-c-line-number);--copy-code-c-hover: var(--code-c-highlight-bg)}.hint-container{position:relative;background:var(--hint-c-soft);transition:background var(--vp-t-color),color var(--vp-t-color)}@media print{.hint-container{page-break-inside:avoid}}.hint-container>.hint-container-title{color:var(--hint-c-title)}.hint-container :not(pre)>code{background:var(--hint-c-soft)}.hint-container .hint-container-title{position:relative;margin-block:.75em;font-weight:600;line-height:1.25}.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin-block:.75rem;padding:.25em 1em;border-radius:.5em;color:inherit;font-size:var(--hint-font-size)}@media print{.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{border-inline-start-width:.25em;border-inline-start-style:solid}}.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:1.75em}@media print{.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:0}}.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{content:" ";position:absolute;inset-inline-start:0;top:calc(50% - .6125em);width:1.25em;height:1.25em;font-size:1.25em}@media print{.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{display:none}}.hint-container.important p,.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.caution p{line-height:1.5}.hint-container.important a,.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.caution a{color:var(--vp-c-accent)}.hint-container.important{--hint-c-accent: var(--important-c-accent);--hint-c-title: var(--important-c-text);--hint-c-soft: var(--important-c-soft)}.hint-container.important>.hint-container-title:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hint-container.info{--hint-c-accent: var(--info-c-accent);--hint-c-title: var(--info-c-text);--hint-c-soft: var(--info-c-soft)}.hint-container.info>.hint-container-title:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hint-container.note{--hint-c-accent: var(--note-c-accent);--hint-c-title: var(--note-c-text);--hint-c-soft: var(--note-c-soft)}.hint-container.note>.hint-container-title:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hint-container.tip{--hint-c-accent: var(--tip-c-accent);--hint-c-title: var(--tip-c-text);--hint-c-soft: var(--tip-c-soft)}.hint-container.tip>.hint-container-title:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hint-container.warning{--hint-c-accent: var(--warning-c-accent);--hint-c-title: var(--warning-c-text);--hint-c-soft: var(--warning-c-soft)}.hint-container.warning>.hint-container-title:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hint-container.caution{--hint-c-accent: var(--caution-c-accent);--hint-c-title: var(--caution-c-text);--hint-c-soft: var(--caution-c-soft)}.hint-container.caution>.hint-container-title:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hint-container.details{position:relative;display:block;margin-block:.75rem;padding:1.25rem 1rem;border-radius:.5rem;background:var(--detail-c-bg);transition:background var(--vp-t-transform),color var(--vp-t-transform)}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-c-accent)}.hint-container.details :not(pre)>code{background:var(--detail-c-soft)}.hint-container.details summary{position:relative;margin:-1rem;padding-block:1em;padding-inline:3em 1.5em;list-style:none;font-size:var(--hint-font-size);cursor:pointer}.hint-container.details summary::-webkit-details-marker{display:none}.hint-container.details summary::marker{color:#0000;font-size:0}.hint-container.details summary:before{background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;content:" ";position:absolute;inset-inline-start:.8em;top:calc(50% - .5em);width:1em;height:1em;font-size:1.25rem;line-height:normal;transition:color,var(--vp-t-color),transform var(--vp-t-transform);transform:rotate(90deg)}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:before{transform:rotate(180deg)}:root{--hint-font-size: .92rem;--important-c-accent: var(--vp-c-purple-bg);--important-c-text: var(--vp-c-purple-text);--important-c-soft: var(--vp-c-purple-soft);--info-c-accent: var(--vp-c-blue-bg);--info-c-text: var(--vp-c-blue-text);--info-c-soft: var(--vp-c-blue-soft);--note-c-accent: var(--vp-c-grey-bg);--note-c-text: var(--vp-c-grey-text);--note-c-soft: var(--vp-c-grey-soft);--tip-c-accent: var(--vp-c-green-bg);--tip-c-text: var(--vp-c-green-text);--tip-c-soft: var(--vp-c-green-soft);--warning-c-accent: var(--vp-c-yellow-bg);--warning-c-text: var(--vp-c-yellow-text);--warning-c-soft: var(--vp-c-yellow-soft);--caution-c-accent: var(--vp-c-red-bg);--caution-c-text: var(--vp-c-red-text);--caution-c-soft: var(--vp-c-red-soft);--detail-c-bg: var(--vp-c-control);--detail-c-icon: var(--vp-c-border);--detail-c-soft: var(--vp-c-grey-soft)}:root{--medium-zoom-z-index: 100;--medium-zoom-c-bg: var(--vp-c-bg-elv, #fff);--medium-zoom-opacity: 1}.medium-zoom-overlay{z-index:var(--medium-zoom-z-index);background-color:var(--medium-zoom-c-bg)!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-c: var(--vp-c-accent);--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{position:fixed;top:0;left:0;z-index:var(--nprogress-z-index);width:100%;height:2px;background:var(--nprogress-c)}:root{--code-padding-x: 1.25rem;--code-padding-y: 1rem;--code-border-radius: 6px;--code-line-height: 1.6;--code-font-size: 14px;--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:0;border-radius:var(--code-border-radius);font-size:var(--code-font-size);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:#0000!important;color:var(--code-c-text);overflow-wrap:unset;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}:root{--code-c-text: #f8f8f2;--code-c-bg: #2e3440;--code-c-highlight-bg: rgb(51.6454545455, 60.5484848485, 78.3545454545);--code-c-line-number: rgba(248, 248, 242, .67)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:.7}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#a3be8c}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:#81a1c1}.token.atrule,.token.attr-value,.token.function,.token.class-name{color:#88c0d0}.token.keyword{color:#81a1c1}.token.regex,.token.important{color:#ebcb8b}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}:root{--code-line-number-width: 3rem}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;left:0;width:var(--code-line-number-width);height:100%;border-right:1px solid var(--code-c-highlight-bg, var(--code-c-text));border-radius:var(--code-border-radius) 0 0 var(--code-border-radius);transition:border var(--vp-t-color)}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--code-line-number-width)}div[class*=language-].line-numbers-mode code{padding-left:1rem}div[class*=language-].line-numbers-mode .line-numbers{counter-reset:line-number;position:absolute;top:0;width:var(--code-line-number-width);padding-top:var(--code-padding-y);color:var(--code-c-line-number, var(--code-c-text));font-size:var(--code-font-size);line-height:var(--code-line-height);text-align:center}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:3;font-family:var(--code-font-family);-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);counter-increment:line-number}div[class*=language-] .line.highlighted{display:inline-block;width:100%;margin:0 calc(-1*var(--code-padding-x));padding:0 var(--code-padding-x);background-color:var(--code-c-highlight-bg)}div[class*=language-].has-collapsed-lines.collapsed{overflow-y:hidden;height:calc(var(--vp-collapsed-lines)*var(--code-line-height)*var(--code-font-size) + var(--code-padding-y) + 28px)}div[class*=language-].has-collapsed-lines .collapsed-lines{--vp-collapsed-lines-bg: var(--code-c-bg);position:absolute;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:center;justify-content:center;height:28px;background:linear-gradient(to bottom,transparent 0%,var(--vp-collapsed-lines-bg) 55%,var(--vp-collapsed-lines-bg) 100%);cursor:pointer;transition:--vp-collapsed-lines-bg var(--vp-t-color)}div[class*=language-].has-collapsed-lines .collapsed-lines:hover{--vp-collapsed-lines-bg: rgb(0 0 0 / 10%) !important}div[class*=language-].has-collapsed-lines[data-highlighter=shiki] .collapsed-lines{--vp-collapsed-lines-bg: var(--code-c-bg, var(--shiki-light-bg))}[data-theme=dark] div[class*=language-].has-collapsed-lines[data-highlighter=shiki] .collapsed-lines{--vp-collapsed-lines-bg: var(--code-c-bg, var(--shiki-dark-bg))}div[class*=language-].has-collapsed-lines .collapsed-lines:before{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='m18 12l-6 6l-6-6m12-6l-6 6l-6-6'/%3E%3C/svg%3E");--vp-collapsed-lines-rotate: 0deg;content:"";display:inline-block;width:24px;height:24px;background-color:var(--code-c-text);-webkit-mask-image:var(--icon);mask-image:var(--icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:20px;mask-size:20px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;pointer-events:none;animation:code-collapsed-lines 1.2s infinite alternate-reverse ease-in-out}div[class*=language-].has-collapsed-lines:not(.collapsed) code{padding-bottom:max(var(--code-padding-y),28px)}div[class*=language-].has-collapsed-lines:not(.collapsed) .collapsed-lines:hover{--vp-collapsed-lines-bg: transparent !important}div[class*=language-].has-collapsed-lines:not(.collapsed) .collapsed-lines:before{--vp-collapsed-lines-rotate: 180deg}@property --vp-collapsed-lines-bg{inherits:false;initial-value:#fff;syntax:""}@keyframes code-collapsed-lines{0%{opacity:.3;transform:translateY(-2px) rotate(var(--vp-collapsed-lines-rotate))}to{opacity:1;transform:translateY(2px) rotate(var(--vp-collapsed-lines-rotate))}}.vp-code-tabs-nav{overflow-x:auto;margin:.75rem 0 -.75rem;padding:0;border-radius:6px 6px 0 0;background:var(--code-tabs-c-bg);list-style:none;white-space:nowrap;transition:background var(--vp-t-color)}@media print{.vp-code-tabs-nav{display:none}}@media (max-width: 419px){.vp-code-tabs-nav{margin-inline:-1.5rem;border-radius:0}}.vp-code-tab-nav{position:relative;min-width:3rem;margin:0;padding:6px 12px;border-width:0;border-radius:6px 6px 0 0;background:#0000;color:var(--code-tabs-c-text);font-weight:600;font-size:.875em;line-height:1.4;cursor:pointer;transition:background var(--vp-t-color),color var(--vp-t-color)}.vp-code-tab-nav:hover{background:var(--code-tabs-c-hover)}.vp-code-tab-nav:before,.vp-code-tab-nav:after{content:" ";position:absolute;bottom:0;z-index:1;width:6px;height:6px}.vp-code-tab-nav:before{right:100%}.vp-code-tab-nav:after{left:100%}.vp-code-tab-nav.active{background:var(--code-c-bg, var(--vp-c-bg-alt))}.vp-code-tab-nav.active:before{background:radial-gradient(12px at left top,transparent 50%,var(--code-c-bg) 50%)}.vp-code-tab-nav.active:after{background:radial-gradient(12px at right top,transparent 50%,var(--code-c-bg) 50%)}.vp-code-tab-nav:first-child:before{display:none}[dir=rtl] .vp-code-tab-nav:first-child:before{display:block}[dir=rtl] .vp-code-tab-nav:first-child:after{display:none}.vp-code-tab{display:none}@media print{.vp-code-tab{display:block}}.vp-code-tab.active{display:block}.vp-code-tab div[class*=language-]{border-top-left-radius:0;border-top-right-radius:0}@media (max-width: 419px){.vp-code-tab div[class*=language-]{margin:.75rem -1.5rem;border-radius:0}}.vp-code-tab div[class*=language-].line-numbers-mode:after{border-top-left-radius:0}.vp-code-tab div[class*=language-] pre{border-top-left-radius:0;border-top-right-radius:0}@media (max-width: 419px){.vp-code-tab div[class*=language-] pre{border-radius:0}}@media print{.vp-code-tab div[class*=language-] code{white-space:pre-wrap}}.vp-code-tab-title{display:none;font-weight:500}@media print{.vp-code-tab-title{display:block}}.vp-tabs{margin:1.5rem 0;border:1px solid var(--vp-c-border);border-radius:8px}@media (max-width: 419px){[vp-content]>.vp-tabs{margin-inline:-1.5rem;border:none;border-bottom:1px solid var(--vp-c-border);border-radius:0}}.vp-tabs-nav{overflow-x:auto;margin:0;padding:0;border-radius:.5rem .5rem 0 0;background:var(--tab-c-bg-nav);list-style:none;white-space:nowrap;transition:background var(--vp-t-color)}@media print{.vp-tabs-nav{display:none}}@media (max-width: 419px){.vp-tabs-nav{border-radius:0}}.vp-tab-nav{position:relative;min-width:4rem;margin:0;padding:.5em 1em;border:none;border-radius:.5rem .5rem 0 0;background:#0000;color:var(--tab-c-nav);font-weight:600;font-size:.875em;line-height:1.75;cursor:pointer;transition:background var(--vp-t-color),color var(--vp-t-color)}.vp-tab-nav:hover{background:var(--tab-c-bg-nav-hover)}.vp-tab-nav:before,.vp-tab-nav:after{content:" ";position:absolute;bottom:0;z-index:1;width:8px;height:8px}.vp-tab-nav:before{right:100%}.vp-tab-nav:after{left:100%}.vp-tab-nav.active{background:var(--tab-c-bg)}.vp-tab-nav.active:before{background:radial-gradient(16px at left top,transparent 50%,var(--tab-c-bg) 50%)}.vp-tab-nav.active:after{background:radial-gradient(16px at right top,transparent 50%,var(--tab-c-bg) 50%)}.vp-tab-nav:first-child:before{display:none}.vp-tab{display:none;padding:1rem .75rem;border-radius:0 0 .5rem .5rem;background:var(--tab-c-bg);transition:background var(--vp-t-color)}@media print{.vp-tab{display:block;padding:.5rem}}.vp-tab.active{display:block}.vp-tab:nth-child(n+2) .vp-tab-title{border-top:none}.vp-tab-title{display:none;padding:.25rem 0;border-top:1px solid var(--vp-c-border);font-weight:500}@media print{.vp-tab-title{display:block}}:root{--code-tabs-c-text: var(--code-c-text);--code-tabs-c-bg: var(--code-c-highlight-bg);--code-tabs-c-hover: var(--code-c-bg, var(--vp-c-bg-alt));--tab-c-bg: var(--vp-c-bg);--tab-c-nav: var(--vp-c-text);--tab-c-bg-nav: var(--vp-c-grey-bg);--tab-c-bg-nav-hover: var(--vp-c-control-hover)}.vp-badge{display:inline-block;vertical-align:top;height:18px;padding:0 6px;border-radius:3px;background:var(--vp-c-accent-soft);color:var(--vp-c-accent);font-size:14px;line-height:18px;transition:background var(--vp-t-color),color var(--vp-t-color)}.vp-badge+.vp-badge{margin-inline-start:5px}.vp-badge.tip{background:var(--badge-c-tip-bg);color:var(--badge-c-tip-text)}.vp-badge.warning{background:var(--badge-c-warning-bg);color:var(--badge-c-warning-text)}.vp-badge.danger{background:var(--badge-c-danger-bg);color:var(--badge-c-danger-text)}.vp-badge.important{background:var(--badge-c-important-bg);color:var(--badge-c-important-text)}.vp-badge.info{background:var(--badge-c-info-bg);color:var(--badge-c-info-text)}.vp-badge.note{background:var(--badge-c-note-bg);color:var(--badge-c-note-text)}.vp-features{display:flex;flex-wrap:wrap;place-content:stretch space-between;align-items:flex-start;margin-top:2.5rem;padding:1.2rem 0;border-top:1px solid var(--vp-c-gutter);transition:border-color var(--vp-t-color)}@media (max-width: 719px){.vp-features{flex-direction:column}}.vp-feature{flex-grow:1;flex-basis:30%;max-width:30%}@media (max-width: 719px){.vp-feature{max-width:100%;padding:0 2.5rem}}.vp-feature h2{padding-bottom:0;border-bottom:none;font-weight:500;font-size:1.4rem}@media (max-width: 419px){.vp-feature h2{font-size:1.25rem}}.vp-feature p{color:var(--vp-c-text-mute)}.vp-footer{padding:2.5rem;border-top:1px solid var(--vp-c-border);color:var(--vp-c-text-mute);text-align:center;transition:border-color var(--vp-t-color)}.vp-hero{text-align:center}.vp-hero-image{display:block;max-width:100%;max-height:280px;margin:3rem auto 1.5rem}@media (max-width: 419px){.vp-hero-image{max-height:210px;margin:2rem auto 1.2rem}}#main-title{font-size:3rem}@media (max-width: 419px){#main-title{font-size:2rem}}#main-title,.vp-hero-description,.vp-hero-actions{margin:1.8rem auto}@media (max-width: 419px){#main-title,.vp-hero-description,.vp-hero-actions{margin:1.2rem auto}}.vp-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.vp-hero-description{max-width:35rem;color:var(--vp-c-text-mute);font-size:1.6rem;line-height:1.3}@media (max-width: 419px){.vp-hero-description{font-size:1.2rem}}.vp-hero-action-button{display:inline-block;box-sizing:border-box;padding:.8rem 1.6rem;border:2px solid var(--vp-c-accent-bg);border-radius:4px;background-color:var(--vp-c-bg);color:var(--vp-c-accent);font-size:1.2rem;transition:background-color border-color color var(--vp-t-color)}@media (max-width: 419px){.vp-hero-action-button{padding:.6rem 1.2rem;font-size:1rem}}.vp-hero-action-button:hover{color:var(--vp-c-accent-text)}.vp-hero-action-button.primary{background-color:var(--vp-c-accent-bg);color:var(--vp-c-accent-text)}.vp-hero-action-button.primary:hover{border-color:var(--vp-c-accent-hover);background-color:var(--vp-c-accent-hover)}.vp-home{display:block;max-width:var(--homepage-width);margin:0 auto;padding:var(--navbar-height) 2rem 0}@media (max-width: 419px){.vp-home{padding-right:1.5rem;padding-left:1.5rem}}.vp-home .theme-default-content{margin:0;padding:0}.vp-site-logo{vertical-align:top;height:var(--navbar-line-height);margin-right:var(--navbar-padding-v)}.vp-site-name{position:relative;color:var(--vp-c-text);font-weight:600;font-size:1.3rem}@media screen and (max-width: 719px){.vp-site-name{display:block;overflow:hidden;width:calc(100vw - 11rem);text-overflow:ellipsis;white-space:nowrap}}.vp-dropdown-enter-from,.vp-dropdown-leave-to{height:0!important}.vp-navbar-dropdown-wrapper{cursor:pointer}.vp-navbar-dropdown-wrapper:not(.mobile){height:1.8rem}.vp-navbar-dropdown-wrapper:not(.mobile):hover .vp-navbar-dropdown,.vp-navbar-dropdown-wrapper:not(.mobile).open .vp-navbar-dropdown{display:block!important}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown{overflow:hidden;transition:height .1s ease-out;padding-top:.5rem}.vp-navbar-dropdown-wrapper:not(.mobile) .vp-navbar-dropdown{position:absolute;top:100%;right:0;display:none;overflow-y:auto;box-sizing:border-box;height:auto!important;max-height:calc(100vh - 2.7rem);margin:0;padding:.6rem 0;border:1px solid var(--vp-c-gutter);border-radius:.5rem;background-color:var(--vp-c-bg-elv);text-align:left;white-space:nowrap}.vp-navbar-dropdown-title{display:block;padding:inherit;border:none;background:transparent;color:var(--vp-c-text);font-weight:500;font-size:.9rem;font-family:inherit;line-height:1.4rem;cursor:inherit}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-title{display:none}.vp-navbar-dropdown-title:hover{border-color:transparent}.vp-navbar-dropdown-title-mobile{display:none;padding:inherit;border:none;background:transparent;color:var(--vp-c-text);font-weight:600;font-size:inherit;font-family:inherit;line-height:1.4rem;cursor:inherit}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-title-mobile{display:block}.vp-navbar-dropdown-title-mobile:hover{color:var(--vp-c-accent)}.vp-navbar-dropdown-item{color:inherit;line-height:1.7rem}.vp-navbar-dropdown-item a{position:relative;display:block;margin-bottom:0;padding:0 1.5rem 0 1.25rem;border-bottom:none;font-weight:400;line-height:1.7rem}.vp-navbar-dropdown-item a:hover,.vp-navbar-dropdown-item a.route-link-active{color:var(--vp-c-accent)}.vp-navbar-dropdown-item a.route-link-active:after{content:"";position:absolute;top:calc(50% - 2px);left:9px;width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:5px solid var(--vp-c-accent)}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-item>a{font-size:15px;line-height:2rem}.vp-navbar-dropdown-subtitle{margin:.45rem 0 0;padding:1rem 0 .45rem;border-top:1px solid var(--vp-c-gutter);font-size:.9rem}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-subtitle{margin-top:0;padding-top:0;padding-bottom:0;border-top:0;font-size:15px;line-height:2rem}.vp-navbar-dropdown-item:first-child .vp-navbar-dropdown-subtitle{margin-top:0;padding-top:0;border-top:0}.vp-navbar-dropdown-subtitle>span{padding:0 1.5rem 0 1.25rem}.vp-navbar-dropdown-subtitle>a{font-weight:inherit}.vp-navbar-dropdown-subtitle>a.route-link-active:after{display:none}.vp-navbar-dropdown-subitem-wrapper{padding:0;list-style:none}.vp-navbar-dropdown-subitem{font-size:.9em}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-subitem{padding-left:1rem;font-size:14px}.vp-navbar-items{display:inline-block}@media print{.vp-navbar-items{display:none}}.vp-navbar-items a{display:inline-block;color:inherit;line-height:1.4rem}.vp-navbar-items a:hover,.vp-navbar-items a.route-link-active{color:var(--vp-c-text)}.vp-navbar-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:var(--navbar-line-height)}@media (max-width: 719px){.vp-navbar-item{margin-left:0}}.vp-navbar-item:first-child{margin-left:0}.vp-navbar-item a:hover,.vp-navbar-item a.route-link-active{color:var(--vp-c-accent)}.vp-navbar-item>a:hover,.vp-navbar-item>a.route-link-active{margin-bottom:-2px;border-bottom:2px solid var(--vp-c-accent)}@media (max-width: 719px){.vp-navbar-item>a:hover,.vp-navbar-item>a.route-link-active{margin-bottom:0;border-bottom:none}}.vp-toggle-color-mode-button{display:flex;margin:auto;margin-left:1rem;border:0;background:none;color:var(--vp-c-text);opacity:.8;cursor:pointer}@media print{.vp-toggle-color-mode-button{display:none}}.vp-toggle-color-mode-button:hover{opacity:1}.vp-toggle-color-mode-button .light-icon,.vp-toggle-color-mode-button .dark-icon{width:1.25rem;height:1.25rem}.vp-toggle-sidebar-button{position:absolute;top:.6rem;left:1rem;display:none;padding:.6rem;cursor:pointer}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block}}.vp-toggle-sidebar-button .icon{display:flex;flex-direction:column;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;cursor:inherit}.vp-toggle-sidebar-button .icon span{display:inline-block;width:100%;height:2px;border-radius:2px;background-color:var(--vp-c-text);transition:transform var(--vp-t-transform)}.vp-toggle-sidebar-button .icon span:nth-child(2){margin:6px 0}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(1){transform:rotate(45deg) translate3d(5.5px,5.5px,0)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(2){transform:scale3d(0,1,1)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(3){transform:rotate(-45deg) translate3d(6px,-6px,0)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(1),.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(3){transform-origin:center}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - 2 * var(--navbar-padding-v) );position:fixed;top:0;right:0;left:0;z-index:20;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-padding-v) var(--navbar-padding-h);border-bottom:1px solid var(--vp-c-border);background-color:var(--vp-navbar-c-bg);line-height:var(--navbar-line-height);transition:background-color var(--vp-t-color),border-color var(--vp-t-color)}@media screen and (max-width: 719px){.vp-navbar{padding-left:4rem}}.vp-navbar-items-wrapper{position:absolute;top:var(--navbar-padding-v);right:var(--navbar-padding-h);display:flex;box-sizing:border-box;height:var(--navbar-line-height);padding-left:var(--navbar-padding-h);font-size:.9rem;white-space:nowrap}.vp-page-meta{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.vp-page-meta{padding:2rem}}@media (max-width: 419px){.vp-page-meta{padding:1.5rem}}.vp-page-meta{display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto;padding-top:.75rem;padding-bottom:.75rem}@media print{.vp-page-meta{margin:0!important;padding-right:0!important;padding-left:0!important}}@media (max-width: 719px){.vp-page-meta{display:block}}.vp-page-meta .vp-meta-item{flex-grow:1}.vp-page-meta .vp-meta-item .vp-meta-label{font-weight:500}.vp-page-meta .vp-meta-item .vp-meta-label:not(a){color:var(--vp-c-text-mute)}.vp-page-meta .vp-meta-item .vp-meta-info{color:var(--vp-c-text-mute);font-weight:400}.vp-page-meta .git-info{text-align:end}.vp-page-meta .edit-link{margin-top:.25rem;margin-right:.5rem;margin-bottom:.25rem;font-size:14px}@media print{.vp-page-meta .edit-link{display:none}}.vp-page-meta .edit-link .edit-icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-right:.25em}.vp-page-meta .last-updated,.vp-page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.vp-page-meta .last-updated,.vp-page-meta .contributors{font-size:13px;text-align:start}}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-top:0;margin-right:auto;margin-left:auto;padding:1rem 2rem 0;border-top:1px solid var(--vp-c-gutter);transition:border-top var(--vp-t-color)}@media (max-width: 959px){.vp-page-nav{padding-right:1rem;padding-left:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .route-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--vp-c-gutter);border-radius:.25rem}.vp-page-nav .route-link:hover{background:var(--vp-c-control)}.vp-page-nav .route-link .hint{color:var(--vp-c-text-mute);font-size:.875rem;line-height:2}.vp-page-nav .prev{text-align:start}.vp-page-nav .next{text-align:end}.vp-page{display:block;padding-top:var(--navbar-height);padding-bottom:2rem;padding-left:var(--sidebar-width)}@media (max-width: 959px){.vp-page{padding-left:var(--sidebar-width-mobile)}}@media (max-width: 719px){.vp-page{padding-left:0}}.vp-page .theme-default-content{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.vp-page .theme-default-content{padding:2rem}}@media (max-width: 419px){.vp-page .theme-default-content{padding:1.5rem}}.vp-page .theme-default-content{padding-top:0}.vp-sidebar-item{border-left:.25rem solid transparent;color:var(--vp-c-text);cursor:default}.vp-sidebar-item:focus-visible{outline-width:1px;outline-offset:-1px}.vp-sidebar-item.vp-sidebar-heading{box-sizing:border-box;width:100%;margin:0;padding:.35rem 1.5rem .35rem 1.25rem;font-weight:700;font-size:1.1em;transition:color .15s ease}.vp-sidebar-item.vp-sidebar-heading+.vp-sidebar-children{overflow:hidden;transition:height .1s ease-out;margin-bottom:.75rem}.vp-sidebar-item.collapsible{cursor:pointer}.vp-sidebar-item:not(.vp-sidebar-heading){display:inline-block;box-sizing:border-box;width:100%;margin:0;padding:.35rem 1rem .35rem 2rem;font-weight:400;font-size:1em;line-height:1.4}.vp-sidebar-item:not(.vp-sidebar-heading)+.vp-sidebar-children{padding-left:1rem;font-size:.95em}.vp-sidebar-children .vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading){padding:.25rem 1rem .25rem 1.75rem}.vp-sidebar-children .vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading).active{border-left-color:transparent;font-weight:500}a.vp-sidebar-heading+.vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading).active{border-left-color:transparent}.vp-sidebar-item.active:not(p.vp-sidebar-heading){border-left-color:var(--vp-c-accent);color:var(--vp-c-accent);font-weight:600}a.vp-sidebar-item{cursor:pointer}a.vp-sidebar-item:hover{color:var(--vp-c-accent)}.vp-sidebar-items{margin:0;padding:1.5rem 0;list-style-type:none}@media (max-width: 719px){.vp-sidebar-items{padding:1rem 0}}.vp-sidebar-items ul{margin:0;padding:0;list-style-type:none}.vp-sidebar-items a{display:inline-block}.vp-sidebar{position:fixed;top:var(--navbar-height);bottom:0;left:0;z-index:10;overflow-y:auto;box-sizing:border-box;width:var(--sidebar-width);margin:0;border-right:1px solid var(--vp-c-border);background-color:var(--vp-sidebar-c-bg);font-size:16px;transition:transform var(--vp-t-transform),background-color var(--vp-t-color),border-color var(--vp-t-color);scrollbar-color:var(--vp-c-accent-bg) var(--vp-c-gutter);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{width:var(--sidebar-width-mobile);font-size:15px}}@media (max-width: 719px){.vp-sidebar{top:0;padding-top:var(--navbar-height);transform:translate(-100%)}}.vp-sidebar::-webkit-scrollbar{width:7px}.vp-sidebar::-webkit-scrollbar-track{background-color:var(--vp-c-gutter)}.vp-sidebar::-webkit-scrollbar-thumb{background-color:var(--vp-c-accent-bg)}.vp-sidebar .vp-navbar-items{display:none;padding:.5rem 0 .75rem;border-bottom:1px solid var(--vp-c-gutter);transition:border-color var(--vp-t-color)}@media (max-width: 719px){.vp-sidebar .vp-navbar-items{display:block}.vp-sidebar .vp-navbar-items .vp-navbar-dropdown-item a.route-link-active:after{top:calc(1rem - 2px)}}.vp-sidebar .vp-navbar-items ul{margin:0;padding:0;list-style-type:none}.vp-sidebar .vp-navbar-items a{font-weight:600}.vp-sidebar .vp-navbar-item{display:block;padding:.5rem 0 .5rem 1.5rem;font-size:1.1em;line-height:1.25rem}.vp-sidebar-mask{position:fixed;top:0;left:0;z-index:9;display:none;width:100vw;height:100vh}.vp-theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.vp-theme-container.no-navbar .vp-sidebar{padding-top:0}}.vp-theme-container.no-navbar .vp-page{padding-top:0}.vp-theme-container.no-navbar .theme-default-content h1,.vp-theme-container.no-navbar .theme-default-content h2,.vp-theme-container.no-navbar .theme-default-content h3,.vp-theme-container.no-navbar .theme-default-content h4,.vp-theme-container.no-navbar .theme-default-content h5,.vp-theme-container.no-navbar .theme-default-content h6{margin-top:1.5rem;padding-top:0}.vp-theme-container.no-sidebar .vp-sidebar{display:none}@media (max-width: 719px){.vp-theme-container.no-sidebar .vp-sidebar{display:block}}.vp-theme-container.no-sidebar .vp-page{padding-left:0}@media (max-width: 719px){.vp-theme-container.sidebar-open .vp-sidebar{transform:translate(0)}.vp-theme-container.sidebar-open .vp-sidebar-mask{display:block}}.fade-slide-y-enter-active{transition:all .2s ease}.fade-slide-y-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-theme-container[data-v-67c08c1d]{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.vp-theme-container[data-v-67c08c1d]{padding:2rem}}:root{--vp-c-white: #fff;--vp-c-black: #000;--vp-c-grey-text: #656869;--vp-c-grey-hover: #e4e4e9;--vp-c-grey-bg: #ebebef;--vp-c-grey-soft: rgb(142 150 170 / 14%);--vp-c-indigo-text: #3451b2;--vp-c-indigo-hover: #3a5ccc;--vp-c-indigo-bg: #5672cd;--vp-c-indigo-soft: rgb(100 108 255 / 14%);--vp-c-purple-text: #6f42c1;--vp-c-purple-hover: #7e4cc9;--vp-c-purple-bg: #8e5cd9;--vp-c-purple-soft: rgb(159 122 234 / 14%);--vp-c-blue-text: #2888a7;--vp-c-blue-hover: #2d98ba;--vp-c-blue-bg: #2fa1c5;--vp-c-blue-soft: rgb(27 178 229 / 14%);--vp-c-green-text: #18794e;--vp-c-green-hover: #299764;--vp-c-green-bg: #30a46c;--vp-c-green-soft: rgb(16 185 129 / 14%);--vp-c-yellow-text: #915930;--vp-c-yellow-hover: #946300;--vp-c-yellow-bg: #c28100;--vp-c-yellow-soft: rgb(234 179 8 / 14%);--vp-c-red-text: #b8272c;--vp-c-red-hover: #d5393e;--vp-c-red-bg: #e0575b;--vp-c-red-soft: rgb(244 63 94 / 14%)}[data-theme=dark]{--vp-c-white: #000;--vp-c-black: #fff;--vp-c-grey-text: #939499;--vp-c-grey-hover: #414853;--vp-c-grey-bg: #32363f;--vp-c-grey-soft: rgb(101 117 133 / 16%);--vp-c-indigo-text: #a8b1ff;--vp-c-indigo-hover: #5c73e7;--vp-c-indigo-bg: #3e63dd;--vp-c-indigo-soft: rgb(100 108 255 / 16%);--vp-c-blue-text: #c9e8f2;--vp-c-blue-hover: #a6d9ea;--vp-c-blue-bg: #2785a3;--vp-c-blue-soft: rgb(27 178 229 / 16%);--vp-c-purple-text: #c8abfa;--vp-c-purple-hover: #a879e6;--vp-c-purple-bg: #8e5cd9;--vp-c-purple-soft: rgb(159 122 234 / 16%);--vp-c-green-text: #3dd68c;--vp-c-green-hover: #30a46c;--vp-c-green-bg: #298459;--vp-c-green-soft: rgb(16 185 129 / 16%);--vp-c-yellow-text: #f9b44e;--vp-c-yellow-hover: #da8b17;--vp-c-yellow-bg: #a46a0a;--vp-c-yellow-soft: rgb(234 179 8 / 16%);--vp-c-red-text: #f66f81;--vp-c-red-hover: #f14158;--vp-c-red-bg: #b62a3c;--vp-c-red-soft: rgb(244 63 94 / 16%)}:root{color-scheme:light}[data-theme=dark]{color-scheme:dark}html,body{background:var(--vp-c-bg, #fff);accent-color:var(--vp-c-accent, #299764);transition:background-color var(--vp-t-color)}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}@media print{html{font-size:12pt}}html[data-theme=dark]{color-scheme:dark}body{min-height:100vh;margin:0;padding:0;color:var(--vp-c-text, rgb(60, 60, 67));font-size:1rem;font-synthesis:style}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 var(--vp-c-gutter, #e2e2e3);font-size:1.65rem;transition:border-color var(--vp-t-color)}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}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}a{color:var(--vp-c-accent, #299764);font-weight:500;text-decoration:none;overflow-wrap:break-word}a.header-anchor{position:relative;color:inherit;text-decoration:none}a.header-anchor:before{content:"¶";position:absolute;top:.4167em;left:-.75em;display:none;color:var(--vp-c-accent, #299764);font-size:.75em}[dir=rtl] a.header-anchor:before{right:-.75em}a.header-anchor:hover:before{display:block}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{display:block;outline:auto}strong{font-weight:600}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid var(--vp-c-border-hard, #b8b8ba);color:var(--vp-c-text-mute, rgba(60, 60, 67, .78));font-size:1rem;overflow-wrap:break-word;transition:border-color var(--vp-t-color),color var(--vp-t-color)}blockquote>p{margin:0}hr{border:0;border-bottom:1px solid var(--vp-c-gutter, #e2e2e3);transition:border-color var(--vp-t-color)}:not(pre)>code{margin:0;padding:3px 6px;border-radius:4px;background:var(--vp-c-grey-soft, rgba(142, 150, 170, .14));font-size:.875em;overflow-wrap:break-word;transition:background-color var(--vp-t-color),color var(--vp-t-color)}p a code{color:var(--vp-c-accent, #299764);font-weight:400}table code{padding:.1rem .4rem}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid var(--vp-c-border, #c2c2c4);border-radius:.25em;box-shadow:1px 1px 4px 0 var(--vp-c-shadow, rgba(0, 0, 0, .15));line-height:1;letter-spacing:-.1em;text-align:center}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tbody tr:nth-child(odd){background:var(--vp-c-bg-alt, #f6f8fa);transition:background-color var(--vp-t-color)}th,td{padding:.6em 1em;border:1px solid var(--vp-c-border-hard, #d1d4d7);transition:border-color var(--vp-t-color)}pre{text-align:left;direction:ltr;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}@media print{pre{white-space:pre-wrap}}pre code{padding:0;border-radius:0}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a.header-anchor{text-decoration:none}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@media (prefers-reduced-motion: reduce){*,:before,:after{background-attachment:initial!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important}}:root{--vp-c-accent: #299764;--vp-c-accent-bg: #3eaf7c;--vp-c-accent-hover: #4abf8a;--vp-c-accent-text: var(--vp-c-white);--vp-c-accent-soft: rgb(16 185 129 / 14%);--vp-c-bg: #fff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #fff;--vp-c-text: rgb(60 60 67);--vp-c-text-mute: rgb(60 60 67 / 78%);--vp-c-text-subtle: rgb(60 60 67 / 56%);--vp-c-gutter: #e2e2e3;--vp-c-border: #c2c2c4;--vp-c-border-hard: #b8b8ba;--vp-c-shadow: rgb(0 0 0 / 15%);--vp-c-control: rgb(142 150 170 / 10%);--vp-c-control-hover: rgb(142 150 170 / 16%);--vp-c-control-disabled: #eaeaea;--vp-navbar-c-bg: var(--vp-c-bg);--vp-sidebar-c-bg: var(--vp-c-bg);--vp-c-code-tab-title: var(--code-c-text, rgb(255 255 255 / 90%));--vp-c-code-tab-bg: var(--code-bg-color, var(--code-c-bg));--vp-c-code-tab-active: var(--vp-c-accent);--badge-c-tip-text: var(--vp-c-green-text);--badge-c-tip-bg: var(--vp-c-green-soft);--badge-c-warning-text: var(--vp-c-yellow-text);--badge-c-warning-bg: var(--vp-c-yellow-soft);--badge-c-danger-text: var(--vp-c-red-text);--badge-c-danger-bg: var(--vp-c-red-soft);--badge-c-important-text: var(--vp-c-purple-text);--badge-c-important-bg: var(--vp-c-purple-soft);--badge-c-info-text: var(--vp-c-indigo-text);--badge-c-info-bg: var(--vp-c-indigo-soft);--badge-c-note-text: var(--vp-c-grey-text);--badge-c-note-bg: var(--vp-c-grey-soft);--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;--header-offset: var(--navbar-height);--vp-t-color: .3s ease;--vp-t-transform: .3s ease;--external-link-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z'/%3E%3C/svg%3E");--external-link-c-icon: var(--vp-c-text-mute)}[data-theme=dark]{--vp-c-accent: #3dd68c;--vp-c-accent-bg: #3aa675;--vp-c-accent-hover: #349469;--vp-c-accent-soft: rgb(16 185 129 / 16%);--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-text: rgb(235 235 245 / 86%);--vp-c-text-mute: rgb(235 235 245 / 60%);--vp-c-text-subtle: rgb(235 235 245 / 38%);--vp-c-gutter: #000;--vp-c-border: #3c3f44;--vp-c-border-hard: #45484e;--vp-c-shadow: rgb(0 0 0 / 30%);--vp-c-control: rgb(101 117 133 / 12%);--vp-c-control-hover: rgb(101 117 133 / 18%);--vp-c-control-disabled: #363636}body{font-family:var(--font-family)}code{font-family:var(--code-font-family)}.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(--header-offset));margin-bottom:0;padding-top:calc(1rem + var(--header-offset))}.theme-default-content h1:first-child,.theme-default-content h2:first-child,.theme-default-content h3:first-child,.theme-default-content h4:first-child,.theme-default-content h5:first-child,.theme-default-content h6:first-child{margin-bottom:1rem}.theme-default-content h1:first-child+p,.theme-default-content h1:first-child+pre,.theme-default-content h1:first-child+.custom-container,.theme-default-content h2:first-child+p,.theme-default-content h2:first-child+pre,.theme-default-content h2:first-child+.custom-container,.theme-default-content h3:first-child+p,.theme-default-content h3:first-child+pre,.theme-default-content h3:first-child+.custom-container,.theme-default-content h4:first-child+p,.theme-default-content h4:first-child+pre,.theme-default-content h4:first-child+.custom-container,.theme-default-content h5:first-child+p,.theme-default-content h5:first-child+pre,.theme-default-content h5:first-child+.custom-container,.theme-default-content h6:first-child+p,.theme-default-content h6:first-child+pre,.theme-default-content h6:first-child+.custom-container{margin-top:2rem}@media (max-width: 419px){.theme-default-content h1{font-size:1.9rem}}.theme-default-content a:not(.header-anchor){text-decoration:underline}.theme-default-content img{max-width:100%}div[class*=language-]{margin:.75rem 0;transition:background-color var(--vp-t-color),color var(--vp-t-color)}@media (max-width: 419px){div[class*=language-]{--code-border-radius: 0;margin:.75rem -1.5rem}}div[class*=language-] .line.diff,div[class*=language-] .line.highlighted{transition:background-color var(--vp-t-color)}.table-of-contents .vp-badge{vertical-align:middle}.arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}[data-theme=dark] .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.arrow.down{transform:rotate(180deg)}.arrow.right{transform:rotate(90deg)}.arrow.left{transform:rotate(-90deg)}.vp-external-link-icon:after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon .external-link:after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon .theme-default-content a[href*="://"]:not(.no-external-link-icon):after,.external-link-icon .theme-default-content a[target=_blank]:not(.no-external-link-icon):after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}@media screen and (max-width: 719px){.vp-hide-mobile{display:none}}.vp-comment{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.vp-comment{padding:2rem}}@media (max-width: 419px){.vp-comment{padding:1.5rem}}.vp-navbar .DocSearch{transition:background-color var(--vp-t-color)}.vp-navbar .search-box{vertical-align:top;flex:0 0 auto}@media screen and (max-width: 719px){.hint-container{margin-inline:-.75rem}}:root{--c-brand: #00A67E;--c-brand-light: #00ff80}html.dark{--c-brand: #00A67E;--c-brand-light: #00ff80}iframe{width:100%}.home .hero img{max-width:150px;width:auto;height:auto} diff --git a/assets/top50-Du4eFrfo.png b/assets/top50-Du4eFrfo.png new file mode 100644 index 0000000..7873ca7 Binary files /dev/null and b/assets/top50-Du4eFrfo.png differ diff --git a/assets/turing_test-DKoxXym2.png b/assets/turing_test-DKoxXym2.png new file mode 100644 index 0000000..0aac0e4 Binary files /dev/null and b/assets/turing_test-DKoxXym2.png differ diff --git a/develop/index.html b/develop/index.html new file mode 100644 index 0000000..1a4cc36 --- /dev/null +++ b/develop/index.html @@ -0,0 +1,46 @@ + + + + + + + + + Develop with AI + + + + + +
+ + + diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..cd391c5 Binary files /dev/null and b/favicon.ico differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..d0b2c72 --- /dev/null +++ b/index.html @@ -0,0 +1,43 @@ + + + + + + + + + AI for devs | Tech at Worldline + + + + + +
+ + + diff --git a/llm/index.html b/llm/index.html new file mode 100644 index 0000000..281241a --- /dev/null +++ b/llm/index.html @@ -0,0 +1,48 @@ + + + + + + + + + Online with Librechat + + + + + +
+ + + diff --git a/logo.png b/logo.png new file mode 100644 index 0000000..7ad11b2 Binary files /dev/null and b/logo.png differ diff --git a/logo_worldline.png b/logo_worldline.png new file mode 100644 index 0000000..6981642 Binary files /dev/null and b/logo_worldline.png differ diff --git a/manifest.webmanifest b/manifest.webmanifest new file mode 100644 index 0000000..06a4f99 --- /dev/null +++ b/manifest.webmanifest @@ -0,0 +1,31 @@ +{ + "theme_color": "#00A67E", + "background_color": "#e8d4f2", + "display": "standalone", + "scope": "/learning-ai/", + "start_url": "/learning-ai/index.html", + "name": "Flutter training", + "short_name": "Flutter training", + "icons": [ + { + "src": "icon-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icon-256x256.png", + "sizes": "256x256", + "type": "image/png" + }, + { + "src": "icon-384x384.png", + "sizes": "384x384", + "type": "image/png" + }, + { + "src": "icon-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/offline/index.html b/offline/index.html new file mode 100644 index 0000000..e331ff3 --- /dev/null +++ b/offline/index.html @@ -0,0 +1,54 @@ + + + + + + + + + Offline with LM Studio + + + + + +
+ + + diff --git a/overview/index.html b/overview/index.html new file mode 100644 index 0000000..706cbe0 --- /dev/null +++ b/overview/index.html @@ -0,0 +1,43 @@ + + + + + + + + + Let's start + + + + + +
+ + + diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..36cfb01 --- /dev/null +++ b/robots.txt @@ -0,0 +1,3 @@ + +User-agent:* +Disallow: diff --git a/services/index.html b/services/index.html new file mode 100644 index 0000000..d85573d --- /dev/null +++ b/services/index.html @@ -0,0 +1,43 @@ + + + + + + + + + AI for services + + + + + +
+ + + diff --git a/use/index.html b/use/index.html new file mode 100644 index 0000000..4e4411b --- /dev/null +++ b/use/index.html @@ -0,0 +1,133 @@ + + + + + + + + + Prompt with AI + + + + + +
+ + +