diff --git "a/assets/route-block-vrvNb1BV.js" "b/assets/route-block-vrvNb1BV.js" new file mode 100644--- /dev/null +++ "b/assets/route-block-vrvNb1BV.js" @@ -0,0 +1,536 @@ +var bu=Object.defineProperty;var xu=(e,t,n)=>t in e?bu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Hr=(e,t,n)=>xu(e,typeof t!="symbol"?t+"":t,n);import{e as Ci,T as ps,A as wu,L as Ri,c as hs,r as ms,I as ku,M as Tu,d as Eu,D as Au,E as _u,f as Mu,g as gs,h as ys,i as Iu,j as Su,k as Oi,V as Cu,m as Ru,n as Ou,o as Pi,p as Pu,q as Lu,b as Nu,a as Du,u as Bu,l as Fu,s as zu,t as Uu,v as $u,w as ju,_ as vs}from"./Stage.vue_vue_type_style_index_0_scoped_efc16a5c_lang-Bcdla0jv.js";import{d as we,m as Ge,o as X,T as wr,p as xe,e as Ve,v as bs,x as xs,y as Mt,c as ee,a as he,z as Li,A as ws,k as Ke,B as Ft,j as L,C as Ni,t as ue,f as j,w as Se,h as Tt,i as yt,D as Di,E as Me,l as ks,G as Ts,H as Vu,I as Es,J as Hu,K as ao,L as Bt,M as kt,N as Rr,b as D,O as Yt,P as _n,Q as Or,R as As,Z as kr,S as Gu,V as de,U as fn,W as zo,X as Tr,Y as xn,_ as Xe,$ as Xt,a0 as Ku,a1 as _s,a2 as Un,a3 as so,a4 as tt,a5 as Ms,a6 as Is,a7 as lo,a8 as jn,a9 as qu,aa as uo,ab as Wu,ac as Ss,ad as zt,ae as co,af as Zt,ag as Yu,ah as Cs,ai as ln,aj as Rs,ak as Os,al as Xu,am as Ps,an as Qu,ao as Pr,ap as Zu,aq as Ju,ar as ec,as as an,at as tc,au as nc,av as rc,aw as ic,ax as Gr,ay as Er,az as Bi,aA as rn,aB as Ls,aC as Fi,aD as vn,aE as Uo,aF as on,aG as bn,aH as Kr,aI as oc,aJ as ac,aK as sc,aL as lc,aM as Ns,aN as Ds,aO as Ar,aP as Bs,aQ as fo,aR as _r,aS as Fs,aT as uc,n as Mr,aU as cc,aV as zi,aW as zs,aX as dc,aY as Bn,aZ as Us,a_ as St,a$ as Ut,b0 as $n,b1 as fc,b2 as pc,b3 as hc,b4 as mc,b5 as gc,b6 as po,b7 as yc,b8 as vc,b9 as bc,ba as qr,bb as xc,bc as $s,bd as wc,be as kc,bf as Tc,bg as Ec,bh as Ac,bi as Wr,bj as _c,bk as Mc,bl as Ic,bm as $o,bn as jo,bo as Vo,bp as Ho,bq as Sc,br as Cc,bs as Rc,bt as Oc,bu as Pc,bv as Vn,bw as Lc,bx as Hn,by as $t,bz as Nc,bA as Lr,bB as Dc,bC as Bc,F as sn,bD as Fc,bE as zc,bF as yr,bG as Uc,bH as $c,bI as ho,bJ as Nr,bK as Go,bL as jc,bM as Et,bN as Gn,bO as Vc,bP as Hc,bQ as Gc,bR as Kc,bS as qc,bT as js,bU as Wc,bV as Yc,bW as Xc,bX as Qc,bY as mo,bZ as Ko,g as Zc,b_ as Jc,s as wn,b$ as qo,c0 as ed,c1 as td,c2 as nd,c3 as Vs,c4 as Hs,c5 as rd,c6 as Yr}from"./index-BVy8Mzlz.js";import{u as Xr}from"./queue-Byqxowja.js";import{_ as Dr}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{d as Wo}from"./index-DjRfxtiY.js";const Pt="0px",Br=we({__name:"TransitionVertical",props:{duration:{default:250},easingEnter:{default:"ease-in-out"},easingLeave:{default:"ease-in-out"},opacityClosed:{default:0},opacityOpened:{default:1}},setup(e){const t=e;function n(l){return{height:l.style.height,width:l.style.width,position:l.style.position,visibility:l.style.visibility,overflow:l.style.overflow,paddingTop:l.style.paddingTop,paddingBottom:l.style.paddingBottom,borderTopWidth:l.style.borderTopWidth,borderBottomWidth:l.style.borderBottomWidth,marginTop:l.style.marginTop,marginBottom:l.style.marginBottom}}function r(l,u){const{width:c}=getComputedStyle(l);l.style.width=c,l.style.position="absolute",l.style.visibility="hidden",l.style.height="";const{height:d}=getComputedStyle(l);return l.style.width=u.width,l.style.position=u.position,l.style.visibility=u.visibility,l.style.height=Pt,l.style.overflow="hidden",u.height&&u.height!==Pt?u.height:d}function i(l,u,c,d,f){const p=l.animate(d,f);l.style.height=u.height,p.onfinish=()=>{l.style.overflow=u.overflow,c()}}function o(l,u){return[{height:Pt,opacity:t.opacityClosed,paddingTop:Pt,paddingBottom:Pt,borderTopWidth:Pt,borderBottomWidth:Pt,marginTop:Pt,marginBottom:Pt},{height:l,opacity:t.opacityOpened,paddingTop:u.paddingTop,paddingBottom:u.paddingBottom,borderTopWidth:u.borderTopWidth,borderBottomWidth:u.borderBottomWidth,marginTop:u.marginTop,marginBottom:u.marginBottom}]}function a(l,u){const c=l,d=n(c),f=r(c,d),p=o(f,d),h={duration:t.duration,easing:t.easingEnter};i(c,d,u,p,h)}function s(l,u){const c=l,d=n(c),{height:f}=getComputedStyle(c);c.style.height=f,c.style.overflow="hidden";const p=o(f,d).reverse(),h={duration:t.duration,easing:t.easingLeave};i(c,d,u,p,h)}return(l,u)=>(X(),Ge(wr,{css:!1,onEnter:a,onLeave:s},{default:xe(()=>[Ve(l.$slots,"default")]),_:3}))}}),id={op50:""},Ui=we({__name:"Collapsable",props:bs({default:{type:Boolean},label:null},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=xs(e,"modelValue");Mt(()=>{t.default!=null&&(n.value=!!t.default)});function r(i){n.value=i}return(i,o)=>(X(),ee("div",null,[Ve(i.$slots,"trigger",Li(ws({visible:n.value,setVisible:r})),()=>[L("button",{sticky:"","top-0":"","z-10":"",flex:"","items-center":"","justify-between":"",px2:"",py1:"","text-sm":"","backdrop-blur-xl":"",onClick:o[0]||(o[0]=a=>n.value=!n.value)},[L("span",null,ue(t.label??"Collapsable"),1),o[1]||(o[1]=Ni()),L("span",id,ue(n.value?"▲":"▼"),1)])]),he(Br,null,{default:xe(()=>[n.value?Ve(i.$slots,"default",Li(Ft({key:0},{visible:n.value,setVisible:r}))):Ke("",!0)]),_:3})]))}}),od=we({__name:"Canvas",props:{width:null,height:null},setup(e){const t=e,n=j(),r=j(),i=j();async function o(s){Ri.registerTicker(hs),Ci.add(ps),r.value=new wu({width:t.width,height:t.height,backgroundAlpha:0}),i.value=r.value.view,i.value.style.objectFit="contain",s.appendChild(r.value.view)}function a(){var s;r.value&&r.value.renderer.resize(t.width,t.height),(s=r.value)!=null&&s.view&&(r.value.view.width=t.width,r.value.view.height=t.height)}return Se([()=>t.width,()=>t.height],()=>a()),Tt(async()=>n.value&&await o(n.value)),yt(()=>{var s;return(s=r.value)==null?void 0:s.destroy()}),(s,l)=>(X(),ee("div",{ref_key:"containerRef",ref:n,"h-full":"","w-full":""},[Ve(s.$slots,"default",{app:r.value})],512))}});function Yo(e,t,n){return(1-n)*e+n*t}function nn(e,t){return e+Math.random()*(t-e)}async function*ad(e,t){const n=e.getReader();try{for(;;){const{done:r,value:i}=await n.read();if(r)return;yield t(i)}}finally{n.releaseLock()}}function sd(){let e=-1,t,n=-1;function r(i,o){(o>=e||ot.app),r=Di(()=>t.paused),i=j(),o=j(0),a=j(0),s=Me(()=>Math.max(0,Math.min(100,t.mouthOpenSize))),l=ks(),u=Ts(Es),c=Me(()=>u.between("sm","md").value||u.smaller("sm").value),d=sd();function f(){return i.value.internalModel.coreModel}function p(E){if(!E.value)return;let T=2.2;c.value&&(T=2.2);const M=t.height*.95/a.value*T,O=t.width*.95/o.value*T,m=Math.min(M,O);E.value.scale.set(m,m)}async function h(){var m;if(!n.value)return;Ri.registerTicker(hs),Ci.add(ps),Ci.add(ku),i.value=await Ri.from(t.model,{motionPreload:Tu.ALL}),n.value.stage.addChild(i.value),o.value=i.value.width,a.value=i.value.height,i.value.x=t.width/2,i.value.y=t.height,i.value.rotation=Math.PI,i.value.skew.x=Math.PI,i.value.anchor.set(.5,.5),p(i),i.value.on("hit",_=>{i.value&&_.includes("body")&&i.value.motion("tap_body")});const E=i.value.internalModel,T=E.coreModel,M=E.motionManager;T.setParameterValueById("ParamMouthOpenY",s.value),M.groups.idle&&((m=M.motionGroups[M.groups.idle])==null||m.forEach(_=>{_._motionData.curves.forEach(y=>{(y.id==="ParamEyeBallX"||y.id==="ParamEyeBallY")&&(y.id=`_${y.id}`)})}));const O=M.update;M.update=function(_,y){return O==null||O.call(this,_,y),M.state.currentGroup===M.groups.idle&&d.update(E,y),!0}}async function w(E){await i.value.motion(E,void 0,Eu.FORCE)}const x=Vu(()=>{i.value&&(i.value.x=t.width/2,i.value.y=t.height,p(i))},100);function b(){i.value&&(i.value.filters=[new Au({color:l.value?10053247:14662098,alpha:.3,blur:0,distance:20,rotation:45})])}return Se([()=>t.width,()=>t.height],()=>x()),Se(l,b,{immediate:!0}),Se(i,b),Se(s,E=>f().setParameterValueById("ParamMouthOpenY",E)),Se(n,h),Se(()=>t.motion,()=>t.motion&&w(t.motion)),Se(r,E=>{var T,M;E?(T=n.value)==null||T.stop():(M=n.value)==null||M.start()}),Tt(b),yt(()=>{var E;return i.value&&((E=n.value)==null?void 0:E.stage.removeChild(i.value))}),(E,T)=>Ve(E.$slots,"default")}}),Gs=we({__name:"Screen",setup(e){const t=j(),n=Ts(Es),{width:r,height:i}=Hu(),o=ao(t,{immediate:!0,windowResize:!0,reset:!0}),a=Me(()=>n.between("sm","md").value||n.smaller("sm").value),s=Me(()=>n.between("md","lg").value),l=Me(()=>n.greaterOrEqual("lg").value),u=Me(()=>l.value?o.width.value:a.value||s.value?r.value-16:o.width.value),c=j(0);return Se([r,i,t],()=>{var f,p;const d=(p=(f=t.value)==null?void 0:f.parentElement)==null?void 0:p.getBoundingClientRect();l.value||a.value||s.value?c.value=(d==null?void 0:d.height)||0:c.value=600}),Se([o.width,o.height],()=>{l.value||a.value||s.value?c.value=o.height.value:c.value=600}),Tt(async()=>{t.value&&o.update()}),(d,f)=>(X(),ee("div",{ref_key:"containerRef",ref:t,"h-full":"","w-full":""},[Ve(d.$slots,"default",{width:u.value,height:c.value})],512))}}),ud={absolute:"",bottom:"3",right:"3"},cd={flex:"~ row","cursor-pointer":""},dd=["checked","aria-checked"],fd={key:0,"min-w":"50vw",z:"(X(),Ge(Gs,{relative:""},{default:xe(({width:o,height:a})=>[he(od,{width:o,height:a},{default:xe(({app:s})=>[he(ld,{app:s,model:e.model,"mouth-open-size":e.mouthOpenSize,width:o,height:a,motion:t.value,paused:e.paused},null,8,["app","model","mouth-open-size","width","height","motion","paused"])]),_:2},1032,["width","height"]),L("div",ud,[L("div",cd,[L("label",{class:Bt([n.value?"bg-zinc-300 dark:bg-zinc-200":"bg-zinc-100 dark:bg-zinc-700"]),transition:"all ease-in-out duration-500",text:"lg zinc-500 dark:zinc-400","m-1":"","h-fit":"","w-fit":"","cursor-pointer":"","appearance-none":"","gap-1":"","rounded-lg":"","rounded-md":"","border-none":"","p-2":"","outline-none":""},[kt(L("input",{"onUpdate:modelValue":i[0]||(i[0]=s=>n.value=s),checked:n.value,"aria-checked":n.value,name:"showLive2DViewerInspector",type:"checkbox",hidden:"","appearance-none":"","outline-none":""},null,8,dd),[[Rr,n.value]]),i[8]||(i[8]=L("div",{"select-none":""},[L("div",{"i-solar:bug-bold-duotone":""})],-1))],2)]),he(Br,null,{default:xe(()=>[n.value?(X(),ee("div",fd,[L("div",pd,[L("div",hd,[L("span",null,ue(r.$t("stage.viewers.debug-menu.emotions")),1)]),L("div",md,[L("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[1]||(i[1]=s=>t.value=D(_u))},ue(r.$t("stage.viewers.debug-menu.emotions-btn.surprised")),1),L("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[2]||(i[2]=s=>t.value=D(Mu))},ue(r.$t("stage.viewers.debug-menu.emotions-btn.sad")),1),L("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[3]||(i[3]=s=>t.value=D(gs))},ue(r.$t("stage.viewers.debug-menu.emotions-btn.angry")),1),L("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[4]||(i[4]=s=>t.value=D(ys))},ue(r.$t("stage.viewers.debug-menu.emotions-btn.happy")),1),L("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[5]||(i[5]=s=>t.value=D(Iu))},ue(r.$t("stage.viewers.debug-menu.emotions-btn.awkward")),1),L("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[6]||(i[6]=s=>t.value=D(Su))},ue(r.$t("stage.viewers.debug-menu.emotions-btn.question")),1),L("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[7]||(i[7]=s=>t.value=D(Oi))},ue(r.$t("stage.viewers.debug-menu.emotions-btn.think")),1)])])])):Ke("",!0)]),_:1})])]),_:1}))}});var yd=Object.defineProperty,vd=(e,t,n)=>t in e?yd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bd=(e,t,n)=>vd(e,t+"",n);function xd(e){return Zu()?(Ju(e),!0):!1}function Ks(e){return typeof e=="function"?e():D(e)}const wd=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const kd=Object.prototype.toString,Td=e=>kd.call(e)==="[object Object]",Ed=()=>{},Ad=wd?window:void 0;function _d(e){var t;const n=Ks(e);return(t=n==null?void 0:n.$el)!=null?t:n}function Qr(...e){let t,n,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,i]=e,t=Ad):[t,n,r,i]=e,!t)return Ed;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],a=()=>{o.forEach(c=>c()),o.length=0},s=(c,d,f,p)=>(c.addEventListener(d,f,p),()=>c.removeEventListener(d,f,p)),l=Se(()=>[_d(t),Ks(i)],([c,d])=>{if(a(),!c)return;const f=Td(d)?{...d}:d;o.push(...n.flatMap(p=>r.map(h=>s(c,p,h,f))))},{immediate:!0,flush:"post"}),u=()=>{l(),a()};return xd(u),u}function qs(e,t,n,r){const i=class extends jn{constructor(o={}){const a=Object.entries(e);super({uniforms:a.reduce((s,[l,u])=>{const c=uo.clone({[l]:{value:u}});return{...s,...c}},{}),vertexShader:t,fragmentShader:n}),bd(this,"key",""),a.forEach(([s])=>Object.defineProperty(this,s,{get:()=>this.uniforms[s].value,set:l=>this.uniforms[s].value=l})),Object.assign(this,o)}};return i.key=ln.generateUUID(),i}qs({color:new tt("white"),scale:new Xe(1,1),imageBounds:new Xe(1,1),resolution:1024,map:null,zoom:1,radius:0,grayscale:0,opacity:1},` + varying vec2 vUv; + varying vec2 vPos; + void main() { + gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1.); + vUv = uv; + vPos = position.xy; + } + `,` + // mostly from https://gist.github.com/statico/df64c5d167362ecf7b34fca0b1459a44 + varying vec2 vUv; + varying vec2 vPos; + uniform vec2 scale; + uniform vec2 imageBounds; + uniform float resolution; + uniform vec3 color; + uniform sampler2D map; + uniform float radius; + uniform float zoom; + uniform float grayscale; + uniform float opacity; + const vec3 luma = vec3(.299, 0.587, 0.114); + vec4 toGrayscale(vec4 color, float intensity) { + return vec4(mix(color.rgb, vec3(dot(color.rgb, luma)), intensity), color.a); + } + vec2 aspect(vec2 size) { + return size / min(size.x, size.y); + } + + const float PI = 3.14159265; + + // from https://iquilezles.org/articles/distfunctions + float udRoundBox( vec2 p, vec2 b, float r ) { + return length(max(abs(p)-b+r,0.0))-r; + } + + void main() { + vec2 s = aspect(scale); + vec2 i = aspect(imageBounds); + float rs = s.x / s.y; + float ri = i.x / i.y; + vec2 new = rs < ri ? vec2(i.x * s.y / i.y, s.y) : vec2(s.x, i.y * s.x / i.x); + vec2 offset = (rs < ri ? vec2((new.x - s.x) / 2.0, 0.0) : vec2(0.0, (new.y - s.y) / 2.0)) / new; + vec2 uv = vUv * s / new + offset; + vec2 zUv = (uv - vec2(0.5, 0.5)) / zoom + vec2(0.5, 0.5); + + vec2 res = vec2(scale * resolution); + vec2 halfRes = 0.5 * res; + float b = udRoundBox(vUv.xy * res - halfRes, halfRes, resolution * radius); + vec3 a = mix(vec3(1.0,0.0,0.0), vec3(0.0,0.0,0.0), smoothstep(0.0, 1.0, b)); + gl_FragColor = toGrayscale(texture2D(map, zUv) * vec4(color, opacity * a), grayscale); + + #include + #include + } + `);const go=parseInt(ec.replace(/\D+/g,""));var Md=Object.defineProperty,Id=(e,t,n)=>t in e?Md(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sd=(e,t,n)=>(Id(e,t+"",n),n);async function Xo(e){const t=await e.arrayBuffer(),n=btoa(String.fromCharCode(...new Uint8Array(t)));return`data:${e.type||""};base64,${n}`}let Jn,Zr,pn,er;function Jr(e,t=1/0,n=null){Zr||(Zr=new Rs(2,2,1,1)),pn||(pn=new jn({uniforms:{blitTexture:new sc(e)},vertexShader:` + varying vec2 vUv; + void main(){ + vUv = uv; + gl_Position = vec4(position.xy * 1.0,0.,.999999); + } + `,fragmentShader:` + uniform sampler2D blitTexture; + varying vec2 vUv; + + void main(){ + gl_FragColor = vec4(vUv.xy, 0, 1); + + #ifdef IS_SRGB + gl_FragColor = LinearTosRGB( texture2D( blitTexture, vUv) ); + #else + gl_FragColor = texture2D( blitTexture, vUv); + #endif + } + `})),pn.uniforms.blitTexture.value=e,pn.defines.IS_SRGB="colorSpace"in e?e.colorSpace==="srgb":e.encoding===3001,pn.needsUpdate=!0,er||(er=new an(Zr,pn),er.frustrumCulled=!1);const r=new Xt,i=new Fi;i.add(er),n||(n=Jn=new lc({antialias:!1})),n.setSize(Math.min(e.image.width,t),Math.min(e.image.height,t)),n.clear(),n.render(i,r);const o=new Er(n.domElement);return o.minFilter=e.minFilter,o.magFilter=e.magFilter,o.wrapS=e.wrapS,o.wrapT=e.wrapT,o.name=e.name,Jn&&(Jn.dispose(),Jn=null),o}const Qo={POSITION:["byte","byte normalized","unsigned byte","unsigned byte normalized","short","short normalized","unsigned short","unsigned short normalized"],NORMAL:["byte normalized","short normalized"],TANGENT:["byte normalized","short normalized"],TEXCOORD:["byte","byte normalized","unsigned byte","short","short normalized","unsigned short"]};class Ws{constructor(){this.pluginCallbacks=[],this.register(function(t){return new zd(t)}),this.register(function(t){return new Ud(t)}),this.register(function(t){return new Vd(t)}),this.register(function(t){return new Hd(t)}),this.register(function(t){return new Gd(t)}),this.register(function(t){return new Kd(t)}),this.register(function(t){return new $d(t)}),this.register(function(t){return new jd(t)}),this.register(function(t){return new qd(t)}),this.register(function(t){return new Wd(t)}),this.register(function(t){return new Yd(t)})}register(t){return this.pluginCallbacks.indexOf(t)===-1&&this.pluginCallbacks.push(t),this}unregister(t){return this.pluginCallbacks.indexOf(t)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(t),1),this}parse(t,n,r,i){const o=new Fd,a=[];for(let s=0,l=this.pluginCallbacks.length;se.times[e.times.length-1]){if(Math.abs(e.times[e.times.length-1]-t)<.001)return e.times.length-1;r[r.length-1]=t,r.set(e.times,0),i.set(e.values,0),i.set(o.evaluate(t),e.values.length),a=r.length-1}else for(let s=0;st){r.set(e.times.slice(0,s+1),0),r[s+1]=t,r.set(e.times.slice(s+1),s+2),i.set(e.values.slice(0,(s+1)*n),0),i.set(o.evaluate(t),(s+1)*n),i.set(e.values.slice((s+1)*n),(s+2)*n),a=s+1;break}}return e.times=r,e.values=i,a},mergeMorphTargetTracks:function(e,t){const n=[],r={},i=e.tracks;for(let o=0;o4?a=e.array[i*e.itemSize+o]:(o===0?a=e.getX(i):o===1?a=e.getY(i):o===2?a=e.getZ(i):o===3&&(a=e.getW(i)),e.normalized===!0&&(a=ln.normalize(a,e.array))),r.min[o]=Math.min(r.min[o],a),r.max[o]=Math.max(r.max[o],a)}return r}function Ys(e){return Math.ceil(e/4)*4}function ti(e,t=0){const n=Ys(e.byteLength);if(n!==e.byteLength){const r=new Uint8Array(n);if(r.set(new Uint8Array(e)),t!==0)for(let i=e.byteLength;i"u"&&typeof OffscreenCanvas<"u"?new OffscreenCanvas(1,1):document.createElement("canvas")}function na(e,t){if(e.toBlob!==void 0)return new Promise(r=>e.toBlob(r,t));let n;return t==="image/jpeg"?n=.92:t==="image/webp"&&(n=.8),e.convertToBlob({type:t,quality:n})}class Fd{constructor(){this.plugins=[],this.options={},this.pending=[],this.buffers=[],this.byteOffset=0,this.buffers=[],this.nodeMap=new Map,this.skins=[],this.extensionsUsed={},this.extensionsRequired={},this.uids=new Map,this.uid=0,this.json={asset:{version:"2.0",generator:"THREE.GLTFExporter"}},this.cache={meshes:new Map,attributes:new Map,attributesNormalized:new Map,materials:new Map,textures:new Map,images:new Map}}setPlugins(t){this.plugins=t}async write(t,n,r={}){this.options=Object.assign({binary:!1,trs:!1,onlyVisible:!0,maxTextureSize:1/0,animations:[],includeCustomExtensions:!1},r),this.options.animations.length>0&&(this.options.trs=!0),this.processInput(t),await Promise.all(this.pending);const i=this,o=i.buffers,a=i.json;r=i.options;const s=i.extensionsUsed,l=i.extensionsRequired,u=new Blob(o,{type:"application/octet-stream"}),c=Object.keys(s),d=Object.keys(l);c.length>0&&(a.extensionsUsed=c),d.length>0&&(a.extensionsRequired=d),a.buffers&&a.buffers.length>0&&(a.buffers[0].byteLength=u.size),r.binary===!0?u.arrayBuffer().then(f=>{const p=ti(f),h=new DataView(new ArrayBuffer(ea));h.setUint32(0,p.byteLength,!0),h.setUint32(4,Ld,!0);const w=ti(Nd(JSON.stringify(a)),32),x=new DataView(new ArrayBuffer(ea));x.setUint32(0,w.byteLength,!0),x.setUint32(4,Pd,!0);const b=new ArrayBuffer(Jo),E=new DataView(b);E.setUint32(0,Rd,!0),E.setUint32(4,Od,!0);const T=Jo+x.byteLength+w.byteLength+h.byteLength+p.byteLength;E.setUint32(8,T,!0),new Blob([b,x,w,h,p],{type:"application/octet-stream"}).arrayBuffer().then(n)}):a.buffers&&a.buffers.length>0?Xo(u).then(f=>{a.buffers[0].uri=f,n(a)}):n(a)}serializeUserData(t,n){if(Object.keys(t.userData).length===0)return;const r=this.options,i=this.extensionsUsed;try{const o=JSON.parse(JSON.stringify(t.userData));if(r.includeCustomExtensions&&o.gltfExtensions){n.extensions===void 0&&(n.extensions={});for(const a in o.gltfExtensions)n.extensions[a]=o.gltfExtensions[a],i[a]=!0;delete o.gltfExtensions}Object.keys(o).length>0&&(n.extras=o)}catch(o){console.warn("THREE.GLTFExporter: userData of '"+t.name+"' won't be serialized because of JSON.stringify error - "+o.message)}}getUID(t,n=!1){if(this.uids.has(t)===!1){const r=new Map;r.set(!0,this.uid++),r.set(!1,this.uid++),this.uids.set(t,r)}return this.uids.get(t).get(n)}isNormalizedNormalAttribute(t){if(this.cache.attributesNormalized.has(t))return!1;const n=new de;for(let r=0,i=t.count;r5e-4)return!1;return!0}createNormalizedNormalAttribute(t){const n=this.cache;if(n.attributesNormalized.has(t))return n.attributesNormalized.get(t);const r=t.clone(),i=new de;for(let o=0,a=r.count;o4?h=t.array[f*t.itemSize+p]:(p===0?h=t.getX(f):p===1?h=t.getY(f):p===2?h=t.getZ(f):p===3&&(h=t.getW(f)),t.normalized===!0&&(h=ln.normalize(h,t.array))),n===Ee.FLOAT?u.setFloat32(c,h,!0):n===Ee.INT?u.setInt32(c,h,!0):n===Ee.UNSIGNED_INT?u.setUint32(c,h,!0):n===Ee.SHORT?u.setInt16(c,h,!0):n===Ee.UNSIGNED_SHORT?u.setUint16(c,h,!0):n===Ee.BYTE?u.setInt8(c,h):n===Ee.UNSIGNED_BYTE&&u.setUint8(c,h),c+=s}const d={buffer:this.processBuffer(u.buffer),byteOffset:this.byteOffset,byteLength:l};return o!==void 0&&(d.target=o),o===Ee.ARRAY_BUFFER&&(d.byteStride=t.itemSize*s),this.byteOffset+=l,a.bufferViews.push(d),{id:a.bufferViews.length-1,byteLength:0}}processBufferViewImage(t){const n=this,r=n.json;return r.bufferViews||(r.bufferViews=[]),t.arrayBuffer().then(i=>{const o=ti(i),a={buffer:n.processBuffer(o),byteOffset:n.byteOffset,byteLength:o.byteLength};return n.byteOffset+=o.byteLength,r.bufferViews.push(a)-1})}processAccessor(t,n,r,i){const o=this.json,a={1:"SCALAR",2:"VEC2",3:"VEC3",4:"VEC4",9:"MAT3",16:"MAT4"};let s;if(t.array.constructor===Float32Array)s=Ee.FLOAT;else if(t.array.constructor===Int32Array)s=Ee.INT;else if(t.array.constructor===Uint32Array)s=Ee.UNSIGNED_INT;else if(t.array.constructor===Int16Array)s=Ee.SHORT;else if(t.array.constructor===Uint16Array)s=Ee.UNSIGNED_SHORT;else if(t.array.constructor===Int8Array)s=Ee.BYTE;else if(t.array.constructor===Uint8Array)s=Ee.UNSIGNED_BYTE;else throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type: "+t.array.constructor.name);if(r===void 0&&(r=0),i===void 0&&(i=t.count),i===0)return null;const l=Bd(t,r,i);let u;n!==void 0&&(u=t===n.index?Ee.ELEMENT_ARRAY_BUFFER:Ee.ARRAY_BUFFER);const c=this.processBufferView(t,s,r,i,u),d={bufferView:c.id,byteOffset:c.byteOffset,componentType:s,count:i,max:l.max,min:l.min,type:a[t.itemSize]};return t.normalized===!0&&(d.normalized=!0),o.accessors||(o.accessors=[]),o.accessors.push(d)-1}processImage(t,n,r,i="image/png"){if(t!==null){const o=this,a=o.cache,s=o.json,l=o.options,u=o.pending;a.images.has(t)||a.images.set(t,{});const c=a.images.get(t),d=i+":flipY/"+r.toString();if(c[d]!==void 0)return c[d];s.images||(s.images=[]);const f={mimeType:i},p=ta();p.width=Math.min(t.width,l.maxTextureSize),p.height=Math.min(t.height,l.maxTextureSize);const h=p.getContext("2d");if(r===!0&&(h.translate(0,p.height),h.scale(1,-1)),t.data!==void 0){n!==Bi&&console.error("GLTFExporter: Only RGBAFormat is supported.",n),(t.width>l.maxTextureSize||t.height>l.maxTextureSize)&&console.warn("GLTFExporter: Image size is bigger than maxTextureSize",t);const x=new Uint8ClampedArray(t.height*t.width*4);for(let b=0;bo.processBufferViewImage(x)).then(x=>{f.bufferView=x})):p.toDataURL!==void 0?f.uri=p.toDataURL(i):u.push(na(p,i).then(Xo).then(x=>{f.uri=x}));const w=s.images.push(f)-1;return c[d]=w,w}else throw new Error("THREE.GLTFExporter: No valid image data found. Unable to process texture.")}processSampler(t){const n=this.json;n.samplers||(n.samplers=[]);const r={magFilter:mt[t.magFilter],minFilter:mt[t.minFilter],wrapS:mt[t.wrapS],wrapT:mt[t.wrapT]};return n.samplers.push(r)-1}processTexture(t){const n=this.options,r=this.cache,i=this.json;if(r.textures.has(t))return r.textures.get(t);i.textures||(i.textures=[]),t instanceof Gr&&(t=Jr(t,n.maxTextureSize));let o=t.userData.mimeType;o==="image/webp"&&(o="image/png");const a={sampler:this.processSampler(t),source:this.processImage(t.image,t.format,t.flipY,o)};t.name&&(a.name=t.name),this._invokeAll(function(l){l.writeTexture&&l.writeTexture(t,a)});const s=i.textures.push(a)-1;return r.textures.set(t,s),s}processMaterial(t){const n=this.cache,r=this.json;if(n.materials.has(t))return n.materials.get(t);if(t.isShaderMaterial)return console.warn("GLTFExporter: THREE.ShaderMaterial not supported."),null;r.materials||(r.materials=[]);const i={pbrMetallicRoughness:{}};t.isMeshStandardMaterial!==!0&&t.isMeshBasicMaterial!==!0&&console.warn("GLTFExporter: Use MeshStandardMaterial or MeshBasicMaterial for best results.");const o=t.color.toArray().concat([t.opacity]);if(Dn(o,[1,1,1,1])||(i.pbrMetallicRoughness.baseColorFactor=o),t.isMeshStandardMaterial?(i.pbrMetallicRoughness.metallicFactor=t.metalness,i.pbrMetallicRoughness.roughnessFactor=t.roughness):(i.pbrMetallicRoughness.metallicFactor=.5,i.pbrMetallicRoughness.roughnessFactor=.5),t.metalnessMap||t.roughnessMap){const s=this.buildMetalRoughTexture(t.metalnessMap,t.roughnessMap),l={index:this.processTexture(s),channel:s.channel};this.applyTextureTransform(l,s),i.pbrMetallicRoughness.metallicRoughnessTexture=l}if(t.map){const s={index:this.processTexture(t.map),texCoord:t.map.channel};this.applyTextureTransform(s,t.map),i.pbrMetallicRoughness.baseColorTexture=s}if(t.emissive){const s=t.emissive;if(Math.max(s.r,s.g,s.b)>0&&(i.emissiveFactor=t.emissive.toArray()),t.emissiveMap){const l={index:this.processTexture(t.emissiveMap),texCoord:t.emissiveMap.channel};this.applyTextureTransform(l,t.emissiveMap),i.emissiveTexture=l}}if(t.normalMap){const s={index:this.processTexture(t.normalMap),texCoord:t.normalMap.channel};t.normalScale&&t.normalScale.x!==1&&(s.scale=t.normalScale.x),this.applyTextureTransform(s,t.normalMap),i.normalTexture=s}if(t.aoMap){const s={index:this.processTexture(t.aoMap),texCoord:t.aoMap.channel};t.aoMapIntensity!==1&&(s.strength=t.aoMapIntensity),this.applyTextureTransform(s,t.aoMap),i.occlusionTexture=s}t.transparent?i.alphaMode="BLEND":t.alphaTest>0&&(i.alphaMode="MASK",i.alphaCutoff=t.alphaTest),t.side===Pr&&(i.doubleSided=!0),t.name!==""&&(i.name=t.name),this.serializeUserData(t,i),this._invokeAll(function(s){s.writeMaterial&&s.writeMaterial(t,i)});const a=r.materials.push(i)-1;return n.materials.set(t,a),a}processMesh(t){const n=this.cache,r=this.json,i=[t.geometry.uuid];if(Array.isArray(t.material))for(let T=0,M=t.material.length;T=152?{uv:"TEXCOORD_0",uv1:"TEXCOORD_1",uv2:"TEXCOORD_2",uv3:"TEXCOORD_3"}:{uv:"TEXCOORD_0",uv2:"TEXCOORD_1"},color:"COLOR_0",skinWeight:"WEIGHTS_0",skinIndex:"JOINTS_0"},p=a.getAttribute("normal");p!==void 0&&!this.isNormalizedNormalAttribute(p)&&(console.warn("THREE.GLTFExporter: Creating normalized normal attribute from the non-normalized one."),a.setAttribute("normal",this.createNormalizedNormalAttribute(p)));let h=null;for(let T in a.attributes){if(T.slice(0,5)==="morph")continue;const M=a.attributes[T];if(T=f[T]||T.toUpperCase(),/^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/.test(T)||(T="_"+T),n.attributes.has(this.getUID(M))){u[T]=n.attributes.get(this.getUID(M));continue}h=null;const O=M.array;T==="JOINTS_0"&&!(O instanceof Uint16Array)&&!(O instanceof Uint8Array)&&(console.warn('GLTFExporter: Attribute "skinIndex" converted to type UNSIGNED_SHORT.'),h=new rn(new Uint16Array(O),M.itemSize,M.normalized));const m=this.processAccessor(h||M,a);m!==null&&(T.startsWith("_")||this.detectMeshQuantization(T,M),u[T]=m,n.attributes.set(this.getUID(M),m))}if(p!==void 0&&a.setAttribute("normal",p),Object.keys(u).length===0)return null;if(t.morphTargetInfluences!==void 0&&t.morphTargetInfluences.length>0){const T=[],M=[],O={};if(t.morphTargetDictionary!==void 0)for(const m in t.morphTargetDictionary)O[t.morphTargetDictionary[m]]=m;for(let m=0;m0&&(l.extras={},l.extras.targetNames=M)}const w=Array.isArray(t.material);if(w&&a.groups.length===0)return null;const x=w?t.material:[t.material],b=w?a.groups:[{materialIndex:0,start:void 0,count:void 0}];for(let T=0,M=b.length;T0&&(O.targets=d),a.index!==null){let _=this.getUID(a.index);(b[T].start!==void 0||b[T].count!==void 0)&&(_+=":"+b[T].start+":"+b[T].count),n.attributes.has(_)?O.indices=n.attributes.get(_):(O.indices=this.processAccessor(a.index,a,b[T].start,b[T].count),n.attributes.set(_,O.indices)),O.indices===null&&delete O.indices}const m=this.processMaterial(x[b[T].materialIndex]);m!==null&&(O.material=m),c.push(O)}l.primitives=c,r.meshes||(r.meshes=[]),this._invokeAll(function(T){T.writeMesh&&T.writeMesh(t,l)});const E=r.meshes.push(l)-1;return n.meshes.set(o,E),E}detectMeshQuantization(t,n){if(this.extensionsUsed[ei])return;let r;switch(n.array.constructor){case Int8Array:r="byte";break;case Uint8Array:r="unsigned byte";break;case Int16Array:r="short";break;case Uint16Array:r="unsigned short";break;default:return}n.normalized&&(r+=" normalized");const i=t.split("_",1)[0];Qo[i]&&Qo[i].includes(r)&&(this.extensionsUsed[ei]=!0,this.extensionsRequired[ei]=!0)}processCamera(t){const n=this.json;n.cameras||(n.cameras=[]);const r=t.isOrthographicCamera,i={type:r?"orthographic":"perspective"};return r?i.orthographic={xmag:t.right*2,ymag:t.top*2,zfar:t.far<=0?.001:t.far,znear:t.near<0?0:t.near}:i.perspective={aspectRatio:t.aspect,yfov:ln.degToRad(t.fov),zfar:t.far<=0?.001:t.far,znear:t.near<0?0:t.near},t.name!==""&&(i.name=t.type),n.cameras.push(i)-1}processAnimation(t,n){const r=this.json,i=this.nodeMap;r.animations||(r.animations=[]),t=Ws.Utils.mergeMorphTargetTracks(t.clone(),n);const o=t.tracks,a=[],s=[];for(let l=0;l0){const s=[];for(let l=0,u=t.children.length;l0&&(o.children=s)}this._invokeAll(function(s){s.writeNode&&s.writeNode(t,o)});const a=n.nodes.push(o)-1;return i.set(t,a),a}processScene(t){const n=this.json,r=this.options;n.scenes||(n.scenes=[],n.scene=0);const i={};t.name!==""&&(i.name=t.name),n.scenes.push(i);const o=[];for(let a=0,s=t.children.length;a0&&(i.nodes=o),this.serializeUserData(t,i)}processObjects(t){const n=new Fi;n.name="AuxScene";for(let r=0;r0&&this.processObjects(r);for(let i=0;i0&&(a.range=t.distance)):t.isSpotLight&&(a.type="spot",t.distance>0&&(a.range=t.distance),a.spot={},a.spot.innerConeAngle=(t.penumbra-1)*t.angle*-1,a.spot.outerConeAngle=t.angle),t.decay!==void 0&&t.decay!==2&&console.warn("THREE.GLTFExporter: Light decay may be lost. glTF is physically-based, and expects light.decay=2."),t.target&&(t.target.parent!==t||t.target.position.x!==0||t.target.position.y!==0||t.target.position.z!==-1)&&console.warn("THREE.GLTFExporter: Light direction may be lost. For best results, make light.target a child of the light with position 0,0,-1."),o[this.name]||(i.extensions=i.extensions||{},i.extensions[this.name]={lights:[]},o[this.name]=!0);const s=i.extensions[this.name].lights;s.push(a),n.extensions=n.extensions||{},n.extensions[this.name]={light:s.length-1}}}let Ud=class{constructor(e){this.writer=e,this.name="KHR_materials_unlit"}writeMaterial(e,t){if(!e.isMeshBasicMaterial)return;const n=this.writer.extensionsUsed;t.extensions=t.extensions||{},t.extensions[this.name]={},n[this.name]=!0,t.pbrMetallicRoughness.metallicFactor=0,t.pbrMetallicRoughness.roughnessFactor=.9}},$d=class{constructor(e){this.writer=e,this.name="KHR_materials_clearcoat"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.clearcoat===0)return;const n=this.writer,r=n.extensionsUsed,i={};if(i.clearcoatFactor=e.clearcoat,e.clearcoatMap){const o={index:n.processTexture(e.clearcoatMap),texCoord:e.clearcoatMap.channel};n.applyTextureTransform(o,e.clearcoatMap),i.clearcoatTexture=o}if(i.clearcoatRoughnessFactor=e.clearcoatRoughness,e.clearcoatRoughnessMap){const o={index:n.processTexture(e.clearcoatRoughnessMap),texCoord:e.clearcoatRoughnessMap.channel};n.applyTextureTransform(o,e.clearcoatRoughnessMap),i.clearcoatRoughnessTexture=o}if(e.clearcoatNormalMap){const o={index:n.processTexture(e.clearcoatNormalMap),texCoord:e.clearcoatNormalMap.channel};n.applyTextureTransform(o,e.clearcoatNormalMap),i.clearcoatNormalTexture=o}t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},jd=class{constructor(e){this.writer=e,this.name="KHR_materials_iridescence"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.iridescence===0)return;const n=this.writer,r=n.extensionsUsed,i={};if(i.iridescenceFactor=e.iridescence,e.iridescenceMap){const o={index:n.processTexture(e.iridescenceMap),texCoord:e.iridescenceMap.channel};n.applyTextureTransform(o,e.iridescenceMap),i.iridescenceTexture=o}if(i.iridescenceIor=e.iridescenceIOR,i.iridescenceThicknessMinimum=e.iridescenceThicknessRange[0],i.iridescenceThicknessMaximum=e.iridescenceThicknessRange[1],e.iridescenceThicknessMap){const o={index:n.processTexture(e.iridescenceThicknessMap),texCoord:e.iridescenceThicknessMap.channel};n.applyTextureTransform(o,e.iridescenceThicknessMap),i.iridescenceThicknessTexture=o}t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},Vd=class{constructor(e){this.writer=e,this.name="KHR_materials_transmission"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.transmission===0)return;const n=this.writer,r=n.extensionsUsed,i={};if(i.transmissionFactor=e.transmission,e.transmissionMap){const o={index:n.processTexture(e.transmissionMap),texCoord:e.transmissionMap.channel};n.applyTextureTransform(o,e.transmissionMap),i.transmissionTexture=o}t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},Hd=class{constructor(e){this.writer=e,this.name="KHR_materials_volume"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.transmission===0)return;const n=this.writer,r=n.extensionsUsed,i={};if(i.thicknessFactor=e.thickness,e.thicknessMap){const o={index:n.processTexture(e.thicknessMap),texCoord:e.thicknessMap.channel};n.applyTextureTransform(o,e.thicknessMap),i.thicknessTexture=o}i.attenuationDistance=e.attenuationDistance,i.attenuationColor=e.attenuationColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},Gd=class{constructor(e){this.writer=e,this.name="KHR_materials_ior"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.ior===1.5)return;const n=this.writer.extensionsUsed,r={};r.ior=e.ior,t.extensions=t.extensions||{},t.extensions[this.name]=r,n[this.name]=!0}},Kd=class{constructor(e){this.writer=e,this.name="KHR_materials_specular"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.specularIntensity===1&&e.specularColor.equals(Cd)&&!e.specularIntensityMap&&!e.specularColorTexture)return;const n=this.writer,r=n.extensionsUsed,i={};if(e.specularIntensityMap){const o={index:n.processTexture(e.specularIntensityMap),texCoord:e.specularIntensityMap.channel};n.applyTextureTransform(o,e.specularIntensityMap),i.specularTexture=o}if(e.specularColorMap){const o={index:n.processTexture(e.specularColorMap),texCoord:e.specularColorMap.channel};n.applyTextureTransform(o,e.specularColorMap),i.specularColorTexture=o}i.specularFactor=e.specularIntensity,i.specularColorFactor=e.specularColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},qd=class{constructor(e){this.writer=e,this.name="KHR_materials_sheen"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.sheen==0)return;const n=this.writer,r=n.extensionsUsed,i={};if(e.sheenRoughnessMap){const o={index:n.processTexture(e.sheenRoughnessMap),texCoord:e.sheenRoughnessMap.channel};n.applyTextureTransform(o,e.sheenRoughnessMap),i.sheenRoughnessTexture=o}if(e.sheenColorMap){const o={index:n.processTexture(e.sheenColorMap),texCoord:e.sheenColorMap.channel};n.applyTextureTransform(o,e.sheenColorMap),i.sheenColorTexture=o}i.sheenRoughnessFactor=e.sheenRoughness,i.sheenColorFactor=e.sheenColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},Wd=class{constructor(e){this.writer=e,this.name="KHR_materials_anisotropy"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.anisotropy==0)return;const n=this.writer,r=n.extensionsUsed,i={};if(e.anisotropyMap){const o={index:n.processTexture(e.anisotropyMap)};n.applyTextureTransform(o,e.anisotropyMap),i.anisotropyTexture=o}i.anisotropyStrength=e.anisotropy,i.anisotropyRotation=e.anisotropyRotation,t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},Yd=class{constructor(e){this.writer=e,this.name="KHR_materials_emissive_strength"}writeMaterial(e,t){if(!e.isMeshStandardMaterial||e.emissiveIntensity===1)return;const n=this.writer.extensionsUsed,r={};r.emissiveStrength=e.emissiveIntensity,t.extensions=t.extensions||{},t.extensions[this.name]=r,n[this.name]=!0}};var Kn=Uint8Array,Xs=Uint16Array,Xd=Uint32Array,Qd=new Kn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Zd=new Kn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Qs=function(e,t){for(var n=new Xs(31),r=0;r<31;++r)n[r]=t+=1<>>1|($e&21845)<<1;Gt=(Gt&52428)>>>2|(Gt&13107)<<2,Gt=(Gt&61680)>>>4|(Gt&3855)<<4,tf[$e]=((Gt&65280)>>>8|(Gt&255)<<8)>>>1}var Fr=new Kn(288);for(var $e=0;$e<144;++$e)Fr[$e]=8;for(var $e=144;$e<256;++$e)Fr[$e]=9;for(var $e=256;$e<280;++$e)Fr[$e]=7;for(var $e=280;$e<288;++$e)Fr[$e]=8;var nf=new Kn(32);for(var $e=0;$e<32;++$e)nf[$e]=5;var rf=new Kn(0),of=typeof TextDecoder<"u"&&new TextDecoder,af=0;try{of.decode(rf,{stream:!0}),af=1}catch{}var sf=Object.defineProperty,lf=(e,t,n)=>t in e?sf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,uf=(e,t,n)=>(lf(e,t+"",n),n);const Js=class extends an{constructor(e,t={}){super(e),this.isReflector=!0,this.type="Reflector",this.camera=new Xt;const n=this,r=t.color!==void 0?new tt(t.color):new tt(8355711),i=t.textureWidth||512,o=t.textureHeight||512,a=t.clipBias||0,s=t.shader||Js.ReflectorShader,l=t.multisample!==void 0?t.multisample:4,u=new _s,c=new de,d=new de,f=new de,p=new zt,h=new de(0,0,-1),w=new Zt,x=new de,b=new de,E=new Zt,T=new zt,M=this.camera,O=new nc(i,o,{samples:l,type:rc}),m=new jn({uniforms:uo.clone(s.uniforms),fragmentShader:s.fragmentShader,vertexShader:s.vertexShader});m.uniforms.tDiffuse.value=O.texture,m.uniforms.color.value=r,m.uniforms.textureMatrix.value=T,this.material=m,this.onBeforeRender=function(_,y,v){if(d.setFromMatrixPosition(n.matrixWorld),f.setFromMatrixPosition(v.matrixWorld),p.extractRotation(n.matrixWorld),c.set(0,0,1),c.applyMatrix4(p),x.subVectors(d,f),x.dot(c)>0)return;x.reflect(c).negate(),x.add(d),p.extractRotation(v.matrixWorld),h.set(0,0,-1),h.applyMatrix4(p),h.add(f),b.subVectors(d,h),b.reflect(c).negate(),b.add(d),M.position.copy(x),M.up.set(0,1,0),M.up.applyMatrix4(p),M.up.reflect(c),M.lookAt(b),M.far=v.far,M.updateMatrixWorld(),M.projectionMatrix.copy(v.projectionMatrix),T.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),T.multiply(M.projectionMatrix),T.multiply(M.matrixWorldInverse),T.multiply(n.matrixWorld),u.setFromNormalAndCoplanarPoint(c,d),u.applyMatrix4(M.matrixWorldInverse),w.set(u.normal.x,u.normal.y,u.normal.z,u.constant);const g=M.projectionMatrix;E.x=(Math.sign(w.x)+g.elements[8])/g.elements[0],E.y=(Math.sign(w.y)+g.elements[9])/g.elements[5],E.z=-1,E.w=(1+g.elements[10])/g.elements[14],w.multiplyScalar(2/w.dot(E)),g.elements[2]=w.x,g.elements[6]=w.y,g.elements[10]=w.z+1-a,g.elements[14]=w.w,n.visible=!1;const A=_.getRenderTarget(),C=_.xr.enabled,F=_.shadowMap.autoUpdate,V=_.toneMapping;let B=!1;"outputColorSpace"in _?B=_.outputColorSpace==="srgb":B=_.outputEncoding===3001,_.xr.enabled=!1,_.shadowMap.autoUpdate=!1,"outputColorSpace"in _?_.outputColorSpace="srgb-linear":_.outputEncoding=3e3,_.toneMapping=ic,_.setRenderTarget(O),_.state.buffers.depth.setMask(!0),_.autoClear===!1&&_.clear(),_.render(y,M),_.xr.enabled=C,_.shadowMap.autoUpdate=F,_.toneMapping=V,"outputColorSpace"in _?_.outputColorSpace=B?"srgb":"srgb-linear":_.outputEncoding=B?3001:3e3,_.setRenderTarget(A);const z=v.viewport;z!==void 0&&_.state.viewport(z),n.visible=!0},this.getRenderTarget=function(){return O},this.dispose=function(){O.dispose(),n.material.dispose()}}};let $i=Js;uf($i,"ReflectorShader",{uniforms:{color:{value:null},tDiffuse:{value:null},textureMatrix:{value:null}},vertexShader:` + uniform mat4 textureMatrix; + varying vec4 vUv; + + #include + #include + + void main() { + + vUv = textureMatrix * vec4( position, 1.0 ); + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + + #include + + }`,fragmentShader:` + uniform vec3 color; + uniform sampler2D tDiffuse; + varying vec4 vUv; + + #include + + float blendOverlay( float base, float blend ) { + + return( base < 0.5 ? ( 2.0 * base * blend ) : ( 1.0 - 2.0 * ( 1.0 - base ) * ( 1.0 - blend ) ) ); + + } + + vec3 blendOverlay( vec3 base, vec3 blend ) { + + return vec3( blendOverlay( base.r, blend.r ), blendOverlay( base.g, blend.g ), blendOverlay( base.b, blend.b ) ); + + } + + void main() { + + #include + + vec4 base = texture2DProj( tDiffuse, vUv ); + gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 ); + + #include + #include <${go>=154?"colorspace_fragment":"encodings_fragment"}> + + }`});var cf=Object.defineProperty,df=(e,t,n)=>t in e?cf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,el=(e,t,n)=>(df(e,typeof t!="symbol"?t+"":t,n),n);const zr=new Ms,ff=new Float32Array([-1,-1,0,0,0,1,-1,0,1,0,1,1,0,1,1,-1,1,0,0,1]),tl=new Is(ff,5);zr.setIndex([0,1,2,0,2,3]);zr.setAttribute("position",new lo(tl,3,0,!1));zr.setAttribute("uv",new lo(tl,2,3,!1));const ji=class extends an{constructor(){super(ji.Geometry,new vn({opacity:0,transparent:!0})),this.isLensflare=!0,this.type="Lensflare",this.frustumCulled=!1,this.renderOrder=1/0;const e=new de,t=new de,n=new Uo(new Uint8Array(16*16*3),16,16,Bi);n.minFilter=on,n.magFilter=on,n.wrapS=bn,n.wrapT=bn;const r=new Uo(new Uint8Array(16*16*3),16,16,Bi);r.minFilter=on,r.magFilter=on,r.wrapS=bn,r.wrapT=bn;const i=ji.Geometry,o=new Kr({uniforms:{scale:{value:null},screenPosition:{value:null}},vertexShader:` + + precision highp float; + + uniform vec3 screenPosition; + uniform vec2 scale; + + attribute vec3 position; + + void main() { + + gl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 ); + + }`,fragmentShader:` + + precision highp float; + + void main() { + + gl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 ); + + }`,depthTest:!0,depthWrite:!1,transparent:!1}),a=new Kr({uniforms:{map:{value:n},scale:{value:null},screenPosition:{value:null}},vertexShader:` + + precision highp float; + + uniform vec3 screenPosition; + uniform vec2 scale; + + attribute vec3 position; + attribute vec2 uv; + + varying vec2 vUV; + + void main() { + + vUV = uv; + + gl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 ); + + }`,fragmentShader:` + + precision highp float; + + uniform sampler2D map; + + varying vec2 vUV; + + void main() { + + gl_FragColor = texture2D( map, vUV ); + + }`,depthTest:!1,depthWrite:!1,transparent:!1}),s=new an(i,o),l=[],u=nl.Shader,c=new Kr({uniforms:{map:{value:null},occlusionMap:{value:r},color:{value:new tt(16777215)},scale:{value:new Xe},screenPosition:{value:new de}},vertexShader:u.vertexShader,fragmentShader:u.fragmentShader,blending:oc,transparent:!0,depthWrite:!1}),d=new an(i,c);this.addElement=function(x){l.push(x)};const f=new Xe,p=new Xe,h=new ac,w=new Zt;this.onBeforeRender=function(x,b,E){x.getCurrentViewport(w);const T=w.w/w.z,M=w.z/2,O=w.w/2;let m=16/w.w;if(f.set(m*T,m),h.min.set(w.x,w.y),h.max.set(w.x+(w.z-16),w.y+(w.w-16)),t.setFromMatrixPosition(this.matrixWorld),t.applyMatrix4(E.matrixWorldInverse),!(t.z>0)&&(e.copy(t).applyMatrix4(E.projectionMatrix),p.x=w.x+e.x*M+M-8,p.y=w.y+e.y*O+O-8,h.containsPoint(p))){x.copyFramebufferToTexture(p,n);let _=o.uniforms;_.scale.value=f,_.screenPosition.value=e,x.renderBufferDirect(E,null,i,o,s,null),x.copyFramebufferToTexture(p,r),_=a.uniforms,_.scale.value=f,_.screenPosition.value=e,x.renderBufferDirect(E,null,i,a,s,null);const y=-e.x*2,v=-e.y*2;for(let g=0,A=l.length;gt in e?hf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rl=(e,t,n)=>(mf(e,typeof t!="symbol"?t+"":t,n),n);const vr={uniforms:{turbidity:{value:2},rayleigh:{value:1},mieCoefficient:{value:.005},mieDirectionalG:{value:.8},sunPosition:{value:new de},up:{value:new de(0,1,0)}},vertexShader:` + uniform vec3 sunPosition; + uniform float rayleigh; + uniform float turbidity; + uniform float mieCoefficient; + uniform vec3 up; + + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + // constants for atmospheric scattering + const float e = 2.71828182845904523536028747135266249775724709369995957; + const float pi = 3.141592653589793238462643383279502884197169; + + // wavelength of used primaries, according to preetham + const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 ); + // this pre-calcuation replaces older TotalRayleigh(vec3 lambda) function: + // (8.0 * pow(pi, 3.0) * pow(pow(n, 2.0) - 1.0, 2.0) * (6.0 + 3.0 * pn)) / (3.0 * N * pow(lambda, vec3(4.0)) * (6.0 - 7.0 * pn)) + const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 ); + + // mie stuff + // K coefficient for the primaries + const float v = 4.0; + const vec3 K = vec3( 0.686, 0.678, 0.666 ); + // MieConst = pi * pow( ( 2.0 * pi ) / lambda, vec3( v - 2.0 ) ) * K + const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 ); + + // earth shadow hack + // cutoffAngle = pi / 1.95; + const float cutoffAngle = 1.6110731556870734; + const float steepness = 1.5; + const float EE = 1000.0; + + float sunIntensity( float zenithAngleCos ) { + zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 ); + return EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) ); + } + + vec3 totalMie( float T ) { + float c = ( 0.2 * T ) * 10E-18; + return 0.434 * c * MieConst; + } + + void main() { + + vec4 worldPosition = modelMatrix * vec4( position, 1.0 ); + vWorldPosition = worldPosition.xyz; + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + gl_Position.z = gl_Position.w; // set z to camera.far + + vSunDirection = normalize( sunPosition ); + + vSunE = sunIntensity( dot( vSunDirection, up ) ); + + vSunfade = 1.0 - clamp( 1.0 - exp( ( sunPosition.y / 450000.0 ) ), 0.0, 1.0 ); + + float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) ); + + // extinction (absorbtion + out scattering) + // rayleigh coefficients + vBetaR = totalRayleigh * rayleighCoefficient; + + // mie coefficients + vBetaM = totalMie( turbidity ) * mieCoefficient; + + } + `,fragmentShader:` + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + uniform float mieDirectionalG; + uniform vec3 up; + + const vec3 cameraPos = vec3( 0.0, 0.0, 0.0 ); + + // constants for atmospheric scattering + const float pi = 3.141592653589793238462643383279502884197169; + + const float n = 1.0003; // refractive index of air + const float N = 2.545E25; // number of molecules per unit volume for air at 288.15K and 1013mb (sea level -45 celsius) + + // optical length at zenith for molecules + const float rayleighZenithLength = 8.4E3; + const float mieZenithLength = 1.25E3; + // 66 arc seconds -> degrees, and the cosine of that + const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324; + + // 3.0 / ( 16.0 * pi ) + const float THREE_OVER_SIXTEENPI = 0.05968310365946075; + // 1.0 / ( 4.0 * pi ) + const float ONE_OVER_FOURPI = 0.07957747154594767; + + float rayleighPhase( float cosTheta ) { + return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) ); + } + + float hgPhase( float cosTheta, float g ) { + float g2 = pow( g, 2.0 ); + float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 ); + return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse ); + } + + void main() { + + vec3 direction = normalize( vWorldPosition - cameraPos ); + + // optical length + // cutoff angle at 90 to avoid singularity in next formula. + float zenithAngle = acos( max( 0.0, dot( up, direction ) ) ); + float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) ); + float sR = rayleighZenithLength * inverse; + float sM = mieZenithLength * inverse; + + // combined extinction factor + vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) ); + + // in scattering + float cosTheta = dot( direction, vSunDirection ); + + float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 ); + vec3 betaRTheta = vBetaR * rPhase; + + float mPhase = hgPhase( cosTheta, mieDirectionalG ); + vec3 betaMTheta = vBetaM * mPhase; + + vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 1.5 ) ); + Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5.0 ), 0.0, 1.0 ) ); + + // nightsky + float theta = acos( direction.y ); // elevation --> y-axis, [-pi/2, pi/2] + float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2] + vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 ); + vec3 L0 = vec3( 0.1 ) * Fex; + + // composition + solar disc + float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta ); + L0 += ( vSunE * 19000.0 * Fex ) * sundisk; + + vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 ); + + vec3 retColor = pow( texColor, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) ); + + gl_FragColor = vec4( retColor, 1.0 ); + + #include + #include <${go>=154?"colorspace_fragment":"encodings_fragment"}> + + } + `},il=new jn({name:"SkyShader",fragmentShader:vr.fragmentShader,vertexShader:vr.vertexShader,uniforms:uo.clone(vr.uniforms),side:qu,depthWrite:!1});class ol extends an{constructor(){super(new tc(1,1,1),il)}}rl(ol,"SkyShader",vr);rl(ol,"material",il);new Wu;new de;new Ss(0,0,0,"YXZ");new de;var gf=Object.defineProperty,yf=(e,t,n)=>t in e?gf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ae=(e,t,n)=>(yf(e,typeof t!="symbol"?t+"":t,n),n);const tr=new Ku,ra=new _s,vf=Math.cos(70*(Math.PI/180)),ia=(e,t)=>(e%t+t)%t;class bf extends Gu{constructor(t,n){super(),ae(this,"object"),ae(this,"domElement"),ae(this,"enabled",!0),ae(this,"target",new de),ae(this,"minDistance",0),ae(this,"maxDistance",1/0),ae(this,"minZoom",0),ae(this,"maxZoom",1/0),ae(this,"minPolarAngle",0),ae(this,"maxPolarAngle",Math.PI),ae(this,"minAzimuthAngle",-1/0),ae(this,"maxAzimuthAngle",1/0),ae(this,"enableDamping",!1),ae(this,"dampingFactor",.05),ae(this,"enableZoom",!0),ae(this,"zoomSpeed",1),ae(this,"enableRotate",!0),ae(this,"rotateSpeed",1),ae(this,"enablePan",!0),ae(this,"panSpeed",1),ae(this,"screenSpacePanning",!0),ae(this,"keyPanSpeed",7),ae(this,"zoomToCursor",!1),ae(this,"autoRotate",!1),ae(this,"autoRotateSpeed",2),ae(this,"reverseOrbit",!1),ae(this,"reverseHorizontalOrbit",!1),ae(this,"reverseVerticalOrbit",!1),ae(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),ae(this,"mouseButtons",{LEFT:fn.ROTATE,MIDDLE:fn.DOLLY,RIGHT:fn.PAN}),ae(this,"touches",{ONE:Yt.ROTATE,TWO:Yt.DOLLY_PAN}),ae(this,"target0"),ae(this,"position0"),ae(this,"zoom0"),ae(this,"_domElementKeyEvents",null),ae(this,"getPolarAngle"),ae(this,"getAzimuthalAngle"),ae(this,"setPolarAngle"),ae(this,"setAzimuthalAngle"),ae(this,"getDistance"),ae(this,"getZoomScale"),ae(this,"listenToKeyEvents"),ae(this,"stopListenToKeyEvents"),ae(this,"saveState"),ae(this,"reset"),ae(this,"update"),ae(this,"connect"),ae(this,"dispose"),ae(this,"dollyIn"),ae(this,"dollyOut"),ae(this,"getScale"),ae(this,"setScale"),this.object=t,this.domElement=n,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>c.phi,this.getAzimuthalAngle=()=>c.theta,this.setPolarAngle=N=>{let Q=ia(N,2*Math.PI),oe=c.phi;oe<0&&(oe+=2*Math.PI),Q<0&&(Q+=2*Math.PI);let Oe=Math.abs(Q-oe);2*Math.PI-Oe{let Q=ia(N,2*Math.PI),oe=c.theta;oe<0&&(oe+=2*Math.PI),Q<0&&(Q+=2*Math.PI);let Oe=Math.abs(Q-oe);2*Math.PI-Oer.object.position.distanceTo(r.target),this.listenToKeyEvents=N=>{N.addEventListener("keydown",ie),this._domElementKeyEvents=N},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",ie),this._domElementKeyEvents=null},this.saveState=()=>{r.target0.copy(r.target),r.position0.copy(r.object.position),r.zoom0=r.object.zoom},this.reset=()=>{r.target.copy(r.target0),r.object.position.copy(r.position0),r.object.zoom=r.zoom0,r.object.updateProjectionMatrix(),r.dispatchEvent(i),r.update(),l=s.NONE},this.update=(()=>{const N=new de,Q=new de(0,1,0),oe=new Tr().setFromUnitVectors(t.up,Q),Oe=oe.clone().invert(),dt=new de,wt=new Tr,Qn=2*Math.PI;return function(){const Fo=r.object.position;oe.setFromUnitVectors(t.up,Q),Oe.copy(oe).invert(),N.copy(Fo).sub(r.target),N.applyQuaternion(oe),c.setFromVector3(N),r.autoRotate&&l===s.NONE&&V(C()),r.enableDamping?(c.theta+=d.theta*r.dampingFactor,c.phi+=d.phi*r.dampingFactor):(c.theta+=d.theta,c.phi+=d.phi);let Rt=r.minAzimuthAngle,Ot=r.maxAzimuthAngle;isFinite(Rt)&&isFinite(Ot)&&(Rt<-Math.PI?Rt+=Qn:Rt>Math.PI&&(Rt-=Qn),Ot<-Math.PI?Ot+=Qn:Ot>Math.PI&&(Ot-=Qn),Rt<=Ot?c.theta=Math.max(Rt,Math.min(Ot,c.theta)):c.theta=c.theta>(Rt+Ot)/2?Math.max(Rt,c.theta):Math.min(Ot,c.theta)),c.phi=Math.max(r.minPolarAngle,Math.min(r.maxPolarAngle,c.phi)),c.makeSafe(),r.enableDamping===!0?r.target.addScaledVector(p,r.dampingFactor):r.target.add(p),r.zoomToCursor&&v||r.object.isOrthographicCamera?c.radius=R(c.radius):c.radius=R(c.radius*f),N.setFromSpherical(c),N.applyQuaternion(Oe),Fo.copy(r.target).add(N),r.object.matrixAutoUpdate||r.object.updateMatrix(),r.object.lookAt(r.target),r.enableDamping===!0?(d.theta*=1-r.dampingFactor,d.phi*=1-r.dampingFactor,p.multiplyScalar(1-r.dampingFactor)):(d.set(0,0,0),p.set(0,0,0));let Sn=!1;if(r.zoomToCursor&&v){let Cn=null;if(r.object instanceof Xt&&r.object.isPerspectiveCamera){const Rn=N.length();Cn=R(Rn*f);const Zn=Rn-Cn;r.object.position.addScaledVector(_,Zn),r.object.updateMatrixWorld()}else if(r.object.isOrthographicCamera){const Rn=new de(y.x,y.y,0);Rn.unproject(r.object),r.object.zoom=Math.max(r.minZoom,Math.min(r.maxZoom,r.object.zoom/f)),r.object.updateProjectionMatrix(),Sn=!0;const Zn=new de(y.x,y.y,0);Zn.unproject(r.object),r.object.position.sub(Zn).add(Rn),r.object.updateMatrixWorld(),Cn=N.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),r.zoomToCursor=!1;Cn!==null&&(r.screenSpacePanning?r.target.set(0,0,-1).transformDirection(r.object.matrix).multiplyScalar(Cn).add(r.object.position):(tr.origin.copy(r.object.position),tr.direction.set(0,0,-1).transformDirection(r.object.matrix),Math.abs(r.object.up.dot(tr.direction))u||8*(1-wt.dot(r.object.quaternion))>u?(r.dispatchEvent(i),dt.copy(r.object.position),wt.copy(r.object.quaternion),Sn=!1,!0):!1}})(),this.connect=N=>{r.domElement=N,r.domElement.style.touchAction="none",r.domElement.addEventListener("contextmenu",He),r.domElement.addEventListener("pointerdown",_e),r.domElement.addEventListener("pointercancel",Je),r.domElement.addEventListener("wheel",Z)},this.dispose=()=>{var N,Q,oe,Oe,dt,wt;r.domElement&&(r.domElement.style.touchAction="auto"),(N=r.domElement)==null||N.removeEventListener("contextmenu",He),(Q=r.domElement)==null||Q.removeEventListener("pointerdown",_e),(oe=r.domElement)==null||oe.removeEventListener("pointercancel",Je),(Oe=r.domElement)==null||Oe.removeEventListener("wheel",Z),(dt=r.domElement)==null||dt.ownerDocument.removeEventListener("pointermove",Qe),(wt=r.domElement)==null||wt.ownerDocument.removeEventListener("pointerup",Je),r._domElementKeyEvents!==null&&r._domElementKeyEvents.removeEventListener("keydown",ie)};const r=this,i={type:"change"},o={type:"start"},a={type:"end"},s={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let l=s.NONE;const u=1e-6,c=new zo,d=new zo;let f=1;const p=new de,h=new Xe,w=new Xe,x=new Xe,b=new Xe,E=new Xe,T=new Xe,M=new Xe,O=new Xe,m=new Xe,_=new de,y=new Xe;let v=!1;const g=[],A={};function C(){return 2*Math.PI/60/60*r.autoRotateSpeed}function F(){return Math.pow(.95,r.zoomSpeed)}function V(N){r.reverseOrbit||r.reverseHorizontalOrbit?d.theta+=N:d.theta-=N}function B(N){r.reverseOrbit||r.reverseVerticalOrbit?d.phi+=N:d.phi-=N}const z=(()=>{const N=new de;return function(Q,oe){N.setFromMatrixColumn(oe,0),N.multiplyScalar(-Q),p.add(N)}})(),J=(()=>{const N=new de;return function(Q,oe){r.screenSpacePanning===!0?N.setFromMatrixColumn(oe,1):(N.setFromMatrixColumn(oe,0),N.crossVectors(r.object.up,N)),N.multiplyScalar(Q),p.add(N)}})(),G=(()=>{const N=new de;return function(Q,oe){const Oe=r.domElement;if(Oe&&r.object instanceof Xt&&r.object.isPerspectiveCamera){const dt=r.object.position;N.copy(dt).sub(r.target);let wt=N.length();wt*=Math.tan(r.object.fov/2*Math.PI/180),z(2*Q*wt/Oe.clientHeight,r.object.matrix),J(2*oe*wt/Oe.clientHeight,r.object.matrix)}else Oe&&r.object instanceof xn&&r.object.isOrthographicCamera?(z(Q*(r.object.right-r.object.left)/r.object.zoom/Oe.clientWidth,r.object.matrix),J(oe*(r.object.top-r.object.bottom)/r.object.zoom/Oe.clientHeight,r.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),r.enablePan=!1)}})();function ne(N){r.object instanceof Xt&&r.object.isPerspectiveCamera||r.object instanceof xn&&r.object.isOrthographicCamera?f=N:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),r.enableZoom=!1)}function I(N){ne(f/N)}function ge(N){ne(f*N)}function Ce(N){if(!r.zoomToCursor||!r.domElement)return;v=!0;const Q=r.domElement.getBoundingClientRect(),oe=N.clientX-Q.left,Oe=N.clientY-Q.top,dt=Q.width,wt=Q.height;y.x=oe/dt*2-1,y.y=-(Oe/wt)*2+1,_.set(y.x,y.y,1).unproject(r.object).sub(r.object.position).normalize()}function R(N){return Math.max(r.minDistance,Math.min(r.maxDistance,N))}function ye(N){h.set(N.clientX,N.clientY)}function Ie(N){Ce(N),M.set(N.clientX,N.clientY)}function Ae(N){b.set(N.clientX,N.clientY)}function qe(N){w.set(N.clientX,N.clientY),x.subVectors(w,h).multiplyScalar(r.rotateSpeed);const Q=r.domElement;Q&&(V(2*Math.PI*x.x/Q.clientHeight),B(2*Math.PI*x.y/Q.clientHeight)),h.copy(w),r.update()}function q(N){O.set(N.clientX,N.clientY),m.subVectors(O,M),m.y>0?I(F()):m.y<0&&ge(F()),M.copy(O),r.update()}function k(N){E.set(N.clientX,N.clientY),T.subVectors(E,b).multiplyScalar(r.panSpeed),G(T.x,T.y),b.copy(E),r.update()}function S(N){Ce(N),N.deltaY<0?ge(F()):N.deltaY>0&&I(F()),r.update()}function P(N){let Q=!1;switch(N.code){case r.keys.UP:G(0,r.keyPanSpeed),Q=!0;break;case r.keys.BOTTOM:G(0,-r.keyPanSpeed),Q=!0;break;case r.keys.LEFT:G(r.keyPanSpeed,0),Q=!0;break;case r.keys.RIGHT:G(-r.keyPanSpeed,0),Q=!0;break}Q&&(N.preventDefault(),r.update())}function H(){if(g.length==1)h.set(g[0].pageX,g[0].pageY);else{const N=.5*(g[0].pageX+g[1].pageX),Q=.5*(g[0].pageY+g[1].pageY);h.set(N,Q)}}function U(){if(g.length==1)b.set(g[0].pageX,g[0].pageY);else{const N=.5*(g[0].pageX+g[1].pageX),Q=.5*(g[0].pageY+g[1].pageY);b.set(N,Q)}}function Y(){const N=g[0].pageX-g[1].pageX,Q=g[0].pageY-g[1].pageY,oe=Math.sqrt(N*N+Q*Q);M.set(0,oe)}function K(){r.enableZoom&&Y(),r.enablePan&&U()}function re(){r.enableZoom&&Y(),r.enableRotate&&H()}function se(N){if(g.length==1)w.set(N.pageX,N.pageY);else{const oe=Ct(N),Oe=.5*(N.pageX+oe.x),dt=.5*(N.pageY+oe.y);w.set(Oe,dt)}x.subVectors(w,h).multiplyScalar(r.rotateSpeed);const Q=r.domElement;Q&&(V(2*Math.PI*x.x/Q.clientHeight),B(2*Math.PI*x.y/Q.clientHeight)),h.copy(w)}function te(N){if(g.length==1)E.set(N.pageX,N.pageY);else{const Q=Ct(N),oe=.5*(N.pageX+Q.x),Oe=.5*(N.pageY+Q.y);E.set(oe,Oe)}T.subVectors(E,b).multiplyScalar(r.panSpeed),G(T.x,T.y),b.copy(E)}function le(N){const Q=Ct(N),oe=N.pageX-Q.x,Oe=N.pageY-Q.y,dt=Math.sqrt(oe*oe+Oe*Oe);O.set(0,dt),m.set(0,Math.pow(O.y/M.y,r.zoomSpeed)),I(m.y),M.copy(O)}function ve(N){r.enableZoom&&le(N),r.enablePan&&te(N)}function me(N){r.enableZoom&&le(N),r.enableRotate&&se(N)}function _e(N){var Q,oe;r.enabled!==!1&&(g.length===0&&((Q=r.domElement)==null||Q.ownerDocument.addEventListener("pointermove",Qe),(oe=r.domElement)==null||oe.ownerDocument.addEventListener("pointerup",Je)),rt(N),N.pointerType==="touch"?ce(N):Vt(N))}function Qe(N){r.enabled!==!1&&(N.pointerType==="touch"?Te(N):$(N))}function Je(N){var Q,oe,Oe;it(N),g.length===0&&((Q=r.domElement)==null||Q.releasePointerCapture(N.pointerId),(oe=r.domElement)==null||oe.ownerDocument.removeEventListener("pointermove",Qe),(Oe=r.domElement)==null||Oe.ownerDocument.removeEventListener("pointerup",Je)),r.dispatchEvent(a),l=s.NONE}function Vt(N){let Q;switch(N.button){case 0:Q=r.mouseButtons.LEFT;break;case 1:Q=r.mouseButtons.MIDDLE;break;case 2:Q=r.mouseButtons.RIGHT;break;default:Q=-1}switch(Q){case fn.DOLLY:if(r.enableZoom===!1)return;Ie(N),l=s.DOLLY;break;case fn.ROTATE:if(N.ctrlKey||N.metaKey||N.shiftKey){if(r.enablePan===!1)return;Ae(N),l=s.PAN}else{if(r.enableRotate===!1)return;ye(N),l=s.ROTATE}break;case fn.PAN:if(N.ctrlKey||N.metaKey||N.shiftKey){if(r.enableRotate===!1)return;ye(N),l=s.ROTATE}else{if(r.enablePan===!1)return;Ae(N),l=s.PAN}break;default:l=s.NONE}l!==s.NONE&&r.dispatchEvent(o)}function $(N){if(r.enabled!==!1)switch(l){case s.ROTATE:if(r.enableRotate===!1)return;qe(N);break;case s.DOLLY:if(r.enableZoom===!1)return;q(N);break;case s.PAN:if(r.enablePan===!1)return;k(N);break}}function Z(N){r.enabled===!1||r.enableZoom===!1||l!==s.NONE&&l!==s.ROTATE||(N.preventDefault(),r.dispatchEvent(o),S(N),r.dispatchEvent(a))}function ie(N){r.enabled===!1||r.enablePan===!1||P(N)}function ce(N){switch(Ht(N),g.length){case 1:switch(r.touches.ONE){case Yt.ROTATE:if(r.enableRotate===!1)return;H(),l=s.TOUCH_ROTATE;break;case Yt.PAN:if(r.enablePan===!1)return;U(),l=s.TOUCH_PAN;break;default:l=s.NONE}break;case 2:switch(r.touches.TWO){case Yt.DOLLY_PAN:if(r.enableZoom===!1&&r.enablePan===!1)return;K(),l=s.TOUCH_DOLLY_PAN;break;case Yt.DOLLY_ROTATE:if(r.enableZoom===!1&&r.enableRotate===!1)return;re(),l=s.TOUCH_DOLLY_ROTATE;break;default:l=s.NONE}break;default:l=s.NONE}l!==s.NONE&&r.dispatchEvent(o)}function Te(N){switch(Ht(N),l){case s.TOUCH_ROTATE:if(r.enableRotate===!1)return;se(N),r.update();break;case s.TOUCH_PAN:if(r.enablePan===!1)return;te(N),r.update();break;case s.TOUCH_DOLLY_PAN:if(r.enableZoom===!1&&r.enablePan===!1)return;ve(N),r.update();break;case s.TOUCH_DOLLY_ROTATE:if(r.enableZoom===!1&&r.enableRotate===!1)return;me(N),r.update();break;default:l=s.NONE}}function He(N){r.enabled!==!1&&N.preventDefault()}function rt(N){g.push(N)}function it(N){delete A[N.pointerId];for(let Q=0;Q{ge(N),r.update()},this.dollyOut=(N=F())=>{I(N),r.update()},this.getScale=()=>f,this.setScale=N=>{ne(N),r.update()},this.getZoomScale=()=>F(),n!==void 0&&this.connect(n),this.update()}}new zt;new de;new Ss;new de;var xf=Object.defineProperty,wf=(e,t,n)=>t in e?xf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yo=(e,t,n)=>(wf(e,typeof t!="symbol"?t+"":t,n),n);class al{constructor(t){yo(this,"data"),this.data=t}generateShapes(t,n=100,r){const i=[],o={letterSpacing:0,lineHeight:1,...r},a=kf(t,n,this.data,o);for(let s=0,l=a.length;s + #include + #include + uniform float thickness; + uniform bool screenspace; + uniform vec2 size; + void main() { + #if defined (USE_SKINNING) + #include + #include + #include + #include + #include + #endif + #include + #include + #include + #include + vec4 tNormal = vec4(normal, 0.0); + vec4 tPosition = vec4(transformed, 1.0); + #ifdef USE_INSTANCING + tNormal = instanceMatrix * tNormal; + tPosition = instanceMatrix * tPosition; + #endif + if (screenspace) { + vec3 newPosition = tPosition.xyz + tNormal.xyz * thickness; + gl_Position = projectionMatrix * modelViewMatrix * vec4(newPosition, 1.0); + } else { + vec4 clipPosition = projectionMatrix * modelViewMatrix * tPosition; + vec4 clipNormal = projectionMatrix * modelViewMatrix * tNormal; + vec2 offset = normalize(clipNormal.xy) * thickness / size * clipPosition.w * 2.0; + clipPosition.xy += offset; + gl_Position = clipPosition; + } + }`,`uniform vec3 color; + uniform float opacity; + void main(){ + gl_FragColor = vec4(color, opacity); + #include + #include + }`);const Ef=["args","material-uniforms-color-value"];$i.ReflectorShader;new de;new de;new de;var ni;/Mac/.test((ni=globalThis==null?void 0:globalThis.navigator)===null||ni===void 0?void 0:ni.platform);const Af=["target","auto-rotate","auto-rotate-speed","enable-damping","damping-factor","enable-pan","key-pan-speed","keys","max-azimuth-angle","min-azimuth-angle","max-polar-angle","min-polar-angle","min-distance","max-distance","min-zoom","max-zoom","touches","enable-zoom","zoom-speed","enable-rotate","rotate-speed","args"],_f=we({__name:"OrbitControls",props:{makeDefault:{type:Boolean,default:!1},camera:{},domElement:{},target:{default:()=>[0,0,0]},enableDamping:{type:Boolean,default:!0},dampingFactor:{default:.05},autoRotate:{type:Boolean,default:!1},autoRotateSpeed:{default:2},enablePan:{type:Boolean,default:!0},keyPanSpeed:{default:7},keys:{},maxAzimuthAngle:{default:Number.POSITIVE_INFINITY},minAzimuthAngle:{default:Number.NEGATIVE_INFINITY},maxPolarAngle:{default:Math.PI},minPolarAngle:{default:0},minDistance:{default:0},maxDistance:{default:Number.POSITIVE_INFINITY},minZoom:{default:0},maxZoom:{default:Number.POSITIVE_INFINITY},touches:{default:()=>({ONE:Yt.ROTATE,TWO:Yt.DOLLY_PAN})},enableZoom:{type:Boolean,default:!0},zoomSpeed:{default:1},enableRotate:{type:Boolean,default:!0},rotateSpeed:{default:1}},emits:["change","start","end"],setup(e,{expose:t,emit:n}){const r=e,i=n,{makeDefault:o,autoRotate:a,autoRotateSpeed:s,enableDamping:l,dampingFactor:u,enablePan:c,keyPanSpeed:d,maxAzimuthAngle:f,minAzimuthAngle:p,maxPolarAngle:h,minPolarAngle:w,minDistance:x,maxDistance:b,minZoom:E,maxZoom:T,enableZoom:M,zoomSpeed:O,enableRotate:m,touches:_,rotateSpeed:y,target:v}=_n(r),{camera:g,renderer:A,extend:C,controls:F,invalidate:V}=Or(),B=As(null);C({OrbitControls:bf}),Se(B,G=>{z(),G&&o.value?F.value=G:F.value=null});function z(){Qr(B.value,"change",()=>{i("change",B.value),V()}),Qr(B.value,"start",()=>i("start",B.value)),Qr(B.value,"end",()=>i("end",B.value))}const{onBeforeRender:J}=kr();return J(({invalidate:G})=>{B.value&&(l.value||a.value)&&(B.value.update(),a.value&&G())}),yt(()=>{B.value&&B.value.dispose()}),t({instance:B}),(G,ne)=>(G.camera||D(g))&&(G.domElement||D(A))?(X(),ee("TresOrbitControls",{key:0,ref_key:"controlsRef",ref:B,target:D(v),"auto-rotate":D(a),"auto-rotate-speed":D(s),"enable-damping":D(l),"damping-factor":D(u),"enable-pan":D(c),"key-pan-speed":D(d),keys:G.keys,"max-azimuth-angle":D(f),"min-azimuth-angle":D(p),"max-polar-angle":D(h),"min-polar-angle":D(w),"min-distance":D(x),"max-distance":D(b),"min-zoom":D(E),"max-zoom":D(T),touches:D(_),"enable-zoom":D(M),"zoom-speed":D(O),"enable-rotate":D(m),"rotate-speed":D(y),args:[G.camera||D(g),G.domElement||D(A).domElement]},null,8,Af)):Ke("",!0)}});function nr(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var oa={exports:{}},aa;function Mf(){return aa||(aa=1,function(e,t){(function(n){e.exports=n()})(function(){return function n(r,i,o){function a(u,c){if(!i[u]){if(!r[u]){var d=typeof nr=="function"&&nr;if(!c&&d)return d(u,!0);if(s)return s(u,!0);throw new Error("Cannot find module '"+u+"'")}c=i[u]={exports:{}},r[u][0].call(c.exports,function(f){var p=r[u][1][f];return a(p||f)},c,c.exports,n,r,i,o)}return i[u].exports}for(var s=typeof nr=="function"&&nr,l=0;l>16),B((65280&g)>>8),B(255&g);return A==2?B(255&(g=_(y.charAt(v))<<2|_(y.charAt(v+1))>>4)):A==1&&(B((g=_(y.charAt(v))<<10|_(y.charAt(v+1))<<4|_(y.charAt(v+2))>>2)>>8&255),B(255&g)),C},h.fromByteArray=function(y){var v,g,A,C,F=y.length%3,V="";function B(z){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(z)}for(v=0,A=y.length-F;v>18&63)+B(C>>12&63)+B(C>>6&63)+B(63&C);switch(F){case 1:V=(V+=B((g=y[y.length-1])>>2))+B(g<<4&63)+"==";break;case 2:V=(V=(V+=B((g=(y[y.length-2]<<8)+y[y.length-1])>>10))+B(g>>4&63))+B(g<<2&63)+"="}return V}})(i===void 0?this.base64js={}:i)}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(n,r,i){(function(o,a,x,l,u,c,d,f,p){var h=n("base64-js"),w=n("ieee754");function x(k,S,P){if(!(this instanceof x))return new x(k,S,P);var H,U,Y,K,re=typeof k;if(S==="base64"&&re=="string")for(k=(K=k).trim?K.trim():K.replace(/^\s+|\s+$/g,"");k.length%4!=0;)k+="=";if(re=="number")H=G(k);else if(re=="string")H=x.byteLength(k,S);else{if(re!="object")throw new Error("First argument needs to be a number, array or string.");H=G(k.length)}if(x._useTypedArrays?U=x._augment(new Uint8Array(H)):((U=this).length=H,U._isBuffer=!0),x._useTypedArrays&&typeof k.byteLength=="number")U._set(k);else if(ne(K=k)||x.isBuffer(K)||K&&typeof K=="object"&&typeof K.length=="number")for(Y=0;Y>8,K=K%256,re.push(K),re.push(Y);return re}(S),k,P,H)}function T(k,S,P){var H="";P=Math.min(k.length,P);for(var U=S;U>>0)):(S+1>>0),U}function m(k,S,P,H){if(H||(q(typeof P=="boolean","missing or invalid endian"),q(S!=null,"missing offset"),q(S+1>>8*(H?Y:1-Y)}function A(k,S,P,H,U){if(U||(q(S!=null,"missing value"),q(typeof H=="boolean","missing or invalid endian"),q(P!=null,"missing offset"),q(P+3>>8*(H?Y:3-Y)&255}function C(k,S,P,H,U){U||(q(S!=null,"missing value"),q(typeof H=="boolean","missing or invalid endian"),q(P!=null,"missing offset"),q(P+1this.length&&(H=this.length);var U=(H=k.length-S=this.length))return this[k]},x.prototype.readUInt16LE=function(k,S){return M(this,k,!0,S)},x.prototype.readUInt16BE=function(k,S){return M(this,k,!1,S)},x.prototype.readUInt32LE=function(k,S){return O(this,k,!0,S)},x.prototype.readUInt32BE=function(k,S){return O(this,k,!1,S)},x.prototype.readInt8=function(k,S){if(S||(q(k!=null,"missing offset"),q(k=this.length))return 128&this[k]?-1*(255-this[k]+1):this[k]},x.prototype.readInt16LE=function(k,S){return m(this,k,!0,S)},x.prototype.readInt16BE=function(k,S){return m(this,k,!1,S)},x.prototype.readInt32LE=function(k,S){return _(this,k,!0,S)},x.prototype.readInt32BE=function(k,S){return _(this,k,!1,S)},x.prototype.readFloatLE=function(k,S){return y(this,k,!0,S)},x.prototype.readFloatBE=function(k,S){return y(this,k,!1,S)},x.prototype.readDoubleLE=function(k,S){return v(this,k,!0,S)},x.prototype.readDoubleBE=function(k,S){return v(this,k,!1,S)},x.prototype.writeUInt8=function(k,S,P){P||(q(k!=null,"missing value"),q(S!=null,"missing offset"),q(S=this.length||(this[S]=k)},x.prototype.writeUInt16LE=function(k,S,P){g(this,k,S,!0,P)},x.prototype.writeUInt16BE=function(k,S,P){g(this,k,S,!1,P)},x.prototype.writeUInt32LE=function(k,S,P){A(this,k,S,!0,P)},x.prototype.writeUInt32BE=function(k,S,P){A(this,k,S,!1,P)},x.prototype.writeInt8=function(k,S,P){P||(q(k!=null,"missing value"),q(S!=null,"missing offset"),q(S=this.length||(0<=k?this.writeUInt8(k,S,P):this.writeUInt8(255+k+1,S,P))},x.prototype.writeInt16LE=function(k,S,P){C(this,k,S,!0,P)},x.prototype.writeInt16BE=function(k,S,P){C(this,k,S,!1,P)},x.prototype.writeInt32LE=function(k,S,P){F(this,k,S,!0,P)},x.prototype.writeInt32BE=function(k,S,P){F(this,k,S,!1,P)},x.prototype.writeFloatLE=function(k,S,P){V(this,k,S,!0,P)},x.prototype.writeFloatBE=function(k,S,P){V(this,k,S,!1,P)},x.prototype.writeDoubleLE=function(k,S,P){B(this,k,S,!0,P)},x.prototype.writeDoubleBE=function(k,S,P){B(this,k,S,!1,P)},x.prototype.fill=function(k,S,P){if(S=S||0,P=P||this.length,q(typeof(k=typeof(k=k||0)=="string"?k.charCodeAt(0):k)=="number"&&!isNaN(k),"value is not a number"),q(S<=P,"end < start"),P!==S&&this.length!==0){q(0<=S&&S"},x.prototype.toArrayBuffer=function(){if(typeof Uint8Array>"u")throw new Error("Buffer.toArrayBuffer not supported in this browser");if(x._useTypedArrays)return new x(this).buffer;for(var k=new Uint8Array(this.length),S=0,P=k.length;S=S.length||U>=k.length);U++)S[U+P]=k[U];return U}function ye(k){try{return decodeURIComponent(k)}catch{return"�"}}function Ie(k,S){q(typeof k=="number","cannot write a non-number as a number"),q(0<=k,"specified a negative value for writing an unsigned value"),q(k<=S,"value is larger than maximum value for type"),q(Math.floor(k)===k,"value has a fractional component")}function Ae(k,S,P){q(typeof k=="number","cannot write a non-number as a number"),q(k<=S,"value larger than maximum allowed value"),q(P<=k,"value smaller than minimum allowed value"),q(Math.floor(k)===k,"value has a fractional component")}function qe(k,S,P){q(typeof k=="number","cannot write a non-number as a number"),q(k<=S,"value larger than maximum allowed value"),q(P<=k,"value smaller than minimum allowed value")}function q(k,S){if(!k)throw new Error(S||"Failed assertion")}x._augment=function(k){return k._isBuffer=!0,k._get=k.get,k._set=k.set,k.get=z.get,k.set=z.set,k.write=z.write,k.toString=z.toString,k.toLocaleString=z.toString,k.toJSON=z.toJSON,k.copy=z.copy,k.slice=z.slice,k.readUInt8=z.readUInt8,k.readUInt16LE=z.readUInt16LE,k.readUInt16BE=z.readUInt16BE,k.readUInt32LE=z.readUInt32LE,k.readUInt32BE=z.readUInt32BE,k.readInt8=z.readInt8,k.readInt16LE=z.readInt16LE,k.readInt16BE=z.readInt16BE,k.readInt32LE=z.readInt32LE,k.readInt32BE=z.readInt32BE,k.readFloatLE=z.readFloatLE,k.readFloatBE=z.readFloatBE,k.readDoubleLE=z.readDoubleLE,k.readDoubleBE=z.readDoubleBE,k.writeUInt8=z.writeUInt8,k.writeUInt16LE=z.writeUInt16LE,k.writeUInt16BE=z.writeUInt16BE,k.writeUInt32LE=z.writeUInt32LE,k.writeUInt32BE=z.writeUInt32BE,k.writeInt8=z.writeInt8,k.writeInt16LE=z.writeInt16LE,k.writeInt16BE=z.writeInt16BE,k.writeInt32LE=z.writeInt32LE,k.writeInt32BE=z.writeInt32BE,k.writeFloatLE=z.writeFloatLE,k.writeFloatBE=z.writeFloatBE,k.writeDoubleLE=z.writeDoubleLE,k.writeDoubleBE=z.writeDoubleBE,k.fill=z.fill,k.inspect=z.inspect,k.toArrayBuffer=z.toArrayBuffer,k}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(n,r,i){(function(o,a,h,l,u,c,d,f,p){var h=n("buffer").Buffer,w=4,x=new h(w);x.fill(0),r.exports={hash:function(b,E,T,M){for(var O=E(function(g,A){g.length%w!=0&&(C=g.length+(w-g.length%w),g=h.concat([g,x],C));for(var C,F=[],V=A?g.readInt32BE:g.readInt32LE,B=0;BT?J=z(J):J.length>5]|=128<<_%32,m[14+(_+64>>>9<<4)]=_;for(var y=1732584193,v=-271733879,g=-1732584194,A=271733878,C=0;C>>32-g,y)}function b(m,_,y,v,g,A,C){return x(_&y|~_&v,m,_,g,A,C)}function E(m,_,y,v,g,A,C){return x(_&v|y&~v,m,_,g,A,C)}function T(m,_,y,v,g,A,C){return x(_^y^v,m,_,g,A,C)}function M(m,_,y,v,g,A,C){return x(y^(_|~v),m,_,g,A,C)}function O(m,_){var y=(65535&m)+(65535&_);return(m>>16)+(_>>16)+(y>>16)<<16|65535&y}r.exports=function(m){return h.hash(m,w,16)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(n,r,i){(function(o,a,s,l,u,c,d,f,p){r.exports=function(h){for(var w,x=new Array(h),b=0;b>>((3&b)<<3)&255;return x}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(n,r,i){(function(o,a,s,l,u,c,d,f,p){var h=n("./helpers");function w(E,T){E[T>>5]|=128<<24-T%32,E[15+(T+64>>9<<4)]=T;for(var M,O,m,_=Array(80),y=1732584193,v=-271733879,g=-1732584194,A=271733878,C=-1009589776,F=0;F>16)+(T>>16)+(M>>16)<<16|65535&M}function b(E,T){return E<>>32-T}r.exports=function(E){return h.hash(E,w,20,!0)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(n,r,i){(function(o,a,s,l,u,c,d,f,p){function h(T,M){var O=(65535&T)+(65535&M);return(T>>16)+(M>>16)+(O>>16)<<16|65535&O}function w(T,M){var O,m=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),_=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),y=new Array(64);T[M>>5]|=128<<24-M%32,T[15+(M+64>>9<<4)]=M;for(var v,g,A=0;A>>M|T<<32-M},E=function(T,M){return T>>>M};r.exports=function(T){return x.hash(T,w,32,!0)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(n,r,i){(function(o,a,s,l,u,c,d,f,p){i.read=function(h,w,x,b,A){var T,M,O=8*A-b-1,m=(1<>1,y=-7,v=x?A-1:0,g=x?-1:1,A=h[w+v];for(v+=g,T=A&(1<<-y)-1,A>>=-y,y+=O;0>=-y,y+=b;0>1,v=E===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=b?0:C-1,A=b?1:-1,C=w<0||w===0&&1/w<0?1:0;for(w=Math.abs(w),isNaN(w)||w===1/0?(O=isNaN(w)?1:0,M=_):(M=Math.floor(Math.log(w)/Math.LN2),w*(b=Math.pow(2,-M))<1&&(M--,b*=2),2<=(w+=1<=M+y?v/b:v*Math.pow(2,1-y))*b&&(M++,b/=2),_<=M+y?(O=0,M=_):1<=M+y?(O=(w*b-1)*Math.pow(2,E),M+=y):(O=w*Math.pow(2,y-1)*Math.pow(2,E),M=0));8<=E;h[x+g]=255&O,g+=A,O/=256,E-=8);for(M=M<>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]),ua}var da,fa;function ll(){return fa||(fa=1,da=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]),da}var ri,pa;function Sf(){if(pa)return ri;pa=1;var e=sl();return ri=e.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"]),ri}var ii,ha;function Cf(){if(ha)return ii;ha=1;var e=ll();return e=e.slice().filter(function(t){return!/^(gl\_|texture)/.test(t)}),ii=e.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"]),ii}var oi,ma;function Rf(){if(ma)return oi;ma=1,oi=M;var e=sl(),t=If(),n=ll(),r=Sf(),i=Cf(),o=999,a=9999,s=0,l=1,u=2,c=3,d=4,f=5,p=6,h=7,w=8,x=9,b=10,E=11,T=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"];function M(O){var m=0,_=0,y=o,v,g,A=[],C=[],F=1,V=0,B=0,z=!1,J=!1,G="",ne;O=O||{};var I=n,ge=e;O.version==="300 es"&&(I=i,ge=r);for(var Ce={},R={},m=0;m0)continue;me=te.slice(0,1).join("")}return ye(me),B+=me.length,A=A.slice(me.length),A.length}while(!0)}function Y(){return/[^a-fA-F0-9]/.test(v)?(ye(A.join("")),y=o,m):(A.push(v),g=v,m+1)}function K(){return v==="."||/[eE]/.test(v)?(A.push(v),y=f,g=v,m+1):v==="x"&&A.length===1&&A[0]==="0"?(y=E,A.push(v),g=v,m+1):/[^\d]/.test(v)?(ye(A.join("")),y=o,m):(A.push(v),g=v,m+1)}function re(){return v==="f"&&(A.push(v),g=v,m+=1),/[eE]/.test(v)||(v==="-"||v==="+")&&/[eE]/.test(g)?(A.push(v),g=v,m+1):/[^\d]/.test(v)?(ye(A.join("")),y=o,m):(A.push(v),g=v,m+1)}function se(){if(/[^\d\w_]/.test(v)){var te=A.join("");return R[te]?y=w:Ce[te]?y=h:y=p,ye(A.join("")),y=o,m}return A.push(v),g=v,m+1}}return oi}var ai,ga;function Of(){if(ga)return ai;ga=1;var e=Rf();ai=t;function t(n,r){var i=e(r),o=[];return o=o.concat(i(n)),o=o.concat(i(null)),o}return ai}Of();function Pf(e,t){if(typeof e!="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Lf(e){var t=Pf(e,"string");return typeof t=="symbol"?t:String(t)}function Be(e,t,n){return t=Lf(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var pe={position:"csm_Position",positionRaw:"csm_PositionRaw",pointSize:"csm_PointSize",fragColor:"csm_FragColor",diffuseColor:"csm_DiffuseColor",normal:"csm_Normal",roughness:"csm_Roughness",metalness:"csm_Metalness",emissive:"csm_Emissive",ao:"csm_AO",bump:"csm_Bump",depthAlpha:"csm_DepthAlpha"},ot,hn;ot={},Be(ot,"".concat(pe.normal),{"#include ":` + vec3 objectNormal = `.concat(pe.normal,`; + #ifdef USE_TANGENT + vec3 objectTangent = vec3( tangent.xyz ); + #endif + `)}),Be(ot,"".concat(pe.position),{"#include ":` + vec3 transformed = `.concat(pe.position,`; + `)}),Be(ot,"".concat(pe.positionRaw),{"#include ":` + vec4 csm_internal_positionUnprojected = `.concat(pe.positionRaw,`; + mat4x4 csm_internal_unprojectMatrix = projectionMatrix * modelViewMatrix; + #ifdef USE_INSTANCING + csm_internal_unprojectMatrix = csm_internal_unprojectMatrix * instanceMatrix; + #endif + csm_internal_positionUnprojected = inverse(csm_internal_unprojectMatrix) * csm_internal_positionUnprojected; + vec3 transformed = csm_internal_positionUnprojected.xyz; + `)}),Be(ot,"".concat(pe.pointSize),{"gl_PointSize = size;":` + gl_PointSize = `.concat(pe.pointSize,`; + `)}),Be(ot,"".concat(pe.diffuseColor),{"#include ":` + #include + diffuseColor = `.concat(pe.diffuseColor,`; + `)}),Be(ot,"".concat(pe.fragColor),{"#include ":` + #include + gl_FragColor = `.concat(pe.fragColor,`; + `)}),Be(ot,"".concat(pe.emissive),{"vec3 totalEmissiveRadiance = emissive;":` + vec3 totalEmissiveRadiance = `.concat(pe.emissive,`; + `)}),Be(ot,"".concat(pe.roughness),{"#include ":` + #include + roughnessFactor = `.concat(pe.roughness,`; + `)}),Be(ot,"".concat(pe.metalness),{"#include ":` + #include + metalnessFactor = `.concat(pe.metalness,`; + `)}),Be(ot,"".concat(pe.ao),{"#include ":` + #include + reflectedLight.indirectDiffuse *= 1. - `.concat(pe.ao,`; + `)}),Be(ot,"".concat(pe.bump),{"#include ":` + #include + + vec3 csm_internal_orthogonal = `.concat(pe.bump," - (dot(").concat(pe.bump,`, normal) * normal); + vec3 csm_internal_projectedbump = mat3(csm_internal_vModelViewMatrix) * csm_internal_orthogonal; + normal = normalize(normal - csm_internal_projectedbump); + `)}),Be(ot,"".concat(pe.depthAlpha),{"gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );":` + gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity * `.concat(pe.depthAlpha,` ); + `),"gl_FragColor = packDepthToRGBA( fragCoordZ );":` + gl_FragColor = packDepthToRGBA( fragCoordZ ); + gl_FragColor.a *= `.concat(pe.depthAlpha,`; + `)});hn={},Be(hn,"".concat(pe.position),{"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );":` + gl_Position = projectionMatrix * modelViewMatrix * vec4( `.concat(pe.position,`, 1.0 ); + `)}),Be(hn,"".concat(pe.positionRaw),{"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );":` + gl_Position = `.concat(pe.position,`; + `)}),Be(hn,"".concat(pe.diffuseColor),{"gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );":` + gl_FragColor = `.concat(pe.diffuseColor,`; + `)}),Be(hn,"".concat(pe.fragColor),{"gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );":` + gl_FragColor = `.concat(pe.fragColor,`; + `)});var at;at={},Be(at,"".concat(pe.position),"*"),Be(at,"".concat(pe.positionRaw),"*"),Be(at,"".concat(pe.normal),"*"),Be(at,"".concat(pe.pointSize),["PointsMaterial"]),Be(at,"".concat(pe.diffuseColor),"*"),Be(at,"".concat(pe.fragColor),"*"),Be(at,"".concat(pe.emissive),["MeshStandardMaterial","MeshPhysicalMaterial"]),Be(at,"".concat(pe.roughness),["MeshStandardMaterial","MeshPhysicalMaterial"]),Be(at,"".concat(pe.metalness),["MeshStandardMaterial","MeshPhysicalMaterial"]),Be(at,"".concat(pe.ao),["MeshStandardMaterial","MeshPhysicalMaterial","MeshBasicMaterial","MeshLambertMaterial","MeshPhongMaterial","MeshToonMaterial"]),Be(at,"".concat(pe.bump),["MeshLambertMaterial","MeshMatcapMaterial","MeshNormalMaterial","MeshPhongMaterial","MeshPhysicalMaterial","MeshStandardMaterial","MeshToonMaterial","ShadowMaterial"]),Be(at,"".concat(pe.depthAlpha),"*");var Nf=`void main() { + gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); +}`,Df=`#include + +void main() { + vec2 center = vec2(0., 1.); + float rotation = 0.0; + + + + float size = 0.03; + + vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); + vec2 scale; + scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); + scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); + + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) scale *= - mvPosition.z; + + vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size; + vec2 rotatedPosition; + rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; + rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; + mvPosition.xy += rotatedPosition; + + gl_Position = projectionMatrix * mvPosition; +}`;const qn=new de(0,0,0),vo=new de(0,0,0),Bf=new de(0,0,0);function ya(e,t,n){const r=qn.setFromMatrixPosition(e.matrixWorld);r.project(t);const i=n.width/2,o=n.height/2;return[(Number.isNaN(r.x)?0:r.x)*i+i,-(r.y*o)+o]}function Ff(e,t){const n=qn.setFromMatrixPosition(e.matrixWorld),r=vo.setFromMatrixPosition(t.matrixWorld),i=n.sub(r),o=t.getWorldDirection(Bf);return i.angleTo(o)>Math.PI/2}function zf(e,t,n,r){const i=qn.setFromMatrixPosition(e.matrixWorld),o=i.clone();o.project(t),n.setFromCamera(new Xe(o.x,o.y),t);const a=n.intersectObjects(r,!0);if(a.length>0){const s=a[0].distance;return i.distanceTo(n.ray.origin)Math.abs(e)<1e-10?0:e;function ul(e,t,n=""){let r="matrix3d(";for(let i=0;i!==16;i++)r+=Vi(t[i]*e.elements[i])+(i!==15?",":")");return n+r}const jf=(e=>t=>ul(t,e))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),Vf=(e=>(t,n)=>ul(t,e(n),"translate(-50%,-50%)"))(e=>[1/e,1/e,1/e,1,-1/e,-1/e,-1/e,-1,1/e,1/e,1/e,1,1,1,1,1]),Hf=["geometry","material"];new Rs;var Hi={exports:{}},Gf=Hi.exports,va;function Kf(){return va||(va=1,function(e,t){(function(n,r){e.exports=r()})(Gf,function(){var n=function(){function r(p){return a.appendChild(p.dom),p}function i(p){for(var h=0;hl+1e3&&(c.update(1e3*u/(p-l),100),l=p,u=0,f)){var h=performance.memory;f.update(h.usedJSHeapSize/1048576,h.jsHeapSizeLimit/1048576)}return p},update:function(){s=this.end()},domElement:a,setMode:i}};return n.Panel=function(r,i,o){var a=1/0,s=0,l=Math.round,u=l(window.devicePixelRatio||1),c=80*u,d=48*u,f=3*u,p=2*u,h=3*u,w=15*u,x=74*u,b=30*u,E=document.createElement("canvas");E.width=c,E.height=d,E.style.cssText="width:80px;height:48px";var T=E.getContext("2d");return T.font="bold "+9*u+"px Helvetica,Arial,sans-serif",T.textBaseline="top",T.fillStyle=o,T.fillRect(0,0,c,d),T.fillStyle=i,T.fillText(r,f,p),T.fillRect(h,w,x,b),T.fillStyle=o,T.globalAlpha=.9,T.fillRect(h,w,x,b),{dom:E,update:function(M,O){a=Math.min(a,M),s=Math.max(s,M),T.fillStyle=o,T.globalAlpha=1,T.fillRect(0,0,c,w),T.fillStyle=i,T.fillText(l(M)+" "+r+" ("+l(a)+"-"+l(s)+")",f,p),T.drawImage(E,h+u,w,x-u,b,h,w,x-u,b),T.fillRect(h+x-u,w,u,b),T.fillStyle=o,T.globalAlpha=.9,T.fillRect(h+x-u,w,u,l((1-M/O)*b))}}},n})}(Hi)),Hi.exports}Kf();const qf={key:0,args:[0,1,64]},Wf={key:1,args:[.5,1,64]},Yf={key:2},Xf=["tone-mapped","map","side","color"];new tt(16777215);const mn=we({__name:"Range",props:{modelValue:null,min:{default:0},max:{default:100},step:{default:1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","mousedown"],setup(e,{emit:t}){const n=e,r=t,i=j(null);function o(h,w,x){return Math.min(Math.max(h,w),x)}function a(h){const w=h.toString();return w.includes("e-")?Number.parseInt(w.split("e-")[1],10):w.includes(".")?w.split(".")[1].length:0}function s(h,w){const x=a(w),b=10**(x+3);return Number.parseFloat((h*b/b).toFixed(x))}const l=Me(()=>s(o(n.modelValue,n.min,n.max),n.step)),u=Me(()=>{const h=(l.value-n.min)/(n.max-n.min)*100;return{width:`${h}%`,backgroundSize:`${h}% 100%`}});function c(h){if(!i.value)return l.value;const w=i.value.getBoundingClientRect(),b=(h.clientX-w.left)/w.width,E=n.max-n.min,T=n.min+E*b,M=Math.round(T/n.step)*n.step;return Math.min(Math.max(M,n.min),n.max)}function d(h){if(n.disabled)return;const w=c(h);r("update:modelValue",w)}function f(h){if(n.disabled)return;h.preventDefault();const w=c(h);r("update:modelValue",w),window.addEventListener("mousemove",d),window.addEventListener("mouseup",p)}function p(h){window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",p)}return yt(()=>{window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",p)}),(h,w)=>(X(),ee("span",{ref_key:"sliderRef",ref:i,class:Bt(["range-slider disabled:pointer-events-none disabled:cursor-default disabled:opacity-50",{disabled:e.disabled}]),bg:"[#e6e1fc] dark:[#676085]","touch-action-none":"",relative:"","inline-block":"","w-full":"","cursor-ew-resize":"","rounded-sm":"",onMousedown:f},[L("span",{style:Mr(u.value),bg:"[#cabeff] dark:[#4e34b9]",relative:"",block:"","rounded-sm":"",h:"[14px]"},null,4),L("span",{role:"slider",class:"slider-thumb",style:Mr({left:`${(l.value-e.min)/(e.max-e.min)*100}%`}),absolute:"","rounded-sm":"",w:"[1px]",h:"[14px]",bg:"zinc-100 dark:zinc-400",top:"50%",transform:"translate-x-[50%] translate-y-[-50%]"},null,4)],34))}});function ba(e,t){if(t===cc)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),e;if(t===zi||t===zs){let n=e.getIndex();if(n===null){const a=[],s=e.getAttribute("position");if(s!==void 0){for(let l=0;l=2.0 are supported."));return}const u=new Cp(o,{path:n||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});u.fileLoader.setRequestHeader(this.requestHeader);for(let c=0;c=0&&s[d]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+d+'".')}}u.setExtensions(a),u.setPlugins(s),u.parse(r,i)}parseAsync(t,n){const r=this;return new Promise(function(i,o){r.parse(t,n,i,o)})}}function Zf(){let e={};return{get:function(t){return e[t]},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},removeAll:function(){e={}}}}const ke={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class Jf{constructor(t){this.parser=t,this.name=ke.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const t=this.parser,n=this.parser.json.nodes||[];for(let r=0,i=n.length;r=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return n.loadTextureImage(t,o.source,a)}}class pp{constructor(t){this.parser=t,this.name=ke.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(t){const n=this.name,r=this.parser,i=r.json,o=i.textures[t];if(!o.extensions||!o.extensions[n])return null;const a=o.extensions[n],s=i.images[a.source];let l=r.textureLoader;if(s.uri){const u=r.options.manager.getHandler(s.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return r.loadTextureImage(t,a.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(t)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(t){const n=new Image;n.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",n.onload=n.onerror=function(){t(n.height===1)}})),this.isSupported}}class hp{constructor(t){this.parser=t,this.name=ke.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(t){const n=this.name,r=this.parser,i=r.json,o=i.textures[t];if(!o.extensions||!o.extensions[n])return null;const a=o.extensions[n],s=i.images[a.source];let l=r.textureLoader;if(s.uri){const u=r.options.manager.getHandler(s.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return r.loadTextureImage(t,a.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(t)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(t){const n=new Image;n.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",n.onload=n.onerror=function(){t(n.height===1)}})),this.isSupported}}class mp{constructor(t){this.name=ke.EXT_MESHOPT_COMPRESSION,this.parser=t}loadBufferView(t){const n=this.parser.json,r=n.bufferViews[t];if(r.extensions&&r.extensions[this.name]){const i=r.extensions[this.name],o=this.parser.getDependency("buffer",i.buffer),a=this.parser.options.meshoptDecoder;if(!a||!a.supported){if(n.extensionsRequired&&n.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return o.then(function(s){const l=i.byteOffset||0,u=i.byteLength||0,c=i.count,d=i.byteStride,f=new Uint8Array(s,l,u);return a.decodeGltfBufferAsync?a.decodeGltfBufferAsync(c,d,f,i.mode,i.filter).then(function(p){return p.buffer}):a.ready.then(function(){const p=new ArrayBuffer(c*d);return a.decodeGltfBuffer(new Uint8Array(p),c,d,f,i.mode,i.filter),p})})}else return null}}class gp{constructor(t){this.name=ke.EXT_MESH_GPU_INSTANCING,this.parser=t}createNodeMesh(t){const n=this.parser.json,r=n.nodes[t];if(!r.extensions||!r.extensions[this.name]||r.mesh===void 0)return null;const i=n.meshes[r.mesh];for(const u of i.primitives)if(u.mode!==vt.TRIANGLES&&u.mode!==vt.TRIANGLE_STRIP&&u.mode!==vt.TRIANGLE_FAN&&u.mode!==void 0)return null;const a=r.extensions[this.name].attributes,s=[],l={};for(const u in a)s.push(this.parser.getDependency("accessor",a[u]).then(c=>(l[u]=c,l[u])));return s.length<1?null:(s.push(this.parser.createNodeMesh(t)),Promise.all(s).then(u=>{const c=u.pop(),d=c.isGroup?c.children:[c],f=u[0].count,p=[];for(const h of d){const w=new zt,x=new de,b=new Tr,E=new de(1,1,1),T=new mc(h.geometry,h.material,f);for(let M=0;M0||e.search(/^data\:image\/jpeg/)===0?"image/jpeg":e.search(/\.webp($|\?)/i)>0||e.search(/^data\:image\/webp/)===0?"image/webp":e.search(/\.ktx2($|\?)/i)>0||e.search(/^data\:image\/ktx2/)===0?"image/ktx2":"image/png"}const Sp=new zt;class Cp{constructor(t={},n={}){this.json=t,this.extensions={},this.plugins={},this.options=n,this.cache=new Zf,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let r=!1,i=-1,o=!1,a=-1;if(typeof navigator<"u"){const s=navigator.userAgent;r=/^((?!chrome|android).)*safari/i.test(s)===!0;const l=s.match(/Version\/(\d+)/);i=r&&l?parseInt(l[1],10):-1,o=s.indexOf("Firefox")>-1,a=o?s.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>"u"||r&&i<17||o&&a<98?this.textureLoader=new yc(this.options.manager):this.textureLoader=new vc(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Us(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(t){this.extensions=t}setPlugins(t){this.plugins=t}parse(t,n){const r=this,i=this.json,o=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(a){return a._markDefs&&a._markDefs()}),Promise.all(this._invokeAll(function(a){return a.beforeRoot&&a.beforeRoot()})).then(function(){return Promise.all([r.getDependencies("scene"),r.getDependencies("animation"),r.getDependencies("camera")])}).then(function(a){const s={scene:a[0][i.scene||0],scenes:a[0],animations:a[1],cameras:a[2],asset:i.asset,parser:r,userData:{}};return en(o,s,i),Dt(s,i),Promise.all(r._invokeAll(function(l){return l.afterRoot&&l.afterRoot(s)})).then(function(){for(const l of s.scenes)l.updateMatrixWorld();t(s)})}).catch(n)}_markDefs(){const t=this.json.nodes||[],n=this.json.skins||[],r=this.json.meshes||[];for(let i=0,o=n.length;i{const l=this.associations.get(a);l!=null&&this.associations.set(s,l);for(const[u,c]of a.children.entries())o(c,s.children[u])};return o(r,i),i.name+="_instance_"+t.uses[n]++,i}_invokeOne(t){const n=Object.values(this.plugins);n.push(this);for(let r=0;r=2&&x.setY(v,m[_*l+1]),l>=3&&x.setZ(v,m[_*l+2]),l>=4&&x.setW(v,m[_*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}x.normalized=h}return x})}loadTexture(t){const n=this.json,r=this.options,o=n.textures[t].source,a=n.images[o];let s=this.textureLoader;if(a.uri){const l=r.manager.getHandler(a.uri);l!==null&&(s=l)}return this.loadTextureImage(t,o,s)}loadTextureImage(t,n,r){const i=this,o=this.json,a=o.textures[t],s=o.images[n],l=(s.uri||s.bufferView)+":"+a.sampler;if(this.textureCache[l])return this.textureCache[l];const u=this.loadImageSource(n,r).then(function(c){c.flipY=!1,c.name=a.name||s.name||"",c.name===""&&typeof s.uri=="string"&&s.uri.startsWith("data:image/")===!1&&(c.name=s.uri);const f=(o.samplers||{})[a.sampler]||{};return c.magFilter=wa[f.magFilter]||Ar,c.minFilter=wa[f.minFilter]||fo,c.wrapS=ka[f.wrapS]||_r,c.wrapT=ka[f.wrapT]||_r,c.generateMipmaps=!c.isCompressedTexture&&c.minFilter!==on&&c.minFilter!==Ar,i.associations.set(c,{textures:t}),c}).catch(function(){return null});return this.textureCache[l]=u,u}loadImageSource(t,n){const r=this,i=this.json,o=this.options;if(this.sourceCache[t]!==void 0)return this.sourceCache[t].then(d=>d.clone());const a=i.images[t],s=self.URL||self.webkitURL;let l=a.uri||"",u=!1;if(a.bufferView!==void 0)l=r.getDependency("bufferView",a.bufferView).then(function(d){u=!0;const f=new Blob([d],{type:a.mimeType});return l=s.createObjectURL(f),l});else if(a.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+t+" is missing URI and bufferView");const c=Promise.resolve(l).then(function(d){return new Promise(function(f,p){let h=f;n.isImageBitmapLoader===!0&&(h=function(w){const x=new Er(w);x.needsUpdate=!0,f(x)}),n.load(Bn.resolveURL(d,o.path),h,void 0,p)})}).then(function(d){return u===!0&&s.revokeObjectURL(l),Dt(d,a),d.userData.mimeType=a.mimeType||Ip(a.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[t]=c,c}assignTexture(t,n,r,i){const o=this;return this.getDependency("texture",r.index).then(function(a){if(!a)return null;if(r.texCoord!==void 0&&r.texCoord>0&&(a=a.clone(),a.channel=r.texCoord),o.extensions[ke.KHR_TEXTURE_TRANSFORM]){const s=r.extensions!==void 0?r.extensions[ke.KHR_TEXTURE_TRANSFORM]:void 0;if(s){const l=o.associations.get(a);a=o.extensions[ke.KHR_TEXTURE_TRANSFORM].extendTexture(a,s),o.associations.set(a,l)}}return i!==void 0&&(a.colorSpace=i),t[n]=a,a})}assignFinalMaterial(t){const n=t.geometry;let r=t.material;const i=n.attributes.tangent===void 0,o=n.attributes.color!==void 0,a=n.attributes.normal===void 0;if(t.isPoints){const s="PointsMaterial:"+r.uuid;let l=this.cache.get(s);l||(l=new bc,qr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,l.sizeAttenuation=!1,this.cache.add(s,l)),r=l}else if(t.isLine){const s="LineBasicMaterial:"+r.uuid;let l=this.cache.get(s);l||(l=new xc,qr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,this.cache.add(s,l)),r=l}if(i||o||a){let s="ClonedMaterial:"+r.uuid+":";i&&(s+="derivative-tangents:"),o&&(s+="vertex-colors:"),a&&(s+="flat-shading:");let l=this.cache.get(s);l||(l=r.clone(),o&&(l.vertexColors=!0),a&&(l.flatShading=!0),i&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(s,l),this.associations.set(l,this.associations.get(r))),r=l}t.material=r}getMaterialType(){return $s}loadMaterial(t){const n=this,r=this.json,i=this.extensions,o=r.materials[t];let a;const s={},l=o.extensions||{},u=[];if(l[ke.KHR_MATERIALS_UNLIT]){const d=i[ke.KHR_MATERIALS_UNLIT];a=d.getMaterialType(),u.push(d.extendParams(s,o,n))}else{const d=o.pbrMetallicRoughness||{};if(s.color=new tt(1,1,1),s.opacity=1,Array.isArray(d.baseColorFactor)){const f=d.baseColorFactor;s.color.setRGB(f[0],f[1],f[2],Ut),s.opacity=f[3]}d.baseColorTexture!==void 0&&u.push(n.assignTexture(s,"map",d.baseColorTexture,$n)),s.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,s.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(u.push(n.assignTexture(s,"metalnessMap",d.metallicRoughnessTexture)),u.push(n.assignTexture(s,"roughnessMap",d.metallicRoughnessTexture))),a=this._invokeOne(function(f){return f.getMaterialType&&f.getMaterialType(t)}),u.push(Promise.all(this._invokeAll(function(f){return f.extendMaterialParams&&f.extendMaterialParams(t,s)})))}o.doubleSided===!0&&(s.side=Pr);const c=o.alphaMode||li.OPAQUE;if(c===li.BLEND?(s.transparent=!0,s.depthWrite=!1):(s.transparent=!1,c===li.MASK&&(s.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5)),o.normalTexture!==void 0&&a!==vn&&(u.push(n.assignTexture(s,"normalMap",o.normalTexture)),s.normalScale=new Xe(1,1),o.normalTexture.scale!==void 0)){const d=o.normalTexture.scale;s.normalScale.set(d,d)}if(o.occlusionTexture!==void 0&&a!==vn&&(u.push(n.assignTexture(s,"aoMap",o.occlusionTexture)),o.occlusionTexture.strength!==void 0&&(s.aoMapIntensity=o.occlusionTexture.strength)),o.emissiveFactor!==void 0&&a!==vn){const d=o.emissiveFactor;s.emissive=new tt().setRGB(d[0],d[1],d[2],Ut)}return o.emissiveTexture!==void 0&&a!==vn&&u.push(n.assignTexture(s,"emissiveMap",o.emissiveTexture,$n)),Promise.all(u).then(function(){const d=new a(s);return o.name&&(d.name=o.name),Dt(d,o),n.associations.set(d,{materials:t}),o.extensions&&en(i,d,o),d})}createUniqueName(t){const n=Un.sanitizeNodeName(t||"");return n in this.nodeNamesUsed?n+"_"+ ++this.nodeNamesUsed[n]:(this.nodeNamesUsed[n]=0,n)}loadGeometries(t){const n=this,r=this.extensions,i=this.primitiveCache;function o(s){return r[ke.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(s,n).then(function(l){return Ta(l,s,n)})}const a=[];for(let s=0,l=t.length;s0&&_p(b,o),b.name=n.createUniqueName(o.name||"mesh_"+t),Dt(b,o),x.extensions&&en(i,b,x),n.assignFinalMaterial(b),d.push(b)}for(let p=0,h=d.length;p1?c=new Wr:u.length===1?c=u[0]:c=new po,c!==u[0])for(let d=0,f=u.length;d{const d=new Map;for(const[f,p]of i.associations)(f instanceof qr||f instanceof Er)&&d.set(f,p);return c.traverse(f=>{const p=i.associations.get(f);p!=null&&d.set(f,p)}),d};return i.associations=u(o),o})}_createAnimationTracks(t,n,r,i,o){const a=[],s=t.name?t.name:t.uuid,l=[];Kt[o.path]===Kt.weights?t.traverse(function(f){f.morphTargetInfluences&&l.push(f.name?f.name:f.uuid)}):l.push(s);let u;switch(Kt[o.path]){case Kt.weights:u=jo;break;case Kt.rotation:u=Vo;break;case Kt.position:case Kt.scale:u=$o;break;default:switch(r.itemSize){case 1:u=jo;break;case 2:case 3:default:u=$o;break}break}const c=i.interpolation!==void 0?Tp[i.interpolation]:so,d=this._getArrayFromAccessor(r);for(let f=0,p=l.length;fnew Cu(e)),tn.register(e=>new Ru(e)),tn)}async function Op(e){const r=(await fl().loadAsync(e)).userData;if(!r.vrmAnimations){console.warn("No VRM animations found in the .vrma file");return}if(r.vrmAnimations.length===0){console.warn("No VRM animations found in the .vrma file");return}return r.vrmAnimations[0]}async function Pp(e,t){if(!e){console.warn("No VRM found");return}if(t)return Ou(t,e)}function Lp(){const e=j(!1),t=j(0),n=j(0),r=.2,i=1,o=6,a=j(Math.random()*(o-i)+i);function s(l,u){if(l!=null&&l.expressionManager&&(n.value+=u,!e.value&&n.value>=a.value&&(e.value=!0,t.value=0),e.value)){t.value+=u/r;const c=Math.sin(Math.PI*t.value);l.expressionManager.setValue("blink",c),t.value>=1&&(e.value=!1,n.value=0,l.expressionManager.setValue("blink",0),a.value=Math.random()*(o-i)+i)}}return{update:s}}function Np(){let e=-1,t,n=0;function r(){t?t.set(nn(-.25,.25),nn(-.2,.15),-.65):t=new de(nn(-.25,.25),nn(-.2,.15),-.65)}function i(o,a){var s;!(o!=null&&o.expressionManager)||!o.lookAt||(n>=e?(r(),n=0,e=ms()/1e3):t||r(),o.lookAt.target||(o.lookAt.target=new po),o.lookAt.target.position.lerp(t,nn(.2,.5)),(s=o.lookAt)==null||s.update(a),n+=a)}return{update:i}}async function Dp(e,t){const i=(await fl().loadAsync(e,a=>{var s;return(s=t==null?void 0:t.onProgress)==null?void 0:s.call(t,a)})).userData;if(!i.vrm)return;const o=i.vrm;if(Pi.removeUnnecessaryVertices(o.scene),Pi.combineSkeletons(o.scene),o.scene.traverse(a=>{a.frustumCulled=!1}),o.lookAt){const a=new Pu(o.lookAt);a.name="lookAtQuaternionProxy",o.scene.add(a)}return t!=null&&t.scene&&t.scene.add(o.scene),t!=null&&t.position&&o.scene.position.set(...t.position),o}function Bp(e){const t=j(null),n=j(!1),r=j(0),i=j(new Map),o=j(new Map),a=j(),s=(b,E,T)=>b+(E-b)*T,l=b=>b<.5?4*b*b*b:1-(-2*b+2)**3/2,u=new Map([["happy",{expression:[{name:"happy",value:1,duration:.3},{name:"aa",value:.3}],blendDuration:.3}],["sad",{expression:[{name:"sad",value:1},{name:"oh",value:.2}],blendDuration:.3}],["angry",{expression:[{name:"angry",value:1},{name:"ee",value:.4}],blendDuration:.2}],["surprised",{expression:[{name:"Surprised",value:1},{name:"oh",value:.6}],blendDuration:.1}],["neutral",{expression:[{name:"neutral",value:1}],blendDuration:.5}]]),c=()=>{a.value&&(clearTimeout(a.value),a.value=void 0)},d=b=>{var T;if(c(),!u.has(b)){console.warn(`Emotion ${b} not found`);return}const E=u.get(b);if(t.value=b,n.value=!0,r.value=0,e.expressionManager){const M=Object.keys(e.expressionManager.expressionMap);for(const O of M)e.expressionManager.setValue(O,0)}i.value.clear(),o.value.clear();for(const M of E.expression||[]){const O=((T=e.expressionManager)==null?void 0:T.getValue(M.name))||0;i.value.set(M.name,O),o.value.set(M.name,M.value)}};return{currentEmotion:t,isTransitioning:n,setEmotion:d,setEmotionWithResetAfter:(b,E)=>{c(),d(b),a.value=setTimeout(()=>{d("neutral"),a.value=void 0},E)},update:b=>{var M;if(!n.value||!t.value)return;const T=u.get(t.value).blendDuration||.3;r.value+=b/T,r.value>=1&&(r.value=1,n.value=!1);for(const[O,m]of o.value){const _=i.value.get(O)||0,y=s(_,m,l(r.value));(M=e.expressionManager)==null||M.setValue(O,y)}},addEmotionState:(b,E)=>{u.set(b,E)},removeEmotionState:b=>{u.delete(b)},dispose:()=>{c()}}}const Fp=we({__name:"Model",props:{model:null,idleAnimation:null,loadAnimations:null,position:null,paused:{type:Boolean}},emits:["loadModelProgress","error"],setup(e,{expose:t,emit:n}){const r=e,i=n;let o;const a=j(),s=j(),{scene:l}=Or(),{onBeforeRender:u}=kr(),c=Lp(),d=Np(),f=j();Se(()=>r.position,([w,x,b])=>{a.value&&a.value.scene.position.set(w,x,b)}),Tt(async()=>{if(l.value)try{const w=await Dp(r.model,{scene:l.value,lookAt:!0,position:r.position,onProgress:E=>i("loadModelProgress",Number.parseFloat((100*(E.loaded/E.total)).toFixed(2)))});if(!w){console.warn("No VRM model loaded");return}const x=await Op(r.idleAnimation),b=await Pp(w,x);if(!b){console.warn("No VRM animation loaded");return}s.value=new Rc(w.scene),s.value.clipAction(b).play(),f.value=Bp(w),a.value=w,o=u(({delta:E})=>{var T,M,O;(T=s.value)==null||T.update(E),(M=a.value)==null||M.update(E),c.update(a.value,E),d.update(a.value,E),(O=f.value)==null||O.update(E)}).off}catch(w){i("error",w)}}),yt(()=>{o==null||o(),a.value&&(a.value.scene.removeFromParent(),Pi.deepDispose(a.value.scene))}),t({setExpression(w){var x;(x=f.value)==null||x.setEmotionWithResetAfter(w,1e3)}});const{pause:p,resume:h}=kr();return Se(()=>r.paused,w=>{w?p():h()}),(w,x)=>Ve(w.$slots,"default")}}),zp=["position"],Up={absolute:"",bottom:"3",right:"3"},$p={flex:"~ row","cursor-pointer":""},jp=["checked","aria-checked"],Vp={key:0,"min-w":"50vw",z:"{var h;(h=f.value)==null||h.setExpression(p)}}),(p,h)=>(X(),Ge(Gs,{relative:""},{default:xe(({height:w,width:x})=>[he(D(Oc),{alpha:!0,antialias:!0,width:x,height:w},{default:xe(()=>[he(D(_f)),L("TresPerspectiveCamera",{position:[a.value,s.value,l.value]},null,8,zp),h[14]||(h[14]=L("TresDirectionalLight",{color:16777215,intensity:1.2,position:[1,1,1]},null,-1)),h[15]||(h[15]=L("TresAmbientLight",{color:16777215,intensity:1.5},null,-1)),he(Fp,{ref_key:"modelRef",ref:f,model:r.model,"idle-animation":r.idleAnimation,position:[u.value,c.value,d.value],paused:r.paused,onLoadModelProgress:h[0]||(h[0]=b=>i("loadModelProgress",b)),onError:h[1]||(h[1]=b=>i("error",b))},null,8,["model","idle-animation","position","paused"])]),_:2},1032,["width","height"]),L("div",Up,[L("div",$p,[L("label",{class:Bt([o.value?"bg-zinc-300 dark:bg-zinc-200":"bg-zinc-100 dark:bg-zinc-700"]),transition:"all ease-in-out duration-500",text:"lg zinc-500 dark:zinc-400","m-1":"","h-fit":"","w-fit":"","cursor-pointer":"","appearance-none":"","gap-1":"","rounded-lg":"","rounded-md":"","border-none":"","p-2":"","outline-none":""},[kt(L("input",{"onUpdate:modelValue":h[2]||(h[2]=b=>o.value=b),checked:o.value,"aria-checked":o.value,name:"showLive2DViewerInspector",type:"checkbox",hidden:"","appearance-none":"","outline-none":""},null,8,jp),[[Rr,o.value]]),h[16]||(h[16]=L("div",{"select-none":""},[L("div",{"i-solar:bug-bold-duotone":""})],-1))],2)]),he(Br,null,{default:xe(()=>[o.value?(X(),ee("div",Vp,[L("div",Hp,[L("div",Gp,[L("span",null,ue(p.$t("stage.viewers.debug-menu.vrm.model.title")),1)]),he(Ui,{"h-fit":"","w-full":"",flex:"~ col",border:"~ gray/25 rounded-lg",divide:"y dashed gray/25","of-clip":"","shadow-sm":""},{label:xe(()=>[L("span",Kp,ue(p.$t("stage.viewers.debug-menu.vrm.camera")),1)]),default:xe(()=>[L("div",qp,[h[17]||(h[17]=L("div",{text:"zinc-400 dark:zinc-500"},[L("span",null,"X")],-1)),L("label",Wp,[he(mn,{modelValue:a.value,"onUpdate:modelValue":h[3]||(h[3]=b=>a.value=b),min:-10,max:10,step:.01},null,8,["modelValue"])]),L("div",Yp,[L("span",null,ue(a.value),1)]),h[18]||(h[18]=L("div",{text:"zinc-400 dark:zinc-500"},[L("span",null,"Y")],-1)),L("label",Xp,[he(mn,{modelValue:s.value,"onUpdate:modelValue":h[4]||(h[4]=b=>s.value=b),min:-10,max:10,step:.01},null,8,["modelValue"])]),L("div",Qp,[L("span",null,ue(s.value),1)]),h[19]||(h[19]=L("div",{text:"zinc-400 dark:zinc-500"},[L("span",null,"Z")],-1)),L("label",Zp,[he(mn,{modelValue:l.value,"onUpdate:modelValue":h[5]||(h[5]=b=>l.value=b),min:-10,max:10,step:.01},null,8,["modelValue"])]),L("div",Jp,[L("span",null,ue(l.value),1)])])]),_:1}),he(Ui,{"h-fit":"","w-full":"",flex:"~ col",border:"~ gray/25 rounded-lg",divide:"y dashed gray/25","of-clip":"","shadow-sm":""},{label:xe(()=>[L("span",eh,ue(p.$t("stage.viewers.debug-menu.vrm.model.title")),1)]),default:xe(()=>[L("div",th,[h[20]||(h[20]=L("div",{text:"zinc-400 dark:zinc-500"},[L("span",null,"X")],-1)),L("label",nh,[he(mn,{modelValue:u.value,"onUpdate:modelValue":h[6]||(h[6]=b=>u.value=b),min:-10,max:10,step:.01},null,8,["modelValue"])]),L("div",rh,[L("span",null,ue(u.value),1)]),h[21]||(h[21]=L("div",{text:"zinc-400 dark:zinc-500"},[L("span",null,"Y")],-1)),L("label",ih,[he(mn,{modelValue:c.value,"onUpdate:modelValue":h[7]||(h[7]=b=>c.value=b),min:-10,max:10,step:.01},null,8,["modelValue"])]),L("div",oh,[L("span",null,ue(c.value),1)]),h[22]||(h[22]=L("div",{text:"zinc-400 dark:zinc-500"},[L("span",null,"Z")],-1)),L("label",ah,[he(mn,{modelValue:d.value,"onUpdate:modelValue":h[8]||(h[8]=b=>d.value=b),min:-10,max:10,step:.01},null,8,["modelValue"])]),L("div",sh,[L("span",null,ue(d.value),1)])])]),_:1}),L("div",lh,[L("span",null,ue(p.$t("stage.viewers.debug-menu.emotions")),1)]),L("div",uh,[L("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[9]||(h[9]=b=>{var E;return(E=f.value)==null?void 0:E.setExpression("neutral")})},ue(p.$t("stage.viewers.debug-menu.emotions-btn.neutral")),1),L("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[10]||(h[10]=b=>{var E;return(E=f.value)==null?void 0:E.setExpression("surprised")})},ue(p.$t("stage.viewers.debug-menu.emotions-btn.surprised")),1),L("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[11]||(h[11]=b=>{var E;return(E=f.value)==null?void 0:E.setExpression("sad")})},ue(p.$t("stage.viewers.debug-menu.emotions-btn.sad")),1),L("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[12]||(h[12]=b=>{var E;return(E=f.value)==null?void 0:E.setExpression("angry")})},ue(p.$t("stage.viewers.debug-menu.emotions-btn.angry")),1),L("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[13]||(h[13]=b=>{var E;return(E=f.value)==null?void 0:E.setExpression("happy")})},ue(p.$t("stage.viewers.debug-menu.emotions-btn.happy")),1)])])])):Ke("",!0)]),_:1})])]),_:1}))}});var ci=class extends Error{constructor(n,r){super(n);Hr(this,"response");this.name="XSAIError",this.response=r}},dh=e=>e.replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`),br=e=>Object.fromEntries(Object.entries(e).map(([t,n])=>[dh(t),n])),pl=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0)),hl=e=>JSON.stringify(br(pl({...e,abortSignal:void 0,apiKey:void 0,baseURL:void 0,fetch:void 0,headers:void 0}))),bo=(e,t)=>pl({Authorization:t!==void 0?`Bearer ${t}`:void 0,...e}),xo=(e,t)=>{const n=t.toString();return new URL(e,n.endsWith("/")?n:`${n}/`)},wo=async e=>{if(!e.ok){const t=new ci(`Remote sent ${e.status} response`,e);throw t.cause=new Error(await e.text()),t}if(!e.body)throw new ci("Response body is empty from remote server",e);if(!(e.body instanceof ReadableStream)){const t=new ci(`Expected Response body to be a ReadableStream, but got ${String(e.body)}`,e);throw t.cause=new Error(`Content-Type is ${e.headers.get("Content-Type")}`),t}return e},fh=async e=>wo(e).then(async t=>t.json()),ph=async e=>(e.fetch??globalThis.fetch)(xo("audio/speech",e.baseURL),{body:hl(e),headers:bo({"Content-Type":"application/json",...e.headers},e.apiKey),method:"POST",signal:e.abortSignal}).then(wo).then(async t=>t.arrayBuffer());const ml=(e,{apiKey:t,baseURL:n,headers:r})=>({apiKey:t,baseURL:n,headers:r,model:e}),hh=e=>{const t={...e,baseURL:new URL("http://localhost:11434/v1/")},n=r=>ml(r,t);return{chat:n,embed:n,model:()=>t}};hh();const mh=e=>{const t=({applyTextNormalization:n,languageCode:r,nextRequestIds:i,nextText:o,previousRequestIds:a,previousText:s,pronunciationDictionaryLocators:l,seed:u,voiceSettings:c})=>({extraBody:br({applyTextNormalization:n,languageCode:r,nextRequestIds:i,nextText:o,previousRequestIds:a,previousText:s,pronunciationDictionaryLocators:l?l.map(d=>br(d)):void 0,seed:u,voiceSettings:c?br(c):void 0})});return{speech:(n,r)=>({...r?t(r):{},...ml(`elevenlabs/${n}`,{...e,baseURL:(e==null?void 0:e.baseURL)??new URL("http://localhost:5933/v1/")})})}},gh=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];class Wn{constructor(t,n,r){this.property=t,this.normal=n,r&&(this.space=r)}}Wn.prototype.property={};Wn.prototype.normal={};Wn.prototype.space=null;function gl(e,t){const n={},r={};let i=-1;for(;++i4&&n.slice(0,4)==="data"&&wh.test(t)){if(t.charAt(4)==="-"){const o=t.slice(5).replace(Aa,Ah);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=t.slice(4);if(!Aa.test(o)){let a=o.replace(kh,Eh);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}i=ko}return new i(r,t)}function Eh(e){return"-"+e.toLowerCase()}function Ah(e){return e.charAt(1).toUpperCase()}const _h=gl([bl,vl,kl,Tl,bh],"html"),El=gl([bl,vl,kl,Tl,xh],"svg"),_a={}.hasOwnProperty;function Mh(e,t){const n=t||{};function r(i,...o){let a=r.invalid;const s=r.handlers;if(i&&_a.call(i,e)){const l=String(i[e]);a=_a.call(s,l)?s[l]:r.unknown}if(a)return a.call(this,i,...o)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}const Ih=/["&'<>`]/g,Sh=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ch=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Rh=/[|\\{}()[\]^$+*?.]/g,Ma=new WeakMap;function Oh(e,t){if(e=e.replace(t.subset?Ph(t.subset):Ih,r),t.subset||t.escapeOnly)return e;return e.replace(Sh,n).replace(Ch,r);function n(i,o,a){return t.format((i.charCodeAt(0)-55296)*1024+i.charCodeAt(1)-56320+65536,a.charCodeAt(o+2),t)}function r(i,o,a){return t.format(i.charCodeAt(0),a.charCodeAt(o+1),t)}}function Ph(e){let t=Ma.get(e);return t||(t=Lh(e),Ma.set(e,t)),t}function Lh(e){const t=[];let n=-1;for(;++n",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"},Uh=["cent","copy","divide","gt","lt","not","para","times"],Al={}.hasOwnProperty,Yi={};let rr;for(rr in fi)Al.call(fi,rr)&&(Yi[fi[rr]]=rr);const $h=/[^\dA-Za-z]/;function jh(e,t,n,r){const i=String.fromCharCode(e);if(Al.call(Yi,i)){const o=Yi[i],a="&"+o;return n&&zh.includes(o)&&!Uh.includes(o)&&(!r||t&&t!==61&&$h.test(String.fromCharCode(t)))?a:a+";"}return""}function Vh(e,t,n){let r=Dh(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=jh(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){const o=Fh(e,t,n.omitOptionalSemicolons);o.length|^->||--!>|"],Kh=["<",">"];function qh(e,t,n,r){return r.settings.bogusComments?"":"";function i(o){return En(o,Object.assign({},r.settings.characterReferences,{subset:Kh}))}}function Wh(e,t,n,r){return""}function Ia(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function Yh(e,t){const n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function Xh(e){return e.join(" ").trim()}const Qh=/[ \t\n\f\r]/g;function To(e){return typeof e=="object"?e.type==="text"?Sa(e.value):!1:Sa(e)}function Sa(e){return e.replace(Qh,"")===""}const Ze=Ml(1),_l=Ml(-1),Zh=[];function Ml(e){return t;function t(n,r,i){const o=n?n.children:Zh;let a=(r||0)+e,s=o[a];if(!i)for(;s&&To(s);)a+=e,s=o[a];return s}}const Jh={}.hasOwnProperty;function Il(e){return t;function t(n,r,i){return Jh.call(e,n.tagName)&&e[n.tagName](n,r,i)}}const Eo=Il({body:tm,caption:pi,colgroup:pi,dd:om,dt:im,head:pi,html:em,li:rm,optgroup:am,option:sm,p:nm,rp:Ca,rt:Ca,tbody:um,td:Ra,tfoot:cm,th:Ra,thead:lm,tr:dm});function pi(e,t,n){const r=Ze(n,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&To(r.value.charAt(0)))}function em(e,t,n){const r=Ze(n,t);return!r||r.type!=="comment"}function tm(e,t,n){const r=Ze(n,t);return!r||r.type!=="comment"}function nm(e,t,n){const r=Ze(n,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"))}function rm(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&r.tagName==="li"}function im(e,t,n){const r=Ze(n,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function om(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Ca(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function am(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function sm(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function lm(e,t,n){const r=Ze(n,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function um(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function cm(e,t,n){return!Ze(n,t)}function dm(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&r.tagName==="tr"}function Ra(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}const fm=Il({body:mm,colgroup:gm,head:hm,html:pm,tbody:ym});function pm(e){const t=Ze(e,-1);return!t||t.type!=="comment"}function hm(e){const t=new Set;for(const r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}const n=e.children[0];return!n||n.type==="element"}function mm(e){const t=Ze(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&To(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function gm(e,t,n){const r=_l(n,t),i=Ze(e,-1,!0);return n&&r&&r.type==="element"&&r.tagName==="colgroup"&&Eo(r,n.children.indexOf(r),n)?!1:!!(i&&i.type==="element"&&i.tagName==="col")}function ym(e,t,n){const r=_l(n,t),i=Ze(e,-1);return n&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&Eo(r,n.children.indexOf(r),n)?!1:!!(i&&i.type==="element"&&i.tagName==="tr")}const ir={name:[[` +\f\r &/=>`.split(""),` +\f\r "&'/=>\``.split("")],[`\0 +\f\r "&'/<=>`.split(""),`\0 +\f\r "&'/<=>\``.split("")]],unquoted:[[` +\f\r &>`.split(""),`\0 +\f\r "&'<=>\``.split("")],[`\0 +\f\r "&'<=>\``.split(""),`\0 +\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function vm(e,t,n,r){const i=r.schema,o=i.space==="svg"?!1:r.settings.omitOptionalTags;let a=i.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase());const s=[];let l;i.space==="html"&&e.tagName==="svg"&&(r.schema=El);const u=bm(r,e.properties),c=r.all(i.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=i,c&&(a=!1),(u||!o||!fm(e,t,n))&&(s.push("<",e.tagName,u?" "+u:""),a&&(i.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&s.push(" "),s.push("/")),s.push(">")),s.push(c),!a&&(!o||!Eo(e,t,n))&&s.push(""),s.join("")}function bm(e,t){const n=[];let r=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){const o=xm(e,i,t[i]);o&&n.push(o)}}for(;++rIa(n,e.alternative)&&(a=e.alternative),s=a+En(n,Object.assign({},e.settings.characterReferences,{subset:(a==="'"?ir.single:ir.double)[i][o],attribute:!0}))+a),l+(s&&"="+s))}const wm=["<","&"];function Sl(e,t,n,r){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:En(e.value,Object.assign({},r.settings.characterReferences,{subset:wm}))}function km(e,t,n,r){return r.settings.allowDangerousHtml?e.value:Sl(e,t,n,r)}function Tm(e,t,n,r){return r.all(e)}const Em=Mh("type",{invalid:Am,unknown:_m,handlers:{comment:qh,doctype:Wh,element:vm,raw:km,root:Tm,text:Sl}});function Am(e){throw new Error("Expected node, not `"+e+"`")}function _m(e){const t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}const Mm={},Im={},Sm=[];function Cm(e,t){const n=t||Mm,r=n.quote||'"',i=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:Rm,all:Om,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||gh,characterReferences:n.characterReferences||Im,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?El:_h,quote:r,alternative:i}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function Rm(e,t,n){return Em(e,t,n,this)}function Om(e){const t=[],n=e&&e.children||Sm;let r=-1;for(;++ri?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)a=Array.from(r),a.unshift(t,n),e.splice(...a);else for(n&&e.splice(t,n);o0?(It(e,e.length,0,t),e):t}const La={}.hasOwnProperty;function Bm(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function An(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const _t=Jt(/[A-Za-z]/),gt=Jt(/[\dA-Za-z]/),Um=Jt(/[#-'*+\--9=?A-Z^-~]/);function Xi(e){return e!==null&&(e<32||e===127)}const Qi=Jt(/\d/),$m=Jt(/[\dA-Fa-f]/),jm=Jt(/[!-/:-@[-`{-~]/);function fe(e){return e!==null&&e<-2}function ut(e){return e!==null&&(e<0||e===32)}function Re(e){return e===-2||e===-1||e===32}const Vm=Jt(new RegExp("\\p{P}|\\p{S}","u")),Hm=Jt(/\s/);function Jt(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function In(e){const t=[];let n=-1,r=0,i=0;for(;++n55295&&o<57344){const s=e.charCodeAt(n+1);o<56320&&s>56319&&s<57344?(a=String.fromCharCode(o,s),i=1):a="�"}else a=String.fromCharCode(o);a&&(t.push(e.slice(r,n),encodeURIComponent(a)),r=n+i+1,a=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function Ue(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let o=0;return a;function a(l){return Re(l)?(e.enter(n),s(l)):t(l)}function s(l){return Re(l)&&o++a))return;const _=t.events.length;let y=_,v,g;for(;y--;)if(t.events[y][0]==="exit"&&t.events[y][1].type==="chunkFlow"){if(v){g=t.events[y][1].end;break}v=!0}for(b(r),m=_;mT;){const O=n[M];t.containerState=O[1],O[0].exit.call(t,e)}n.length=T}function E(){i.write([null]),o=void 0,i=void 0,t.containerState._closeFlow=void 0}}function Ym(e,t,n){return Ue(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Da(e){if(e===null||ut(e)||Hm(e))return 1;if(Vm(e))return 2}function _o(e,t,n){const r=[];let i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const d={...e[r][1].end},f={...e[n][1].start};Ba(d,-l),Ba(f,l),a={type:l>1?"strongSequence":"emphasisSequence",start:d,end:{...e[r][1].end}},s={type:l>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:f},o={type:l>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:l>1?"strong":"emphasis",start:{...a.start},end:{...s.end}},e[r][1].end={...a.start},e[n][1].start={...s.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=bt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=bt(u,[["enter",i,t],["enter",a,t],["exit",a,t],["enter",o,t]]),u=bt(u,_o(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=bt(u,[["exit",o,t],["enter",s,t],["exit",s,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(c=2,u=bt(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):c=0,It(e,r-1,n-r+3,u),n=r+u.length-c-2;break}}for(n=-1;++n0&&Re(m)?Ue(e,E,"linePrefix",o+1)(m):E(m)}function E(m){return m===null||fe(m)?e.check(Fa,w,M)(m):(e.enter("codeFlowValue"),T(m))}function T(m){return m===null||fe(m)?(e.exit("codeFlowValue"),E(m)):(e.consume(m),T)}function M(m){return e.exit("codeFenced"),t(m)}function O(m,_,y){let v=0;return g;function g(B){return m.enter("lineEnding"),m.consume(B),m.exit("lineEnding"),A}function A(B){return m.enter("codeFencedFence"),Re(B)?Ue(m,C,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(B):C(B)}function C(B){return B===s?(m.enter("codeFencedFenceSequence"),F(B)):y(B)}function F(B){return B===s?(v++,m.consume(B),F):v>=a?(m.exit("codeFencedFenceSequence"),Re(B)?Ue(m,V,"whitespace")(B):V(B)):y(B)}function V(B){return B===null||fe(B)?(m.exit("codeFencedFence"),_(B)):y(B)}}}function sg(e,t,n){const r=this;return i;function i(a){return a===null?n(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),o)}function o(a){return r.parser.lazy[r.now().line]?n(a):t(a)}}const hi={name:"codeIndented",tokenize:ug},lg={partial:!0,tokenize:cg};function ug(e,t,n){const r=this;return i;function i(u){return e.enter("codeIndented"),Ue(e,o,"linePrefix",5)(u)}function o(u){const c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?a(u):n(u)}function a(u){return u===null?l(u):fe(u)?e.attempt(lg,a,l)(u):(e.enter("codeFlowValue"),s(u))}function s(u){return u===null||fe(u)?(e.exit("codeFlowValue"),a(u)):(e.consume(u),s)}function l(u){return e.exit("codeIndented"),t(u)}}function cg(e,t,n){const r=this;return i;function i(a){return r.parser.lazy[r.now().line]?n(a):fe(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),i):Ue(e,o,"linePrefix",5)(a)}function o(a){const s=r.events[r.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?t(a):fe(a)?i(a):n(a)}}const dg={name:"codeText",previous:pg,resolve:fg,tokenize:hg};function fg(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length)return this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse();const i=this.left.slice(t);return i.push(...this.right.slice(this.right.length-r+this.left.length).reverse()),i}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Pn(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Pn(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Pn(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(a):e.interrupt(r.parser.constructs.flow,n,t)(a)}}function Dl(e,t,n,r,i,o,a,s,l){const u=l||Number.POSITIVE_INFINITY;let c=0;return d;function d(b){return b===60?(e.enter(r),e.enter(i),e.enter(o),e.consume(b),e.exit(o),f):b===null||b===32||b===41||Xi(b)?n(b):(e.enter(r),e.enter(a),e.enter(s),e.enter("chunkString",{contentType:"string"}),w(b))}function f(b){return b===62?(e.enter(o),e.consume(b),e.exit(o),e.exit(i),e.exit(r),t):(e.enter(s),e.enter("chunkString",{contentType:"string"}),p(b))}function p(b){return b===62?(e.exit("chunkString"),e.exit(s),f(b)):b===null||b===60||fe(b)?n(b):(e.consume(b),b===92?h:p)}function h(b){return b===60||b===62||b===92?(e.consume(b),p):p(b)}function w(b){return!c&&(b===null||b===41||ut(b))?(e.exit("chunkString"),e.exit(s),e.exit(a),e.exit(r),t(b)):c999||p===null||p===91||p===93&&!l||p===94&&!s&&"_hiddenFootnoteSupport"in a.parser.constructs?n(p):p===93?(e.exit(o),e.enter(i),e.consume(p),e.exit(i),e.exit(r),t):fe(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),d(p))}function d(p){return p===null||p===91||p===93||fe(p)||s++>999?(e.exit("chunkString"),c(p)):(e.consume(p),l||(l=!Re(p)),p===92?f:d)}function f(p){return p===91||p===92||p===93?(e.consume(p),s++,d):d(p)}}function Fl(e,t,n,r,i,o){let a;return s;function s(f){return f===34||f===39||f===40?(e.enter(r),e.enter(i),e.consume(f),e.exit(i),a=f===40?41:f,l):n(f)}function l(f){return f===a?(e.enter(i),e.consume(f),e.exit(i),e.exit(r),t):(e.enter(o),u(f))}function u(f){return f===a?(e.exit(o),l(a)):f===null?n(f):fe(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),Ue(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(f))}function c(f){return f===a||f===null||fe(f)?(e.exit("chunkString"),u(f)):(e.consume(f),f===92?d:c)}function d(f){return f===a||f===92?(e.consume(f),c):c(f)}}function Fn(e,t){let n;return r;function r(i){return fe(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):Re(i)?Ue(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const kg={name:"definition",tokenize:Eg},Tg={partial:!0,tokenize:Ag};function Eg(e,t,n){const r=this;let i;return o;function o(p){return e.enter("definition"),a(p)}function a(p){return Bl.call(r,e,s,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function s(p){return i=An(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),l):n(p)}function l(p){return ut(p)?Fn(e,u)(p):u(p)}function u(p){return Dl(e,c,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function c(p){return e.attempt(Tg,d,d)(p)}function d(p){return Re(p)?Ue(e,f,"whitespace")(p):f(p)}function f(p){return p===null||fe(p)?(e.exit("definition"),r.parser.defined.push(i),t(p)):n(p)}}function Ag(e,t,n){return r;function r(s){return ut(s)?Fn(e,i)(s):n(s)}function i(s){return Fl(e,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(s)}function o(s){return Re(s)?Ue(e,a,"whitespace")(s):a(s)}function a(s){return s===null||fe(s)?t(s):n(s)}}const _g={name:"hardBreakEscape",tokenize:Mg};function Mg(e,t,n){return r;function r(o){return e.enter("hardBreakEscape"),e.consume(o),i}function i(o){return fe(o)?(e.exit("hardBreakEscape"),t(o)):n(o)}}const Ig={name:"headingAtx",resolve:Sg,tokenize:Cg};function Sg(e,t){let n=e.length-2,r=3,i,o;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},o={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},It(e,r,n-r+1,[["enter",i,t],["enter",o,t],["exit",o,t],["exit",i,t]])),e}function Cg(e,t,n){let r=0;return i;function i(c){return e.enter("atxHeading"),o(c)}function o(c){return e.enter("atxHeadingSequence"),a(c)}function a(c){return c===35&&r++<6?(e.consume(c),a):c===null||ut(c)?(e.exit("atxHeadingSequence"),s(c)):n(c)}function s(c){return c===35?(e.enter("atxHeadingSequence"),l(c)):c===null||fe(c)?(e.exit("atxHeading"),t(c)):Re(c)?Ue(e,s,"whitespace")(c):(e.enter("atxHeadingText"),u(c))}function l(c){return c===35?(e.consume(c),l):(e.exit("atxHeadingSequence"),s(c))}function u(c){return c===null||c===35||ut(c)?(e.exit("atxHeadingText"),s(c)):(e.consume(c),u)}}const Rg=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Ua=["pre","script","style","textarea"],Og={concrete:!0,name:"htmlFlow",resolveTo:Ng,tokenize:Dg},Pg={partial:!0,tokenize:Fg},Lg={partial:!0,tokenize:Bg};function Ng(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Dg(e,t,n){const r=this;let i,o,a,s,l;return u;function u(R){return c(R)}function c(R){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(R),d}function d(R){return R===33?(e.consume(R),f):R===47?(e.consume(R),o=!0,w):R===63?(e.consume(R),i=3,r.interrupt?t:I):_t(R)?(e.consume(R),a=String.fromCharCode(R),x):n(R)}function f(R){return R===45?(e.consume(R),i=2,p):R===91?(e.consume(R),i=5,s=0,h):_t(R)?(e.consume(R),i=4,r.interrupt?t:I):n(R)}function p(R){return R===45?(e.consume(R),r.interrupt?t:I):n(R)}function h(R){const ye="CDATA[";return R===ye.charCodeAt(s++)?(e.consume(R),s===ye.length?r.interrupt?t:C:h):n(R)}function w(R){return _t(R)?(e.consume(R),a=String.fromCharCode(R),x):n(R)}function x(R){if(R===null||R===47||R===62||ut(R)){const ye=R===47,Ie=a.toLowerCase();return!ye&&!o&&Ua.includes(Ie)?(i=1,r.interrupt?t(R):C(R)):Rg.includes(a.toLowerCase())?(i=6,ye?(e.consume(R),b):r.interrupt?t(R):C(R)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(R):o?E(R):T(R))}return R===45||gt(R)?(e.consume(R),a+=String.fromCharCode(R),x):n(R)}function b(R){return R===62?(e.consume(R),r.interrupt?t:C):n(R)}function E(R){return Re(R)?(e.consume(R),E):g(R)}function T(R){return R===47?(e.consume(R),g):R===58||R===95||_t(R)?(e.consume(R),M):Re(R)?(e.consume(R),T):g(R)}function M(R){return R===45||R===46||R===58||R===95||gt(R)?(e.consume(R),M):O(R)}function O(R){return R===61?(e.consume(R),m):Re(R)?(e.consume(R),O):T(R)}function m(R){return R===null||R===60||R===61||R===62||R===96?n(R):R===34||R===39?(e.consume(R),l=R,_):Re(R)?(e.consume(R),m):y(R)}function _(R){return R===l?(e.consume(R),l=null,v):R===null||fe(R)?n(R):(e.consume(R),_)}function y(R){return R===null||R===34||R===39||R===47||R===60||R===61||R===62||R===96||ut(R)?O(R):(e.consume(R),y)}function v(R){return R===47||R===62||Re(R)?T(R):n(R)}function g(R){return R===62?(e.consume(R),A):n(R)}function A(R){return R===null||fe(R)?C(R):Re(R)?(e.consume(R),A):n(R)}function C(R){return R===45&&i===2?(e.consume(R),z):R===60&&i===1?(e.consume(R),J):R===62&&i===4?(e.consume(R),ge):R===63&&i===3?(e.consume(R),I):R===93&&i===5?(e.consume(R),ne):fe(R)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Pg,Ce,F)(R)):R===null||fe(R)?(e.exit("htmlFlowData"),F(R)):(e.consume(R),C)}function F(R){return e.check(Lg,V,Ce)(R)}function V(R){return e.enter("lineEnding"),e.consume(R),e.exit("lineEnding"),B}function B(R){return R===null||fe(R)?F(R):(e.enter("htmlFlowData"),C(R))}function z(R){return R===45?(e.consume(R),I):C(R)}function J(R){return R===47?(e.consume(R),a="",G):C(R)}function G(R){if(R===62){const ye=a.toLowerCase();return Ua.includes(ye)?(e.consume(R),ge):C(R)}return _t(R)&&a.length<8?(e.consume(R),a+=String.fromCharCode(R),G):C(R)}function ne(R){return R===93?(e.consume(R),I):C(R)}function I(R){return R===62?(e.consume(R),ge):R===45&&i===2?(e.consume(R),I):C(R)}function ge(R){return R===null||fe(R)?(e.exit("htmlFlowData"),Ce(R)):(e.consume(R),ge)}function Ce(R){return e.exit("htmlFlow"),t(R)}}function Bg(e,t,n){const r=this;return i;function i(a){return fe(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),o):n(a)}function o(a){return r.parser.lazy[r.now().line]?n(a):t(a)}}function Fg(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Ur,t,n)}}const zg={name:"htmlText",tokenize:Ug};function Ug(e,t,n){const r=this;let i,o,a;return s;function s(I){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(I),l}function l(I){return I===33?(e.consume(I),u):I===47?(e.consume(I),O):I===63?(e.consume(I),T):_t(I)?(e.consume(I),y):n(I)}function u(I){return I===45?(e.consume(I),c):I===91?(e.consume(I),o=0,h):_t(I)?(e.consume(I),E):n(I)}function c(I){return I===45?(e.consume(I),p):n(I)}function d(I){return I===null?n(I):I===45?(e.consume(I),f):fe(I)?(a=d,J(I)):(e.consume(I),d)}function f(I){return I===45?(e.consume(I),p):d(I)}function p(I){return I===62?z(I):I===45?f(I):d(I)}function h(I){const ge="CDATA[";return I===ge.charCodeAt(o++)?(e.consume(I),o===ge.length?w:h):n(I)}function w(I){return I===null?n(I):I===93?(e.consume(I),x):fe(I)?(a=w,J(I)):(e.consume(I),w)}function x(I){return I===93?(e.consume(I),b):w(I)}function b(I){return I===62?z(I):I===93?(e.consume(I),b):w(I)}function E(I){return I===null||I===62?z(I):fe(I)?(a=E,J(I)):(e.consume(I),E)}function T(I){return I===null?n(I):I===63?(e.consume(I),M):fe(I)?(a=T,J(I)):(e.consume(I),T)}function M(I){return I===62?z(I):T(I)}function O(I){return _t(I)?(e.consume(I),m):n(I)}function m(I){return I===45||gt(I)?(e.consume(I),m):_(I)}function _(I){return fe(I)?(a=_,J(I)):Re(I)?(e.consume(I),_):z(I)}function y(I){return I===45||gt(I)?(e.consume(I),y):I===47||I===62||ut(I)?v(I):n(I)}function v(I){return I===47?(e.consume(I),z):I===58||I===95||_t(I)?(e.consume(I),g):fe(I)?(a=v,J(I)):Re(I)?(e.consume(I),v):z(I)}function g(I){return I===45||I===46||I===58||I===95||gt(I)?(e.consume(I),g):A(I)}function A(I){return I===61?(e.consume(I),C):fe(I)?(a=A,J(I)):Re(I)?(e.consume(I),A):v(I)}function C(I){return I===null||I===60||I===61||I===62||I===96?n(I):I===34||I===39?(e.consume(I),i=I,F):fe(I)?(a=C,J(I)):Re(I)?(e.consume(I),C):(e.consume(I),V)}function F(I){return I===i?(e.consume(I),i=void 0,B):I===null?n(I):fe(I)?(a=F,J(I)):(e.consume(I),F)}function V(I){return I===null||I===34||I===39||I===60||I===61||I===96?n(I):I===47||I===62||ut(I)?v(I):(e.consume(I),V)}function B(I){return I===47||I===62||ut(I)?v(I):n(I)}function z(I){return I===62?(e.consume(I),e.exit("htmlTextData"),e.exit("htmlText"),t):n(I)}function J(I){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),G}function G(I){return Re(I)?Ue(e,ne,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):ne(I)}function ne(I){return e.enter("htmlTextData"),a(I)}}const Mo={name:"labelEnd",resolveAll:Hg,resolveTo:Gg,tokenize:Kg},$g={tokenize:qg},jg={tokenize:Wg},Vg={tokenize:Yg};function Hg(e){let t=-1;const n=[];for(;++t=3&&(u===null||fe(u))?(e.exit("thematicBreak"),t(u)):n(u)}function l(u){return u===i?(e.consume(u),r++,l):(e.exit("thematicBreakSequence"),Re(u)?Ue(e,s,"whitespace")(u):s(u))}}const st={continuation:{tokenize:oy},exit:sy,name:"list",tokenize:iy},ny={partial:!0,tokenize:ly},ry={partial:!0,tokenize:ay};function iy(e,t,n){const r=this,i=r.events[r.events.length-1];let o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,a=0;return s;function s(p){const h=r.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(h==="listUnordered"?!r.containerState.marker||p===r.containerState.marker:Qi(p)){if(r.containerState.type||(r.containerState.type=h,e.enter(h,{_container:!0})),h==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(xr,n,u)(p):u(p);if(!r.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(p)}return n(p)}function l(p){return Qi(p)&&++a<10?(e.consume(p),l):(!r.interrupt||a<2)&&(r.containerState.marker?p===r.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),u(p)):n(p)}function u(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||p,e.check(Ur,r.interrupt?n:c,e.attempt(ny,f,d))}function c(p){return r.containerState.initialBlankLine=!0,o++,f(p)}function d(p){return Re(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),f):n(p)}function f(p){return r.containerState.size=o+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(p)}}function oy(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(Ur,i,o);function i(s){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Ue(e,t,"listItemIndent",r.containerState.size+1)(s)}function o(s){return r.containerState.furtherBlankLines||!Re(s)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,a(s)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(ry,t,a)(s))}function a(s){return r.containerState._closeFlow=!0,r.interrupt=void 0,Ue(e,e.attempt(st,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s)}}function ay(e,t,n){const r=this;return Ue(e,i,"listItemIndent",r.containerState.size+1);function i(o){const a=r.events[r.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?t(o):n(o)}}function sy(e){e.exit(this.containerState.type)}function ly(e,t,n){const r=this;return Ue(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){const a=r.events[r.events.length-1];return!Re(o)&&a&&a[1].type==="listItemPrefixWhitespace"?t(o):n(o)}}const $a={name:"setextUnderline",resolveTo:uy,tokenize:cy};function uy(e,t){let n=e.length,r,i,o;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!o&&e[n][1].type==="definition"&&(o=n);const a={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",o?(e.splice(i,0,["enter",a,t]),e.splice(o+1,0,["exit",e[r][1],t]),e[r][1].end={...e[o][1].end}):e[r][1]=a,e.push(["exit",a,t]),e}function cy(e,t,n){const r=this;let i;return o;function o(u){let c=r.events.length,d;for(;c--;)if(r.events[c][1].type!=="lineEnding"&&r.events[c][1].type!=="linePrefix"&&r.events[c][1].type!=="content"){d=r.events[c][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||d)?(e.enter("setextHeadingLine"),i=u,a(u)):n(u)}function a(u){return e.enter("setextHeadingLineSequence"),s(u)}function s(u){return u===i?(e.consume(u),s):(e.exit("setextHeadingLineSequence"),Re(u)?Ue(e,l,"lineSuffix")(u):l(u))}function l(u){return u===null||fe(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const dy={tokenize:fy};function fy(e){const t=this,n=e.attempt(Ur,r,e.attempt(this.parser.constructs.flowInitial,i,Ue(e,e.attempt(this.parser.constructs.flow,i,e.attempt(yg,i)),"linePrefix")));return n;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const py={resolveAll:Ul()},hy=zl("string"),my=zl("text");function zl(e){return{resolveAll:Ul(e==="text"?gy:void 0),tokenize:t};function t(n){const r=this,i=this.parser.constructs[e],o=n.attempt(i,a,s);return a;function a(c){return u(c)?o(c):s(c)}function s(c){if(c===null){n.consume(c);return}return n.enter("data"),n.consume(c),l}function l(c){return u(c)?(n.exit("data"),o(c)):(n.consume(c),l)}function u(c){if(c===null)return!0;const d=i[c];let f=-1;if(d)for(;++f-1){const s=a[0];typeof s=="string"?a[0]=s.slice(r):a.shift()}o>0&&a.push(e[i].slice(0,o))}return a}function Sy(e,t){let n=-1;const r=[];let i;for(;++n0){const He=ie.tokenStack[ie.tokenStack.length-1];(He[1]||Ga).call(ie,void 0,He[0])}for(Z.position={start:qt($.length>0?$[0][1].start:{line:1,column:1,offset:0}),end:qt($.length>0?$[$.length-2][1].end:{line:1,column:1,offset:0})},Te=-1;++Te1?"-"+s:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,l);const u={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(t,u),e.applyData(t,u)}function Ky(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function qy(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function Vl(e,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const i=e.all(t),o=i[0];o&&o.type==="text"?o.value="["+o.value:i.unshift({type:"text",value:"["});const a=i[i.length-1];return a&&a.type==="text"?a.value+=r:i.push({type:"text",value:r}),i}function Wy(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Vl(e,t);const i={src:In(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,o),e.applyData(t,o)}function Yy(e,t){const n={src:In(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function Xy(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function Qy(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Vl(e,t);const i={href:In(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,o),e.applyData(t,o)}function Zy(e,t){const n={href:In(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function Jy(e,t,n){const r=e.all(t),i=n?ev(n):Hl(t),o={},a=[];if(typeof t.checked=="boolean"){const c=r[0];let d;c&&c.type==="element"&&c.tagName==="p"?d=c:(d={type:"element",tagName:"p",properties:{},children:[]},r.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let s=-1;for(;++s1}function tv(e,t){const n={},r=e.all(t);let i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function ov(e){const t=Kl(e),n=Gl(e);if(t&&n)return{start:t,end:n}}function av(e,t){const n=e.all(t),r=n.shift(),i=[];if(r){const a={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],a),i.push(a)}if(n.length>0){const a={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},s=Kl(t.children[1]),l=Gl(t.children[t.children.length-1]);s&&l&&(a.position={start:s,end:l}),i.push(a)}const o={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,o),e.applyData(t,o)}function sv(e,t,n){const r=n?n.children:void 0,o=(r?r.indexOf(t):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,s=a?a.length:t.children.length;let l=-1;const u=[];for(;++l0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return o.push(Wa(t.slice(i),i>0,!1)),o.join("")}function Wa(e,t,n){let r=0,i=e.length;if(t){let o=e.codePointAt(r);for(;o===Ka||o===qa;)r++,o=e.codePointAt(r)}if(n){let o=e.codePointAt(i-1);for(;o===Ka||o===qa;)i--,o=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function cv(e,t){const n={type:"text",value:uv(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function dv(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const fv={blockquote:Uy,break:$y,code:jy,delete:Vy,emphasis:Hy,footnoteReference:Gy,heading:Ky,html:qy,imageReference:Wy,image:Yy,inlineCode:Xy,linkReference:Qy,link:Zy,listItem:Jy,list:tv,paragraph:nv,root:rv,strong:iv,table:av,tableCell:lv,tableRow:sv,text:cv,thematicBreak:dv,toml:or,yaml:or,definition:or,footnoteDefinition:or};function or(){}const Wl=-1,$r=0,Ir=1,Sr=2,Io=3,So=4,Co=5,Ro=6,Yl=7,Xl=8,Ya=typeof self=="object"?self:globalThis,pv=(e,t)=>{const n=(i,o)=>(e.set(o,i),i),r=i=>{if(e.has(i))return e.get(i);const[o,a]=t[i];switch(o){case $r:case Wl:return n(a,i);case Ir:{const s=n([],i);for(const l of a)s.push(r(l));return s}case Sr:{const s=n({},i);for(const[l,u]of a)s[r(l)]=r(u);return s}case Io:return n(new Date(a),i);case So:{const{source:s,flags:l}=a;return n(new RegExp(s,l),i)}case Co:{const s=n(new Map,i);for(const[l,u]of a)s.set(r(l),r(u));return s}case Ro:{const s=n(new Set,i);for(const l of a)s.add(r(l));return s}case Yl:{const{name:s,message:l}=a;return n(new Ya[s](l),i)}case Xl:return n(BigInt(a),i);case"BigInt":return n(Object(BigInt(a)),i)}return n(new Ya[o](a),i)};return r},Xa=e=>pv(new Map,e)(0),gn="",{toString:hv}={},{keys:mv}=Object,Ln=e=>{const t=typeof e;if(t!=="object"||!e)return[$r,t];const n=hv.call(e).slice(8,-1);switch(n){case"Array":return[Ir,gn];case"Object":return[Sr,gn];case"Date":return[Io,gn];case"RegExp":return[So,gn];case"Map":return[Co,gn];case"Set":return[Ro,gn]}return n.includes("Array")?[Ir,n]:n.includes("Error")?[Yl,n]:[Sr,n]},ar=([e,t])=>e===$r&&(t==="function"||t==="symbol"),gv=(e,t,n,r)=>{const i=(a,s)=>{const l=r.push(a)-1;return n.set(s,l),l},o=a=>{if(n.has(a))return n.get(a);let[s,l]=Ln(a);switch(s){case $r:{let c=a;switch(l){case"bigint":s=Xl,c=a.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);c=null;break;case"undefined":return i([Wl],a)}return i([s,c],a)}case Ir:{if(l)return i([l,[...a]],a);const c=[],d=i([s,c],a);for(const f of a)c.push(o(f));return d}case Sr:{if(l)switch(l){case"BigInt":return i([l,a.toString()],a);case"Boolean":case"Number":case"String":return i([l,a.valueOf()],a)}if(t&&"toJSON"in a)return o(a.toJSON());const c=[],d=i([s,c],a);for(const f of mv(a))(e||!ar(Ln(a[f])))&&c.push([o(f),o(a[f])]);return d}case Io:return i([s,a.toISOString()],a);case So:{const{source:c,flags:d}=a;return i([s,{source:c,flags:d}],a)}case Co:{const c=[],d=i([s,c],a);for(const[f,p]of a)(e||!(ar(Ln(f))||ar(Ln(p))))&&c.push([o(f),o(p)]);return d}case Ro:{const c=[],d=i([s,c],a);for(const f of a)(e||!ar(Ln(f)))&&c.push(o(f));return d}}const{message:u}=a;return i([s,{name:l,message:u}],a)};return o},Qa=(e,{json:t,lossy:n}={})=>{const r=[];return gv(!(t||n),!!t,new Map,r)(e),r},Cr=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?Xa(Qa(e,t)):structuredClone(e):(e,t)=>Xa(Qa(e,t));function yv(e,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function vv(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function bv(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||yv,r=e.options.footnoteBackLabel||vv,i=e.options.footnoteLabel||"Footnotes",o=e.options.footnoteLabelTagName||"h2",a=e.options.footnoteLabelProperties||{className:["sr-only"]},s=[];let l=-1;for(;++l0&&h.push({type:"text",value:" "});let E=typeof n=="string"?n:n(l,p);typeof E=="string"&&(E={type:"text",value:E}),h.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+f+(p>1?"-"+p:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(l,p),className:["data-footnote-backref"]},children:Array.isArray(E)?E:[E]})}const x=c[c.length-1];if(x&&x.type==="element"&&x.tagName==="p"){const E=x.children[x.children.length-1];E&&E.type==="text"?E.value+=" ":x.children.push({type:"text",value:" "}),x.children.push(...h)}else c.push(...h);const b={type:"element",tagName:"li",properties:{id:t+"fn-"+f},children:e.wrap(c,!0)};e.patch(u,b),s.push(b)}if(s.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:o,properties:{...Cr(a),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:` +`},{type:"element",tagName:"ol",properties:{},children:e.wrap(s,!0)},{type:"text",value:` +`}]}}const Ql=function(e){if(e==null)return Tv;if(typeof e=="function")return jr(e);if(typeof e=="object")return Array.isArray(e)?xv(e):wv(e);if(typeof e=="string")return kv(e);throw new Error("Expected function, string, or object as test")};function xv(e){const t=[];let n=-1;for(;++n":""))+")"})}return f;function f(){let p=Zl,h,w,x;if((!t||o(l,u,c[c.length-1]||void 0))&&(p=Iv(n(l,c)),p[0]===Za))return p;if("children"in l&&l.children){const b=l;if(b.children&&p[0]!==_v)for(w=(r?b.children.length:-1)+a,x=c.concat(b);w>-1&&w0&&n.push({type:"text",value:` +`}),n}function Ja(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function es(e,t){const n=Rv(e,t),r=n.one(e,void 0),i=bv(n),o=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&o.children.push({type:"text",value:` +`},i),o}function Dv(e,t){return e&&"run"in e?async function(n,r){const i=es(n,{file:r,...t});await e.run(i,r)}:function(n,r){return es(n,{file:r,...e||t})}}function ts(e){if(e)throw e}var gi,ns;function Bv(){if(ns)return gi;ns=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(u){return typeof Array.isArray=="function"?Array.isArray(u):t.call(u)==="[object Array]"},o=function(u){if(!u||t.call(u)!=="[object Object]")return!1;var c=e.call(u,"constructor"),d=u.constructor&&u.constructor.prototype&&e.call(u.constructor.prototype,"isPrototypeOf");if(u.constructor&&!c&&!d)return!1;var f;for(f in u);return typeof f>"u"||e.call(u,f)},a=function(u,c){n&&c.name==="__proto__"?n(u,c.name,{enumerable:!0,configurable:!0,value:c.newValue,writable:!0}):u[c.name]=c.newValue},s=function(u,c){if(c==="__proto__")if(e.call(u,c)){if(r)return r(u,c).value}else return;return u[c]};return gi=function l(){var u,c,d,f,p,h,w=arguments[0],x=1,b=arguments.length,E=!1;for(typeof w=="boolean"&&(E=w,w=arguments[1]||{},x=2),(w==null||typeof w!="object"&&typeof w!="function")&&(w={});xa.length;let l;s&&a.push(i);try{l=e.apply(this,a)}catch(u){const c=u;if(s&&n)throw c;return i(c)}s||(l&&l.then&&typeof l.then=="function"?l.then(o,i):l instanceof Error?i(l):o(l))}function i(a,...s){n||(n=!0,t(a,...s))}function o(a){i(null,a)}}class ct extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",o={},a=!1;if(n&&("line"in n&&"column"in n?o={place:n}:"start"in n&&"end"in n?o={place:n}:"type"in n?o={ancestors:[n],place:n.position}:o={...n}),typeof t=="string"?i=t:!o.cause&&t&&(a=!0,i=t.message,o.cause=t),!o.ruleId&&!o.source&&typeof r=="string"){const l=r.indexOf(":");l===-1?o.ruleId=r:(o.source=r.slice(0,l),o.ruleId=r.slice(l+1))}if(!o.place&&o.ancestors&&o.ancestors){const l=o.ancestors[o.ancestors.length-1];l&&(o.place=l.position)}const s=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=s?s.column:void 0,this.fatal=void 0,this.file,this.message=i,this.line=s?s.line:void 0,this.name=zn(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=a&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual,this.expected,this.note,this.url}}ct.prototype.file="";ct.prototype.name="";ct.prototype.reason="";ct.prototype.message="";ct.prototype.stack="";ct.prototype.column=void 0;ct.prototype.line=void 0;ct.prototype.ancestors=void 0;ct.prototype.cause=void 0;ct.prototype.fatal=void 0;ct.prototype.place=void 0;ct.prototype.ruleId=void 0;ct.prototype.source=void 0;const At={basename:$v,dirname:jv,extname:Vv,join:Hv,sep:"/"};function $v(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Yn(e);let n=0,r=-1,i=e.length,o;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(o){n=i+1;break}}else r<0&&(o=!0,r=i+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let a=-1,s=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(o){n=i+1;break}}else a<0&&(o=!0,a=i+1),s>-1&&(e.codePointAt(i)===t.codePointAt(s--)?s<0&&(r=i):(s=-1,r=a));return n===r?r=a:r<0&&(r=e.length),e.slice(n,r)}function jv(e){if(Yn(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function Vv(e){Yn(e);let t=e.length,n=-1,r=0,i=-1,o=0,a;for(;t--;){const s=e.codePointAt(t);if(s===47){if(a){r=t+1;break}continue}n<0&&(a=!0,n=t+1),s===46?i<0?i=t:o!==1&&(o=1):i>-1&&(o=-1)}return i<0||n<0||o===0||o===1&&i===n-1&&i===r+1?"":e.slice(i,n)}function Hv(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function Kv(e,t){let n="",r=0,i=-1,o=0,a=-1,s,l;for(;++a<=e.length;){if(a2){if(l=n.lastIndexOf("/"),l!==n.length-1){l<0?(n="",r=0):(n=n.slice(0,l),r=n.length-1-n.lastIndexOf("/")),i=a,o=0;continue}}else if(n.length>0){n="",r=0,i=a,o=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(i+1,a):n=e.slice(i+1,a),r=a-i-1;i=a,o=0}else s===46&&o>-1?o++:o=-1}return n}function Yn(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const qv={cwd:Wv};function Wv(){return"/"}function no(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function Yv(e){if(typeof e=="string")e=new URL(e);else if(!no(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return Xv(e)}function Xv(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let n=-1;for(;++n0){let[p,...h]=c;const w=r[f][1];to(w)&&to(p)&&(p=yi(!0,w,p)),r[f]=[u,p,...h]}}}}const t0=new Oo().freeze();function wi(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function ki(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Ti(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function is(e){if(!to(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function os(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function sr(e){return n0(e)?e:new Qv(e)}function n0(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function r0(e){return typeof e=="string"||i0(e)}function i0(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}function Po(){const e=t0().use(zy).use(Dv).use(Pm);return{process:t=>e.processSync(t).toString()}}function o0(e,t){return{role:"system",content:[e,Lu.map(n=>`- ${n}`).join(` +`),t].join(` + +`)}}function a0(e){const t=new Uint8Array(e.frequencyBinCount);e.getByteFrequencyData(t);const n=[];for(let i=0;i<700;i+=80)n.push(t[i]);return t.map(i=>i**1.2).map(i=>i*1.2).reduce((i,o)=>i+o,0)/t.length/100}function s0(e){const t=new Uint8Array(e.frequencyBinCount);e.getByteFrequencyData(t);const n=[];for(let u=0;u<700;u+=80)n.push(t[u]);const r=t.map(u=>u**1.5),i=Math.min(...r),a=Math.max(...r)-i;let s;return a===0?s=r.map(()=>0):s=r.map(u=>(u-i)/a),s.reduce((u,c)=>u+c,0)/t.length}function l0(e,t="linear"){switch(t){case"linear":return a0(e);case"minmax":return s0(e)}}const Jl=Vn("AudioContext",()=>({audioContext:new AudioContext,calculateVolume:l0})),u0=Vn("SpeakingStore",()=>{const n=j(0),r=j(!1),i=Me(()=>r.value?(30+70*n.value)/100:30);return{mouthOpenSize:n,nowSpeaking:r,nowSpeakingAvatarBorderOpacity:i}});function lr(e,t,n){return t+n<0||t+n>=e.length-1?"":e[t+n]}function c0(e){let t="literal",n="";return{async consume(r){var i,o,a;for(let s=0;s"?(l+=lr(r,s,1),u="literal",s++):l==="<"?u="special":l===">"&&(u="literal"),t==="literal"&&u==="special"?n!==""&&(await((i=e.onLiteral)==null?void 0:i.call(e,n)),n=""):t==="special"&&u==="literal"&&n!==""&&(n+=l,await((o=e.onSpecial)==null?void 0:o.call(e,n)),n=""),t==="literal"&&u==="literal"?(await((a=e.onLiteral)==null?void 0:a.call(e,l)),n=""):t==="special"&&u==="literal"?n="":n+=l,t=u}},async end(){var r,i;n!==""&&(t==="literal"?await((r=e.onLiteral)==null?void 0:r.call(e,n)):n.endsWith("|>")&&await((i=e.onSpecial)==null?void 0:i.call(e,n)))}}}var d0=async e=>(e.fetch??globalThis.fetch)(xo("models",e.baseURL),{headers:bo({"Content-Type":"application/json",...e.headers},e.apiKey),signal:e.abortSignal}).then(fh).then(({data:t})=>t),f0=async e=>{var t;return(e.fetch??globalThis.fetch)(xo("chat/completions",e.baseURL),{body:hl({...e,tools:(t=e.tools)==null?void 0:t.map(n=>({function:n.function,type:"function"}))}),headers:bo({"Content-Type":"application/json",...e.headers},e.apiKey),method:"POST",signal:e.abortSignal}).then(wo)},ur=class extends Error{constructor(t,n){super(t);Hr(this,"response");this.name="XSAIError",this.response=n}},as="data:",p0=e=>{if(!e||!e.startsWith(as))return[void 0,!1];const t=e.slice(as.length),n=t.startsWith(" ")?t.slice(1):t;if(n==="[DONE]")return[void 0,!0];if(n.startsWith("{")&&n.includes('"error":'))throw new Error(`Error from server: ${n}`);return[JSON.parse(n),!1]},h0=async e=>{let t,n,r;const i=new ReadableStream({start(f){t=f}}),o=new ReadableStream({start(f){n=f}}),a=new ReadableStream({start(f){r=f}}),s=e.maxSteps??1,l=new TextDecoder,u=[],c=async f=>{var E,T,M;const p={choices:[],messages:structuredClone(f.messages),toolCalls:[],toolResults:[]},h={};let w="",x=!0;const b=(O,m)=>{if(O.endedToolCallIDs.has(m))return;const _=p.choices[O.index].message.tool_calls[m];try{_.function.parsed_arguments=JSON.parse(_.function.arguments)}catch(y){O.toolCallErrors[m]=y}O.endedToolCallIDs.add(m),O.currentToolID=null};if(await f0({...f,stream:!0}).then(async O=>O.body.pipeThrough(new TransformStream({transform:async(m,_)=>{const y=l.decode(m,{stream:!0});w+=y;const v=w.split(` +`);w=v.pop()??"";for(const g of v)try{const[A,C]=p0(g);if(C)break;A&&_.enqueue(A)}catch(A){_.error(A)}}})).pipeTo(new WritableStream({abort:m=>{t.error(m),n.error(m),r.error(m)},write:async m=>{var ne,I,ge;(ne=f.onChunk)==null||ne.call(f,m),t.enqueue(m);const _=m.choices[0];if(!_)throw new ur("no choice found");_.delta.tool_calls&&(x=!1);const{delta:y,finish_reason:v,index:g,...A}=_,C=(I=p.choices)[g]??(I[g]={finish_reason:v,index:g,message:{role:"assistant"}});if(v!==void 0){if(C.finish_reason=v,v==="length")throw new ur("length exceeded");if(v==="content_filter")throw new ur("content filter")}Object.assign(C,A);const{content:F,refusal:V,tool_calls:B,...z}=y,J=C.message;Object.assign(J,z),V!==void 0&&(J.refusal=(J.refusal||"")+V),F!==void 0&&(J.content=(J.content||"")+F,x&&(r==null||r.enqueue(F)));for(const{function:Ce,id:R,type:ye}of B||[]){J.tool_calls??(J.tool_calls={});const Ie=(ge=J.tool_calls)[R]??(ge[R]={function:{arguments:"",name:Ce.name,parsed_arguments:{}},id:R,type:ye});Ie.function.arguments+=Ce.arguments}const G=h[g]??(h[g]={calledToolCallIDs:new Set,currentToolID:null,endedToolCallIDs:new Set,index:g,toolCallErrors:{},toolCallResults:{}});v&&G.currentToolID!==null&&b(G,G.currentToolID);for(const Ce of y.tool_calls||[])G.currentToolID!==null&&G.currentToolID!==Ce.id&&b(G,G.currentToolID),G.calledToolCallIDs.add(Ce.id),G.currentToolID=Ce.id}}))),p.messages.push({content:((E=p.choices[0])==null?void 0:E.message.content)??"",refusal:(T=p.choices[0])==null?void 0:T.message.refusal,role:"assistant"}),await Promise.allSettled(p.choices.map(async O=>{const m=h[O.index];return Promise.allSettled([...m.endedToolCallIDs].map(async _=>{var g;const y=O.message.tool_calls[_];if(p.toolCalls.push({args:y.function.arguments,toolCallId:_,toolCallType:"function",toolName:y.function.name}),m.toolCallResults[_])return;const v=(g=f.tools)==null?void 0:g.find(A=>A.function.name===y.function.name);if(v)try{const A=await v.execute(y.function.parsed_arguments,{abortSignal:f.abortSignal,messages:f.messages,toolCallId:_});m.toolCallResults[_]=A,p.messages.push({content:A,role:"tool",tool_call_id:_}),p.toolResults.push({args:y.function.parsed_arguments,result:A,toolCallId:_,toolName:y.function.name})}catch(A){m.toolCallErrors[_]=A}else m.toolCallErrors[_]=new ur(`tool ${y.function.name} not found`)}))})),u.push(p),n.enqueue(p),(M=f.onStepFinish)==null||M.call(f,p),!x)return async()=>c({...f,messages:p.messages})};return(async()=>{var f;for(let p=1,h=await c(e);typeof h=="function"&&p{t.error(f),n.error(f),r.error(f)}),Promise.resolve({chunkStream:i,stepStream:o,textStream:a})};const m0=Vn("llm",()=>{async function e(n,r,i,o){return await h0({baseURL:n.endsWith("/")?n:`${n}/`,apiKey:r,model:i,messages:o,streamOptions:{usage:!0}})}async function t(n,r){if(n==="")return[];try{return await d0({baseURL:n.endsWith("/")?n:`${n}/`,apiKey:r})}catch(i){if(String(i).includes("Failed to construct 'URL': Invalid URL"))return[];throw i}}return{models:t,stream:e}}),eu=Vn("providers",()=>({providers:Lc("settings/credentials/providers",{})})),un=Vn("chat",()=>{const{stream:e}=m0(),{t}=Hn(),{providers:n}=$t(eu()),r=j([]),i=j([]),o=j([]),a=j([]),s=j([]),l=j([]),u=j([]),c=j([]);function d(m){r.value.push(m)}function f(m){i.value.push(m)}function p(m){o.value.push(m)}function h(m){a.value.push(m)}function w(m){s.value.push(m)}function x(m){l.value.push(m)}function b(m){u.value.push(m)}function E(m){c.value.push(m)}const T=j([o0(t("prompt.prefix"),t("prompt.suffix"))]),M=j({role:"assistant",content:""});async function O(m,_){var B,z,J;if(!m)return;for(const G of r.value)await G(m);const{baseUrl:y=((B=n.value["openrouter-ai"])==null?void 0:B.baseUrl)||"",apiKey:v=((z=n.value["openrouter-ai"])==null?void 0:z.apiKey)||"",model:g=((J=n.value["openrouter-ai"])==null?void 0:J.model)||{id:"openai/gpt-4o-mini"}}=_??{};M.value={role:"assistant",content:""},T.value.push({role:"user",content:m}),T.value.push(M.value);const A=T.value.slice(0,T.value.length-1).map(G=>Nc(G));for(const G of i.value)await G(m);for(const G of o.value)await G(m);const C=await e(y,v,g.id,A);for(const G of a.value)await G(m);let F="";const V=c0({onLiteral:async G=>{for(const ne of s.value)await ne(G);M.value.content+=G},onSpecial:async G=>{for(const ne of l.value)await ne(G)}});for await(const G of ad(C.textStream,async ne=>ne))F+=G,await V.consume(G);await V.end();for(const G of u.value)await G();for(const G of c.value)await G(F);console.debug("LLM output:",F)}return{messages:T,streamingMessage:M,send:O,onBeforeMessageComposed:d,onAfterMessageComposed:f,onBeforeSend:p,onAfterSend:h,onTokenLiteral:w,onTokenSpecial:x,onStreamEnd:b,onAssistantResponseEnd:E}}),g0={relative:""},y0={"h-full":"","w-full":""},v0={key:0,class:"animate-stripe",absolute:"",left:"1/2",bottom:"20%",z:"20","rounded-2xl":"",text:"pink-600","px-2":"","py-2":"",transform:"translate-x--1/2"},b0={bg:"pink-50","rounded-xl":"","px-10":"","py-6":""},x0=["innerHTML"],w0=we({__name:"Stage",props:{paused:{type:Boolean,default:!1}},setup(e){const t=j(),n=j(),r=j(""),{stageView:i,elevenLabsApiKey:o,elevenlabsVoiceEnglish:a,elevenlabsVoiceJapanese:s}=$t(Lr()),{mouthOpenSize:l}=$t(u0()),{audioContext:u,calculateVolume:c}=Jl(),{onBeforeMessageComposed:d,onBeforeSend:f,onTokenLiteral:p,onTokenSpecial:h,onStreamEnd:w,streamingMessage:x,onAssistantResponseEnd:b}=un(),{process:E}=Po(),{locale:T}=Hn(),M=j(),O=j(!1),m=j(!1),_=Xr({handlers:[z=>new Promise(J=>{const G=u.createBufferSource();G.buffer=z.data.audioBuffer,G.connect(u.destination),G.connect(M.value),O.value=!0,G.start(0),G.onended=()=>{O.value=!1,J()}})]}),y=Xr({handlers:[async z=>{let J=Dc.Camilla_KM;T.value==="jp"||T.value==="jp-JP"?J=s.value:J=a.value;const G=Date.now(),ne=mh({apiKey:o.value,baseURL:"https://unspeech.hyp3r.link/v1/"}),I=await ph({...ne.speech("eleven_multilingual_v2",{voiceSettings:{stability:.4,similarityBoost:.5}}),input:z.data,voice:Bc[J]}),ge=Date.now()-G;console.debug("TTS took",ge,"ms");const Ce=await u.decodeAudioData(I);await _.add({audioBuffer:Ce,text:z.data})}]});y.on("add",z=>{console.debug("ttsQueue added",z)});const v=Nu(y),g=Xr({handlers:[async z=>{if(i.value==="3d"){const J=$u[z.data];if(!J)return;await n.value.setExpression(J)}else i.value==="2d"&&(r.value=ju[z.data])}]}),A=Du(g);A.onHandlerEvent("emotion",z=>{console.debug("emotion detected",z)});const C=Bu();C.onHandlerEvent("delay",z=>{console.debug("delay detected",z)});function F(){requestAnimationFrame(F),O.value&&(l.value=c(M.value,"linear"))}function V(){m.value||(F(),u.resume(),m.value=!0)}function B(){M.value||(M.value=u.createAnalyser())}return d(async()=>{B(),V()}),f(async()=>{r.value=Oi}),p(async z=>{await v.add(z)}),h(async z=>{await C.add(z),await A.add(z)}),w(async()=>{await C.add(Fu)}),b(async z=>{}),yt(()=>{var J,G,ne;m.value=!1;const z=window;(J=z.electron)==null||J.ipcRenderer.removeAllListeners("before-hide"),(G=z.electron)==null||G.ipcRenderer.removeAllListeners("after-show"),(ne=z.electron)==null||ne.ipcRenderer.removeAllListeners("before-quit")}),Tt(()=>{var J,G,ne;const z=window;(J=z.electron)==null||J.ipcRenderer.on("before-hide",()=>{r.value=gs}),(G=z.electron)==null||G.ipcRenderer.on("after-show",()=>{r.value=ys}),(ne=z.electron)==null||ne.ipcRenderer.on("before-quit",()=>{r.value=Oi})}),Tt(async()=>{t.value=zu("duckdb-wasm://?bundles=import-url"),await t.value.execute(Uu`CREATE TABLE memory_test (vec FLOAT[768]);`)}),(z,J)=>(X(),ee("div",g0,[L("div",y0,[D(i)==="2d"?(X(),Ge(gd,{key:0,motion:r.value,"onUpdate:motion":J[0]||(J[0]=G=>r.value=G),"mouth-open-size":D(l),model:"./assets/live2d/models/hiyori_pro_zh.zip","min-w":"50% t.type===sn?Lo(t.children):[t]):[]}const k0=we({name:"PrimitiveSlot",inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{var l,u;if(!n.default)return null;const r=Lo(n.default()),i=r.findIndex(c=>c.type!==Fc);if(i===-1)return r;const o=r[i];(l=o.props)==null||delete l.ref;const a=o.props?Ft(t,o.props):t;t.class&&((u=o.props)!=null&&u.class)&&delete o.props.class;const s=zc(o,a);for(const c in a)c.startsWith("on")&&(s.props||(s.props={}),s.props[c]=a[c]);return r.length===1?s:(r[i]=s,r)}}}),Vr=we({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(e,{attrs:t,slots:n}){const r=e.asChild?"template":e.as;return typeof r=="string"&&["area","img","input"].includes(r)?()=>yr(r,t):r!=="template"?()=>yr(e.as,t,{default:n.default}):()=>yr(k0,t,{default:n.default})}});function No(e,t){const n=typeof e=="string"?`${e}Context`:t,r=Symbol(n);return[a=>{const s=Uc(r,a);if(s||s===null)return s;throw new Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(", ")}`:`\`${e}\``}`)},a=>($c(r,a),a)]}const[tu,Ix]=No("ConfigProvider");function jt(){const e=Nr(),t=j(),n=Me(()=>{var a,s;return["#text","#comment"].includes((a=t.value)==null?void 0:a.$el.nodeName)?(s=t.value)==null?void 0:s.$el.nextElementSibling:ho(t)}),r=Object.assign({},e.exposed),i={};for(const a in e.props)Object.defineProperty(i,a,{enumerable:!0,configurable:!0,get:()=>e.props[a]});if(Object.keys(r).length>0)for(const a in r)Object.defineProperty(i,a,{enumerable:!0,configurable:!0,get:()=>r[a]});Object.defineProperty(i,"$el",{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=i;function o(a){t.value=a,a&&(Object.defineProperty(i,"$el",{enumerable:!0,configurable:!0,get:()=>a instanceof Element?a:a.$el}),e.exposed=i)}return{forwardRef:o,currentRef:t,currentElement:n}}let T0=0;function ro(e,t="reka"){const n=tu({useId:void 0});return Go?`${t}-${Go()}`:n.useId?`${t}-${n.useId()}`:`${t}-${++T0}`}function E0(e,t){const n=j(e);function r(o){return t[n.value][o]??n.value}return{state:n,dispatch:o=>{n.value=r(o)}}}function A0(e,t){var x;const n=j({}),r=j("none"),i=j(e),o=e.value?"mounted":"unmounted";let a;const s=((x=t.value)==null?void 0:x.ownerDocument.defaultView)??jc,{state:l,dispatch:u}=E0(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),c=b=>{var E;if(Gn){const T=new CustomEvent(b,{bubbles:!1,cancelable:!1});(E=t.value)==null||E.dispatchEvent(T)}};Se(e,async(b,E)=>{var M;const T=E!==b;if(await Et(),T){const O=r.value,m=cr(t.value);b?(u("MOUNT"),c("enter"),m==="none"&&c("after-enter")):m==="none"||((M=n.value)==null?void 0:M.display)==="none"?(u("UNMOUNT"),c("leave"),c("after-leave")):E&&O!==m?(u("ANIMATION_OUT"),c("leave")):(u("UNMOUNT"),c("after-leave"))}},{immediate:!0});const d=b=>{const E=cr(t.value),T=E.includes(b.animationName),M=l.value==="mounted"?"enter":"leave";if(b.target===t.value&&T&&(c(`after-${M}`),u("ANIMATION_END"),!i.value)){const O=t.value.style.animationFillMode;t.value.style.animationFillMode="forwards",a=s==null?void 0:s.setTimeout(()=>{var m;((m=t.value)==null?void 0:m.style.animationFillMode)==="forwards"&&(t.value.style.animationFillMode=O)})}b.target===t.value&&E==="none"&&u("ANIMATION_END")},f=b=>{b.target===t.value&&(r.value=cr(t.value))},p=Se(t,(b,E)=>{b?(n.value=getComputedStyle(b),b.addEventListener("animationstart",f),b.addEventListener("animationcancel",d),b.addEventListener("animationend",d)):(u("ANIMATION_END"),a!==void 0&&(s==null||s.clearTimeout(a)),E==null||E.removeEventListener("animationstart",f),E==null||E.removeEventListener("animationcancel",d),E==null||E.removeEventListener("animationend",d))},{immediate:!0}),h=Se(l,()=>{const b=cr(t.value);r.value=l.value==="mounted"?b:"none"});return yt(()=>{p(),h()}),{isPresent:Me(()=>["mounted","unmountSuspended"].includes(l.value))}}function cr(e){return e&&getComputedStyle(e).animationName||"none"}const nu=we({name:"Presence",props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){var u;const{present:r,forceMount:i}=_n(e),o=j(),{isPresent:a}=A0(r,o);n({present:a});let s=t.default({present:a.value});s=Lo(s||[]);const l=Nr();if(s&&(s==null?void 0:s.length)>1){const c=(u=l==null?void 0:l.parent)!=null&&u.type.name?`<${l.parent.type.name} />`:"component";throw new Error([`Detected an invalid children for \`${c}\` for \`Presence\` component.`,"","Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.","You can apply a few solutions:",["Provide a single child element so that `presence` directive attach correctly.","Ensure the first child is an actual element instead of a raw text node or comment node."].map(d=>` - ${d}`).join(` +`)].join(` +`))}return()=>i.value||r.value||a.value?yr(t.default({present:a.value})[0],{ref:c=>{const d=ho(c);return typeof(d==null?void 0:d.hasAttribute)>"u"||(d!=null&&d.hasAttribute("data-reka-popper-content-wrapper")?o.value=d.firstElementChild:o.value=d),d}}):null}});function Do(e){const t=Nr(),n=t==null?void 0:t.type.emits,r={};return n!=null&&n.length||console.warn(`No emitted event found. Please check component: ${t==null?void 0:t.type.__name}`),n==null||n.forEach(i=>{r[Vc(Hc(i))]=(...o)=>e(i,...o)}),r}const[dn,_0]=No("DialogRoot"),M0=we({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,i=Gc(n,"open",t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),o=j(),a=j(),{modal:s}=_n(n);return _0({open:i,modal:s,openModal:()=>{i.value=!0},onOpenChange:l=>{i.value=l},onOpenToggle:()=>{i.value=!i.value},contentId:"",titleId:"",descriptionId:"",triggerElement:o,contentElement:a}),(l,u)=>Ve(l.$slots,"default",{open:D(i)})}}),ru=we({__name:"DialogTrigger",props:{asChild:{type:Boolean},as:{default:"button"}},setup(e){const t=e,n=dn(),{forwardRef:r,currentElement:i}=jt();return n.contentId||(n.contentId=ro(void 0,"reka-dialog-content")),Tt(()=>{n.triggerElement.value=i.value}),(o,a)=>(X(),Ge(D(Vr),Ft(t,{ref:D(r),type:o.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":D(n).open.value||!1,"aria-controls":D(n).open.value?D(n).contentId:void 0,"data-state":D(n).open.value?"open":"closed",onClick:D(n).onOpenToggle}),{default:xe(()=>[Ve(o.$slots,"default")]),_:3},16,["type","aria-expanded","aria-controls","data-state","onClick"]))}}),I0=we({__name:"Teleport",props:{to:{default:"body"},disabled:{type:Boolean},defer:{type:Boolean},forceMount:{type:Boolean}},setup(e){const t=Kc();return(n,r)=>D(t)||n.forceMount?(X(),Ge(qc,{key:0,to:n.to,disabled:n.disabled,defer:n.defer},[Ve(n.$slots,"default")],8,["to","disabled","defer"])):Ke("",!0)}});function iu(e,t,n){const r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}const S0="dismissableLayer.pointerDownOutside",C0="dismissableLayer.focusOutside";function ou(e,t){const n=t.closest("[data-dismissable-layer]"),r=e.dataset.dismissableLayer===""?e:e.querySelector("[data-dismissable-layer]"),i=Array.from(e.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(n&&r===n||i.indexOf(r){});return Mt(a=>{if(!Gn)return;const s=async u=>{const c=u.target;if(t!=null&&t.value){if(ou(t.value,c)){r.value=!1;return}if(u.target&&!r.value){let d=function(){iu(S0,e,f)};const f={originalEvent:u};u.pointerType==="touch"?(n.removeEventListener("click",i.value),i.value=d,n.addEventListener("click",i.value,{once:!0})):d()}else n.removeEventListener("click",i.value);r.value=!1}},l=window.setTimeout(()=>{n.addEventListener("pointerdown",s)},0);a(()=>{window.clearTimeout(l),n.removeEventListener("pointerdown",s),n.removeEventListener("click",i.value)})}),{onPointerDownCapture:()=>r.value=!0}}function O0(e,t){var i;const n=((i=t==null?void 0:t.value)==null?void 0:i.ownerDocument)??(globalThis==null?void 0:globalThis.document),r=j(!1);return Mt(o=>{if(!Gn)return;const a=async s=>{t!=null&&t.value&&(await Et(),!(!t.value||ou(t.value,s.target))&&s.target&&!r.value&&iu(C0,e,{originalEvent:s}))};n.addEventListener("focusin",a),o(()=>n.removeEventListener("focusin",a))}),{onFocusCapture:()=>r.value=!0,onBlurCapture:()=>r.value=!1}}const Lt=js({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),P0=we({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,default:!1},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(e,{emit:t}){const n=e,r=t,{forwardRef:i,currentElement:o}=jt(),a=Me(()=>{var h;return((h=o.value)==null?void 0:h.ownerDocument)??globalThis.document}),s=Me(()=>Lt.layersRoot),l=Me(()=>o.value?Array.from(s.value).indexOf(o.value):-1),u=Me(()=>Lt.layersWithOutsidePointerEventsDisabled.size>0),c=Me(()=>{const h=Array.from(s.value),[w]=[...Lt.layersWithOutsidePointerEventsDisabled].slice(-1),x=h.indexOf(w);return l.value>=x}),d=R0(async h=>{const w=[...Lt.branches].some(x=>x==null?void 0:x.contains(h.target));!c.value||w||(r("pointerDownOutside",h),r("interactOutside",h),await Et(),h.defaultPrevented||r("dismiss"))},o),f=O0(h=>{[...Lt.branches].some(x=>x==null?void 0:x.contains(h.target))||(r("focusOutside",h),r("interactOutside",h),h.defaultPrevented||r("dismiss"))},o);Wc("Escape",h=>{l.value===s.value.size-1&&(r("escapeKeyDown",h),h.defaultPrevented||r("dismiss"))});let p;return Mt(h=>{o.value&&(n.disableOutsidePointerEvents&&(Lt.layersWithOutsidePointerEventsDisabled.size===0&&(p=a.value.body.style.pointerEvents,a.value.body.style.pointerEvents="none"),Lt.layersWithOutsidePointerEventsDisabled.add(o.value)),s.value.add(o.value),h(()=>{n.disableOutsidePointerEvents&&Lt.layersWithOutsidePointerEventsDisabled.size===1&&(a.value.body.style.pointerEvents=p)}))}),Mt(h=>{h(()=>{o.value&&(s.value.delete(o.value),Lt.layersWithOutsidePointerEventsDisabled.delete(o.value))})}),(h,w)=>(X(),Ge(D(Vr),{ref:D(i),"as-child":h.asChild,as:h.as,"data-dismissable-layer":"",style:Mr({pointerEvents:u.value?c.value?"auto":"none":void 0}),onFocusCapture:D(f).onFocusCapture,onBlurCapture:D(f).onBlurCapture,onPointerdownCapture:D(d).onPointerDownCapture},{default:xe(()=>[Ve(h.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}});function Qt(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function L0(e){return e?"open":"closed"}const Ei="focusScope.autoFocusOnMount",Ai="focusScope.autoFocusOnUnmount",ss={bubbles:!1,cancelable:!0};function N0(e,{select:t=!1}={}){const n=Qt();for(const r of e)if(Wt(r,{select:t}),Qt()!==n)return!0}function D0(e){const t=au(e),n=ls(t,e),r=ls(t.reverse(),e);return[n,r]}function au(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ls(e,t){for(const n of e)if(!B0(n,{upTo:t}))return n}function B0(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function F0(e){return e instanceof HTMLInputElement&&"select"in e}function Wt(e,{select:t=!1}={}){if(e&&e.focus){const n=Qt();e.focus({preventScroll:!0}),e!==n&&F0(e)&&t&&e.select()}}const z0=Yc(()=>j([]));function U0(){const e=z0();return{add(t){const n=e.value[0];t!==n&&(n==null||n.pause()),e.value=us(e.value,t),e.value.unshift(t)},remove(t){var n;e.value=us(e.value,t),(n=e.value[0])==null||n.resume()}}}function us(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function $0(e){return e.filter(t=>t.tagName!=="A")}const j0=we({__name:"FocusScope",props:{loop:{type:Boolean,default:!1},trapped:{type:Boolean,default:!1},asChild:{type:Boolean},as:{}},emits:["mountAutoFocus","unmountAutoFocus"],setup(e,{emit:t}){const n=e,r=t,{currentRef:i,currentElement:o}=jt(),a=j(null),s=U0(),l=js({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});Mt(c=>{if(!Gn)return;const d=o.value;if(!n.trapped)return;function f(x){if(l.paused||!d)return;const b=x.target;d.contains(b)?a.value=b:Wt(a.value,{select:!0})}function p(x){if(l.paused||!d)return;const b=x.relatedTarget;b!==null&&(d.contains(b)||Wt(a.value,{select:!0}))}function h(x){d.contains(a.value)||Wt(d)}document.addEventListener("focusin",f),document.addEventListener("focusout",p);const w=new MutationObserver(h);d&&w.observe(d,{childList:!0,subtree:!0}),c(()=>{document.removeEventListener("focusin",f),document.removeEventListener("focusout",p),w.disconnect()})}),Mt(async c=>{const d=o.value;if(await Et(),!d)return;s.add(l);const f=Qt();if(!d.contains(f)){const h=new CustomEvent(Ei,ss);d.addEventListener(Ei,w=>r("mountAutoFocus",w)),d.dispatchEvent(h),h.defaultPrevented||(N0($0(au(d)),{select:!0}),Qt()===f&&Wt(d))}c(()=>{d.removeEventListener(Ei,x=>r("mountAutoFocus",x));const h=new CustomEvent(Ai,ss),w=x=>{r("unmountAutoFocus",x)};d.addEventListener(Ai,w),d.dispatchEvent(h),setTimeout(()=>{h.defaultPrevented||Wt(f??document.body,{select:!0}),d.removeEventListener(Ai,w),s.remove(l)},0)})});function u(c){if(!n.loop&&!n.trapped||l.paused)return;const d=c.key==="Tab"&&!c.altKey&&!c.ctrlKey&&!c.metaKey,f=Qt();if(d&&f){const p=c.currentTarget,[h,w]=D0(p);h&&w?!c.shiftKey&&f===w?(c.preventDefault(),n.loop&&Wt(h,{select:!0})):c.shiftKey&&f===h&&(c.preventDefault(),n.loop&&Wt(w,{select:!0})):f===p&&c.preventDefault()}}return(c,d)=>(X(),Ge(D(Vr),{ref_key:"currentRef",ref:i,tabindex:"-1","as-child":c.asChild,as:c.as,onKeydown:u},{default:xe(()=>[Ve(c.$slots,"default")]),_:3},8,["as-child","as"]))}}),su=we({__name:"DialogContentImpl",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,r=t,i=dn(),{forwardRef:o,currentElement:a}=jt();return i.titleId||(i.titleId=ro(void 0,"reka-dialog-title")),i.descriptionId||(i.descriptionId=ro(void 0,"reka-dialog-description")),Tt(()=>{i.contentElement=a,Qt()!==document.body&&(i.triggerElement.value=Qt())}),(s,l)=>(X(),Ge(D(j0),{"as-child":"",loop:"",trapped:n.trapFocus,onMountAutoFocus:l[5]||(l[5]=u=>r("openAutoFocus",u)),onUnmountAutoFocus:l[6]||(l[6]=u=>r("closeAutoFocus",u))},{default:xe(()=>[he(D(P0),Ft({id:D(i).contentId,ref:D(o),as:s.as,"as-child":s.asChild,"disable-outside-pointer-events":s.disableOutsidePointerEvents,role:"dialog","aria-describedby":D(i).descriptionId,"aria-labelledby":D(i).titleId,"data-state":D(L0)(D(i).open.value)},s.$attrs,{onDismiss:l[0]||(l[0]=u=>D(i).onOpenChange(!1)),onEscapeKeyDown:l[1]||(l[1]=u=>r("escapeKeyDown",u)),onFocusOutside:l[2]||(l[2]=u=>r("focusOutside",u)),onInteractOutside:l[3]||(l[3]=u=>r("interactOutside",u)),onPointerDownOutside:l[4]||(l[4]=u=>r("pointerDownOutside",u))}),{default:xe(()=>[Ve(s.$slots,"default")]),_:3},16,["id","as","as-child","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped"]))}});var V0=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},yn=new WeakMap,dr=new WeakMap,fr={},_i=0,lu=function(e){return e&&(e.host||lu(e.parentNode))},H0=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=lu(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},G0=function(e,t,n,r){var i=H0(t,Array.isArray(e)?e:[e]);fr[n]||(fr[n]=new WeakMap);var o=fr[n],a=[],s=new Set,l=new Set(i),u=function(d){!d||s.has(d)||(s.add(d),u(d.parentNode))};i.forEach(u);var c=function(d){!d||l.has(d)||Array.prototype.forEach.call(d.children,function(f){if(s.has(f))c(f);else try{var p=f.getAttribute(r),h=p!==null&&p!=="false",w=(yn.get(f)||0)+1,x=(o.get(f)||0)+1;yn.set(f,w),o.set(f,x),a.push(f),w===1&&h&&dr.set(f,!0),x===1&&f.setAttribute(n,"true"),h||f.setAttribute(r,"true")}catch(b){console.error("aria-hidden: cannot operate on ",f,b)}})};return c(t),s.clear(),_i++,function(){a.forEach(function(d){var f=yn.get(d)-1,p=o.get(d)-1;yn.set(d,f),o.set(d,p),f||(dr.has(d)||d.removeAttribute(r),dr.delete(d)),p||d.removeAttribute(n)}),_i--,_i||(yn=new WeakMap,yn=new WeakMap,dr=new WeakMap,fr={})}},K0=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),i=V0(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live]"))),G0(r,i,n,"aria-hidden")):function(){return null}};function q0(e){let t;Se(()=>ho(e),n=>{n?t=K0(n):t&&t()}),yt(()=>{t&&t()})}const W0=we({__name:"DialogContentModal",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,r=t,i=dn(),o=Do(r),{forwardRef:a,currentElement:s}=jt();return q0(s),(l,u)=>(X(),Ge(su,Ft({...n,...D(o)},{ref:D(a),"trap-focus":D(i).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:u[0]||(u[0]=c=>{var d;c.defaultPrevented||(c.preventDefault(),(d=D(i).triggerElement.value)==null||d.focus())}),onPointerDownOutside:u[1]||(u[1]=c=>{const d=c.detail.originalEvent,f=d.button===0&&d.ctrlKey===!0;(d.button===2||f)&&c.preventDefault()}),onFocusOutside:u[2]||(u[2]=c=>{c.preventDefault()})}),{default:xe(()=>[Ve(l.$slots,"default")]),_:3},16,["trap-focus"]))}}),Y0=we({__name:"DialogContentNonModal",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,i=Do(t);jt();const o=dn(),a=j(!1),s=j(!1);return(l,u)=>(X(),Ge(su,Ft({...n,...D(i)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:u[0]||(u[0]=c=>{var d;c.defaultPrevented||(a.value||(d=D(o).triggerElement.value)==null||d.focus(),c.preventDefault()),a.value=!1,s.value=!1}),onInteractOutside:u[1]||(u[1]=c=>{var p;c.defaultPrevented||(a.value=!0,c.detail.originalEvent.type==="pointerdown"&&(s.value=!0));const d=c.target;((p=D(o).triggerElement.value)==null?void 0:p.contains(d))&&c.preventDefault(),c.detail.originalEvent.type==="focusin"&&s.value&&c.preventDefault()})}),{default:xe(()=>[Ve(l.$slots,"default")]),_:3},16))}}),X0=we({__name:"DialogContent",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,r=t,i=dn(),o=Do(r),{forwardRef:a}=jt();return(s,l)=>(X(),Ge(D(nu),{present:s.forceMount||D(i).open.value},{default:xe(()=>[D(i).modal.value?(X(),Ge(W0,Ft({key:0,ref:D(a)},{...n,...D(o),...s.$attrs}),{default:xe(()=>[Ve(s.$slots,"default")]),_:3},16)):(X(),Ge(Y0,Ft({key:1,ref:D(a)},{...n,...D(o),...s.$attrs}),{default:xe(()=>[Ve(s.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),Q0=Xc(()=>{const e=j(new Map),t=j(),n=Me(()=>{for(const a of e.value.values())if(a)return!0;return!1}),r=tu({scrollBody:j(!0)});let i=null;const o=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.body.style.removeProperty("--scrollbar-width"),document.body.style.overflow=t.value??"",Ko&&(i==null||i()),t.value=void 0};return Se(n,(a,s)=>{var d;if(!Gn)return;if(!a){s&&o();return}t.value===void 0&&(t.value=document.body.style.overflow);const l=window.innerWidth-document.documentElement.clientWidth,u={padding:l,margin:0},c=(d=r.scrollBody)!=null&&d.value?typeof r.scrollBody.value=="object"?mo({padding:r.scrollBody.value.padding===!0?l:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?l:r.scrollBody.value.margin},u):u:{padding:0,margin:0};l>0&&(document.body.style.paddingRight=typeof c.padding=="number"?`${c.padding}px`:String(c.padding),document.body.style.marginRight=typeof c.margin=="number"?`${c.margin}px`:String(c.margin),document.body.style.setProperty("--scrollbar-width",`${l}px`),document.body.style.overflow="hidden"),Ko&&(i=Zc(document,"touchmove",f=>J0(f),{passive:!1})),Et(()=>{document.body.style.pointerEvents="none",document.body.style.overflow="hidden"})},{immediate:!0,flush:"sync"}),e});function Z0(e){const t=Math.random().toString(36).substring(2,7),n=Q0();n.value.set(t,e);const r=Me({get:()=>n.value.get(t)??!1,set:i=>n.value.set(t,i)});return Qc(()=>{n.value.delete(t)}),r}function uu(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}const eb=we({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean},as:{}},setup(e){const t=dn();return Z0(!0),jt(),(n,r)=>(X(),Ge(D(Vr),{as:n.as,"as-child":n.asChild,"data-state":D(t).open.value?"open":"closed",style:{"pointer-events":"auto"}},{default:xe(()=>[Ve(n.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),tb=we({__name:"DialogOverlay",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(e){const t=dn(),{forwardRef:n}=jt();return(r,i)=>{var o;return(o=D(t))!=null&&o.modal.value?(X(),Ge(D(nu),{key:0,present:r.forceMount||D(t).open.value},{default:xe(()=>[he(eb,Ft(r.$attrs,{ref:D(n),as:r.as,"as-child":r.asChild}),{default:xe(()=>[Ve(r.$slots,"default")]),_:3},16,["as","as-child"])]),_:3},8,["present"])):Ke("",!0)}}}),cu=we({__name:"DialogPortal",props:{to:{},disabled:{type:Boolean},defer:{type:Boolean},forceMount:{type:Boolean}},setup(e){const t=e;return(n,r)=>(X(),Ge(D(I0),Li(ws(t)),{default:xe(()=>[Ve(n.$slots,"default")]),_:3},16))}});(function(){try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('[vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32,.72,0,1)}[vaul-drawer][vaul-drawer-direction=bottom]{transform:translate3d(0,100%,0)}[vaul-drawer][vaul-drawer-direction=top]{transform:translate3d(0,-100%,0)}[vaul-drawer][vaul-drawer-direction=left]{transform:translate3d(-100%,0,0)}[vaul-drawer][vaul-drawer-direction=right]{transform:translate3d(100%,0,0)}.vaul-dragging .vaul-scrollable [vault-drawer-direction=top],.vaul-dragging .vaul-scrollable [vault-drawer-direction=bottom]{overflow-y:hidden!important}.vaul-dragging .vaul-scrollable [vault-drawer-direction=left],.vaul-dragging .vaul-scrollable [vault-drawer-direction=right]{overflow-x:hidden!important}[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=top],[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height, 0),0)}[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=left],[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height, 0),0,0)}[vaul-overlay]{opacity:0;transition:opacity .5s cubic-bezier(.32,.72,0,1)}[vaul-overlay][vaul-drawer-visible=true]{opacity:1}[vaul-drawer]:after{content:"";position:absolute;background:inherit;background-color:inherit}[vaul-drawer][vaul-drawer-direction=top]:after{top:initial;bottom:100%;left:0;right:0;height:200%}[vaul-drawer][vaul-drawer-direction=bottom]:after{top:100%;bottom:initial;left:0;right:0;height:200%}[vaul-drawer][vaul-drawer-direction=left]:after{left:initial;right:100%;top:0;bottom:0;width:200%}[vaul-drawer][vaul-drawer-direction=right]:after{left:100%;right:initial;top:0;bottom:0;width:200%}[vaul-overlay][vaul-snap-points=true]:not([vaul-snap-points-overlay=true]):not([data-state=closed]){opacity:0}[vaul-overlay][vaul-snap-points-overlay=true]:not([vaul-drawer-visible=false]){opacity:1}@keyframes fake-animation{}@media (hover: hover) and (pointer: fine){[vaul-drawer]{-webkit-user-select:none;user-select:none}}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();const nb=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const rb=e=>typeof e<"u";function ib(e){return JSON.parse(JSON.stringify(e))}function cs(e,t,n,r={}){var i,o,a;const{clone:s=!1,passive:l=!1,eventName:u,deep:c=!1,defaultValue:d,shouldEmit:f}=r,p=Nr(),h=n||(p==null?void 0:p.emit)||((i=p==null?void 0:p.$emit)==null?void 0:i.bind(p))||((a=(o=p==null?void 0:p.proxy)==null?void 0:o.$emit)==null?void 0:a.bind(p==null?void 0:p.proxy));let w=u;t||(t="modelValue"),w=w||`update:${t.toString()}`;const x=T=>s?typeof s=="function"?s(T):ib(T):T,b=()=>rb(e[t])?x(e[t]):d,E=T=>{f?f(T)&&h(w,T):h(w,T)};if(l){const T=b(),M=j(T);let O=!1;return Se(()=>e[t],m=>{O||(O=!0,M.value=x(m),Et(()=>O=!1))}),Se(M,m=>{!O&&(m!==e[t]||c)&&E(m)},{deep:c}),M}else return Me({get(){return b()},set(T){E(T)}})}const[du,ob]=No("DrawerRoot"),fu=new WeakMap;function je(e,t,n=!1){if(!e||!(e instanceof HTMLElement)||!t)return;const r={};Object.entries(t).forEach(([i,o])=>{if(i.startsWith("--")){e.style.setProperty(i,o);return}r[i]=e.style[i],e.style[i]=o}),!n&&fu.set(e,r)}function pr(e,t){if(!e||!(e instanceof HTMLElement))return;const n=fu.get(e);n&&(t?e.style[t]=n[t]:Object.entries(n).forEach(([r,i])=>{e.style[r]=i}))}function hr(e,t){const n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform;let i=r.match(/^matrix3d\((.+)\)$/);return i?Number.parseFloat(i[1].split(", ")[Ye(t)?13:12]):(i=r.match(/^matrix\((.+)\)$/),i?Number.parseFloat(i[1].split(", ")[Ye(t)?5:4]):null)}function ab(e){return 8*(Math.log(e+1)-2)}function Ye(e){switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}}const De={DURATION:.5,EASE:[.32,.72,0,1]},pu=.4;function sb({activeSnapPoint:e,snapPoints:t,drawerRef:n,overlayRef:r,fadeFromIndex:i,onSnapPointChange:o,direction:a}){const s=j(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);function l(){s.value={innerWidth:window.innerWidth,innerHeight:window.innerHeight}}Tt(()=>{typeof window<"u"&&window.addEventListener("resize",l)}),Jc(()=>{typeof window<"u"&&window.removeEventListener("resize",l)});const u=Me(()=>(t.value&&e.value===t.value[t.value.length-1])??null),c=Me(()=>t.value&&t.value.length>0&&((i==null?void 0:i.value)||(i==null?void 0:i.value)===0)&&!Number.isNaN(i==null?void 0:i.value)&&t.value[(i==null?void 0:i.value)??-1]===e.value||!t.value),d=Me(()=>{var E;return((E=t.value)==null?void 0:E.findIndex(T=>T===e.value))??null}),f=Me(()=>{var E;return((E=t.value)==null?void 0:E.map(T=>{const M=typeof T=="string";let O=0;if(M&&(O=Number.parseInt(T,10)),Ye(a.value)){const _=M?O:s.value?T*s.value.innerHeight:0;return s.value?a.value==="bottom"?s.value.innerHeight-_:-s.value.innerHeight+_:_}const m=M?O:s.value?T*s.value.innerWidth:0;return s.value?a.value==="right"?s.value.innerWidth-m:-s.value.innerWidth+m:m}))??[]}),p=Me(()=>{var E;return d.value!==null?(E=f.value)==null?void 0:E[d.value]:null}),h=E=>{var T,M,O,m;const _=((T=f.value)==null?void 0:T.findIndex(y=>y===E))??null;Et(()=>{var y;o(_,f.value),je((y=n.value)==null?void 0:y.$el,{transition:`transform ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`,transform:Ye(a.value)?`translate3d(0, ${E}px, 0)`:`translate3d(${E}px, 0, 0)`})}),f.value&&_!==f.value.length-1&&_!==(i==null?void 0:i.value)?je((M=r.value)==null?void 0:M.$el,{transition:`opacity ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`,opacity:"0"}):je((O=r.value)==null?void 0:O.$el,{transition:`opacity ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`,opacity:"1"}),e.value=_!==null?((m=t.value)==null?void 0:m[_])??null:null};Se([e,f,t],()=>{var E;if(e.value){const T=((E=t.value)==null?void 0:E.findIndex(M=>M===e.value))??-1;f.value&&T!==-1&&typeof f.value[T]=="number"&&h(f.value[T])}},{immediate:!0});function w({draggedDistance:E,closeDrawer:T,velocity:M,dismissible:O}){var m,_,y;if(i.value===void 0)return;const v=a.value==="bottom"||a.value==="right"?(p.value??0)-E:(p.value??0)+E,g=d.value===i.value-1,A=d.value===0,C=E>0;if(g&&je((m=r.value)==null?void 0:m.$el,{transition:`opacity ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`}),M>2&&!C){O?T():h(f.value[0]);return}if(M>2&&C&&f&&t.value){h(f.value[t.value.length-1]);return}const F=(_=f.value)==null?void 0:_.reduce((B,z)=>typeof B!="number"||typeof z!="number"?B:Math.abs(z-v)pu&&Math.abs(E)0&&u){h(f.value[(((y=t.value)==null?void 0:y.length)??0)-1]);return}if(A&&B<0&&O&&T(),d.value===null)return;h(f.value[d.value+B]);return}h(F)}function x({draggedDistance:E}){var T;if(p.value===null)return;const M=a.value==="bottom"||a.value==="right"?p.value-E:p.value+E;(a.value==="bottom"||a.value==="right")&&Mf.value[f.value.length-1]||je((T=n.value)==null?void 0:T.$el,{transform:Ye(a.value)?`translate3d(0, ${M}px, 0)`:`translate3d(${M}px, 0, 0)`})}function b(E,T){if(!t.value||typeof d.value!="number"||!f.value||i.value===void 0)return null;const M=d.value===i.value-1;if(d.value>=i.value&&T)return 0;if(M&&!T)return 1;if(!c.value&&!M)return null;const O=M?d.value+1:d.value-1,m=M?f.value[O]-f.value[O-1]:f.value[O+1]-f.value[O],_=E/Math.abs(m);return M?1-_:_}return{isLastSnapPoint:u,shouldFade:c,getPercentageDragged:b,activeSnapPointIndex:d,onRelease:w,onDrag:x,snapPointsOffset:f}}let Nn=null;function lb(e){const{isOpen:t,modal:n,nested:r,hasBeenOpened:i}=e,o=j(typeof window<"u"?window.location.href:""),a=j(0);function s(){if(Nn===null&&t.value){Nn={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height};const{scrollX:u,innerHeight:c}=window;document.body.style.position="fixed",document.body.style.top=`-${a.value}px`,document.body.style.left=`-${u}px`,document.body.style.right="0px",document.body.style.height="auto",setTimeout(()=>{requestAnimationFrame(()=>{const d=c-window.innerHeight;d&&a.value>=c&&(document.body.style.top=`-${a.value+d}px`)})},300)}}function l(){if(Nn!==null){const u=-Number.parseInt(document.body.style.top,10),c=-Number.parseInt(document.body.style.left,10);Object.assign(document.body.style,Nn),requestAnimationFrame(()=>{if(o.value!==window.location.href){o.value=window.location.href;return}window.scrollTo(c,u)}),Nn=null}}return Tt(()=>{function u(){a.value=window.scrollY}u(),window.addEventListener("scroll",u),yt(()=>{window.removeEventListener("scroll",u)})}),Se([t,i,o],()=>{r.value||!i.value||(t.value?(!window.matchMedia("(display-mode: standalone)").matches&&s(),n.value||setTimeout(()=>{l()},500)):l())}),{restorePositionSetting:l}}const ub=.25,cb=100,ds=8,mr=16,db=26,fs="vaul-dragging";function fb(e,t){return e&&e.value?e:t}function pb(e){const{emitDrag:t,emitRelease:n,emitClose:r,emitOpenChange:i,open:o,dismissible:a,nested:s,modal:l,shouldScaleBackground:u,scrollLockTimeout:c,closeThreshold:d,activeSnapPoint:f,fadeFromIndex:p,direction:h}=e,w=j(o.value??!1),x=j(!1),b=j(!1),E=j(!1),T=j(!1),M=j(null),O=j(null),m=j(null),_=j(null),y=j(null),v=j(!0),g=j(null),A=j(0),C=j(!1);j(0);const F=j(null);j(0);const V=Me(()=>{var K;return((K=F.value)==null?void 0:K.$el.getBoundingClientRect().height)||0}),B=fb(e.snapPoints,j(void 0)),{activeSnapPointIndex:z,onRelease:J,snapPointsOffset:G,onDrag:ne,shouldFade:I,getPercentageDragged:ge}=sb({snapPoints:B,activeSnapPoint:f,drawerRef:F,fadeFromIndex:p,overlayRef:M,onSnapPointChange:Ce,direction:h});function Ce(K,re){B.value&&K===re.length-1&&(O.value=new Date)}const{restorePositionSetting:R}=lb({isOpen:w,modal:l,nested:s,hasBeenOpened:x});function ye(){return(window.innerWidth-db)/window.innerWidth}function Ie(K,re){var se;if(!K)return!1;let te=K;const le=(se=window.getSelection())==null?void 0:se.toString(),ve=F.value?hr(F.value.$el,h.value):null,me=new Date;if(te.hasAttribute("data-vaul-no-drag")||te.closest("[data-vaul-no-drag]"))return!1;if(h.value==="right"||h.value==="left")return!0;if(O.value&&me.getTime()-O.value.getTime()<500)return!1;if(ve!==null&&(h.value==="bottom"?ve>0:ve<0))return!0;if(le&&le.length>0)return!1;if(y.value&&me.getTime()-y.value.getTime()te.clientHeight){if(te.scrollTop!==0)return y.value=new Date,!1;if(te.getAttribute("role")==="dialog")return!0}te=te.parentNode}return!0}function Ae(K){!a.value&&!B.value||F.value&&!F.value.$el.contains(K.target)||(E.value=!0,m.value=new Date,K.target.setPointerCapture(K.pointerId),A.value=Ye(h.value)?K.clientY:K.clientX)}function qe(K){var re,se,te,le,ve,me;if(F.value&&E.value){const _e=h.value==="bottom"||h.value==="right"?1:-1,Qe=(A.value-(Ye(h.value)?K.clientY:K.clientX))*_e,Je=Qe>0,Vt=B.value&&!a.value&&!Je;if(Vt&&z.value===0)return;const $=Math.abs(Qe),Z=document.querySelector("[vaul-drawer-wrapper]");let ie=$/V.value;const ce=ge($,Je);if(ce!==null&&(ie=ce),Vt&&ie>=1||!v.value&&!Ie(K.target,Je))return;if((re=F==null?void 0:F.value)==null||re.$el.classList.add(fs),v.value=!0,je((se=F.value)==null?void 0:se.$el,{transition:"none"}),je((te=M.value)==null?void 0:te.$el,{transition:"none"}),B.value&&ne({draggedDistance:Qe}),Je&&!B.value){const He=ab(Qe),rt=Math.min(He*-1,0)*_e;je((le=F.value)==null?void 0:le.$el,{transform:Ye(h.value)?`translate3d(0, ${rt}px, 0)`:`translate3d(${rt}px, 0, 0)`});return}const Te=1-ie;if((I.value||p.value&&z.value===p.value-1)&&(t(ie),je((ve=M.value)==null?void 0:ve.$el,{opacity:`${Te}`,transition:"none"},!0)),Z&&M.value&&u.value){const He=Math.min(ye()+ie*(1-ye()),1),rt=8-ie*8,it=Math.max(0,14-ie*14);je(Z,{borderRadius:`${rt}px`,transform:Ye(h.value)?`scale(${He}) translate3d(0, ${it}px, 0)`:`scale(${He}) translate3d(${it}px, 0, 0)`,transition:"none"},!0)}if(!B.value){const He=$*_e;je((me=F.value)==null?void 0:me.$el,{transform:Ye(h.value)?`translate3d(0, ${He}px, 0)`:`translate3d(${He}px, 0, 0)`})}}}function q(){var K;if(!F.value)return;const re=document.querySelector("[vaul-drawer-wrapper]"),se=hr(F.value.$el,h.value);je(F.value.$el,{transform:"translate3d(0, 0, 0)",transition:`transform ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`}),je((K=M.value)==null?void 0:K.$el,{transition:`opacity ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`,opacity:"1"}),u.value&&se&&se>0&&w.value&&je(re,{borderRadius:`${ds}px`,overflow:"hidden",...Ye(h.value)?{transform:`scale(${ye()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${ye()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${De.DURATION}s`,transitionTimingFunction:`cubic-bezier(${De.EASE.join(",")})`},!0)}function k(){var K;F.value&&(r(),je(F.value.$el,{transform:Ye(h.value)?`translate3d(0, ${h.value==="bottom"?"100%":"-100%"}, 0)`:`translate3d(${h.value==="right"?"100%":"-100%"}, 0, 0)`,transition:`transform ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`}),je((K=M.value)==null?void 0:K.$el,{opacity:"0",transition:`opacity ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`}),P(!1),window.setTimeout(()=>{b.value=!1,w.value=!1},300),window.setTimeout(()=>{B.value&&(f.value=B.value[0])},De.DURATION*1e3))}Mt(()=>{if(!w.value&&u.value&&nb){const K=setTimeout(()=>{pr(document.body)},200);return()=>clearTimeout(K)}}),yt(()=>{P(!1),R()});function S(K){if(!E.value||!F.value)return;F.value.$el.classList.remove(fs),v.value=!1,E.value=!1,_.value=new Date;const re=hr(F.value.$el,h.value);if(!Ie(K.target,!1)||!re||Number.isNaN(re)||m.value===null)return;const se=_.value.getTime()-m.value.getTime(),te=A.value-(Ye(h.value)?K.clientY:K.clientX),le=Math.abs(te)/se;if(le>.05&&(T.value=!0,window.setTimeout(()=>{T.value=!1},200)),B.value){const me=h.value==="bottom"||h.value==="right"?1:-1;J({draggedDistance:te*me,closeDrawer:k,velocity:le,dismissible:a.value}),n(!0);return}if(h.value==="bottom"||h.value==="right"?te>0:te<0){q(),n(!0);return}if(le>pu){k(),n(!1);return}const ve=Math.min(F.value.$el.getBoundingClientRect().height??0,window.innerHeight);if(re>=ve*d.value){k(),n(!1);return}n(!0),q()}Se(w,K=>{K&&(O.value=new Date,P(!0)),i(K)},{immediate:!0}),Se(o,K=>{K?(w.value=K,x.value=!0):k()},{immediate:!0});function P(K){const re=document.querySelector("[vaul-drawer-wrapper]");!re||!u.value||(K?(je(document.body,{background:document.body.style.backgroundColor||document.body.style.background}),je(document.body,{background:"black"},!0),je(re,{borderRadius:`${ds}px`,overflow:"hidden",...Ye(h.value)?{transform:`scale(${ye()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${ye()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${De.DURATION}s`,transitionTimingFunction:`cubic-bezier(${De.EASE.join(",")})`})):(pr(re,"overflow"),pr(re,"transform"),pr(re,"borderRadius"),je(re,{transitionProperty:"transform, border-radius",transitionDuration:`${De.DURATION}s`,transitionTimingFunction:`cubic-bezier(${De.EASE.join(",")})`})))}function H(K){var re,se;const te=K?(window.innerWidth-mr)/window.innerWidth:1,le=K?-16:0;g.value&&window.clearTimeout(g.value),je((re=F.value)==null?void 0:re.$el,{transition:`transform ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`,transform:`scale(${te}) translate3d(0, ${le}px, 0)`}),!K&&(se=F.value)!=null&&se.$el&&(g.value=window.setTimeout(()=>{var ve,me;const _e=hr((ve=F.value)==null?void 0:ve.$el,h.value);je((me=F.value)==null?void 0:me.$el,{transition:"none",transform:Ye(h.value)?`translate3d(0, ${_e}px, 0)`:`translate3d(${_e}px, 0, 0)`})},500))}function U(K){var re;if(K<0)return;const se=Ye(h.value)?window.innerHeight:window.innerWidth,te=(se-mr)/se,le=te+K*(1-te),ve=-16+K*mr;je((re=F.value)==null?void 0:re.$el,{transform:Ye(h.value)?`scale(${le}) translate3d(0, ${ve}px, 0)`:`scale(${le}) translate3d(${ve}px, 0, 0)`,transition:"none"})}function Y(K){var re;const se=Ye(h.value)?window.innerHeight:window.innerWidth,te=K?(se-mr)/se:1,le=K?-16:0;K&&je((re=F.value)==null?void 0:re.$el,{transition:`transform ${De.DURATION}s cubic-bezier(${De.EASE.join(",")})`,transform:Ye(h.value)?`scale(${te}) translate3d(0, ${le}px, 0)`:`scale(${te}) translate3d(${le}px, 0, 0)`})}return{open:o,isOpen:w,modal:l,keyboardIsOpen:C,hasBeenOpened:x,isVisible:b,drawerRef:F,drawerHeightRef:V,overlayRef:M,isDragging:E,dragStartTime:m,isAllowedToDrag:v,snapPoints:B,activeSnapPoint:f,pointerStart:A,dismissible:a,snapPointsOffset:G,direction:h,shouldFade:I,fadeFromIndex:p,shouldScaleBackground:u,onPress:Ae,onDrag:qe,onRelease:S,closeDrawer:k,onNestedDrag:U,onNestedRelease:Y,onNestedOpenChange:H,emitClose:r,emitDrag:t,emitRelease:n,emitOpenChange:i,nested:s}}const hu=we({__name:"DrawerRoot",props:{activeSnapPoint:{default:void 0},closeThreshold:{default:ub},shouldScaleBackground:{type:Boolean,default:void 0},scrollLockTimeout:{default:cb},fixed:{type:Boolean,default:void 0},dismissible:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:void 0},nested:{type:Boolean,default:!1},direction:{default:"bottom"},snapPoints:{default:void 0},fadeFromIndex:{default:void 0}},emits:["drag","release","close","update:open","update:activeSnapPoint","animationEnd"],setup(e,{expose:t,emit:n}){const r=e,i=n;Os();const o=Me(()=>r.fadeFromIndex??(r.snapPoints&&r.snapPoints.length-1)),a=cs(r,"open",i,{defaultValue:r.defaultOpen,passive:r.open===void 0}),s=cs(r,"activeSnapPoint",i,{passive:r.activeSnapPoint===void 0}),l={emitDrag:h=>i("drag",h),emitRelease:h=>i("release",h),emitClose:()=>i("close"),emitOpenChange:h=>{i("update:open",h),setTimeout(()=>{i("animationEnd",h)},De.DURATION*1e3)}},{closeDrawer:u,hasBeenOpened:c,modal:d,isOpen:f}=ob(pb({...l,..._n(r),activeSnapPoint:s,fadeFromIndex:o,open:a}));function p(h){if(a.value!==void 0){l.emitOpenChange(h);return}h?(c.value=!0,f.value=h):u()}return t({open:f}),(h,w)=>(X(),Ge(D(M0),{open:D(f),modal:D(d),"onUpdate:open":p},{default:xe(()=>[Ve(h.$slots,"default",{open:D(f)})]),_:3},8,["open","modal"]))}}),mu=we({__name:"DrawerOverlay",setup(e){const{overlayRef:t,snapPoints:n,isVisible:r,isOpen:i,shouldFade:o}=du(),a=Me(()=>{var s;return n&&(((s=n.value)==null?void 0:s.length)??0)>0});return(s,l)=>(X(),Ge(D(tb),{ref_key:"overlayRef",ref:t,"vaul-drawer-visible":D(r)?"true":"false","vaul-overlay":"","vaul-snap-points":D(i)&&a.value?"true":"false","vaul-snap-points-overlay":D(i)&&D(o)?"true":"false"},null,8,["vaul-drawer-visible","vaul-snap-points","vaul-snap-points-overlay"]))}}),gu=we({__name:"DrawerContent",setup(e){const{open:t,isOpen:n,isVisible:r,snapPointsOffset:i,drawerRef:o,onPress:a,onDrag:s,onRelease:l,modal:u,emitOpenChange:c,dismissible:d,keyboardIsOpen:f,closeDrawer:p,direction:h}=du(),w=Me(()=>i.value&&i.value.length>0?`${i.value[0]}px`:"0");function x(b){if(!u.value||b.defaultPrevented){b.preventDefault();return}f.value&&(f.value=!1),b.preventDefault(),d.value&&c(!1),!(!d.value||t.value!==void 0)&&p()}return Se(n,b=>{b&&setTimeout(()=>{r.value=!0},1)},{immediate:!0}),(b,E)=>(X(),Ge(D(X0),{ref_key:"drawerRef",ref:o,"vaul-drawer":"","vaul-drawer-direction":D(h),"vaul-drawer-visible":D(r)?"true":"false",style:Mr({"--snap-point-height":w.value}),onPointerdown:D(a),onPointermove:D(s),onPointerup:D(l),onPointerDownOutside:x,onEscapeKeyDown:E[0]||(E[0]=T=>{D(d)||T.preventDefault()})},{default:xe(()=>[Ve(b.$slots,"default")]),_:3},8,["vaul-drawer-direction","vaul-drawer-visible","style","onPointerdown","onPointermove","onPointerup"]))}});var Nt;function hb(e){return{lang:(e==null?void 0:e.lang)??(Nt==null?void 0:Nt.lang),message:e==null?void 0:e.message,abortEarly:(e==null?void 0:e.abortEarly)??(Nt==null?void 0:Nt.abortEarly),abortPipeEarly:(e==null?void 0:e.abortPipeEarly)??(Nt==null?void 0:Nt.abortPipeEarly)}}var Mi;function mb(e){return Mi==null?void 0:Mi.get(e)}var Ii;function gb(e){return Ii==null?void 0:Ii.get(e)}var Si;function yb(e,t){var n;return(n=Si==null?void 0:Si.get(e))==null?void 0:n.get(t)}function vb(e){var n,r;const t=typeof e;return t==="string"?`"${e}"`:t==="number"||t==="bigint"||t==="boolean"?`${e}`:t==="object"||t==="function"?(e&&((r=(n=Object.getPrototypeOf(e))==null?void 0:n.constructor)==null?void 0:r.name))??"null":t}function Bo(e,t,n,r,i){const o=n.value,a=e.expects??null,s=vb(o),l={kind:e.kind,type:e.type,input:o,expected:a,received:s,message:`Invalid ${t}: ${a?`Expected ${a} but r`:"R"}eceived ${s}`,requirement:e.requirement,path:i==null?void 0:i.path,issues:i==null?void 0:i.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},u=e.kind==="schema",c=e.message??yb(e.reference,l.lang)??(u?gb(l.lang):null)??r.message??mb(l.lang);c&&(l.message=typeof c=="function"?c(l):c),u&&(n.typed=!1),n.issues?n.issues.push(l):n.issues=[l]}function Xn(e){return{version:1,vendor:"valibot",validate(t){return e["~run"]({value:t},hb())}}}function bb(e,t){return Object.hasOwn(e,t)&&t!=="__proto__"&&t!=="prototype"&&t!=="constructor"}function Le(e){return{kind:"metadata",type:"description",reference:Le,description:e}}function Ne(e){return{kind:"metadata",type:"title",reference:Ne,title:e}}function io(e,t,n){return typeof e.default=="function"?e.default(t,n):e.default}function lt(e,t){return{kind:"schema",type:"object",reference:lt,expects:"Object",async:!1,entries:e,message:t,get"~standard"(){return Xn(this)},"~run"(n,r){var o;const i=n.value;if(i&&typeof i=="object"){n.typed=!0,n.value={};for(const a in this.entries){const s=i[a],l=this.entries[a]["~run"]({value:s},r);if(l.issues){const u={type:"object",origin:"value",input:i,key:a,value:s};for(const c of l.issues)c.path?c.path.unshift(u):c.path=[u],(o=n.issues)==null||o.push(c);if(n.issues||(n.issues=l.issues),r.abortEarly){n.typed=!1;break}}l.typed||(n.typed=!1),(l.value!==void 0||a in i)&&(n.value[a]=l.value)}}else Bo(this,"type",n,r);return n}}}function et(e,t){return{kind:"schema",type:"optional",reference:et,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return Xn(this)},"~run"(n,r){return n.value===void 0&&(this.default!==void 0&&(n.value=io(this,n,r)),n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function oo(e,t,n){return{kind:"schema",type:"record",reference:oo,expects:"Object",async:!1,key:e,value:t,message:n,get"~standard"(){return Xn(this)},"~run"(r,i){var a,s;const o=r.value;if(o&&typeof o=="object"){r.typed=!0,r.value={};for(const l in o)if(bb(o,l)){const u=o[l],c=this.key["~run"]({value:l},i);if(c.issues){const f={type:"object",origin:"key",input:o,key:l,value:u};for(const p of c.issues)p.path=[f],(a=r.issues)==null||a.push(p);if(r.issues||(r.issues=c.issues),i.abortEarly){r.typed=!1;break}}const d=this.value["~run"]({value:u},i);if(d.issues){const f={type:"object",origin:"value",input:o,key:l,value:u};for(const p of d.issues)p.path?p.path.unshift(f):p.path=[f],(s=r.issues)==null||s.push(p);if(r.issues||(r.issues=d.issues),i.abortEarly){r.typed=!1;break}}(!c.typed||!d.typed)&&(r.typed=!1),c.typed&&(r.value[c.value]=d.value)}}else Bo(this,"type",r,i);return r}}}function Pe(e){return{kind:"schema",type:"string",reference:Pe,expects:"string",async:!1,message:e,get"~standard"(){return Xn(this)},"~run"(t,n){return typeof t.value=="string"?t.typed=!0:Bo(this,"type",t,n),t}}}function Fe(...e){return{...e[0],pipe:e,get"~standard"(){return Xn(this)},"~run"(t,n){for(const r of e)if(r.kind!=="metadata"){if(t.issues&&(r.kind==="schema"||r.kind==="transformation")){t.typed=!1;break}(!t.issues||!n.abortEarly&&!n.abortPipeEarly)&&(t=r["~run"](t,n))}return t}}}function nt(e,t){switch(t==null?void 0:t.errorMode){case"ignore":break;case"warn":{console.warn(e);break}default:throw new Error(e)}}function xb(e,t,n){switch(t.type){case"base64":{e.contentEncoding="base64";break}case"bic":case"cuid2":case"decimal":case"digits":case"emoji":case"hexadecimal":case"hex_color":case"nanoid":case"octal":case"ulid":{e.pattern=t.requirement.source;break}case"description":{e.description=t.description;break}case"email":{e.format="email";break}case"empty":{e.type==="array"?e.maxItems=0:(e.type!=="string"&&nt(`The "${t.type}" action is not supported on type "${e.type}".`,n),e.maxLength=0);break}case"integer":{e.type="integer";break}case"ipv4":{e.format="ipv4";break}case"ipv6":{e.format="ipv6";break}case"iso_date":{e.format="date";break}case"iso_date_time":case"iso_timestamp":{e.format="date-time";break}case"iso_time":{e.format="time";break}case"length":{e.type==="array"?(e.minItems=t.requirement,e.maxItems=t.requirement):(e.type!=="string"&&nt(`The "${t.type}" action is not supported on type "${e.type}".`,n),e.minLength=t.requirement,e.maxLength=t.requirement);break}case"max_length":{e.type==="array"?e.maxItems=t.requirement:(e.type!=="string"&&nt(`The "${t.type}" action is not supported on type "${e.type}".`,n),e.maxLength=t.requirement);break}case"max_value":{e.type!=="number"&&nt(`The "max_value" action is not supported on type "${e.type}".`,n),e.maximum=t.requirement;break}case"min_length":{e.type==="array"?e.minItems=t.requirement:(e.type!=="string"&&nt(`The "${t.type}" action is not supported on type "${e.type}".`,n),e.minLength=t.requirement);break}case"min_value":{e.type!=="number"&&nt(`The "min_value" action is not supported on type "${e.type}".`,n),e.minimum=t.requirement;break}case"multiple_of":{e.multipleOf=t.requirement;break}case"non_empty":{e.type==="array"?e.minItems=1:(e.type!=="string"&&nt(`The "${t.type}" action is not supported on type "${e.type}".`,n),e.minLength=1);break}case"regex":{t.requirement.flags&&nt("RegExp flags are not supported by JSON Schema.",n),e.pattern=t.requirement.source;break}case"title":{e.title=t.title;break}case"url":{e.format="uri";break}case"uuid":{e.format="uuid";break}case"value":{e.const=t.requirement;break}default:nt(`The "${t.type}" action cannot be converted to JSON Schema.`,n)}return e}var wb=0;function ht(e,t,n,r){const i=r.referenceMap.get(t);if(i&&i in r.definitions)return e.$ref=`#/$defs/${i}`,e;if("pipe"in t){for(let o=0;o0&&nt('A "pipe" with multiple schemas cannot be converted to JSON Schema.',n);const s=ht({},a,n,r);if(s.$ref){const l=s.$ref.split("/")[2];Object.assign(e,r.definitions[l])}else Object.assign(e,s)}else e=xb(e,a,n)}return e}switch(t.type){case"boolean":{e.type="boolean";break}case"null":{e.type="null";break}case"number":{e.type="number";break}case"string":{e.type="string";break}case"array":{e.type="array",e.items=ht({},t.item,n,r);break}case"tuple":case"tuple_with_rest":case"loose_tuple":case"strict_tuple":{e.type="array",e.items=[];for(const o of t.items)e.items.push(ht({},o,n,r));t.type==="tuple_with_rest"?e.additionalItems=ht({},t.rest,n,r):e.additionalItems=t.type==="loose_tuple";break}case"object":case"object_with_rest":case"loose_object":case"strict_object":{e.type="object",e.properties={},e.required=[];for(const o in t.entries){const a=t.entries[o];e.properties[o]=ht({},a,n,r),a.type!=="nullish"&&a.type!=="optional"&&e.required.push(o)}t.type==="object_with_rest"?e.additionalProperties=ht({},t.rest,n,r):t.type==="strict_object"&&(e.additionalProperties=!1);break}case"record":{"pipe"in t.key&&nt('The "record" schema with a schema for the key that contains a "pipe" cannot be converted to JSON Schema.',n),t.key.type!=="string"&&nt(`The "record" schema with the "${t.key.type}" schema for the key cannot be converted to JSON Schema.`,n),e.type="object",e.additionalProperties=ht({},t.value,n,r);break}case"any":case"unknown":break;case"nullable":case"nullish":{e.anyOf=[ht({},t.wrapped,n,r),{type:"null"}],t.default!==void 0&&(e.default=io(t));break}case"exact_optional":case"optional":case"undefinedable":{e=ht(e,t.wrapped,n,r),t.default!==void 0&&(e.default=io(t));break}case"literal":{typeof t.literal!="boolean"&&typeof t.literal!="number"&&typeof t.literal!="string"&&nt('The value of the "literal" schema is not JSON compatible.',n),e.const=t.literal;break}case"enum":{e.enum=t.options;break}case"picklist":{t.options.some(o=>typeof o!="number"&&typeof o!="string")&&nt('An option of the "picklist" schema is not JSON compatible.',n),e.enum=t.options;break}case"union":case"variant":{e.anyOf=t.options.map(o=>ht({},o,n,r));break}case"intersect":{e.allOf=t.options.map(o=>ht({},o,n,r));break}case"lazy":{let o=r.getterMap.get(t.getter);o||(o=t.getter(void 0),r.getterMap.set(t.getter,o));let a=r.referenceMap.get(o);a||(a=`${wb++}`,r.referenceMap.set(o,a),r.definitions[a]=ht({},o,n,r)),e.$ref=`#/$defs/${a}`;break}default:nt(`The "${t.type}" schema cannot be converted to JSON Schema.`,n)}return e}function ft(e,t){const n={definitions:{},referenceMap:new Map,getterMap:new Map},r=ht({$schema:"http://json-schema.org/draft-07/schema#"},e,t,n);return n.referenceMap.size&&(r.$defs=n.definitions),r}const kb={flex:"~ col","gap-2":""},Tb=["onClick"],Eb={flex:"~ row 1","items-center":"","gap-1.5":""},Ab={"p-4":""},_b={class:"space-y-4"},Mb={key:0},Ib={class:"flex items-center justify-between"},Sb={class:"flex items-center gap-1 text-sm font-medium"},Cb={key:0,class:"text-red-500"},Rb={key:0,class:"text-xs text-zinc-500 dark:text-zinc-400"},Ob=["onClick"],Pb={class:"mt-2 space-y-2"},Lb=["onUpdate:modelValue","onInput"],Nb=["onUpdate:modelValue","onInput"],Db=["onClick"],Bb={key:1,class:"flex items-center justify-between"},Fb={class:"flex items-center gap-1 text-sm font-medium"},zb={key:0,class:"text-red-500"},Ub={key:0,class:"text-xs text-zinc-400 dark:text-zinc-600"},$b=["type","value","placeholder","onInput"],jb=we({__name:"ModelProviderSettings",setup(e){const t=Me(()=>[{id:"openrouter-ai",name:"OpenRouter",icon:"i-lobe-icons:openrouter",fields:ft(lt({apiKey:Fe(Pe(),Ne("API Key"),Le("API Key for OpenRouter")),baseUrl:et(Fe(Pe(),Ne("Base URL"),Le("Custom base URL (optional)")),"https://openrouter.ai/api/v1/")}))},{id:"openai",name:"OpenAI",icon:"i-lobe-icons:openai",fields:ft(lt({apiKey:Fe(Pe(),Ne("API Key"),Le("API Key for OpenAI services")),baseUrl:et(Fe(Pe(),Ne("Base URL"),Le("Custom base URL (optional)")),"https://api.openai.com/v1/")}))},{id:"ollama-ai",name:"Ollama",icon:"i-lobe-icons:ollama",fields:ft(lt({baseUrl:et(Fe(Pe(),Ne("Host"),Le("Host of the Ollama instance (optional)"))),extraHeaders:et(Fe(oo(Pe(),Pe()),Ne("Headers"),Le("Custom Headers for Ollama instance (optional)")))}))},{id:"vllm",name:"vLLM",icon:"i-lobe-icons:vllm-color",fields:ft(lt({baseUrl:et(Fe(Pe(),Ne("Host"),Le("Host of the vLLM instance (optional)"))),apiKey:et(Fe(Pe(),Ne("API Key"),Le("API Key for vLLM"))),extraHeaders:et(Fe(oo(Pe(),Pe()),Ne("Headers"),Le("Custom Headers for vLLM instance (optional)")))}))},{id:"elevenlabs",name:"ElevenLabs",icon:"i-simple-icons:elevenlabs",fields:ft(lt({apiKey:Fe(Pe(),Ne("API Key"),Le("API Key for ElevenLabs")),baseUrl:et(Fe(Pe(),Ne("Base URL"),Le("Custom base URL (optional)")))}))},{id:"xai",name:"xAI",icon:"i-lobe-icons:xai",fields:ft(lt({apiKey:Fe(Pe(),Ne("API Key"),Le("API Key for xAI")),baseUrl:et(Fe(Pe(),Ne("Base URL"),Le("Custom base URL (optional)")),"https://api.x.ai/v1/")}))},{id:"deepseek",name:"DeepSeek",icon:"i-lobe-icons:deepseek-color",fields:ft(lt({apiKey:Fe(Pe(),Ne("API Key"),Le("API Key for DeepSeek")),baseUrl:et(Fe(Pe(),Ne("Base URL"),Le("Custom base URL (optional)")),"https://api.deepseek.com/")}))},{id:"together-ai",name:"Together.ai",icon:"i-lobe-icons:together-color",fields:ft(lt({apiKey:Fe(Pe(),Ne("API Key"),Le("API Key for Together.ai")),baseUrl:et(Fe(Pe(),Ne("Base URL"),Le("Custom base URL (optional)")),"https://api.together.xyz/v1/")}))},{id:"novita-ai",name:"Novita",icon:"i-lobe-icons:novita-color",fields:ft(lt({apiKey:Fe(Pe(),Ne("API Key"),Le("API Key for Novita")),baseUrl:et(Fe(Pe(),Ne("Base URL"),Le("Custom base URL (optional)")),"https://api.novita.ai/v3/openai/")}))},{id:"fireworks-ai",name:"Fireworks.ai",icon:"i-lobe-icons:fireworks",fields:ft(lt({apiKey:Fe(Pe(),Ne("API Key"),Le("API Key for Fireworks.ai")),baseUrl:et(Fe(Pe(),Ne("Base URL"),Le("Custom base URL (optional)")),"https://api.fireworks.ai/inference/v1/")}))},{id:"cloudflare-workers-ai",name:"Cloudflare Workers AI",icon:"i-lobe-icons:cloudflare-color",fields:ft(lt({apiKey:Fe(Pe(),Ne("API Key"),Le("API Key")),accountId:Fe(Pe(),Ne("Account ID"),Le("Cloudflare Account ID"))}))},{id:"mistral-ai",name:"Mistral",icon:"i-lobe-icons:mistral-color",fields:ft(lt({apiKey:Fe(Pe(),Ne("API Key"),Le("API Key for OpenRouter")),baseUrl:et(Fe(Pe(),Ne("Base URL"),Le("Custom base URL (optional)")),"https://api.mistral.ai/v1/")}))},{id:"moonshot-ai",name:"Moonshot AI",icon:"i-lobe-icons:moonshot",fields:ft(lt({apiKey:Fe(Pe(),Ne("API Key"),Le("API Key for OpenRouter")),baseUrl:et(Fe(Pe(),Ne("Base URL"),Le("Custom base URL (optional)")),"https://api.moonshot.cn/v1/")}))}]),{providers:n}=$t(eu());function r(u,c){var d;return((d=n.value[u])==null?void 0:d[c])||""}function i(u,c,d){n.value[u]||(n.value[u]={}),n.value[u][c]=d}function o(u,c){var f;const d=(f=n.value[u])==null?void 0:f[c];if(!d)return[["",""]];try{return Object.entries(d)}catch{return[["",""]]}}function a(u,c,d){var h;const f=d.filter(([w,x])=>w||x);if(f.length===0){(h=n.value[u])==null||delete h[c];return}const p=Object.fromEntries(f);i(u,c,p)}function s(u){u.push(["",""])}function l(u,c){u.splice(c,1)}return(u,c)=>(X(),ee("div",kb,[(X(!0),ee(sn,null,wn(t.value,d=>(X(),ee("div",{key:d.id},[he(D(Ui),{"w-full":""},{trigger:xe(f=>[L("button",{bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","w-full":"",flex:"","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":"","outline-none":"",class:"[&_.provider-icon]:grayscale-100 [&_.provider-icon]:hover:grayscale-0",onClick:p=>f.setVisible(!f.visible)},[L("div",Eb,[L("div",{class:Bt([d.icon,"provider-icon size-6"]),transition:"filter duration-250 ease-in-out"},null,2),L("div",null,ue(d.name),1)]),L("div",{transform:"",transition:"transform duration-250",class:Bt({"rotate-180":f.visible})},c[0]||(c[0]=[L("div",{"i-solar:alt-arrow-down-bold-duotone":""},null,-1)]),2)],8,Tb)]),default:xe(()=>[L("div",Ab,[L("div",_b,[(X(!0),ee(sn,null,wn(d.fields.properties,(f,p)=>{var h,w;return X(),ee("div",{key:p,class:"space-y-1"},[typeof f!="boolean"&&typeof p!="number"&&f.type==="object"&&f.additionalProperties?(X(),ee("div",Mb,[L("div",Ib,[L("div",null,[L("div",Sb,[Ni(ue(f.title||p)+" ",1),(h=d.fields.required)!=null&&h.includes(p)?(X(),ee("span",Cb,"*")):Ke("",!0)]),f.description?(X(),ee("div",Rb,ue(f.description),1)):Ke("",!0)]),L("button",{class:"text-sm",onClick:x=>s(o(d.id,p))},c[1]||(c[1]=[L("div",{"i-solar:add-circle-line-duotone":""},null,-1)]),8,Ob)]),L("div",Pb,[(X(!0),ee(sn,null,wn(o(d.id,p),(x,b)=>(X(),ee("div",{key:b,class:"flex items-center gap-2"},[kt(L("input",{"onUpdate:modelValue":E=>o(d.id,p)[b][0]=E,type:"text",border:"zinc-300 dark:zinc-800 solid 1 focus:zinc-400 dark:focus:zinc-600",transition:"border duration-250 ease-in-out","flex-1":"",rounded:"","px-2":"","py-1":"","text-sm":"","outline-none":"",placeholder:"Key",onInput:E=>a(d.id,p,o(d.id,p))},null,40,Lb),[[qo,o(d.id,p)[b][0]]]),kt(L("input",{"onUpdate:modelValue":E=>o(d.id,p)[b][1]=E,type:"text",border:"zinc-300 dark:zinc-800 solid 1 focus:zinc-400 dark:focus:zinc-600",transition:"border duration-250 ease-in-out","flex-1":"",rounded:"","px-2":"","py-1":"","text-sm":"","outline-none":"",placeholder:"Value",onInput:E=>a(d.id,p,o(d.id,p))},null,40,Nb),[[qo,o(d.id,p)[b][1]]]),L("button",{class:"text-red-500 hover:text-red-600",onClick:E=>l(o(d.id,p),b)},c[2]||(c[2]=[L("div",{"i-solar:trash-bin-trash-bold-duotone":""},null,-1)]),8,Db)]))),128))])])):Ke("",!0),typeof f!="boolean"&&typeof p!="number"&&f.type==="string"?(X(),ee("div",Bb,[L("div",null,[L("div",Fb,[Ni(ue(f.title)+" ",1),(w=d.fields.required)!=null&&w.includes(p)?(X(),ee("span",zb,"*")):Ke("",!0)]),f.description?(X(),ee("div",Ub,ue(f.description),1)):Ke("",!0)]),L("input",{type:p.toLowerCase().includes("key")?"password":"text",value:r(d.id,p),rounded:"",border:"zinc-300 dark:zinc-800 solid 1 focus:zinc-400 dark:focus:zinc-600",transition:"border duration-250 ease-in-out","px-2":"","py-1":"","text-sm":"","outline-none":"",placeholder:f.default&&String(f.default)||`Enter ${f.title||p}`,onInput:x=>i(d.id,p,x.target.value)},null,40,$b)])):Ke("",!0)])}),128))])])]),_:2},1024)]))),128))]))}}),Vb={text:"zinc-500 dark:zinc-400",class:"relative"},Hb={key:"main"},Gb={text:"zinc-800/80 dark:zinc-200/80 xl","mb-4":"","font-bold":""},Kb={class:"space-y-2"},qb={text:"sm"},Wb={grid:"~ cols-[150px_1fr]",bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":""},Yb={text:"sm"},Xb={flex:"~ row","w-full":"","justify-end":""},Qb={value:"en-US"},Zb={value:"zh-CN"},Jb={bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","w-full":"",flex:"","cursor-pointer":"","rounded-lg":"","px-4":"","py-3":""},e1=["checked","aria-checked"],t1={flex:"~ row","w-full":"","items-center":"","gap-1.5":""},n1={text:"sm","w-full":"","flex-1":""},r1={"select-none":""},i1={key:0,"i-solar:moon-stars-bold-duotone":"",transition:"all ease-in-out duration-250"},o1={key:1,"i-solar:sun-fog-bold-duotone":"",transition:"all ease-in-out duration-250"},a1={key:"providers"},s1={"mb-4":"",flex:"","items-center":"","gap-2":""},l1={text:"zinc-800/80 dark:zinc-200/80 xl","font-bold":""},u1=we({__name:"MobileSettings",setup(e){const{t}=Hn(),n=$t(Lr()),r=ks({disableTransition:!1}),i=j("main"),o=j("forward");function a(u){const c=u.target;n.language.value=c.value}function s(){o.value="forward",i.value="providers"}function l(){o.value="backward",i.value="main"}return(u,c)=>(X(),ee("div",Vb,[he(wr,{name:o.value==="forward"?"slide-forward":"slide-backward"},{default:xe(()=>[i.value==="main"?(X(),ee("div",Hb,[L("h2",Gb,ue(D(t)("settings.title")),1),L("div",null,[L("div",Kb,[L("div",{grid:"~ cols-[150px_1fr]",bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","cursor-pointer":"","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":"",onClick:s},[L("div",qb,[L("span",null,ue(D(t)("settings.model-provider.title")),1)]),c[1]||(c[1]=L("div",{flex:"~ row","w-full":"","justify-end":"",text:"sm"},[L("div",{"i-solar:alt-arrow-right-bold-duotone":""})],-1))]),L("div",Wb,[L("div",Yb,[L("span",null,ue(D(t)("settings.language.title")),1)]),L("div",Xb,[L("select",{class:"w-32",bg:"transparent",text:"sm right zinc-800 dark:zinc-100",transition:"all ease-in-out duration-250",outline:"none",onChange:a},[L("option",Qb,ue(D(t)("settings.language.english")),1),L("option",Zb,ue(D(t)("settings.language.chinese")),1)],32)])]),L("label",Jb,[kt(L("input",{"onUpdate:modelValue":c[0]||(c[0]=d=>Ps(r)?r.value=d:null),text:"zinc-800 dark:zinc-100",checked:D(r),"aria-checked":D(r),type:"checkbox",hidden:"","appearance-none":"","outline-none":""},null,8,e1),[[Rr,D(r)]]),L("div",t1,[L("div",n1,[L("span",null,ue(D(t)("settings.theme")),1)]),L("div",r1,[he(wr,{name:"slide-away",mode:"out-in"},{default:xe(()=>[D(r)?(X(),ee("div",i1)):(X(),ee("div",o1))]),_:1})])])])])])])):i.value==="providers"?(X(),ee("div",a1,[L("div",s1,[L("button",{text:"zinc-800/80 dark:zinc-200/80",onClick:l},c[2]||(c[2]=[L("div",{"i-solar:alt-arrow-left-bold-duotone":""},null,-1)])),L("h2",l1,ue(D(t)("settings.model-provider.title")),1)]),he(jb)])):Ke("",!0)]),_:1},8,["name"])]))}}),yu=Dr(u1,[["__scopeId","data-v-20bd21e8"]]),c1={flex:"~","gap-2":""},d1={flex:"~ 1 col gap-2","of-y-scroll":"","rounded-t-lg":"","p-5":""},f1=we({__name:"DesktopSettings",setup(e){const t=j(!1);return(n,r)=>(X(),ee("div",c1,[he(D(hu),{open:t.value,"onUpdate:open":r[0]||(r[0]=i=>t.value=i),"should-scale-background":"",direction:"right"},{default:xe(()=>[he(D(ru),{bg:"zinc-100 dark:zinc-800",text:"lg zinc-500 dark:zinc-400","max-h":"[10lh]","min-h":"[1lh]","m-1":"","rounded-lg":"","p-2":"","outline-none":""},{default:xe(()=>r[1]||(r[1]=[L("div",{"i-solar:settings-minimalistic-bold-duotone":""},null,-1)])),_:1}),he(D(cu),null,{default:xe(()=>[he(D(mu),{fixed:"","inset-0":"","z-50":"","bg-black:40":""}),he(D(gu),{class:"max-w-40% min-w-500px w-full",flex:"~ col",bg:"white dark:zinc-900",fixed:"","inset-y-4":"","right-4":"","z-50":"","of-hidden":"","rounded-lg":"","outline-none":""},{default:xe(()=>[L("div",d1,[he(yu)])]),_:1})]),_:1})]),_:1},8,["open"])]))}}),p1={"mb-1":"","w-full":"","gap-2":""},Sx=we({__name:"Header",setup(e){return(t,n)=>(X(),ee("header",p1,[n[0]||(n[0]=L("a",{href:"https://github.com/moeru-ai/airi",rel:"noreferrer noopener",target:"_blank",flex:"~ 1","w-full":"","items-center":"","gap-2":"","px-2":"","text-nowrap":"","text-2xl":"","outline-none":""},[L("div",{"i-solar:cat-outline":"",text:"[#ed869d]"}),L("div",{"font-cute":""},[L("span",null,"アイリ")])],-1)),he(f1)]))}});function vu(e,t){const n=mo(t??{},{...Wo.getDefaultRealTimeVADOptions("v5"),preSpeechPadFrames:30,positiveSpeechThreshold:.5,negativeSpeechThreshold:.35,minSpeechFrames:30,auto:!0}),r=j(),i=ed("microphone");async function o(){if(r.value&&(r.value.destroy(),r.value=void 0,console.warn("existing MicVAD destroyed")),!i.value)return;const a=D(e);if(!a)return;const s=await navigator.mediaDevices.getUserMedia({audio:{deviceId:a}});r.value=await Wo.MicVAD.new({...n,stream:s}),n.auto&&r.value.start()}return Se(i,o,{immediate:!0}),Se(Di(e),o,{immediate:!0}),td(o),yt(()=>{r.value&&(r.value.destroy(),r.value=void 0)}),{destroy:()=>{r.value&&(r.value.destroy(),r.value=void 0)},start:()=>{r.value&&r.value.start()}}}function h1(e,t){const n=mo(t,{onLoading:()=>{},onInitiate:()=>{},onProgress:()=>{},onDone:()=>{},onReady:()=>{},onStart:()=>{},onUpdate:()=>{},onComplete:()=>{}}),{post:r,data:i,terminate:o}=nd(e,{type:"module"}),a=j(null),s=j(""),l=j([]),u=j(!1),c=j(0),d=j("");return Se(i,f=>{var p,h,w,x,b,E,T,M;switch(f.status){case"loading":a.value="loading",s.value=f.data,(p=n.onLoading)==null||p.call(n,f.data);break;case"initiate":l.value.push(f),(h=n.onInitiate)==null||h.call(n,f);break;case"progress":l.value=l.value.map(O=>O.file===f.file?{...O,...f}:O),(w=n.onProgress)==null||w.call(n,f);break;case"done":l.value=l.value.filter(O=>O.file!==f.file),(x=n.onDone)==null||x.call(n,f);break;case"ready":a.value="ready",(b=n.onReady)==null||b.call(n);break;case"start":u.value=!0,(E=n.onStart)==null||E.call(n);break;case"update":c.value=f.tps,(T=n.onUpdate)==null||T.call(n,f.tps);break;case"complete":u.value=!1,d.value=f.output[0]||"",console.debug("Whisper result:",d.value),(M=n.onComplete)==null||M.call(n,f.output[0]);break}}),yt(()=>{o()}),{transcribe:f=>r(f),status:a,loadingMessage:s,loadingProgress:l,transcribing:u,tps:c,result:d,load:()=>r({type:"load"}),terminate:o}}const m1="/assets/worker-CL_jKwe6.js";async function g1(e,t){const n=new ArrayBuffer(44+e.length*2),r=new DataView(n);gr(r,0,"RIFF"),r.setUint32(4,36+e.length*2,!0),gr(r,8,"WAVE"),gr(r,12,"fmt "),r.setUint32(16,16,!0),r.setUint16(20,1,!0),r.setUint16(22,1,!0),r.setUint32(24,t,!0),r.setUint32(28,t*2,!0),r.setUint16(32,2,!0),r.setUint16(34,16,!0),gr(r,36,"data"),r.setUint32(40,e.length*2,!0),y1(r,44,e);const i=new Blob([r],{type:"audio/wav"});return new Promise((o,a)=>{const s=new FileReader;s.onload=()=>{const l=s.result.split(",")[1];o(l)},s.onerror=a,s.readAsDataURL(i)})}function gr(e,t,n){for(let r=0;r{Et().then(()=>{r.update(),i.value=r.height.value})}),s(async()=>{Et().then(()=>{r.update(),i.value=r.height.value})}),(l,u)=>{const c=Hs("auto-animate");return X(),ee("div",v1,[u[1]||(u[1]=L("div",{"flex-1":""},null,-1)),kt((X(),ee("div",{ref_key:"chatHistoryRef",ref:t,"h-full":"","w-full":"",flex:"~ col","overflow-scroll":""},[u[0]||(u[0]=L("div",{"flex-1":""},null,-1)),(X(!0),ee(sn,null,wn(D(n),(d,f)=>(X(),ee("div",{key:f,"mb-2":""},[d.role==="assistant"?(X(),ee("div",b1,[L("div",x1,[L("div",null,[L("span",w1,ue(l.$t("stage.chat.message.character-name.airi")),1)]),d.content?(X(),ee("div",{key:0,class:"markdown-content",text:"base {await u(_)}});async function b(){await u(t.value)}const{destroy:E,start:T}=vu(l,{onSpeechStart:()=>{n.value=!0},onVADMisfire:()=>{n.value=!1},onSpeechEnd:_=>{n.value=!1,O(_)},auto:!1});function M(){w.value!=="loading"&&(h(),T())}async function O(_){await d.resume();const y=await g1(_,d.sampleRate);p({type:"generate",data:{audio:y,language:"en"}})}async function m(_){const y=_.target,v=o.value.find(g=>g.deviceId===y.value);if(!v){a.value=void 0;return}a.value=v}return Se(s,async _=>{_==="false"&&(E(),x())}),c(async()=>{t.value=""}),(_,y)=>(X(),ee("div",C1,[L("fieldset",R1,[L("label",{class:Bt([r.value==="chat"?"bg-pink-100 dark:bg-[#3c2632]":"bg-white dark:bg-[#121212]",r.value==="chat"?"text-pink-500 dark:text-pink-500":""]),flex:"~ row",checked:r.value==="chat","aria-checked":r.value==="chat",border:"solid l-2 t-2 b-2 pink-100 dark:[#3c2632]",bg:"hover:pink-100 dark:hover:[#3c2632]",text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500",transition:"all duration-250 ease-in-out","cursor-pointer":"","items-center":"","gap-1":"","rounded-l-lg":"","px-2":""},[kt(L("input",{"onUpdate:modelValue":y[0]||(y[0]=v=>r.value=v),type:"radio",name:"tab",value:"chat",hidden:""},null,512),[[Yr,r.value]]),y[5]||(y[5]=L("div",{"i-solar:dialog-2-bold-duotone":"",text:"2xl",transform:"translate-y--2"},null,-1)),L("div",P1,[L("span",L1,ue(_.$t("stage.chat.tabs.chat")),1)])],10,O1),L("label",{class:Bt([r.value==="custom"?"bg-pink-100 dark:bg-[#3c2632]":"bg-white dark:bg-[#121212]",r.value==="custom"?"text-pink-500 dark:text-pink-500":""]),flex:"~ row",checked:r.value==="custom","aria-checked":r.value==="custom",border:"solid t-2 b-2 pink-100 dark:[#3c2632]",bg:"hover:pink-100 dark:hover:[#3c2632]",text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500",transition:"all duration-250 ease-in-out","cursor-pointer":"","items-center":"","gap-1":"","px-2":""},[kt(L("input",{"onUpdate:modelValue":y[1]||(y[1]=v=>r.value=v),type:"radio",name:"tab",value:"custom",hidden:""},null,512),[[Yr,r.value]]),y[6]||(y[6]=L("div",{"i-solar:star-fall-2-bold-duotone":"",text:"2xl",transform:"translate-y--2"},null,-1)),L("div",D1,[L("span",null,ue(_.$t("stage.chat.tabs.custom")),1)])],10,N1),L("label",{class:Bt([r.value==="clothes"?"bg-pink-100 dark:bg-[#3c2632]":"bg-white dark:bg-[#121212]",r.value==="clothes"?"text-pink-500 dark:text-pink-500":""]),flex:"~ row",checked:r.value==="clothes","aria-checked":r.value==="clothes",border:"solid r-2 t-2 b-2 pink-100 dark:[#3c2632]",bg:"hover:pink-100 dark:hover:[#3c2632]",text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500",transition:"all duration-250 ease-in-out","cursor-pointer":"","items-center":"","gap-1":"","rounded-r-lg":"","px-2":""},[kt(L("input",{"onUpdate:modelValue":y[2]||(y[2]=v=>r.value=v),type:"radio",name:"tab",value:"clothes",hidden:""},null,512),[[Yr,r.value]]),y[7]||(y[7]=L("div",{"i-solar:magic-stick-3-bold-duotone":"",text:"2xl",transform:"translate-y--2"},null,-1)),L("div",F1,[L("span",null,ue(_.$t("stage.chat.tabs.clothes")),1)])],10,B1)]),L("div",z1,[L("div",U1,[he(S1,{"h-full":"","flex-1":"","p-4":"",w:"full","max-h":"t.value=v),placeholder:D(f)("stage.message"),text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500 placeholder:pink-300 placeholder:hover:pink-500 placeholder:dark:pink-300/50 placeholder:dark:hover:pink-500",bg:"pink-100 dark:pink-400/20","min-h":"[100px]","w-full":"","rounded-t-xl":"","p-4":"","font-medium":"","outline-none":"",transition:"all duration-250 ease-in-out placeholder:all placeholder:duration-250 placeholder:ease-in-out",onSubmit:b},null,8,["modelValue","placeholder"])])])]),L("div",j1,[L("button",{bg:"cyan-100 hover:cyan-200 dark:cyan-800 dark:hover:cyan-700",transition:"all duration-250 ease-in-out",text:"cyan-400","mb-6":"",flex:"","cursor-pointer":"","items-center":"","justify-center":"","gap-2":"","rounded-full":"","px-4":"","py-2":"",onClick:M},[he(wr,{mode:"out-in"},{default:xe(()=>[D(w)===null?(X(),ee("div",V1,ue(_.$t("stage.operations.load-models")),1)):D(w)==="loading"?(X(),ee("div",H1,[y[8]||(y[8]=L("div",{"i-svg-spinners:bouncing-ball":"",class:"text-cyan"},null,-1)),L("span",null,ue(_.$t("stage.operations.load-models-status.loading")),1)])):D(w)==="ready"?(X(),ee("div",G1,[y[9]||(y[9]=L("div",{"i-lucide:check":"",class:"text-cyan"},null,-1)),L("span",null,ue(_.$t("stage.operations.load-models-status.ready")),1)])):Ke("",!0)]),_:1})]),L("div",K1,[he(D(Br),null,{default:xe(()=>[i.value?(X(),ee("fieldset",q1,[(X(!0),ee(sn,null,wn(D(o),(v,g)=>(X(),ee("label",{key:g,class:"[&_div_span]:dark:hover:bg-cyan-300 [&_div_span]:dark:hover:bg-cyan-900"},[L("input",{type:"radio",name:"audioInput",value:v.deviceId,hidden:"",onChange:m},null,40,W1),L("div",Y1,[L("div",X1,[v.deviceId===D(l)?(X(),ee("div",Q1)):Ke("",!0)]),L("span",{"inline-block":"",class:Bt([v.deviceId===D(l)?"cyan-400 dark:text-white":"cyan-400/50 dark:text-white/50"]),transition:"all duration-250 ease-in-out"},ue(v.label),3)])]))),128))])):Ke("",!0)]),_:1}),L("label",Z1,[kt(L("input",{"onUpdate:modelValue":y[4]||(y[4]=v=>i.value=v),type:"checkbox",hidden:""},null,512),[[Rr,i.value]]),y[10]||(y[10]=L("div",{"i-solar:microphone-2-bold-duotone":""},null,-1)),L("div",null,[n.value?(X(),ee("span",ex,"Listening...")):(X(),ee("span",J1,ue(_.$t("settings.microphone")),1))])])])])]))}}),Cx=Dr(tx,[["__scopeId","data-v-893059ff"]]),nx={},rx={"mb-1":"","w-full":"","gap-2":""};function ix(e,t){return X(),ee("header",rx,t[0]||(t[0]=[L("div",{flex:"~ 1","w-full":"","items-center":"","justify-center":"","gap-2":"","px-2":"","text-nowrap":"","text-lg":""},[L("div",{"i-solar:cat-outline":"",text:"[#ed869d]"}),L("div",{"font-cute":""},[L("span",null,"アイリ")])],-1)]))}const Rx=Dr(nx,[["render",ix]]),ox={py:"1",flex:"~ col",rounded:"lg","overflow-hidden":""},ax={key:0,flex:"",mr:"12"},sx={flex:"~ col",border:"4 solid pink-200/50 dark:pink-500/50",shadow:"md pink-200/50 dark:none","min-w-20":"","rounded-lg":"","px-2":"","py-1":"",h:"unset {Et().then(()=>{r.update(),i.value=r.height.value})}),s(async()=>{Et().then(()=>{r.update(),i.value=r.height.value})}),(l,u)=>{const c=Hs("auto-animate");return X(),ee("div",ox,[u[1]||(u[1]=L("div",{"flex-1":""},null,-1)),kt((X(),ee("div",{ref_key:"chatHistoryRef",ref:t,"h-full":"","w-full":"","max-h":"30vh",flex:"~ col","overflow-scroll":""},[u[0]||(u[0]=L("div",{"flex-1":""},null,-1)),(X(!0),ee(sn,null,wn(D(n),(d,f)=>(X(),ee("div",{key:f,"mb-2":""},[d.role==="assistant"?(X(),ee("div",ax,[L("div",sx,[L("div",null,[L("span",lx,ue(l.$t("stage.chat.message.character-name.airi")),1)]),d.content?(X(),ee("div",{key:0,class:"markdown-content",text:"base {i.value=!0},onVADMisfire:()=>{i.value=!1},onSpeechEnd:w=>{i.value=!1,p()},auto:!1});function p(w){alert("Transcription is not implemented yet")}function h(w){n("settingsOpen",w)}return Se(o,async w=>{w==="false"&&d()}),l(async()=>{r.value=""}),Tt(()=>{f()}),(w,x)=>(X(),ee("div",null,[L("div",yx,[he(gx,{absolute:"","left-0":"","top-0":"",transform:"translate-y-[-100%]","w-full":""}),L("div",vx,[he(D(vs),{modelValue:r.value,"onUpdate:modelValue":x[0]||(x[0]=b=>r.value=b),placeholder:D(u)("stage.message"),border:"solid 2 pink-100 dark:pink-400/20",text:"pink-400 hover:pink-600 dark:[#905073] dark:hover:pink-600 placeholder:pink-400 placeholder:hover:pink-600 placeholder:dark:[#905073] placeholder:dark:hover:pink-600",bg:"pink-50 dark:[#3c2632]","max-h":"[10lh]","min-h":"[1lh]","w-full":"","resize-none":"","overflow-y-scroll":"","rounded-l-xl":"","p-2":"","font-medium":"","outline-none":"",transition:"all duration-250 ease-in-out placeholder:all placeholder:duration-250 placeholder:ease-in-out",onSubmit:c},null,8,["modelValue","placeholder"])]),he(D(hu),{"should-scale-background":"","onUpdate:open":h},{default:xe(()=>[he(D(ru),{class:"px-4 py-2.5",border:"solid 2 pink-100 dark:pink-400/20",text:"lg pink-400 hover:pink-600 dark:[#905073] dark:hover:pink-600 placeholder:pink-400 placeholder:hover:pink-600 placeholder:dark:[#905073] placeholder:dark:hover:pink-600",bg:"pink-50 dark:[#3c2632]","max-h":"[10lh]","min-h":"[1lh]","rounded-r-xl":""},{default:xe(()=>x[1]||(x[1]=[L("div",{"i-solar:settings-bold-duotone":""},null,-1)])),_:1}),he(D(cu),null,{default:xe(()=>[he(D(mu),{class:"fixed inset-0 z-50 bg-black/40"}),he(D(gu),{"max-h":"[75%]",fixed:"","bottom-0":"","left-0":"","right-0":"","z-50":"","mt-24":"","h-full":"",flex:"","flex-col":"","rounded-t-lg":"",bg:"[#fffbff] dark:[#1f1a1d]"},{default:xe(()=>[L("div",bx,[he(yu)])]),_:1})]),_:1})]),_:1})])]))}}),Px={};export{Cx as I,Rx as M,Mx as W,Sx as _,Ox as a,Px as b};