lunchboxjs 2.0.2 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,36 +1,36 @@
1
- (function(y,V){typeof exports=="object"&&typeof module<"u"?V(exports,require("three")):typeof define=="function"&&define.amd?define(["exports","three"],V):(y=typeof globalThis<"u"?globalThis:y||self,V(y.LunchboxJS={},y.three))})(this,function(y,V){"use strict";var De;function oe(t){const u=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(u,e,r.get?r:{enumerable:!0,get:()=>t[e]})}}return u.default=t,Object.freeze(u)}const _=oe(V),hu=["WebGLRenderer","Scene","Group","Object3D","Mesh","Sprite","BoxGeometry","BufferGeometry","CircleGeometry","ConeGeometry","CylinderGeometry","DodecahedronGeometry","ExtrudeGeometry","IcosahedronGeometry","InstancedBufferGeometry","LatheGeometry","OctahedronGeometry","PlaneGeometry","PolyhedronGeometry","RingGeometry","ShapeGeometry","SphereGeometry","TetrahedronGeometry","TorusGeometry","TorusKnotGeometry","TubeGeometry","WireframeGeometry","PointsMaterial","ShaderMaterial","ShadowMaterial","SpriteMaterial","MeshToonMaterial","MeshBasicMaterial","MeshDepthMaterial","MeshPhongMaterial","LineBasicMaterial","RawShaderMaterial","MeshMatcapMaterial","MeshNormalMaterial","LineDashedMaterial","MeshLambertMaterial","MeshStandardMaterial","MeshDistanceMaterial","MeshPhysicalMaterial","Light","SpotLight","SpotLightHelper","PointLight","PointLightHelper","AmbientLight","RectAreaLight","HemisphereLight","HemisphereLightHelper","DirectionalLight","DirectionalLightHelper","CubeCamera","ArrayCamera","StereoCamera","PerspectiveCamera","OrthographicCamera","Texture","CubeTexture","DataTexture","DepthTexture","VideoTexture","CanvasTexture","CompressedTexture","CatmullRomCurve3","Points","Raycaster","CameraHelper","Color","TextureLoader"];/**
1
+ (function(y,z){typeof exports=="object"&&typeof module<"u"?z(exports,require("three")):typeof define=="function"&&define.amd?define(["exports","three"],z):(y=typeof globalThis<"u"?globalThis:y||self,z(y.LunchboxJS={},y.three))})(this,function(y,z){"use strict";var ne;function ae(t){const u=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(u,e,r.get?r:{enumerable:!0,get:()=>t[e]})}}return u.default=t,Object.freeze(u)}const _=ae(z),hu=["WebGLRenderer","Scene","Group","Object3D","Mesh","Sprite","BoxGeometry","BufferGeometry","CircleGeometry","ConeGeometry","CylinderGeometry","DodecahedronGeometry","ExtrudeGeometry","IcosahedronGeometry","InstancedBufferGeometry","LatheGeometry","OctahedronGeometry","PlaneGeometry","PolyhedronGeometry","RingGeometry","ShapeGeometry","SphereGeometry","TetrahedronGeometry","TorusGeometry","TorusKnotGeometry","TubeGeometry","WireframeGeometry","PointsMaterial","ShaderMaterial","ShadowMaterial","SpriteMaterial","MeshToonMaterial","MeshBasicMaterial","MeshDepthMaterial","MeshPhongMaterial","LineBasicMaterial","RawShaderMaterial","MeshMatcapMaterial","MeshNormalMaterial","LineDashedMaterial","MeshLambertMaterial","MeshStandardMaterial","MeshDistanceMaterial","MeshPhysicalMaterial","Light","SpotLight","SpotLightHelper","PointLight","PointLightHelper","AmbientLight","RectAreaLight","HemisphereLight","HemisphereLightHelper","DirectionalLight","DirectionalLightHelper","CubeCamera","ArrayCamera","StereoCamera","PerspectiveCamera","OrthographicCamera","Texture","CubeTexture","DataTexture","DepthTexture","VideoTexture","CanvasTexture","CompressedTexture","CatmullRomCurve3","Points","Raycaster","CameraHelper","Color","TextureLoader"];/**
2
2
  * @license
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: BSD-3-Clause
5
- */const tu=globalThis,Au=tu.ShadowRoot&&(tu.ShadyCSS===void 0||tu.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Eu=Symbol(),wu=new WeakMap;let Su=class{constructor(u,e,r){if(this._$cssResult$=!0,r!==Eu)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=u,this.t=e}get styleSheet(){let u=this.o;const e=this.t;if(Au&&u===void 0){const r=e!==void 0&&e.length===1;r&&(u=wu.get(e)),u===void 0&&((this.o=u=new CSSStyleSheet).replaceSync(this.cssText),r&&wu.set(e,u))}return u}toString(){return this.cssText}};const ae=t=>new Su(typeof t=="string"?t:t+"",void 0,Eu),ce=(t,...u)=>{const e=t.length===1?t[0]:u.reduce((r,s,D)=>r+(i=>{if(i._$cssResult$===!0)return i.cssText;if(typeof i=="number")return i;throw Error("Value passed to 'css' function must be a 'css' function result: "+i+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[D+1],t[0]);return new Su(e,t,Eu)},he=(t,u)=>{if(Au)t.adoptedStyleSheets=u.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const e of u){const r=document.createElement("style"),s=tu.litNonce;s!==void 0&&r.setAttribute("nonce",s),r.textContent=e.cssText,t.appendChild(r)}},Pu=Au?t=>t:t=>t instanceof CSSStyleSheet?(u=>{let e="";for(const r of u.cssRules)e+=r.cssText;return ae(e)})(t):t;/**
5
+ */const tu=globalThis,Au=tu.ShadowRoot&&(tu.ShadyCSS===void 0||tu.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Eu=Symbol(),wu=new WeakMap;let Su=class{constructor(u,e,r){if(this._$cssResult$=!0,r!==Eu)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=u,this.t=e}get styleSheet(){let u=this.o;const e=this.t;if(Au&&u===void 0){const r=e!==void 0&&e.length===1;r&&(u=wu.get(e)),u===void 0&&((this.o=u=new CSSStyleSheet).replaceSync(this.cssText),r&&wu.set(e,u))}return u}toString(){return this.cssText}};const ce=t=>new Su(typeof t=="string"?t:t+"",void 0,Eu),he=(t,...u)=>{const e=t.length===1?t[0]:u.reduce((r,s,n)=>r+(i=>{if(i._$cssResult$===!0)return i.cssText;if(typeof i=="number")return i;throw Error("Value passed to 'css' function must be a 'css' function result: "+i+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[n+1],t[0]);return new Su(e,t,Eu)},Ae=(t,u)=>{if(Au)t.adoptedStyleSheets=u.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const e of u){const r=document.createElement("style"),s=tu.litNonce;s!==void 0&&r.setAttribute("nonce",s),r.textContent=e.cssText,t.appendChild(r)}},Pu=Au?t=>t:t=>t instanceof CSSStyleSheet?(u=>{let e="";for(const r of u.cssRules)e+=r.cssText;return ce(e)})(t):t;/**
6
6
  * @license
7
7
  * Copyright 2017 Google LLC
8
8
  * SPDX-License-Identifier: BSD-3-Clause
9
- */const{is:Ae,defineProperty:Ee,getOwnPropertyDescriptor:Ce,getOwnPropertyNames:le,getOwnPropertySymbols:Fe,getPrototypeOf:de}=Object,T=globalThis,Tu=T.trustedTypes,pe=Tu?Tu.emptyScript:"",Cu=T.reactiveElementPolyfillSupport,W=(t,u)=>t,ru={toAttribute(t,u){switch(u){case Boolean:t=t?pe:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,u){let e=t;switch(u){case Boolean:e=t!==null;break;case Number:e=t===null?null:Number(t);break;case Object:case Array:try{e=JSON.parse(t)}catch{e=null}}return e}},lu=(t,u)=>!Ae(t,u),Nu={attribute:!0,type:String,converter:ru,reflect:!1,hasChanged:lu};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),T.litPropertyMetadata??(T.litPropertyMetadata=new WeakMap);class k extends HTMLElement{static addInitializer(u){this._$Ei(),(this.l??(this.l=[])).push(u)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(u,e=Nu){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(u,e),!e.noAccessor){const r=Symbol(),s=this.getPropertyDescriptor(u,r,e);s!==void 0&&Ee(this.prototype,u,s)}}static getPropertyDescriptor(u,e,r){const{get:s,set:D}=Ce(this.prototype,u)??{get(){return this[e]},set(i){this[e]=i}};return{get(){return s==null?void 0:s.call(this)},set(i){const o=s==null?void 0:s.call(this);D.call(this,i),this.requestUpdate(u,o,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(u){return this.elementProperties.get(u)??Nu}static _$Ei(){if(this.hasOwnProperty(W("elementProperties")))return;const u=de(this);u.finalize(),u.l!==void 0&&(this.l=[...u.l]),this.elementProperties=new Map(u.elementProperties)}static finalize(){if(this.hasOwnProperty(W("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(W("properties"))){const e=this.properties,r=[...le(e),...Fe(e)];for(const s of r)this.createProperty(s,e[s])}const u=this[Symbol.metadata];if(u!==null){const e=litPropertyMetadata.get(u);if(e!==void 0)for(const[r,s]of e)this.elementProperties.set(r,s)}this._$Eh=new Map;for(const[e,r]of this.elementProperties){const s=this._$Eu(e,r);s!==void 0&&this._$Eh.set(s,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(u){const e=[];if(Array.isArray(u)){const r=new Set(u.flat(1/0).reverse());for(const s of r)e.unshift(Pu(s))}else u!==void 0&&e.push(Pu(u));return e}static _$Eu(u,e){const r=e.attribute;return r===!1?void 0:typeof r=="string"?r:typeof u=="string"?u.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var u;this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),(u=this.constructor.l)==null||u.forEach(e=>e(this))}addController(u){var e;(this._$EO??(this._$EO=new Set)).add(u),this.renderRoot!==void 0&&this.isConnected&&((e=u.hostConnected)==null||e.call(u))}removeController(u){var e;(e=this._$EO)==null||e.delete(u)}_$E_(){const u=new Map,e=this.constructor.elementProperties;for(const r of e.keys())this.hasOwnProperty(r)&&(u.set(r,this[r]),delete this[r]);u.size>0&&(this._$Ep=u)}createRenderRoot(){const u=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return he(u,this.constructor.elementStyles),u}connectedCallback(){var u;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(u=this._$EO)==null||u.forEach(e=>{var r;return(r=e.hostConnected)==null?void 0:r.call(e)})}enableUpdating(u){}disconnectedCallback(){var u;(u=this._$EO)==null||u.forEach(e=>{var r;return(r=e.hostDisconnected)==null?void 0:r.call(e)})}attributeChangedCallback(u,e,r){this._$AK(u,r)}_$EC(u,e){var D;const r=this.constructor.elementProperties.get(u),s=this.constructor._$Eu(u,r);if(s!==void 0&&r.reflect===!0){const i=(((D=r.converter)==null?void 0:D.toAttribute)!==void 0?r.converter:ru).toAttribute(e,r.type);this._$Em=u,i==null?this.removeAttribute(s):this.setAttribute(s,i),this._$Em=null}}_$AK(u,e){var D;const r=this.constructor,s=r._$Eh.get(u);if(s!==void 0&&this._$Em!==s){const i=r.getPropertyOptions(s),o=typeof i.converter=="function"?{fromAttribute:i.converter}:((D=i.converter)==null?void 0:D.fromAttribute)!==void 0?i.converter:ru;this._$Em=s,this[s]=o.fromAttribute(e,i.type),this._$Em=null}}requestUpdate(u,e,r){if(u!==void 0){if(r??(r=this.constructor.getPropertyOptions(u)),!(r.hasChanged??lu)(this[u],e))return;this.P(u,e,r)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(u,e,r){this._$AL.has(u)||this._$AL.set(u,e),r.reflect===!0&&this._$Em!==u&&(this._$Ej??(this._$Ej=new Set)).add(u)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const u=this.scheduleUpdate();return u!=null&&await u,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[D,i]of this._$Ep)this[D]=i;this._$Ep=void 0}const s=this.constructor.elementProperties;if(s.size>0)for(const[D,i]of s)i.wrapped!==!0||this._$AL.has(D)||this[D]===void 0||this.P(D,this[D],i)}let u=!1;const e=this._$AL;try{u=this.shouldUpdate(e),u?(this.willUpdate(e),(r=this._$EO)==null||r.forEach(s=>{var D;return(D=s.hostUpdate)==null?void 0:D.call(s)}),this.update(e)):this._$EU()}catch(s){throw u=!1,this._$EU(),s}u&&this._$AE(e)}willUpdate(u){}_$AE(u){var e;(e=this._$EO)==null||e.forEach(r=>{var s;return(s=r.hostUpdated)==null?void 0:s.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(u)),this.updated(u)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(u){return!0}update(u){this._$Ej&&(this._$Ej=this._$Ej.forEach(e=>this._$EC(e,this[e]))),this._$EU()}updated(u){}firstUpdated(u){}}k.elementStyles=[],k.shadowRootOptions={mode:"open"},k[W("elementProperties")]=new Map,k[W("finalized")]=new Map,Cu==null||Cu({ReactiveElement:k}),(T.reactiveElementVersions??(T.reactiveElementVersions=[])).push("2.0.4");/**
9
+ */const{is:Ee,defineProperty:Ce,getOwnPropertyDescriptor:le,getOwnPropertyNames:Fe,getOwnPropertySymbols:de,getPrototypeOf:pe}=Object,T=globalThis,Tu=T.trustedTypes,fe=Tu?Tu.emptyScript:"",Cu=T.reactiveElementPolyfillSupport,V=(t,u)=>t,ru={toAttribute(t,u){switch(u){case Boolean:t=t?fe:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,u){let e=t;switch(u){case Boolean:e=t!==null;break;case Number:e=t===null?null:Number(t);break;case Object:case Array:try{e=JSON.parse(t)}catch{e=null}}return e}},lu=(t,u)=>!Ee(t,u),Nu={attribute:!0,type:String,converter:ru,reflect:!1,hasChanged:lu};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),T.litPropertyMetadata??(T.litPropertyMetadata=new WeakMap);class k extends HTMLElement{static addInitializer(u){this._$Ei(),(this.l??(this.l=[])).push(u)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(u,e=Nu){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(u,e),!e.noAccessor){const r=Symbol(),s=this.getPropertyDescriptor(u,r,e);s!==void 0&&Ce(this.prototype,u,s)}}static getPropertyDescriptor(u,e,r){const{get:s,set:n}=le(this.prototype,u)??{get(){return this[e]},set(i){this[e]=i}};return{get(){return s==null?void 0:s.call(this)},set(i){const o=s==null?void 0:s.call(this);n.call(this,i),this.requestUpdate(u,o,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(u){return this.elementProperties.get(u)??Nu}static _$Ei(){if(this.hasOwnProperty(V("elementProperties")))return;const u=pe(this);u.finalize(),u.l!==void 0&&(this.l=[...u.l]),this.elementProperties=new Map(u.elementProperties)}static finalize(){if(this.hasOwnProperty(V("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(V("properties"))){const e=this.properties,r=[...Fe(e),...de(e)];for(const s of r)this.createProperty(s,e[s])}const u=this[Symbol.metadata];if(u!==null){const e=litPropertyMetadata.get(u);if(e!==void 0)for(const[r,s]of e)this.elementProperties.set(r,s)}this._$Eh=new Map;for(const[e,r]of this.elementProperties){const s=this._$Eu(e,r);s!==void 0&&this._$Eh.set(s,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(u){const e=[];if(Array.isArray(u)){const r=new Set(u.flat(1/0).reverse());for(const s of r)e.unshift(Pu(s))}else u!==void 0&&e.push(Pu(u));return e}static _$Eu(u,e){const r=e.attribute;return r===!1?void 0:typeof r=="string"?r:typeof u=="string"?u.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var u;this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),(u=this.constructor.l)==null||u.forEach(e=>e(this))}addController(u){var e;(this._$EO??(this._$EO=new Set)).add(u),this.renderRoot!==void 0&&this.isConnected&&((e=u.hostConnected)==null||e.call(u))}removeController(u){var e;(e=this._$EO)==null||e.delete(u)}_$E_(){const u=new Map,e=this.constructor.elementProperties;for(const r of e.keys())this.hasOwnProperty(r)&&(u.set(r,this[r]),delete this[r]);u.size>0&&(this._$Ep=u)}createRenderRoot(){const u=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Ae(u,this.constructor.elementStyles),u}connectedCallback(){var u;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(u=this._$EO)==null||u.forEach(e=>{var r;return(r=e.hostConnected)==null?void 0:r.call(e)})}enableUpdating(u){}disconnectedCallback(){var u;(u=this._$EO)==null||u.forEach(e=>{var r;return(r=e.hostDisconnected)==null?void 0:r.call(e)})}attributeChangedCallback(u,e,r){this._$AK(u,r)}_$EC(u,e){var n;const r=this.constructor.elementProperties.get(u),s=this.constructor._$Eu(u,r);if(s!==void 0&&r.reflect===!0){const i=(((n=r.converter)==null?void 0:n.toAttribute)!==void 0?r.converter:ru).toAttribute(e,r.type);this._$Em=u,i==null?this.removeAttribute(s):this.setAttribute(s,i),this._$Em=null}}_$AK(u,e){var n;const r=this.constructor,s=r._$Eh.get(u);if(s!==void 0&&this._$Em!==s){const i=r.getPropertyOptions(s),o=typeof i.converter=="function"?{fromAttribute:i.converter}:((n=i.converter)==null?void 0:n.fromAttribute)!==void 0?i.converter:ru;this._$Em=s,this[s]=o.fromAttribute(e,i.type),this._$Em=null}}requestUpdate(u,e,r){if(u!==void 0){if(r??(r=this.constructor.getPropertyOptions(u)),!(r.hasChanged??lu)(this[u],e))return;this.P(u,e,r)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(u,e,r){this._$AL.has(u)||this._$AL.set(u,e),r.reflect===!0&&this._$Em!==u&&(this._$Ej??(this._$Ej=new Set)).add(u)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const u=this.scheduleUpdate();return u!=null&&await u,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[n,i]of this._$Ep)this[n]=i;this._$Ep=void 0}const s=this.constructor.elementProperties;if(s.size>0)for(const[n,i]of s)i.wrapped!==!0||this._$AL.has(n)||this[n]===void 0||this.P(n,this[n],i)}let u=!1;const e=this._$AL;try{u=this.shouldUpdate(e),u?(this.willUpdate(e),(r=this._$EO)==null||r.forEach(s=>{var n;return(n=s.hostUpdate)==null?void 0:n.call(s)}),this.update(e)):this._$EU()}catch(s){throw u=!1,this._$EU(),s}u&&this._$AE(e)}willUpdate(u){}_$AE(u){var e;(e=this._$EO)==null||e.forEach(r=>{var s;return(s=r.hostUpdated)==null?void 0:s.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(u)),this.updated(u)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(u){return!0}update(u){this._$Ej&&(this._$Ej=this._$Ej.forEach(e=>this._$EC(e,this[e]))),this._$EU()}updated(u){}firstUpdated(u){}}k.elementStyles=[],k.shadowRootOptions={mode:"open"},k[V("elementProperties")]=new Map,k[V("finalized")]=new Map,Cu==null||Cu({ReactiveElement:k}),(T.reactiveElementVersions??(T.reactiveElementVersions=[])).push("2.0.4");/**
10
10
  * @license
11
11
  * Copyright 2017 Google LLC
12
12
  * SPDX-License-Identifier: BSD-3-Clause
13
- */const q=globalThis,su=q.trustedTypes,xu=su?su.createPolicy("lit-html",{createHTML:t=>t}):void 0,Mu="$lit$",N=`lit$${Math.random().toFixed(9).slice(2)}$`,Ou="?"+N,fe=`<${Ou}>`,M=document,J=()=>M.createComment(""),K=t=>t===null||typeof t!="object"&&typeof t!="function",Ru=Array.isArray,Be=t=>Ru(t)||typeof(t==null?void 0:t[Symbol.iterator])=="function",Fu=`[
14
- \f\r]`,Z=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Lu=/-->/g,Uu=/>/g,O=RegExp(`>|${Fu}(?:([^\\s"'>=/]+)(${Fu}*=${Fu}*(?:[^
15
- \f\r"'\`<>=]|("|')|))|$)`,"g"),ku=/'/g,Hu=/"/g,Iu=/^(?:script|style|textarea|title)$/i,me=t=>(u,...e)=>({_$litType$:t,strings:u,values:e}),ju=me(1),H=Symbol.for("lit-noChange"),p=Symbol.for("lit-nothing"),Gu=new WeakMap,R=M.createTreeWalker(M,129);function zu(t,u){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return xu!==void 0?xu.createHTML(u):u}const ye=(t,u)=>{const e=t.length-1,r=[];let s,D=u===2?"<svg>":"",i=Z;for(let o=0;o<e;o++){const a=t[o];let E,d,C=-1,m=0;for(;m<a.length&&(i.lastIndex=m,d=i.exec(a),d!==null);)m=i.lastIndex,i===Z?d[1]==="!--"?i=Lu:d[1]!==void 0?i=Uu:d[2]!==void 0?(Iu.test(d[2])&&(s=RegExp("</"+d[2],"g")),i=O):d[3]!==void 0&&(i=O):i===O?d[0]===">"?(i=s??Z,C=-1):d[1]===void 0?C=-2:(C=i.lastIndex-d[2].length,E=d[1],i=d[3]===void 0?O:d[3]==='"'?Hu:ku):i===Hu||i===ku?i=O:i===Lu||i===Uu?i=Z:(i=O,s=void 0);const b=i===O&&t[o+1].startsWith("/>")?" ":"";D+=i===Z?a+fe:C>=0?(r.push(E),a.slice(0,C)+Mu+a.slice(C)+N+b):a+N+(C===-2?o:b)}return[zu(t,D+(t[e]||"<?>")+(u===2?"</svg>":"")),r]};class X{constructor({strings:u,_$litType$:e},r){let s;this.parts=[];let D=0,i=0;const o=u.length-1,a=this.parts,[E,d]=ye(u,e);if(this.el=X.createElement(E,r),R.currentNode=this.el.content,e===2){const C=this.el.content.firstChild;C.replaceWith(...C.childNodes)}for(;(s=R.nextNode())!==null&&a.length<o;){if(s.nodeType===1){if(s.hasAttributes())for(const C of s.getAttributeNames())if(C.endsWith(Mu)){const m=d[i++],b=s.getAttribute(C).split(N),z=/([.?@])?(.*)/.exec(m);a.push({type:1,index:D,name:z[2],strings:b,ctor:z[1]==="."?be:z[1]==="?"?$e:z[1]==="@"?_e:iu}),s.removeAttribute(C)}else C.startsWith(N)&&(a.push({type:6,index:D}),s.removeAttribute(C));if(Iu.test(s.tagName)){const C=s.textContent.split(N),m=C.length-1;if(m>0){s.textContent=su?su.emptyScript:"";for(let b=0;b<m;b++)s.append(C[b],J()),R.nextNode(),a.push({type:2,index:++D});s.append(C[m],J())}}}else if(s.nodeType===8)if(s.data===Ou)a.push({type:2,index:D});else{let C=-1;for(;(C=s.data.indexOf(N,C+1))!==-1;)a.push({type:7,index:D}),C+=N.length-1}D++}}static createElement(u,e){const r=M.createElement("template");return r.innerHTML=u,r}}function I(t,u,e=t,r){var i,o;if(u===H)return u;let s=r!==void 0?(i=e._$Co)==null?void 0:i[r]:e._$Cl;const D=K(u)?void 0:u._$litDirective$;return(s==null?void 0:s.constructor)!==D&&((o=s==null?void 0:s._$AO)==null||o.call(s,!1),D===void 0?s=void 0:(s=new D(t),s._$AT(t,e,r)),r!==void 0?(e._$Co??(e._$Co=[]))[r]=s:e._$Cl=s),s!==void 0&&(u=I(t,s._$AS(t,u.values),s,r)),u}class ge{constructor(u,e){this._$AV=[],this._$AN=void 0,this._$AD=u,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(u){const{el:{content:e},parts:r}=this._$AD,s=((u==null?void 0:u.creationScope)??M).importNode(e,!0);R.currentNode=s;let D=R.nextNode(),i=0,o=0,a=r[0];for(;a!==void 0;){if(i===a.index){let E;a.type===2?E=new Y(D,D.nextSibling,this,u):a.type===1?E=new a.ctor(D,a.name,a.strings,this,u):a.type===6&&(E=new ve(D,this,u)),this._$AV.push(E),a=r[++o]}i!==(a==null?void 0:a.index)&&(D=R.nextNode(),i++)}return R.currentNode=M,s}p(u){let e=0;for(const r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(u,r,e),e+=r.strings.length-2):r._$AI(u[e])),e++}}class Y{get _$AU(){var u;return((u=this._$AM)==null?void 0:u._$AU)??this._$Cv}constructor(u,e,r,s){this.type=2,this._$AH=p,this._$AN=void 0,this._$AA=u,this._$AB=e,this._$AM=r,this.options=s,this._$Cv=(s==null?void 0:s.isConnected)??!0}get parentNode(){let u=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&(u==null?void 0:u.nodeType)===11&&(u=e.parentNode),u}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(u,e=this){u=I(this,u,e),K(u)?u===p||u==null||u===""?(this._$AH!==p&&this._$AR(),this._$AH=p):u!==this._$AH&&u!==H&&this._(u):u._$litType$!==void 0?this.$(u):u.nodeType!==void 0?this.T(u):Be(u)?this.k(u):this._(u)}S(u){return this._$AA.parentNode.insertBefore(u,this._$AB)}T(u){this._$AH!==u&&(this._$AR(),this._$AH=this.S(u))}_(u){this._$AH!==p&&K(this._$AH)?this._$AA.nextSibling.data=u:this.T(M.createTextNode(u)),this._$AH=u}$(u){var D;const{values:e,_$litType$:r}=u,s=typeof r=="number"?this._$AC(u):(r.el===void 0&&(r.el=X.createElement(zu(r.h,r.h[0]),this.options)),r);if(((D=this._$AH)==null?void 0:D._$AD)===s)this._$AH.p(e);else{const i=new ge(s,this),o=i.u(this.options);i.p(e),this.T(o),this._$AH=i}}_$AC(u){let e=Gu.get(u.strings);return e===void 0&&Gu.set(u.strings,e=new X(u)),e}k(u){Ru(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,s=0;for(const D of u)s===e.length?e.push(r=new Y(this.S(J()),this.S(J()),this,this.options)):r=e[s],r._$AI(D),s++;s<e.length&&(this._$AR(r&&r._$AB.nextSibling,s),e.length=s)}_$AR(u=this._$AA.nextSibling,e){var r;for((r=this._$AP)==null?void 0:r.call(this,!1,!0,e);u&&u!==this._$AB;){const s=u.nextSibling;u.remove(),u=s}}setConnected(u){var e;this._$AM===void 0&&(this._$Cv=u,(e=this._$AP)==null||e.call(this,u))}}class iu{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(u,e,r,s,D){this.type=1,this._$AH=p,this._$AN=void 0,this.element=u,this.name=e,this._$AM=s,this.options=D,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=p}_$AI(u,e=this,r,s){const D=this.strings;let i=!1;if(D===void 0)u=I(this,u,e,0),i=!K(u)||u!==this._$AH&&u!==H,i&&(this._$AH=u);else{const o=u;let a,E;for(u=D[0],a=0;a<D.length-1;a++)E=I(this,o[r+a],e,a),E===H&&(E=this._$AH[a]),i||(i=!K(E)||E!==this._$AH[a]),E===p?u=p:u!==p&&(u+=(E??"")+D[a+1]),this._$AH[a]=E}i&&!s&&this.j(u)}j(u){u===p?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,u??"")}}class be extends iu{constructor(){super(...arguments),this.type=3}j(u){this.element[this.name]=u===p?void 0:u}}class $e extends iu{constructor(){super(...arguments),this.type=4}j(u){this.element.toggleAttribute(this.name,!!u&&u!==p)}}class _e extends iu{constructor(u,e,r,s,D){super(u,e,r,s,D),this.type=5}_$AI(u,e=this){if((u=I(this,u,e,0)??p)===H)return;const r=this._$AH,s=u===p&&r!==p||u.capture!==r.capture||u.once!==r.once||u.passive!==r.passive,D=u!==p&&(r===p||s);s&&this.element.removeEventListener(this.name,this,r),D&&this.element.addEventListener(this.name,this,u),this._$AH=u}handleEvent(u){var e;typeof this._$AH=="function"?this._$AH.call(((e=this.options)==null?void 0:e.host)??this.element,u):this._$AH.handleEvent(u)}}class ve{constructor(u,e,r){this.element=u,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(u){I(this,u)}}const du=q.litHtmlPolyfillSupport;du==null||du(X,Y),(q.litHtmlVersions??(q.litHtmlVersions=[])).push("3.1.3");const we=(t,u,e)=>{const r=(e==null?void 0:e.renderBefore)??u;let s=r._$litPart$;if(s===void 0){const D=(e==null?void 0:e.renderBefore)??null;r._$litPart$=s=new Y(u.insertBefore(J(),D),D,void 0,e??{})}return s._$AI(t),s};/**
13
+ */const W=globalThis,su=W.trustedTypes,xu=su?su.createPolicy("lit-html",{createHTML:t=>t}):void 0,Mu="$lit$",N=`lit$${Math.random().toFixed(9).slice(2)}$`,Ou="?"+N,Be=`<${Ou}>`,M=document,q=()=>M.createComment(""),J=t=>t===null||typeof t!="object"&&typeof t!="function",Ru=Array.isArray,me=t=>Ru(t)||typeof(t==null?void 0:t[Symbol.iterator])=="function",Fu=`[
14
+ \f\r]`,K=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Lu=/-->/g,Uu=/>/g,O=RegExp(`>|${Fu}(?:([^\\s"'>=/]+)(${Fu}*=${Fu}*(?:[^
15
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),ku=/'/g,Hu=/"/g,Iu=/^(?:script|style|textarea|title)$/i,ye=t=>(u,...e)=>({_$litType$:t,strings:u,values:e}),ju=ye(1),H=Symbol.for("lit-noChange"),p=Symbol.for("lit-nothing"),Gu=new WeakMap,R=M.createTreeWalker(M,129);function zu(t,u){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return xu!==void 0?xu.createHTML(u):u}const ge=(t,u)=>{const e=t.length-1,r=[];let s,n=u===2?"<svg>":"",i=K;for(let o=0;o<e;o++){const a=t[o];let E,d,C=-1,m=0;for(;m<a.length&&(i.lastIndex=m,d=i.exec(a),d!==null);)m=i.lastIndex,i===K?d[1]==="!--"?i=Lu:d[1]!==void 0?i=Uu:d[2]!==void 0?(Iu.test(d[2])&&(s=RegExp("</"+d[2],"g")),i=O):d[3]!==void 0&&(i=O):i===O?d[0]===">"?(i=s??K,C=-1):d[1]===void 0?C=-2:(C=i.lastIndex-d[2].length,E=d[1],i=d[3]===void 0?O:d[3]==='"'?Hu:ku):i===Hu||i===ku?i=O:i===Lu||i===Uu?i=K:(i=O,s=void 0);const b=i===O&&t[o+1].startsWith("/>")?" ":"";n+=i===K?a+Be:C>=0?(r.push(E),a.slice(0,C)+Mu+a.slice(C)+N+b):a+N+(C===-2?o:b)}return[zu(t,n+(t[e]||"<?>")+(u===2?"</svg>":"")),r]};class Z{constructor({strings:u,_$litType$:e},r){let s;this.parts=[];let n=0,i=0;const o=u.length-1,a=this.parts,[E,d]=ge(u,e);if(this.el=Z.createElement(E,r),R.currentNode=this.el.content,e===2){const C=this.el.content.firstChild;C.replaceWith(...C.childNodes)}for(;(s=R.nextNode())!==null&&a.length<o;){if(s.nodeType===1){if(s.hasAttributes())for(const C of s.getAttributeNames())if(C.endsWith(Mu)){const m=d[i++],b=s.getAttribute(C).split(N),G=/([.?@])?(.*)/.exec(m);a.push({type:1,index:n,name:G[2],strings:b,ctor:G[1]==="."?$e:G[1]==="?"?_e:G[1]==="@"?ve:iu}),s.removeAttribute(C)}else C.startsWith(N)&&(a.push({type:6,index:n}),s.removeAttribute(C));if(Iu.test(s.tagName)){const C=s.textContent.split(N),m=C.length-1;if(m>0){s.textContent=su?su.emptyScript:"";for(let b=0;b<m;b++)s.append(C[b],q()),R.nextNode(),a.push({type:2,index:++n});s.append(C[m],q())}}}else if(s.nodeType===8)if(s.data===Ou)a.push({type:2,index:n});else{let C=-1;for(;(C=s.data.indexOf(N,C+1))!==-1;)a.push({type:7,index:n}),C+=N.length-1}n++}}static createElement(u,e){const r=M.createElement("template");return r.innerHTML=u,r}}function I(t,u,e=t,r){var i,o;if(u===H)return u;let s=r!==void 0?(i=e._$Co)==null?void 0:i[r]:e._$Cl;const n=J(u)?void 0:u._$litDirective$;return(s==null?void 0:s.constructor)!==n&&((o=s==null?void 0:s._$AO)==null||o.call(s,!1),n===void 0?s=void 0:(s=new n(t),s._$AT(t,e,r)),r!==void 0?(e._$Co??(e._$Co=[]))[r]=s:e._$Cl=s),s!==void 0&&(u=I(t,s._$AS(t,u.values),s,r)),u}class be{constructor(u,e){this._$AV=[],this._$AN=void 0,this._$AD=u,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(u){const{el:{content:e},parts:r}=this._$AD,s=((u==null?void 0:u.creationScope)??M).importNode(e,!0);R.currentNode=s;let n=R.nextNode(),i=0,o=0,a=r[0];for(;a!==void 0;){if(i===a.index){let E;a.type===2?E=new X(n,n.nextSibling,this,u):a.type===1?E=new a.ctor(n,a.name,a.strings,this,u):a.type===6&&(E=new we(n,this,u)),this._$AV.push(E),a=r[++o]}i!==(a==null?void 0:a.index)&&(n=R.nextNode(),i++)}return R.currentNode=M,s}p(u){let e=0;for(const r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(u,r,e),e+=r.strings.length-2):r._$AI(u[e])),e++}}class X{get _$AU(){var u;return((u=this._$AM)==null?void 0:u._$AU)??this._$Cv}constructor(u,e,r,s){this.type=2,this._$AH=p,this._$AN=void 0,this._$AA=u,this._$AB=e,this._$AM=r,this.options=s,this._$Cv=(s==null?void 0:s.isConnected)??!0}get parentNode(){let u=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&(u==null?void 0:u.nodeType)===11&&(u=e.parentNode),u}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(u,e=this){u=I(this,u,e),J(u)?u===p||u==null||u===""?(this._$AH!==p&&this._$AR(),this._$AH=p):u!==this._$AH&&u!==H&&this._(u):u._$litType$!==void 0?this.$(u):u.nodeType!==void 0?this.T(u):me(u)?this.k(u):this._(u)}S(u){return this._$AA.parentNode.insertBefore(u,this._$AB)}T(u){this._$AH!==u&&(this._$AR(),this._$AH=this.S(u))}_(u){this._$AH!==p&&J(this._$AH)?this._$AA.nextSibling.data=u:this.T(M.createTextNode(u)),this._$AH=u}$(u){var n;const{values:e,_$litType$:r}=u,s=typeof r=="number"?this._$AC(u):(r.el===void 0&&(r.el=Z.createElement(zu(r.h,r.h[0]),this.options)),r);if(((n=this._$AH)==null?void 0:n._$AD)===s)this._$AH.p(e);else{const i=new be(s,this),o=i.u(this.options);i.p(e),this.T(o),this._$AH=i}}_$AC(u){let e=Gu.get(u.strings);return e===void 0&&Gu.set(u.strings,e=new Z(u)),e}k(u){Ru(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,s=0;for(const n of u)s===e.length?e.push(r=new X(this.S(q()),this.S(q()),this,this.options)):r=e[s],r._$AI(n),s++;s<e.length&&(this._$AR(r&&r._$AB.nextSibling,s),e.length=s)}_$AR(u=this._$AA.nextSibling,e){var r;for((r=this._$AP)==null?void 0:r.call(this,!1,!0,e);u&&u!==this._$AB;){const s=u.nextSibling;u.remove(),u=s}}setConnected(u){var e;this._$AM===void 0&&(this._$Cv=u,(e=this._$AP)==null||e.call(this,u))}}class iu{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(u,e,r,s,n){this.type=1,this._$AH=p,this._$AN=void 0,this.element=u,this.name=e,this._$AM=s,this.options=n,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=p}_$AI(u,e=this,r,s){const n=this.strings;let i=!1;if(n===void 0)u=I(this,u,e,0),i=!J(u)||u!==this._$AH&&u!==H,i&&(this._$AH=u);else{const o=u;let a,E;for(u=n[0],a=0;a<n.length-1;a++)E=I(this,o[r+a],e,a),E===H&&(E=this._$AH[a]),i||(i=!J(E)||E!==this._$AH[a]),E===p?u=p:u!==p&&(u+=(E??"")+n[a+1]),this._$AH[a]=E}i&&!s&&this.j(u)}j(u){u===p?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,u??"")}}class $e extends iu{constructor(){super(...arguments),this.type=3}j(u){this.element[this.name]=u===p?void 0:u}}class _e extends iu{constructor(){super(...arguments),this.type=4}j(u){this.element.toggleAttribute(this.name,!!u&&u!==p)}}class ve extends iu{constructor(u,e,r,s,n){super(u,e,r,s,n),this.type=5}_$AI(u,e=this){if((u=I(this,u,e,0)??p)===H)return;const r=this._$AH,s=u===p&&r!==p||u.capture!==r.capture||u.once!==r.once||u.passive!==r.passive,n=u!==p&&(r===p||s);s&&this.element.removeEventListener(this.name,this,r),n&&this.element.addEventListener(this.name,this,u),this._$AH=u}handleEvent(u){var e;typeof this._$AH=="function"?this._$AH.call(((e=this.options)==null?void 0:e.host)??this.element,u):this._$AH.handleEvent(u)}}class we{constructor(u,e,r){this.element=u,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(u){I(this,u)}}const du=W.litHtmlPolyfillSupport;du==null||du(Z,X),(W.litHtmlVersions??(W.litHtmlVersions=[])).push("3.1.3");const Se=(t,u,e)=>{const r=(e==null?void 0:e.renderBefore)??u;let s=r._$litPart$;if(s===void 0){const n=(e==null?void 0:e.renderBefore)??null;r._$litPart$=s=new X(u.insertBefore(q(),n),n,void 0,e??{})}return s._$AI(t),s};/**
16
16
  * @license
17
17
  * Copyright 2017 Google LLC
18
18
  * SPDX-License-Identifier: BSD-3-Clause
19
- */class j extends k{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e;const u=super.createRenderRoot();return(e=this.renderOptions).renderBefore??(e.renderBefore=u.firstChild),u}update(u){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(u),this._$Do=we(e,this.renderRoot,this.renderOptions)}connectedCallback(){var u;super.connectedCallback(),(u=this._$Do)==null||u.setConnected(!0)}disconnectedCallback(){var u;super.disconnectedCallback(),(u=this._$Do)==null||u.setConnected(!1)}render(){return H}}j._$litElement$=!0,j.finalized=!0,(De=globalThis.litElementHydrateSupport)==null||De.call(globalThis,{LitElement:j});const pu=globalThis.litElementPolyfillSupport;pu==null||pu({LitElement:j}),(globalThis.litElementVersions??(globalThis.litElementVersions=[])).push("4.0.5");/**
19
+ */class j extends k{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e;const u=super.createRenderRoot();return(e=this.renderOptions).renderBefore??(e.renderBefore=u.firstChild),u}update(u){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(u),this._$Do=Se(e,this.renderRoot,this.renderOptions)}connectedCallback(){var u;super.connectedCallback(),(u=this._$Do)==null||u.setConnected(!0)}disconnectedCallback(){var u;super.disconnectedCallback(),(u=this._$Do)==null||u.setConnected(!1)}render(){return H}}j._$litElement$=!0,j.finalized=!0,(ne=globalThis.litElementHydrateSupport)==null||ne.call(globalThis,{LitElement:j});const pu=globalThis.litElementPolyfillSupport;pu==null||pu({LitElement:j}),(globalThis.litElementVersions??(globalThis.litElementVersions=[])).push("4.0.5");const Pe=(t,u,e)=>{if(!u)return;const r=Array.isArray(u)?u:u.match(/([^[.\]])+/g),s=r==null?void 0:r.reduce((n,i)=>n&&n[i],t);return s===void 0?e:s};function Te(t){if(!t)return!1;const u=t.constructor&&t.constructor.toString().substring(0,5)==="class";if(t.prototype===void 0)return u;const e=t.prototype.constructor&&t.prototype.constructor.toString&&t.prototype.constructor.toString().substring(0,5)==="class";return u||e}const Ne=(()=>{const t="[object Number]",e=Object.prototype.toString;function r(n){return!!n&&typeof n=="object"}return function(i){return typeof i=="number"||r(i)&&e.call(i)==t}})(),xe=(t,u,e)=>{const r=Array.isArray(u)?u:u.match(/([^[.\]])+/g);r==null||r.reduce((s,n,i)=>(s[n]===void 0&&(s[n]={}),i===r.length-1&&(s[n]=e),s[n]),t)},Vu="data-three-uuid",fu=(t,u,e)=>{var n,i;const r=Pe(t,u);if(Ne(e)&&(r!=null&&r.setScalar))r.setScalar(+e);else if(r!=null&&r.set)if(typeof e=="string"){const o=e.split(","),a=o.every(E=>!E.match(/^[^\d,]+$/));if((n=e.toLowerCase().trim().match(/^#[\dabcdef]{3,6}$/))!=null&&n.length)if(e.length===4){const E=[e[1],e[1],e[2],e[2],e[3],e[3]].join("");r.set(+`0x${E}`)}else r.set(+`0x${e.slice(1)}`);else o!=null&&o.length&&a?r.set(...o.map(E=>+E)):r.set(e)}else{const o=Array.isArray(e)?e:[e];r.set(...o)}else xe(t,u,e);const s=t;typeof s.type=="string"&&((i=s.type)!=null&&i.toLowerCase().endsWith("material"))&&(s.needsUpdate=!0)},Bu={$scene:t=>{const u=t.closest("three-lunchbox");return u==null?void 0:u.three.scene},$camera:t=>{const u=t.closest("three-lunchbox");return u==null?void 0:u.three.camera},$renderer:t=>{const u=t.closest("three-lunchbox");return u==null?void 0:u.three.renderer},$domElement:t=>{const u=t.closest("three-lunchbox");return u==null?void 0:u.three.renderer.domElement}},Du=(t,u)=>{var r;if(typeof t!="string")return t;if(t==="")return!0;const e=(r=Bu[t])==null?void 0:r.call(Bu,u);return CSS.supports("color",t)?new _.Color(t):e??t};function Me(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var nu={};nu.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,nu.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,nu.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;const mu=nu;var Oe={isSpaceSeparator(t){return typeof t=="string"&&mu.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||mu.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="‌"||t==="‍"||mu.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}};const f=Oe;let yu,g,v,ou,x,$,B,gu,Y;var Re=function(u,e){yu=String(u),g="start",v=[],ou=0,x=1,$=0,B=void 0,gu=void 0,Y=void 0;do B=Le(),He[g]();while(B.type!=="eof");return typeof e=="function"?bu({"":Y},"",e):Y};function bu(t,u,e){const r=t[u];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(let s=0;s<r.length;s++){const n=String(s),i=bu(r,n,e);i===void 0?delete r[n]:Object.defineProperty(r,n,{value:i,writable:!0,enumerable:!0,configurable:!0})}else for(const s in r){const n=bu(r,s,e);n===void 0?delete r[s]:Object.defineProperty(r,s,{value:n,writable:!0,enumerable:!0,configurable:!0})}return e.call(t,u,r)}let h,c,Q,w,A;function Le(){for(h="default",c="",Q=!1,w=1;;){A=S();const t=Wu[h]();if(t)return t}}function S(){if(yu[ou])return String.fromCodePoint(yu.codePointAt(ou))}function D(){const t=S();return t===`
20
+ `?(x++,$=0):t?$+=t.length:$++,t&&(ou+=t.length),t}const Wu={default(){switch(A){case" ":case"\v":case"\f":case" ":case" ":case"\uFEFF":case`
21
+ `:case"\r":case"\u2028":case"\u2029":D();return;case"/":D(),h="comment";return;case void 0:return D(),l("eof")}if(f.isSpaceSeparator(A)){D();return}return Wu[g]()},comment(){switch(A){case"*":D(),h="multiLineComment";return;case"/":D(),h="singleLineComment";return}throw F(D())},multiLineComment(){switch(A){case"*":D(),h="multiLineCommentAsterisk";return;case void 0:throw F(D())}D()},multiLineCommentAsterisk(){switch(A){case"*":D();return;case"/":D(),h="default";return;case void 0:throw F(D())}D(),h="multiLineComment"},singleLineComment(){switch(A){case`
22
+ `:case"\r":case"\u2028":case"\u2029":D(),h="default";return;case void 0:return D(),l("eof")}D()},value(){switch(A){case"{":case"[":return l("punctuator",D());case"n":return D(),L("ull"),l("null",null);case"t":return D(),L("rue"),l("boolean",!0);case"f":return D(),L("alse"),l("boolean",!1);case"-":case"+":D()==="-"&&(w=-1),h="sign";return;case".":c=D(),h="decimalPointLeading";return;case"0":c=D(),h="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=D(),h="decimalInteger";return;case"I":return D(),L("nfinity"),l("numeric",1/0);case"N":return D(),L("aN"),l("numeric",NaN);case'"':case"'":Q=D()==='"',c="",h="string";return}throw F(D())},identifierNameStartEscape(){if(A!=="u")throw F(D());D();const t=$u();switch(t){case"$":case"_":break;default:if(!f.isIdStartChar(t))throw qu();break}c+=t,h="identifierName"},identifierName(){switch(A){case"$":case"_":case"‌":case"‍":c+=D();return;case"\\":D(),h="identifierNameEscape";return}if(f.isIdContinueChar(A)){c+=D();return}return l("identifier",c)},identifierNameEscape(){if(A!=="u")throw F(D());D();const t=$u();switch(t){case"$":case"_":case"‌":case"‍":break;default:if(!f.isIdContinueChar(t))throw qu();break}c+=t,h="identifierName"},sign(){switch(A){case".":c=D(),h="decimalPointLeading";return;case"0":c=D(),h="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=D(),h="decimalInteger";return;case"I":return D(),L("nfinity"),l("numeric",w*(1/0));case"N":return D(),L("aN"),l("numeric",NaN)}throw F(D())},zero(){switch(A){case".":c+=D(),h="decimalPoint";return;case"e":case"E":c+=D(),h="decimalExponent";return;case"x":case"X":c+=D(),h="hexadecimal";return}return l("numeric",w*0)},decimalInteger(){switch(A){case".":c+=D(),h="decimalPoint";return;case"e":case"E":c+=D(),h="decimalExponent";return}if(f.isDigit(A)){c+=D();return}return l("numeric",w*Number(c))},decimalPointLeading(){if(f.isDigit(A)){c+=D(),h="decimalFraction";return}throw F(D())},decimalPoint(){switch(A){case"e":case"E":c+=D(),h="decimalExponent";return}if(f.isDigit(A)){c+=D(),h="decimalFraction";return}return l("numeric",w*Number(c))},decimalFraction(){switch(A){case"e":case"E":c+=D(),h="decimalExponent";return}if(f.isDigit(A)){c+=D();return}return l("numeric",w*Number(c))},decimalExponent(){switch(A){case"+":case"-":c+=D(),h="decimalExponentSign";return}if(f.isDigit(A)){c+=D(),h="decimalExponentInteger";return}throw F(D())},decimalExponentSign(){if(f.isDigit(A)){c+=D(),h="decimalExponentInteger";return}throw F(D())},decimalExponentInteger(){if(f.isDigit(A)){c+=D();return}return l("numeric",w*Number(c))},hexadecimal(){if(f.isHexDigit(A)){c+=D(),h="hexadecimalInteger";return}throw F(D())},hexadecimalInteger(){if(f.isHexDigit(A)){c+=D();return}return l("numeric",w*Number(c))},string(){switch(A){case"\\":D(),c+=Ue();return;case'"':if(Q)return D(),l("string",c);c+=D();return;case"'":if(!Q)return D(),l("string",c);c+=D();return;case`
23
+ `:case"\r":throw F(D());case"\u2028":case"\u2029":Ie(A);break;case void 0:throw F(D())}c+=D()},start(){switch(A){case"{":case"[":return l("punctuator",D())}h="value"},beforePropertyName(){switch(A){case"$":case"_":c=D(),h="identifierName";return;case"\\":D(),h="identifierNameStartEscape";return;case"}":return l("punctuator",D());case'"':case"'":Q=D()==='"',h="string";return}if(f.isIdStartChar(A)){c+=D(),h="identifierName";return}throw F(D())},afterPropertyName(){if(A===":")return l("punctuator",D());throw F(D())},beforePropertyValue(){h="value"},afterPropertyValue(){switch(A){case",":case"}":return l("punctuator",D())}throw F(D())},beforeArrayValue(){if(A==="]")return l("punctuator",D());h="value"},afterArrayValue(){switch(A){case",":case"]":return l("punctuator",D())}throw F(D())},end(){throw F(D())}};function l(t,u){return{type:t,value:u,line:x,column:$}}function L(t){for(const u of t){if(S()!==u)throw F(D());D()}}function Ue(){switch(S()){case"b":return D(),"\b";case"f":return D(),"\f";case"n":return D(),`
24
+ `;case"r":return D(),"\r";case"t":return D()," ";case"v":return D(),"\v";case"0":if(D(),f.isDigit(S()))throw F(D());return"\0";case"x":return D(),ke();case"u":return D(),$u();case`
25
+ `:case"\u2028":case"\u2029":return D(),"";case"\r":return D(),S()===`
26
+ `&&D(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw F(D());case void 0:throw F(D())}return D()}function ke(){let t="",u=S();if(!f.isHexDigit(u)||(t+=D(),u=S(),!f.isHexDigit(u)))throw F(D());return t+=D(),String.fromCodePoint(parseInt(t,16))}function $u(){let t="",u=4;for(;u-- >0;){const e=S();if(!f.isHexDigit(e))throw F(D());t+=D()}return String.fromCodePoint(parseInt(t,16))}const He={start(){if(B.type==="eof")throw U();_u()},beforePropertyName(){switch(B.type){case"identifier":case"string":gu=B.value,g="afterPropertyName";return;case"punctuator":au();return;case"eof":throw U()}},afterPropertyName(){if(B.type==="eof")throw U();g="beforePropertyValue"},beforePropertyValue(){if(B.type==="eof")throw U();_u()},beforeArrayValue(){if(B.type==="eof")throw U();if(B.type==="punctuator"&&B.value==="]"){au();return}_u()},afterPropertyValue(){if(B.type==="eof")throw U();switch(B.value){case",":g="beforePropertyName";return;case"}":au()}},afterArrayValue(){if(B.type==="eof")throw U();switch(B.value){case",":g="beforeArrayValue";return;case"]":au()}},end(){}};function _u(){let t;switch(B.type){case"punctuator":switch(B.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=B.value;break}if(Y===void 0)Y=t;else{const u=v[v.length-1];Array.isArray(u)?u.push(t):Object.defineProperty(u,gu,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")v.push(t),Array.isArray(t)?g="beforeArrayValue":g="beforePropertyName";else{const u=v[v.length-1];u==null?g="end":Array.isArray(u)?g="afterArrayValue":g="afterPropertyValue"}}function au(){v.pop();const t=v[v.length-1];t==null?g="end":Array.isArray(t)?g="afterArrayValue":g="afterPropertyValue"}function F(t){return cu(t===void 0?`JSON5: invalid end of input at ${x}:${$}`:`JSON5: invalid character '${Ju(t)}' at ${x}:${$}`)}function U(){return cu(`JSON5: invalid end of input at ${x}:${$}`)}function qu(){return $-=5,cu(`JSON5: invalid identifier character at ${x}:${$}`)}function Ie(t){console.warn(`JSON5: '${Ju(t)}' in strings is not valid ECMAScript; consider escaping`)}function Ju(t){const u={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(u[t])return u[t];if(t<" "){const e=t.charCodeAt(0).toString(16);return"\\x"+("00"+e).substring(e.length)}return t}function cu(t){const u=new SyntaxError(t);return u.lineNumber=x,u.columnNumber=$,u}const Ku=Me(Re),Zu="raycast",Xu=[Zu,"args","data"],Yu=t=>t.split("-"),Qu=t=>{const u=typeof t=="string"?_[t]:t;if(!Te(u))return null;const e=t.toString().toLowerCase().endsWith("loader");class r extends j{constructor(){super(...arguments),this.instance=null,this.dispose=[],this.mutationObserver=null}observeAttributes(){this.mutationObserver=new MutationObserver(i=>{i.forEach(o=>{if(!o.attributeName)return;const a=this.attributes.getNamedItem(o.attributeName);a&&this.updateProperty(a)})}),this.mutationObserver.observe(this,{attributes:!0})}parsedArgs(){const i=this.args??this.getAttribute("args")??[];return typeof i=="string"?Ku(i):i}createUnderlyingThreeObject(){this.instance=new u(...this.parsedArgs().map(i=>Du(i,this)))}refreshAttributes(){this.getAttributeNames().forEach(i=>{const o=this.attributes.getNamedItem(i);o&&this.updateProperty(o)}),Array.from(this.attributes).forEach(this.updateProperty.bind(this))}onUnderlyingThreeObjectReady(){var a,E;const i=this.instance;i.uuid&&this.setAttribute(Vu,i.uuid);const o=this.parentElement;if(o.instance){const d=this.instance,C=this.instance,m=o.instance,b=o.instance,G=this.instance;if((a=d.type)!=null&&a.toLowerCase().includes("geometry")&&m.geometry)m.geometry=d;else if((E=C.type)!=null&&E.toLowerCase().includes("material")&&m.material)m.material=C;else if(b.add)try{b.add(G)}catch{throw new Error(`Error adding ${this.tagName} to ${b}`)}const oe=this.getAttribute("attach");oe&&this.executeAttach(oe,this.instance)}}connectedCallback(){super.connectedCallback(),this.observeAttributes.call(this),this.createUnderlyingThreeObject.call(this),this.refreshAttributes.call(this),this.dispatchEvent(new CustomEvent("instancecreated",{detail:{instance:this.instance}})),this.onUnderlyingThreeObjectReady.call(this)}updateProperty(i){const{name:o,value:a}=i;let E=o;Object.keys(this.instance??{}).forEach(m=>{m.toLowerCase()===E&&(E=m)});const d=Yu(E);if(Xu.includes(E)||Xu.includes(d[0]))return;let C=Du(a,this);try{C=JSON.parse(a===""?"true":a)}catch{}this.instance&&fu(this.instance,d,C)}executeAttach(i,o){const a=this.parentElement;a.instance&&fu(a.instance,Yu(i),o)}disconnectedCallback(){super.disconnectedCallback();const i=[this.instance];this.disposeThreeObjects.call(this,i)}disposeThreeObjects(i){i.forEach(o=>{var d,C;if(!o)return;const a=o,E=o;(d=a.dispose)==null||d.call(a),(C=E.removeFromParent)==null||C.call(E)})}render(){return ju`<slot></slot>`}}class s extends r{constructor(){super(...arguments),this.loader=null}createUnderlyingThreeObject(){this.loader=new u(...this.parsedArgs().map(i=>Du(i,this)))}onUnderlyingThreeObjectReady(){const i=this.getAttribute("src");if(!i)throw new Error("Loader requires a source.");if(!this.loader)throw new Error(`Missing loader ${this.tagName}`);this.loader.load(i,o=>{this.instance=o;const a=this.getAttribute("attach");a&&this.executeAttach(a,o),this.refreshAttributes.call(this),this.dispatchEvent(new CustomEvent("loaded",{detail:{instance:o}}))},void 0,o=>{throw new Error(`error loading: ${i}`+o)})}disconnectedCallback(){super.disconnectedCallback(),this.disposeThreeObjects.call(this,[this.loader])}}return e?s:r};/**
20
27
  * @license
21
28
  * Copyright 2017 Google LLC
22
29
  * SPDX-License-Identifier: BSD-3-Clause
23
- */const Se={attribute:!0,type:String,converter:ru,reflect:!1,hasChanged:lu},Pe=(t=Se,u,e)=>{const{kind:r,metadata:s}=e;let D=globalThis.litPropertyMetadata.get(s);if(D===void 0&&globalThis.litPropertyMetadata.set(s,D=new Map),D.set(e.name,t),r==="accessor"){const{name:i}=e;return{set(o){const a=u.get.call(this);u.set.call(this,o),this.requestUpdate(i,a,t)},init(o){return o!==void 0&&this.P(i,void 0,t),o}}}if(r==="setter"){const{name:i}=e;return function(o){const a=this[i];u.call(this,o),this.requestUpdate(i,a,t)}}throw Error("Unsupported decorator location: "+r)};function G(t){return(u,e)=>typeof e=="object"?Pe(t,u,e):((r,s,D)=>{const i=s.hasOwnProperty(D);return s.constructor.createProperty(D,i?{...r,wrapped:!0}:r),i?Object.getOwnPropertyDescriptor(s,D):void 0})(t,u,e)}const Te=(t,u,e)=>{if(!u)return;const r=Array.isArray(u)?u:u.match(/([^[.\]])+/g),s=r==null?void 0:r.reduce((D,i)=>D&&D[i],t);return s===void 0?e:s};function Ne(t){if(!t)return!1;const u=t.constructor&&t.constructor.toString().substring(0,5)==="class";if(t.prototype===void 0)return u;const e=t.prototype.constructor&&t.prototype.constructor.toString&&t.prototype.constructor.toString().substring(0,5)==="class";return u||e}const xe=(()=>{const t="[object Number]",e=Object.prototype.toString;function r(D){return!!D&&typeof D=="object"}return function(i){return typeof i=="number"||r(i)&&e.call(i)==t}})(),Me=(t,u,e)=>{const r=Array.isArray(u)?u:u.match(/([^[.\]])+/g);r==null||r.reduce((s,D,i)=>(s[D]===void 0&&(s[D]={}),i===r.length-1&&(s[D]=e),s[D]),t)},Vu="data-three-uuid",fu=(t,u,e)=>{var D,i;const r=Te(t,u);if(xe(e)&&(r!=null&&r.setScalar))r.setScalar(+e);else if(r!=null&&r.set)if(typeof e=="string"){const o=e.split(","),a=o.every(E=>!E.match(/^[^\d,]+$/));if((D=e.toLowerCase().trim().match(/^#[\dabcdef]{3,6}$/))!=null&&D.length)if(e.length===4){const E=[e[1],e[1],e[2],e[2],e[3],e[3]].join("");r.set(+`0x${E}`)}else r.set(+`0x${e.slice(1)}`);else o!=null&&o.length&&a?r.set(...o.map(E=>+E)):r.set(e)}else{const o=Array.isArray(e)?e:[e];r.set(...o)}else Me(t,u,e);const s=t;typeof s.type=="string"&&((i=s.type)!=null&&i.toLowerCase().endsWith("material"))&&(s.needsUpdate=!0)},Bu={$scene:t=>{const u=t.closest("three-lunchbox");return u==null?void 0:u.three.scene},$camera:t=>{const u=t.closest("three-lunchbox");return u==null?void 0:u.three.camera},$renderer:t=>{const u=t.closest("three-lunchbox");return u==null?void 0:u.three.renderer},$domElement:t=>{const u=t.closest("three-lunchbox");return u==null?void 0:u.three.renderer.domElement}},Du=(t,u)=>{var r;return typeof t!="string"?t:t===""?!0:((r=Bu[t])==null?void 0:r.call(Bu,u))??t};var Oe=Object.defineProperty,Re=(t,u,e,r)=>{for(var s=void 0,D=t.length-1,i;D>=0;D--)(i=t[D])&&(s=i(u,e,s)||s);return s&&Oe(u,e,s),s};const Wu="raycast",qu=[Wu,"args","data"],Ju=t=>t.split("-"),Ku=t=>{const u=typeof t=="string"?_[t]:t;if(!Ne(u))return null;const e=t.toString().toLowerCase().endsWith("loader");class r extends j{constructor(){super(...arguments),this.args=[],this.instance=null,this.dispose=[],this.mutationObserver=null}observeAttributes(){this.mutationObserver=new MutationObserver(i=>{i.forEach(o=>{if(!o.attributeName)return;const a=this.attributes.getNamedItem(o.attributeName);a&&this.updateProperty(a)})}),this.mutationObserver.observe(this,{attributes:!0})}createUnderlyingThreeObject(){this.instance=new u(...this.args.map(i=>Du(i,this)))}refreshAttributes(){this.getAttributeNames().forEach(i=>{const o=this.attributes.getNamedItem(i);o&&this.updateProperty(o)}),Array.from(this.attributes).forEach(this.updateProperty.bind(this))}onUnderlyingThreeObjectReady(){var a,E;const i=this.instance;i.uuid&&this.setAttribute(Vu,i.uuid);const o=this.parentElement;if(o.instance){const d=this.instance,C=this.instance,m=o.instance,b=o.instance,z=this.instance;if((a=d.type)!=null&&a.toLowerCase().includes("geometry")&&m.geometry)m.geometry=d;else if((E=C.type)!=null&&E.toLowerCase().includes("material")&&m.material)m.material=C;else if(b.add)try{b.add(z)}catch{throw new Error(`Error adding ${this.tagName} to ${b}`)}const ne=this.getAttribute("attach");ne&&this.executeAttach(ne,this.instance)}}connectedCallback(){super.connectedCallback(),this.observeAttributes.call(this),this.createUnderlyingThreeObject.call(this),this.refreshAttributes.call(this),this.dispatchEvent(new CustomEvent("instancecreated",{detail:{instance:this.instance}})),this.onUnderlyingThreeObjectReady.call(this)}updateProperty(i){const{name:o,value:a}=i;let E=o;Object.keys(this.instance??{}).forEach(m=>{m.toLowerCase()===E&&(E=m)});const d=Ju(E);if(qu.includes(E)||qu.includes(d[0]))return;let C=Du(a,this);try{C=JSON.parse(a===""?"true":a)}catch{}this.instance&&fu(this.instance,d,C)}executeAttach(i,o){const a=this.parentElement;a.instance&&fu(a.instance,Ju(i),o)}disconnectedCallback(){super.disconnectedCallback();const i=[this.instance];this.disposeThreeObjects.call(this,i)}disposeThreeObjects(i){i.forEach(o=>{var d,C;if(!o)return;const a=o,E=o;(d=a.dispose)==null||d.call(a),(C=E.removeFromParent)==null||C.call(E)})}render(){return ju`<slot></slot>`}}Re([G({type:Array})],r.prototype,"args");class s extends r{constructor(){super(...arguments),this.loader=null}createUnderlyingThreeObject(){this.loader=new u(...this.args.map(i=>Du(i,this)))}onUnderlyingThreeObjectReady(){const i=this.getAttribute("src");if(!i)throw new Error("Loader requires a source.");if(!this.loader)throw new Error(`Missing loader ${this.tagName}`);this.loader.load(i,o=>{this.instance=o;const a=this.getAttribute("attach");a&&this.executeAttach(a,o),this.refreshAttributes.call(this),this.dispatchEvent(new CustomEvent("loaded",{detail:{instance:o}}))},void 0,o=>{throw new Error(`error loading: ${i}`+o)})}disconnectedCallback(){super.disconnectedCallback(),this.disposeThreeObjects.call(this,[this.loader])}}return e?s:r};function Le(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var nu={};nu.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,nu.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,nu.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;const mu=nu;var Ue={isSpaceSeparator(t){return typeof t=="string"&&mu.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||mu.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="‌"||t==="‍"||mu.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}};const f=Ue;let yu,g,v,ou,x,$,B,gu,Q;var ke=function(u,e){yu=String(u),g="start",v=[],ou=0,x=1,$=0,B=void 0,gu=void 0,Q=void 0;do B=He(),Ge[g]();while(B.type!=="eof");return typeof e=="function"?bu({"":Q},"",e):Q};function bu(t,u,e){const r=t[u];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(let s=0;s<r.length;s++){const D=String(s),i=bu(r,D,e);i===void 0?delete r[D]:Object.defineProperty(r,D,{value:i,writable:!0,enumerable:!0,configurable:!0})}else for(const s in r){const D=bu(r,s,e);D===void 0?delete r[s]:Object.defineProperty(r,s,{value:D,writable:!0,enumerable:!0,configurable:!0})}return e.call(t,u,r)}let h,c,uu,w,A;function He(){for(h="default",c="",uu=!1,w=1;;){A=S();const t=Zu[h]();if(t)return t}}function S(){if(yu[ou])return String.fromCodePoint(yu.codePointAt(ou))}function n(){const t=S();return t===`
24
- `?(x++,$=0):t?$+=t.length:$++,t&&(ou+=t.length),t}const Zu={default(){switch(A){case" ":case"\v":case"\f":case" ":case" ":case"\uFEFF":case`
25
- `:case"\r":case"\u2028":case"\u2029":n();return;case"/":n(),h="comment";return;case void 0:return n(),l("eof")}if(f.isSpaceSeparator(A)){n();return}return Zu[g]()},comment(){switch(A){case"*":n(),h="multiLineComment";return;case"/":n(),h="singleLineComment";return}throw F(n())},multiLineComment(){switch(A){case"*":n(),h="multiLineCommentAsterisk";return;case void 0:throw F(n())}n()},multiLineCommentAsterisk(){switch(A){case"*":n();return;case"/":n(),h="default";return;case void 0:throw F(n())}n(),h="multiLineComment"},singleLineComment(){switch(A){case`
26
- `:case"\r":case"\u2028":case"\u2029":n(),h="default";return;case void 0:return n(),l("eof")}n()},value(){switch(A){case"{":case"[":return l("punctuator",n());case"n":return n(),L("ull"),l("null",null);case"t":return n(),L("rue"),l("boolean",!0);case"f":return n(),L("alse"),l("boolean",!1);case"-":case"+":n()==="-"&&(w=-1),h="sign";return;case".":c=n(),h="decimalPointLeading";return;case"0":c=n(),h="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=n(),h="decimalInteger";return;case"I":return n(),L("nfinity"),l("numeric",1/0);case"N":return n(),L("aN"),l("numeric",NaN);case'"':case"'":uu=n()==='"',c="",h="string";return}throw F(n())},identifierNameStartEscape(){if(A!=="u")throw F(n());n();const t=$u();switch(t){case"$":case"_":break;default:if(!f.isIdStartChar(t))throw Xu();break}c+=t,h="identifierName"},identifierName(){switch(A){case"$":case"_":case"‌":case"‍":c+=n();return;case"\\":n(),h="identifierNameEscape";return}if(f.isIdContinueChar(A)){c+=n();return}return l("identifier",c)},identifierNameEscape(){if(A!=="u")throw F(n());n();const t=$u();switch(t){case"$":case"_":case"‌":case"‍":break;default:if(!f.isIdContinueChar(t))throw Xu();break}c+=t,h="identifierName"},sign(){switch(A){case".":c=n(),h="decimalPointLeading";return;case"0":c=n(),h="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=n(),h="decimalInteger";return;case"I":return n(),L("nfinity"),l("numeric",w*(1/0));case"N":return n(),L("aN"),l("numeric",NaN)}throw F(n())},zero(){switch(A){case".":c+=n(),h="decimalPoint";return;case"e":case"E":c+=n(),h="decimalExponent";return;case"x":case"X":c+=n(),h="hexadecimal";return}return l("numeric",w*0)},decimalInteger(){switch(A){case".":c+=n(),h="decimalPoint";return;case"e":case"E":c+=n(),h="decimalExponent";return}if(f.isDigit(A)){c+=n();return}return l("numeric",w*Number(c))},decimalPointLeading(){if(f.isDigit(A)){c+=n(),h="decimalFraction";return}throw F(n())},decimalPoint(){switch(A){case"e":case"E":c+=n(),h="decimalExponent";return}if(f.isDigit(A)){c+=n(),h="decimalFraction";return}return l("numeric",w*Number(c))},decimalFraction(){switch(A){case"e":case"E":c+=n(),h="decimalExponent";return}if(f.isDigit(A)){c+=n();return}return l("numeric",w*Number(c))},decimalExponent(){switch(A){case"+":case"-":c+=n(),h="decimalExponentSign";return}if(f.isDigit(A)){c+=n(),h="decimalExponentInteger";return}throw F(n())},decimalExponentSign(){if(f.isDigit(A)){c+=n(),h="decimalExponentInteger";return}throw F(n())},decimalExponentInteger(){if(f.isDigit(A)){c+=n();return}return l("numeric",w*Number(c))},hexadecimal(){if(f.isHexDigit(A)){c+=n(),h="hexadecimalInteger";return}throw F(n())},hexadecimalInteger(){if(f.isHexDigit(A)){c+=n();return}return l("numeric",w*Number(c))},string(){switch(A){case"\\":n(),c+=Ie();return;case'"':if(uu)return n(),l("string",c);c+=n();return;case"'":if(!uu)return n(),l("string",c);c+=n();return;case`
27
- `:case"\r":throw F(n());case"\u2028":case"\u2029":ze(A);break;case void 0:throw F(n())}c+=n()},start(){switch(A){case"{":case"[":return l("punctuator",n())}h="value"},beforePropertyName(){switch(A){case"$":case"_":c=n(),h="identifierName";return;case"\\":n(),h="identifierNameStartEscape";return;case"}":return l("punctuator",n());case'"':case"'":uu=n()==='"',h="string";return}if(f.isIdStartChar(A)){c+=n(),h="identifierName";return}throw F(n())},afterPropertyName(){if(A===":")return l("punctuator",n());throw F(n())},beforePropertyValue(){h="value"},afterPropertyValue(){switch(A){case",":case"}":return l("punctuator",n())}throw F(n())},beforeArrayValue(){if(A==="]")return l("punctuator",n());h="value"},afterArrayValue(){switch(A){case",":case"]":return l("punctuator",n())}throw F(n())},end(){throw F(n())}};function l(t,u){return{type:t,value:u,line:x,column:$}}function L(t){for(const u of t){if(S()!==u)throw F(n());n()}}function Ie(){switch(S()){case"b":return n(),"\b";case"f":return n(),"\f";case"n":return n(),`
28
- `;case"r":return n(),"\r";case"t":return n()," ";case"v":return n(),"\v";case"0":if(n(),f.isDigit(S()))throw F(n());return"\0";case"x":return n(),je();case"u":return n(),$u();case`
29
- `:case"\u2028":case"\u2029":return n(),"";case"\r":return n(),S()===`
30
- `&&n(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw F(n());case void 0:throw F(n())}return n()}function je(){let t="",u=S();if(!f.isHexDigit(u)||(t+=n(),u=S(),!f.isHexDigit(u)))throw F(n());return t+=n(),String.fromCodePoint(parseInt(t,16))}function $u(){let t="",u=4;for(;u-- >0;){const e=S();if(!f.isHexDigit(e))throw F(n());t+=n()}return String.fromCodePoint(parseInt(t,16))}const Ge={start(){if(B.type==="eof")throw U();_u()},beforePropertyName(){switch(B.type){case"identifier":case"string":gu=B.value,g="afterPropertyName";return;case"punctuator":au();return;case"eof":throw U()}},afterPropertyName(){if(B.type==="eof")throw U();g="beforePropertyValue"},beforePropertyValue(){if(B.type==="eof")throw U();_u()},beforeArrayValue(){if(B.type==="eof")throw U();if(B.type==="punctuator"&&B.value==="]"){au();return}_u()},afterPropertyValue(){if(B.type==="eof")throw U();switch(B.value){case",":g="beforePropertyName";return;case"}":au()}},afterArrayValue(){if(B.type==="eof")throw U();switch(B.value){case",":g="beforeArrayValue";return;case"]":au()}},end(){}};function _u(){let t;switch(B.type){case"punctuator":switch(B.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=B.value;break}if(Q===void 0)Q=t;else{const u=v[v.length-1];Array.isArray(u)?u.push(t):Object.defineProperty(u,gu,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")v.push(t),Array.isArray(t)?g="beforeArrayValue":g="beforePropertyName";else{const u=v[v.length-1];u==null?g="end":Array.isArray(u)?g="afterArrayValue":g="afterPropertyValue"}}function au(){v.pop();const t=v[v.length-1];t==null?g="end":Array.isArray(t)?g="afterArrayValue":g="afterPropertyValue"}function F(t){return cu(t===void 0?`JSON5: invalid end of input at ${x}:${$}`:`JSON5: invalid character '${Yu(t)}' at ${x}:${$}`)}function U(){return cu(`JSON5: invalid end of input at ${x}:${$}`)}function Xu(){return $-=5,cu(`JSON5: invalid identifier character at ${x}:${$}`)}function ze(t){console.warn(`JSON5: '${Yu(t)}' in strings is not valid ECMAScript; consider escaping`)}function Yu(t){const u={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(u[t])return u[t];if(t<" "){const e=t.charCodeAt(0).toString(16);return"\\x"+("00"+e).substring(e.length)}return t}function cu(t){const u=new SyntaxError(t);return u.lineNumber=x,u.columnNumber=$,u}const Ve=Le(ke);var We=Object.defineProperty,eu=(t,u,e,r)=>{for(var s=void 0,D=t.length-1,i;D>=0;D--)(i=t[D])&&(s=i(u,e,s)||s);return s&&We(u,e,s),s};const qe="orthographic",Qu=1/0,vu=class vu extends j{constructor(){super(),this.scratchV2=new _.Vector2,this.three={scene:new _.Scene,camera:null,renderer:new _.WebGLRenderer({antialias:!0,alpha:!0})},this.background=null,this.dpr=Qu,this.manualRender=!1,this.dispatchBeforeRender=!1,this.dispatchAfterRender=!1,this.raycaster=new _.Raycaster,this.raycastPool=[],this.frame=1/0,this.resizeObserver=new ResizeObserver(u=>{u.forEach(({target:e,contentRect:r})=>{if(e===this&&(this.three.renderer.setSize(r.width*this.dpr,r.height*this.dpr),this.three.camera)){const s=r.width/r.height;if(this.three.camera.type.toLowerCase()==="perspectivecamera")this.three.camera.aspect=s,this.three.camera.updateProjectionMatrix();else if(this.three.camera.type.toLowerCase()==="orthographiccamera"){const D=r.height/r.width,i=10;this.three.camera.top=D*i,this.three.camera.bottom=-D*i,this.three.camera.right=i,this.three.camera.left=-i,this.three.camera.updateProjectionMatrix()}this.manualRender||this.renderThree()}})})}connectedCallback(){super.connectedCallback(),this.dpr===Qu&&(this.dpr=window.devicePixelRatio),this.getAttribute(qe)!==null?this.three.camera=new _.OrthographicCamera:this.three.camera=new _.PerspectiveCamera(75),["scene","camera","renderer"].forEach(u=>{const e=Ve(this.getAttribute(u)??"{}");Object.entries(e).forEach(([r,s])=>{this.three[u]&&fu(this.three[u],r.split("-"),Du(s,this))})}),this.resizeObserver.observe(this),this.background!==null&&(this.three.scene.background=new _.Color(this.background)),this.three.renderer.domElement.addEventListener("pointermove",this.onPointerMove.bind(this)),this.three.renderer.domElement.addEventListener("mousemove",this.onPointerMove.bind(this)),this.three.renderer.domElement.addEventListener("click",this.onClick.bind(this)),this.manualRender||this.updateLoop()}disconnectedCallback(){this.three.renderer.domElement.removeEventListener("pointermove",this.onPointerMove.bind(this)),this.three.renderer.domElement.removeEventListener("mousemove",this.onPointerMove.bind(this)),this.three.renderer.domElement.removeEventListener("click",this.onClick.bind(this)),this.three.renderer.dispose(),this.resizeObserver.unobserve(this),cancelAnimationFrame(this.frame)}handleDefaultSlotChange(u){u.target.assignedElements().forEach(e=>{const r=e;if(r.instance instanceof _.Object3D){let s=!1;if(this.three.scene.traverse(D=>{s||D.uuid===r.instance.uuid&&(s=!0)}),s)return;this.three.scene.add(r.instance),e.getAttributeNames().includes(Wu)&&this.raycastPool.push(r.instance)}}),this.renderThree()}runRaycast(u){if(!this.raycastPool.length||!this.three.camera)return[];const e=this.scratchV2.clone().set(u.clientX/(this.three.renderer.domElement.width/this.dpr)*2-1,-(u.clientY/(this.three.renderer.domElement.height/this.dpr))*2+1);return this.raycaster.setFromCamera(e,this.three.camera),this.raycaster.intersectObjects(this.raycastPool).map(D=>({intersect:D,element:this.querySelector(`[${Vu}="${D.object.uuid}"]`)}))}onPointerMove(u){this.runRaycast.bind(this)(u).forEach(r=>{var s,D,i,o;u.type==="pointermove"?((s=r.element)==null||s.dispatchEvent(new PointerEvent("pointermove")),(D=r.element)==null||D.dispatchEvent(new CustomEvent(ue,{detail:r}))):u.type==="mousemove"&&((i=r.element)==null||i.dispatchEvent(new MouseEvent("mousemove")),(o=r.element)==null||o.dispatchEvent(new CustomEvent(ee,{detail:r})))})}onClick(u){let e=[];if(u instanceof TouchEvent){const r=u.touches[0];e=this.runRaycast.bind(this)(r),e.forEach(s=>{var D;(D=s.element)==null||D.dispatchEvent(new TouchEvent("touchstart"))})}else e=this.runRaycast.bind(this)(u),e.forEach(r=>{var s;(s=r.element)==null||s.dispatchEvent(new MouseEvent("click"))});e.forEach(r=>{var s;(s=r.element)==null||s.dispatchEvent(new CustomEvent(te,{detail:r}))})}updateLoop(){this.renderThree(),this.manualRender||(this.frame=requestAnimationFrame(this.updateLoop.bind(this)))}renderThree(u,e){this.dispatchBeforeRender&&this.dispatchEvent(new CustomEvent(re,{})),this.three.camera&&(this.three.renderer.render(u??this.three.scene,e??this.three.camera),this.dispatchAfterRender&&this.dispatchEvent(new CustomEvent(se,{})))}render(){return ju`
30
+ */const je={attribute:!0,type:String,converter:ru,reflect:!1,hasChanged:lu},Ge=(t=je,u,e)=>{const{kind:r,metadata:s}=e;let n=globalThis.litPropertyMetadata.get(s);if(n===void 0&&globalThis.litPropertyMetadata.set(s,n=new Map),n.set(e.name,t),r==="accessor"){const{name:i}=e;return{set(o){const a=u.get.call(this);u.set.call(this,o),this.requestUpdate(i,a,t)},init(o){return o!==void 0&&this.P(i,void 0,t),o}}}if(r==="setter"){const{name:i}=e;return function(o){const a=this[i];u.call(this,o),this.requestUpdate(i,a,t)}}throw Error("Unsupported decorator location: "+r)};function uu(t){return(u,e)=>typeof e=="object"?Ge(t,u,e):((r,s,n)=>{const i=s.hasOwnProperty(n);return s.constructor.createProperty(n,i?{...r,wrapped:!0}:r),i?Object.getOwnPropertyDescriptor(s,n):void 0})(t,u,e)}var ze=Object.defineProperty,eu=(t,u,e,r)=>{for(var s=void 0,n=t.length-1,i;n>=0;n--)(i=t[n])&&(s=i(u,e,s)||s);return s&&ze(u,e,s),s};const Ve="orthographic",ue=1/0,vu=class vu extends j{constructor(){super(),this.scratchV2=new _.Vector2,this.three={scene:new _.Scene,camera:null,renderer:new _.WebGLRenderer({antialias:!0,alpha:!0})},this.background=null,this.dpr=ue,this.manualRender=!1,this.dispatchBeforeRender=!1,this.dispatchAfterRender=!1,this.raycaster=new _.Raycaster,this.raycastPool=[],this.frame=1/0,this.resizeObserver=new ResizeObserver(u=>{u.forEach(({target:e,contentRect:r})=>{if(e===this&&(this.three.renderer.setSize(r.width*this.dpr,r.height*this.dpr),this.three.camera)){const s=r.width/r.height;if(this.three.camera.type.toLowerCase()==="perspectivecamera")this.three.camera.aspect=s,this.three.camera.updateProjectionMatrix();else if(this.three.camera.type.toLowerCase()==="orthographiccamera"){const n=r.height/r.width,i=10;this.three.camera.top=n*i,this.three.camera.bottom=-n*i,this.three.camera.right=i,this.three.camera.left=-i,this.three.camera.updateProjectionMatrix()}this.manualRender||this.renderThree()}})})}connectedCallback(){super.connectedCallback(),this.dpr===ue&&(this.dpr=window.devicePixelRatio),this.getAttribute(Ve)!==null?this.three.camera=new _.OrthographicCamera:this.three.camera=new _.PerspectiveCamera(75),["scene","camera","renderer"].forEach(u=>{const e=this[u]??this.getAttribute(u)??{},r=typeof e=="string"?Ku(e):e;Object.entries(r).forEach(([s,n])=>{this.three[u]&&fu(this.three[u],s.split("-"),Du(n,this))})}),this.resizeObserver.observe(this),this.background!==null&&(this.three.scene.background=new _.Color(this.background)),this.three.renderer.domElement.addEventListener("pointermove",this.onPointerMove.bind(this)),this.three.renderer.domElement.addEventListener("mousemove",this.onPointerMove.bind(this)),this.three.renderer.domElement.addEventListener("click",this.onClick.bind(this)),this.manualRender||this.updateLoop()}disconnectedCallback(){this.three.renderer.domElement.removeEventListener("pointermove",this.onPointerMove.bind(this)),this.three.renderer.domElement.removeEventListener("mousemove",this.onPointerMove.bind(this)),this.three.renderer.domElement.removeEventListener("click",this.onClick.bind(this)),this.three.renderer.dispose(),this.resizeObserver.unobserve(this),cancelAnimationFrame(this.frame)}handleDefaultSlotChange(u){u.target.assignedElements().forEach(e=>{const r=e;if(r.instance instanceof _.Object3D){let s=!1;if(this.three.scene.traverse(n=>{s||n.uuid===r.instance.uuid&&(s=!0)}),s)return;this.three.scene.add(r.instance),e.getAttributeNames().includes(Zu)&&this.raycastPool.push(r.instance)}}),this.renderThree()}runRaycast(u){if(!this.raycastPool.length||!this.three.camera)return[];const e=this.scratchV2.clone().set(u.clientX/(this.three.renderer.domElement.width/this.dpr)*2-1,-(u.clientY/(this.three.renderer.domElement.height/this.dpr))*2+1);return this.raycaster.setFromCamera(e,this.three.camera),this.raycaster.intersectObjects(this.raycastPool).map(n=>({intersect:n,element:this.querySelector(`[${Vu}="${n.object.uuid}"]`)}))}onPointerMove(u){this.runRaycast.bind(this)(u).forEach(r=>{var s,n,i,o;u.type==="pointermove"?((s=r.element)==null||s.dispatchEvent(new PointerEvent("pointermove")),(n=r.element)==null||n.dispatchEvent(new CustomEvent(ee,{detail:r}))):u.type==="mousemove"&&((i=r.element)==null||i.dispatchEvent(new MouseEvent("mousemove")),(o=r.element)==null||o.dispatchEvent(new CustomEvent(te,{detail:r})))})}onClick(u){let e=[];if(u instanceof TouchEvent){const r=u.touches[0];e=this.runRaycast.bind(this)(r),e.forEach(s=>{var n;(n=s.element)==null||n.dispatchEvent(new TouchEvent("touchstart"))})}else e=this.runRaycast.bind(this)(u),e.forEach(r=>{var s;(s=r.element)==null||s.dispatchEvent(new MouseEvent("click"))});e.forEach(r=>{var s;(s=r.element)==null||s.dispatchEvent(new CustomEvent(re,{detail:r}))})}updateLoop(){this.renderThree(),this.manualRender||(this.frame=requestAnimationFrame(this.updateLoop.bind(this)))}renderThree(u,e){this.dispatchBeforeRender&&this.dispatchEvent(new CustomEvent(se,{})),this.three.camera&&(this.three.renderer.render(u??this.three.scene,e??this.three.camera),this.dispatchAfterRender&&this.dispatchEvent(new CustomEvent(ie,{})))}render(){return ju`
31
31
  <slot @slotchange=${this.handleDefaultSlotChange}></slot>
32
32
  ${this.three.renderer.domElement}
33
- `}};vu.styles=ce`
33
+ `}};vu.styles=he`
34
34
  :host {
35
35
  width: 100%;
36
36
  height: 100%;
@@ -43,4 +43,4 @@
43
43
  max-width: 100%;
44
44
  max-height: 100%;
45
45
  }
46
- `;let P=vu;eu([G()],P.prototype,"background"),eu([G()],P.prototype,"dpr"),eu([G({attribute:"manual-render",type:Boolean})],P.prototype,"manualRender"),eu([G({attribute:"dispatch-before-render",type:Boolean})],P.prototype,"dispatchBeforeRender"),eu([G({attribute:"dispatch-after-render",type:Boolean})],P.prototype,"dispatchAfterRender");const Je=({prependList:t=[]}={})=>{customElements.get("three-lunchbox")||customElements.define("three-lunchbox",P),[...t,...hu].forEach(u=>{const e=ie(u);if(customElements.get(e))return;const r=Ku(u);r&&customElements.define(e,r)})},Ke=(t,u,e=window)=>{if(e.customElements.get(t)){console.log(`${t} already registered as a custom element. Try a different name if registering is still required.`);return}const r=Ku(u);if(r)e.customElements.define(t,r);else throw new Error(`Could not extend ${t}. The second paramater must be a class.`)},ue="threepointermove",ee="threemousemove",te="threeclick",re="beforerender",se="afterrender",ie=t=>{let u=t.split(/\.?(?=[A-Z])/).join("-").toLowerCase().replace(/-g-l-/,"-gl-");return u.includes("-")||(u=`three-${u}`),u},Ze=hu.map(ie);y.AFTER_RENDER_EVENT_NAME=se,y.BEFORE_RENDER_EVENT_NAME=re,y.THREE_CLICK_EVENT_NAME=te,y.THREE_MOUSE_MOVE_EVENT_NAME=ee,y.THREE_POINTER_MOVE_EVENT_NAME=ue,y.ThreeLunchbox=P,y.autoComponents=hu,y.extend=Ke,y.initLunchbox=Je,y.webComponentNames=Ze,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
46
+ `;let P=vu;eu([uu()],P.prototype,"background"),eu([uu()],P.prototype,"dpr"),eu([uu({attribute:"manual-render",type:Boolean})],P.prototype,"manualRender"),eu([uu({attribute:"dispatch-before-render",type:Boolean})],P.prototype,"dispatchBeforeRender"),eu([uu({attribute:"dispatch-after-render",type:Boolean})],P.prototype,"dispatchAfterRender");const We=({prependList:t=[]}={})=>{customElements.get("three-lunchbox")||customElements.define("three-lunchbox",P),[...t,...hu].forEach(u=>{const e=De(u);if(customElements.get(e))return;const r=Qu(u);r&&customElements.define(e,r)})},qe=(t,u,e=window)=>{if(e.customElements.get(t)){console.log(`${t} already registered as a custom element. Try a different name if registering is still required.`);return}const r=Qu(u);if(r)e.customElements.define(t,r);else throw new Error(`Could not extend ${t}. The second paramater must be a class.`)},ee="threepointermove",te="threemousemove",re="threeclick",se="beforerender",ie="afterrender",De=t=>{let u=t.split(/\.?(?=[A-Z])/).join("-").toLowerCase().replace(/-g-l-/,"-gl-");return u.includes("-")||(u=`three-${u}`),u},Je=hu.map(De);y.AFTER_RENDER_EVENT_NAME=ie,y.BEFORE_RENDER_EVENT_NAME=se,y.THREE_CLICK_EVENT_NAME=re,y.THREE_MOUSE_MOVE_EVENT_NAME=te,y.THREE_POINTER_MOVE_EVENT_NAME=ee,y.ThreeLunchbox=P,y.autoComponents=hu,y.extend=qe,y.initLunchbox=We,y.webComponentNames=Je,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
@@ -1 +1 @@
1
- export declare const parseAttributeValue: (targetValue: unknown, element: HTMLElement) => unknown;
1
+ export declare const parseAttributeOrPropertyValue: (targetValue: unknown, element: HTMLElement) => unknown;
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "types": "./dist/src/index.d.ts"
13
13
  }
14
14
  },
15
- "version": "2.0.2",
15
+ "version": "2.1.1",
16
16
  "type": "module",
17
17
  "types": "./dist/src/index.d.ts",
18
18
  "scripts": {
@@ -20,7 +20,9 @@
20
20
  "build": "tsc && vite build",
21
21
  "preview": "vite preview",
22
22
  "cy:open": "cypress open",
23
- "test": "cypress run"
23
+ "test:e2e": "cypress run",
24
+ "test:unit": "vitest",
25
+ "test": "npm run test:unit && npm run test:e2e"
24
26
  },
25
27
  "dependencies": {
26
28
  "json5": "^2.2.3",
@@ -31,9 +33,11 @@
31
33
  "@types/node": "^20.12.7",
32
34
  "@types/three": "^0.164.0",
33
35
  "cypress": "^13.9.0",
36
+ "happy-dom": "^16.8.1",
34
37
  "three": "^0.164.1",
35
38
  "typescript": "^5.2.2",
36
39
  "vite": "^5.2.0",
37
- "vite-plugin-dts": "^3.9.1"
40
+ "vite-plugin-dts": "^3.9.1",
41
+ "vitest": "^3.0.5"
38
42
  }
39
43
  }