From e37ece581b92ed83043355d7ffa41a64d453441a Mon Sep 17 00:00:00 2001 From: Brian Beck Date: Tue, 9 Dec 2025 17:31:37 -0800 Subject: [PATCH] more accurate InteriorInstance lightmap values --- docs/404.html | 2 +- docs/404/index.html | 2 +- docs/_next/static/chunks/9df2d46c5eaa77d2.js | 1 + docs/_next/static/chunks/bce28defe6a29ff5.js | 1 - .../_buildManifest.js | 0 .../_clientMiddlewareManifest.json | 0 .../_ssgManifest.js | 0 docs/index.html | 2 +- docs/index.txt | 4 +-- src/components/InteriorInstance.tsx | 25 +++++++++++++------ 10 files changed, 24 insertions(+), 13 deletions(-) create mode 100644 docs/_next/static/chunks/9df2d46c5eaa77d2.js delete mode 100644 docs/_next/static/chunks/bce28defe6a29ff5.js rename docs/_next/static/{Z2orC9Oxj30KOCL7Wakqt => nCiBD1gBZD0BBktWqKGDD}/_buildManifest.js (100%) rename docs/_next/static/{Z2orC9Oxj30KOCL7Wakqt => nCiBD1gBZD0BBktWqKGDD}/_clientMiddlewareManifest.json (100%) rename docs/_next/static/{Z2orC9Oxj30KOCL7Wakqt => nCiBD1gBZD0BBktWqKGDD}/_ssgManifest.js (100%) diff --git a/docs/404.html b/docs/404.html index c705d824..20cd34d2 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1 +1 @@ -404: This page could not be found.MapGenius – Explore maps for Tribes 2

404

This page could not be found.

\ No newline at end of file +404: This page could not be found.MapGenius – Explore maps for Tribes 2

404

This page could not be found.

\ No newline at end of file diff --git a/docs/404/index.html b/docs/404/index.html index c705d824..20cd34d2 100644 --- a/docs/404/index.html +++ b/docs/404/index.html @@ -1 +1 @@ -404: This page could not be found.MapGenius – Explore maps for Tribes 2

404

This page could not be found.

\ No newline at end of file +404: This page could not be found.MapGenius – Explore maps for Tribes 2

404

This page could not be found.

\ No newline at end of file diff --git a/docs/_next/static/chunks/9df2d46c5eaa77d2.js b/docs/_next/static/chunks/9df2d46c5eaa77d2.js new file mode 100644 index 00000000..abe8e75a --- /dev/null +++ b/docs/_next/static/chunks/9df2d46c5eaa77d2.js @@ -0,0 +1 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18566,(e,t,r)=>{t.exports=e.r(76562)},38360,(e,t,r)=>{var n={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},i=Object.keys(n).join("|"),a=RegExp(i,"g"),o=RegExp(i,"");function s(e){return n[e]}var l=function(e){return e.replace(a,s)};t.exports=l,t.exports.has=function(e){return!!e.match(o)},t.exports.remove=l},29402,(e,t,r)=>{var n,i,a="__lodash_hash_undefined__",o=1/0,s="[object Arguments]",l="[object Array]",u="[object Boolean]",c="[object Date]",d="[object Error]",f="[object Function]",h="[object Map]",m="[object Number]",p="[object Object]",A="[object Promise]",g="[object RegExp]",B="[object Set]",C="[object String]",y="[object Symbol]",b="[object WeakMap]",M="[object ArrayBuffer]",E="[object DataView]",x=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,F=/^\w*$/,S=/^\./,T=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,w=/\\(\\)?/g,R=/^\[object .+?Constructor\]$/,I=/^(?:0|[1-9]\d*)$/,D={};D["[object Float32Array]"]=D["[object Float64Array]"]=D["[object Int8Array]"]=D["[object Int16Array]"]=D["[object Int32Array]"]=D["[object Uint8Array]"]=D["[object Uint8ClampedArray]"]=D["[object Uint16Array]"]=D["[object Uint32Array]"]=!0,D[s]=D[l]=D[M]=D[u]=D[E]=D[c]=D[d]=D[f]=D[h]=D[m]=D[p]=D[g]=D[B]=D[C]=D[b]=!1;var G=e.g&&e.g.Object===Object&&e.g,L="object"==typeof self&&self&&self.Object===Object&&self,P=G||L||Function("return this")(),H=r&&!r.nodeType&&r,O=H&&t&&!t.nodeType&&t,k=O&&O.exports===H&&G.process,_=function(){try{return k&&k.binding("util")}catch(e){}}(),U=_&&_.isTypedArray;function j(e,t){for(var r=-1,n=e?e.length:0,i=Array(n);++r-1},ey.prototype.set=function(e,t){var r=this.__data__,n=ex(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},eb.prototype.clear=function(){this.__data__={hash:new eC,map:new(es||ey),string:new eC}},eb.prototype.delete=function(e){return eG(this,e).delete(e)},eb.prototype.get=function(e){return eG(this,e).get(e)},eb.prototype.has=function(e){return eG(this,e).has(e)},eb.prototype.set=function(e,t){return eG(this,e).set(e,t),this},eM.prototype.add=eM.prototype.push=function(e){return this.__data__.set(e,a),this},eM.prototype.has=function(e){return this.__data__.has(e)},eE.prototype.clear=function(){this.__data__=new ey},eE.prototype.delete=function(e){return this.__data__.delete(e)},eE.prototype.get=function(e){return this.__data__.get(e)},eE.prototype.has=function(e){return this.__data__.has(e)},eE.prototype.set=function(e,t){var r=this.__data__;if(r instanceof ey){var n=r.__data__;if(!es||n.length<199)return n.push([e,t]),this;r=this.__data__=new eb(n)}return r.set(e,t),this};var eF=function(e,t){return function(r,n){if(null==r)return r;if(!eW(r))return e(r,n);for(var i=r.length,a=-1,o=Object(r);(t?a--:++as))return!1;var u=a.get(e);if(u&&a.get(t))return u==t;var c=-1,d=!0,f=1&i?new eM:void 0;for(a.set(e,t),a.set(t,e);++c-1&&e%1==0&&e-1&&e%1==0&&e<=0x1fffffffffffff}function eq(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function eY(e){return!!e&&"object"==typeof e}function eZ(e){return"symbol"==typeof e||eY(e)&&$.call(e)==y}var ez=U?J(U):function(e){return eY(e)&&eX(e.length)&&!!D[$.call(e)]};function e$(e){return eW(e)?function(e,t){var r=eQ(e)||eK(e)?function(e,t){for(var r=-1,n=Array(e);++rt||a&&o&&l&&!s&&!u||n&&o&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&e=s)return l;return l*("desc"==r[n]?-1:1)}}return e.index-t.index}(e,t,r)});l--;)s[l]=s[l].value;return s}(e,t,r))}},81405,(e,t,r)=>{e.e,t.exports=function(){var e=function(){function t(e){return i.appendChild(e.dom),e}function r(e){for(var t=0;to+1e3&&(l.update(1e3*s/(e-o),100),o=e,s=0,c)){var t=performance.memory;c.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){a=this.end()},domElement:i,setMode:r}};return e.Panel=function(e,t,r){var n=1/0,i=0,a=Math.round,o=a(window.devicePixelRatio||1),s=80*o,l=48*o,u=3*o,c=2*o,d=3*o,f=15*o,h=74*o,m=30*o,p=document.createElement("canvas");p.width=s,p.height=l,p.style.cssText="width:80px;height:48px";var A=p.getContext("2d");return A.font="bold "+9*o+"px Helvetica,Arial,sans-serif",A.textBaseline="top",A.fillStyle=r,A.fillRect(0,0,s,l),A.fillStyle=t,A.fillText(e,u,c),A.fillRect(d,f,h,m),A.fillStyle=r,A.globalAlpha=.9,A.fillRect(d,f,h,m),{dom:p,update:function(l,g){n=Math.min(n,l),i=Math.max(i,l),A.fillStyle=r,A.globalAlpha=1,A.fillRect(0,0,s,f),A.fillStyle=t,A.fillText(a(l)+" "+e+" ("+a(n)+"-"+a(i)+")",u,c),A.drawImage(p,d+o,f,h-o,m,d,f,h-o,m),A.fillRect(d+h-o,f,o,m),A.fillStyle=r,A.globalAlpha=.9,A.fillRect(d+h-o,f,o,a((1-l/g)*m))}}},e}()},31713,e=>{"use strict";let t;e.s(["default",()=>l6],31713);var r,n,i,a,o,s,l,u,c,d,f,h,m,p,A,g,B,C,y,b,M,E,x,F,S,T,w,R,I,D,G,L,P,H,O,k,_,U,j,J,N,K,Q,W,V,X,q,Y,Z,z,$,ee,et,er,en,ei,ea,eo,es=e.i(43476),el=e.i(71645),eu=e.i(18566),ec=e.i(46712);e.s(["ACESFilmicToneMapping",()=>ef.ACESFilmicToneMapping,"AddEquation",()=>ef.AddEquation,"AddOperation",()=>ef.AddOperation,"AdditiveAnimationBlendMode",()=>ef.AdditiveAnimationBlendMode,"AdditiveBlending",()=>ef.AdditiveBlending,"AgXToneMapping",()=>ef.AgXToneMapping,"AlphaFormat",()=>ef.AlphaFormat,"AlwaysCompare",()=>ef.AlwaysCompare,"AlwaysDepth",()=>ef.AlwaysDepth,"AlwaysStencilFunc",()=>ef.AlwaysStencilFunc,"AmbientLight",()=>ef.AmbientLight,"AnimationAction",()=>ef.AnimationAction,"AnimationClip",()=>ef.AnimationClip,"AnimationLoader",()=>ef.AnimationLoader,"AnimationMixer",()=>ef.AnimationMixer,"AnimationObjectGroup",()=>ef.AnimationObjectGroup,"AnimationUtils",()=>ef.AnimationUtils,"ArcCurve",()=>ef.ArcCurve,"ArrayCamera",()=>ef.ArrayCamera,"ArrowHelper",()=>ef.ArrowHelper,"AttachedBindMode",()=>ef.AttachedBindMode,"Audio",()=>ef.Audio,"AudioAnalyser",()=>ef.AudioAnalyser,"AudioContext",()=>ef.AudioContext,"AudioListener",()=>ef.AudioListener,"AudioLoader",()=>ef.AudioLoader,"AxesHelper",()=>ef.AxesHelper,"BackSide",()=>ef.BackSide,"BasicDepthPacking",()=>ef.BasicDepthPacking,"BasicShadowMap",()=>ef.BasicShadowMap,"BatchedMesh",()=>ef.BatchedMesh,"Bone",()=>ef.Bone,"BooleanKeyframeTrack",()=>ef.BooleanKeyframeTrack,"Box2",()=>ef.Box2,"Box3",()=>ef.Box3,"Box3Helper",()=>ef.Box3Helper,"BoxGeometry",()=>ef.BoxGeometry,"BoxHelper",()=>ef.BoxHelper,"BufferAttribute",()=>ef.BufferAttribute,"BufferGeometry",()=>ef.BufferGeometry,"BufferGeometryLoader",()=>ef.BufferGeometryLoader,"ByteType",()=>ef.ByteType,"Cache",()=>ef.Cache,"Camera",()=>ef.Camera,"CameraHelper",()=>ef.CameraHelper,"CanvasTexture",()=>ef.CanvasTexture,"CapsuleGeometry",()=>ef.CapsuleGeometry,"CatmullRomCurve3",()=>ef.CatmullRomCurve3,"CineonToneMapping",()=>ef.CineonToneMapping,"CircleGeometry",()=>ef.CircleGeometry,"ClampToEdgeWrapping",()=>ef.ClampToEdgeWrapping,"Clock",()=>ef.Clock,"Color",()=>ef.Color,"ColorKeyframeTrack",()=>ef.ColorKeyframeTrack,"ColorManagement",()=>ef.ColorManagement,"CompressedArrayTexture",()=>ef.CompressedArrayTexture,"CompressedCubeTexture",()=>ef.CompressedCubeTexture,"CompressedTexture",()=>ef.CompressedTexture,"CompressedTextureLoader",()=>ef.CompressedTextureLoader,"ConeGeometry",()=>ef.ConeGeometry,"ConstantAlphaFactor",()=>ef.ConstantAlphaFactor,"ConstantColorFactor",()=>ef.ConstantColorFactor,"Controls",()=>ef.Controls,"CubeCamera",()=>ef.CubeCamera,"CubeReflectionMapping",()=>ef.CubeReflectionMapping,"CubeRefractionMapping",()=>ef.CubeRefractionMapping,"CubeTexture",()=>ef.CubeTexture,"CubeTextureLoader",()=>ef.CubeTextureLoader,"CubeUVReflectionMapping",()=>ef.CubeUVReflectionMapping,"CubicBezierCurve",()=>ef.CubicBezierCurve,"CubicBezierCurve3",()=>ef.CubicBezierCurve3,"CubicInterpolant",()=>ef.CubicInterpolant,"CullFaceBack",()=>ef.CullFaceBack,"CullFaceFront",()=>ef.CullFaceFront,"CullFaceFrontBack",()=>ef.CullFaceFrontBack,"CullFaceNone",()=>ef.CullFaceNone,"Curve",()=>ef.Curve,"CurvePath",()=>ef.CurvePath,"CustomBlending",()=>ef.CustomBlending,"CustomToneMapping",()=>ef.CustomToneMapping,"CylinderGeometry",()=>ef.CylinderGeometry,"Cylindrical",()=>ef.Cylindrical,"Data3DTexture",()=>ef.Data3DTexture,"DataArrayTexture",()=>ef.DataArrayTexture,"DataTexture",()=>ef.DataTexture,"DataTextureLoader",()=>ef.DataTextureLoader,"DataUtils",()=>ef.DataUtils,"DecrementStencilOp",()=>ef.DecrementStencilOp,"DecrementWrapStencilOp",()=>ef.DecrementWrapStencilOp,"DefaultLoadingManager",()=>ef.DefaultLoadingManager,"DepthFormat",()=>ef.DepthFormat,"DepthStencilFormat",()=>ef.DepthStencilFormat,"DepthTexture",()=>ef.DepthTexture,"DetachedBindMode",()=>ef.DetachedBindMode,"DirectionalLight",()=>ef.DirectionalLight,"DirectionalLightHelper",()=>ef.DirectionalLightHelper,"DiscreteInterpolant",()=>ef.DiscreteInterpolant,"DodecahedronGeometry",()=>ef.DodecahedronGeometry,"DoubleSide",()=>ef.DoubleSide,"DstAlphaFactor",()=>ef.DstAlphaFactor,"DstColorFactor",()=>ef.DstColorFactor,"DynamicCopyUsage",()=>ef.DynamicCopyUsage,"DynamicDrawUsage",()=>ef.DynamicDrawUsage,"DynamicReadUsage",()=>ef.DynamicReadUsage,"EdgesGeometry",()=>ef.EdgesGeometry,"EllipseCurve",()=>ef.EllipseCurve,"EqualCompare",()=>ef.EqualCompare,"EqualDepth",()=>ef.EqualDepth,"EqualStencilFunc",()=>ef.EqualStencilFunc,"EquirectangularReflectionMapping",()=>ef.EquirectangularReflectionMapping,"EquirectangularRefractionMapping",()=>ef.EquirectangularRefractionMapping,"Euler",()=>ef.Euler,"EventDispatcher",()=>ef.EventDispatcher,"ExternalTexture",()=>ef.ExternalTexture,"ExtrudeGeometry",()=>ef.ExtrudeGeometry,"FileLoader",()=>ef.FileLoader,"Float16BufferAttribute",()=>ef.Float16BufferAttribute,"Float32BufferAttribute",()=>ef.Float32BufferAttribute,"FloatType",()=>ef.FloatType,"Fog",()=>ef.Fog,"FogExp2",()=>ef.FogExp2,"FramebufferTexture",()=>ef.FramebufferTexture,"FrontSide",()=>ef.FrontSide,"Frustum",()=>ef.Frustum,"FrustumArray",()=>ef.FrustumArray,"GLBufferAttribute",()=>ef.GLBufferAttribute,"GLSL1",()=>ef.GLSL1,"GLSL3",()=>ef.GLSL3,"GreaterCompare",()=>ef.GreaterCompare,"GreaterDepth",()=>ef.GreaterDepth,"GreaterEqualCompare",()=>ef.GreaterEqualCompare,"GreaterEqualDepth",()=>ef.GreaterEqualDepth,"GreaterEqualStencilFunc",()=>ef.GreaterEqualStencilFunc,"GreaterStencilFunc",()=>ef.GreaterStencilFunc,"GridHelper",()=>ef.GridHelper,"Group",()=>ef.Group,"HalfFloatType",()=>ef.HalfFloatType,"HemisphereLight",()=>ef.HemisphereLight,"HemisphereLightHelper",()=>ef.HemisphereLightHelper,"IcosahedronGeometry",()=>ef.IcosahedronGeometry,"ImageBitmapLoader",()=>ef.ImageBitmapLoader,"ImageLoader",()=>ef.ImageLoader,"ImageUtils",()=>ef.ImageUtils,"IncrementStencilOp",()=>ef.IncrementStencilOp,"IncrementWrapStencilOp",()=>ef.IncrementWrapStencilOp,"InstancedBufferAttribute",()=>ef.InstancedBufferAttribute,"InstancedBufferGeometry",()=>ef.InstancedBufferGeometry,"InstancedInterleavedBuffer",()=>ef.InstancedInterleavedBuffer,"InstancedMesh",()=>ef.InstancedMesh,"Int16BufferAttribute",()=>ef.Int16BufferAttribute,"Int32BufferAttribute",()=>ef.Int32BufferAttribute,"Int8BufferAttribute",()=>ef.Int8BufferAttribute,"IntType",()=>ef.IntType,"InterleavedBuffer",()=>ef.InterleavedBuffer,"InterleavedBufferAttribute",()=>ef.InterleavedBufferAttribute,"Interpolant",()=>ef.Interpolant,"InterpolateDiscrete",()=>ef.InterpolateDiscrete,"InterpolateLinear",()=>ef.InterpolateLinear,"InterpolateSmooth",()=>ef.InterpolateSmooth,"InterpolationSamplingMode",()=>ef.InterpolationSamplingMode,"InterpolationSamplingType",()=>ef.InterpolationSamplingType,"InvertStencilOp",()=>ef.InvertStencilOp,"KeepStencilOp",()=>ef.KeepStencilOp,"KeyframeTrack",()=>ef.KeyframeTrack,"LOD",()=>ef.LOD,"LatheGeometry",()=>ef.LatheGeometry,"Layers",()=>ef.Layers,"LessCompare",()=>ef.LessCompare,"LessDepth",()=>ef.LessDepth,"LessEqualCompare",()=>ef.LessEqualCompare,"LessEqualDepth",()=>ef.LessEqualDepth,"LessEqualStencilFunc",()=>ef.LessEqualStencilFunc,"LessStencilFunc",()=>ef.LessStencilFunc,"Light",()=>ef.Light,"LightProbe",()=>ef.LightProbe,"Line",()=>ef.Line,"Line3",()=>ef.Line3,"LineBasicMaterial",()=>ef.LineBasicMaterial,"LineCurve",()=>ef.LineCurve,"LineCurve3",()=>ef.LineCurve3,"LineDashedMaterial",()=>ef.LineDashedMaterial,"LineLoop",()=>ef.LineLoop,"LineSegments",()=>ef.LineSegments,"LinearFilter",()=>ef.LinearFilter,"LinearInterpolant",()=>ef.LinearInterpolant,"LinearMipMapLinearFilter",()=>ef.LinearMipMapLinearFilter,"LinearMipMapNearestFilter",()=>ef.LinearMipMapNearestFilter,"LinearMipmapLinearFilter",()=>ef.LinearMipmapLinearFilter,"LinearMipmapNearestFilter",()=>ef.LinearMipmapNearestFilter,"LinearSRGBColorSpace",()=>ef.LinearSRGBColorSpace,"LinearToneMapping",()=>ef.LinearToneMapping,"LinearTransfer",()=>ef.LinearTransfer,"Loader",()=>ef.Loader,"LoaderUtils",()=>ef.LoaderUtils,"LoadingManager",()=>ef.LoadingManager,"LoopOnce",()=>ef.LoopOnce,"LoopPingPong",()=>ef.LoopPingPong,"LoopRepeat",()=>ef.LoopRepeat,"MOUSE",()=>ef.MOUSE,"Material",()=>ef.Material,"MaterialLoader",()=>ef.MaterialLoader,"MathUtils",()=>ef.MathUtils,"Matrix2",()=>ef.Matrix2,"Matrix3",()=>ef.Matrix3,"Matrix4",()=>ef.Matrix4,"MaxEquation",()=>ef.MaxEquation,"Mesh",()=>ef.Mesh,"MeshBasicMaterial",()=>ef.MeshBasicMaterial,"MeshDepthMaterial",()=>ef.MeshDepthMaterial,"MeshDistanceMaterial",()=>ef.MeshDistanceMaterial,"MeshLambertMaterial",()=>ef.MeshLambertMaterial,"MeshMatcapMaterial",()=>ef.MeshMatcapMaterial,"MeshNormalMaterial",()=>ef.MeshNormalMaterial,"MeshPhongMaterial",()=>ef.MeshPhongMaterial,"MeshPhysicalMaterial",()=>ef.MeshPhysicalMaterial,"MeshStandardMaterial",()=>ef.MeshStandardMaterial,"MeshToonMaterial",()=>ef.MeshToonMaterial,"MinEquation",()=>ef.MinEquation,"MirroredRepeatWrapping",()=>ef.MirroredRepeatWrapping,"MixOperation",()=>ef.MixOperation,"MultiplyBlending",()=>ef.MultiplyBlending,"MultiplyOperation",()=>ef.MultiplyOperation,"NearestFilter",()=>ef.NearestFilter,"NearestMipMapLinearFilter",()=>ef.NearestMipMapLinearFilter,"NearestMipMapNearestFilter",()=>ef.NearestMipMapNearestFilter,"NearestMipmapLinearFilter",()=>ef.NearestMipmapLinearFilter,"NearestMipmapNearestFilter",()=>ef.NearestMipmapNearestFilter,"NeutralToneMapping",()=>ef.NeutralToneMapping,"NeverCompare",()=>ef.NeverCompare,"NeverDepth",()=>ef.NeverDepth,"NeverStencilFunc",()=>ef.NeverStencilFunc,"NoBlending",()=>ef.NoBlending,"NoColorSpace",()=>ef.NoColorSpace,"NoToneMapping",()=>ef.NoToneMapping,"NormalAnimationBlendMode",()=>ef.NormalAnimationBlendMode,"NormalBlending",()=>ef.NormalBlending,"NotEqualCompare",()=>ef.NotEqualCompare,"NotEqualDepth",()=>ef.NotEqualDepth,"NotEqualStencilFunc",()=>ef.NotEqualStencilFunc,"NumberKeyframeTrack",()=>ef.NumberKeyframeTrack,"Object3D",()=>ef.Object3D,"ObjectLoader",()=>ef.ObjectLoader,"ObjectSpaceNormalMap",()=>ef.ObjectSpaceNormalMap,"OctahedronGeometry",()=>ef.OctahedronGeometry,"OneFactor",()=>ef.OneFactor,"OneMinusConstantAlphaFactor",()=>ef.OneMinusConstantAlphaFactor,"OneMinusConstantColorFactor",()=>ef.OneMinusConstantColorFactor,"OneMinusDstAlphaFactor",()=>ef.OneMinusDstAlphaFactor,"OneMinusDstColorFactor",()=>ef.OneMinusDstColorFactor,"OneMinusSrcAlphaFactor",()=>ef.OneMinusSrcAlphaFactor,"OneMinusSrcColorFactor",()=>ef.OneMinusSrcColorFactor,"OrthographicCamera",()=>ef.OrthographicCamera,"PCFShadowMap",()=>ef.PCFShadowMap,"PCFSoftShadowMap",()=>ef.PCFSoftShadowMap,"PMREMGenerator",()=>ed.PMREMGenerator,"Path",()=>ef.Path,"PerspectiveCamera",()=>ef.PerspectiveCamera,"Plane",()=>ef.Plane,"PlaneGeometry",()=>ef.PlaneGeometry,"PlaneHelper",()=>ef.PlaneHelper,"PointLight",()=>ef.PointLight,"PointLightHelper",()=>ef.PointLightHelper,"Points",()=>ef.Points,"PointsMaterial",()=>ef.PointsMaterial,"PolarGridHelper",()=>ef.PolarGridHelper,"PolyhedronGeometry",()=>ef.PolyhedronGeometry,"PositionalAudio",()=>ef.PositionalAudio,"PropertyBinding",()=>ef.PropertyBinding,"PropertyMixer",()=>ef.PropertyMixer,"QuadraticBezierCurve",()=>ef.QuadraticBezierCurve,"QuadraticBezierCurve3",()=>ef.QuadraticBezierCurve3,"Quaternion",()=>ef.Quaternion,"QuaternionKeyframeTrack",()=>ef.QuaternionKeyframeTrack,"QuaternionLinearInterpolant",()=>ef.QuaternionLinearInterpolant,"RED_GREEN_RGTC2_Format",()=>ef.RED_GREEN_RGTC2_Format,"RED_RGTC1_Format",()=>ef.RED_RGTC1_Format,"REVISION",()=>ef.REVISION,"RGBADepthPacking",()=>ef.RGBADepthPacking,"RGBAFormat",()=>ef.RGBAFormat,"RGBAIntegerFormat",()=>ef.RGBAIntegerFormat,"RGBA_ASTC_10x10_Format",()=>ef.RGBA_ASTC_10x10_Format,"RGBA_ASTC_10x5_Format",()=>ef.RGBA_ASTC_10x5_Format,"RGBA_ASTC_10x6_Format",()=>ef.RGBA_ASTC_10x6_Format,"RGBA_ASTC_10x8_Format",()=>ef.RGBA_ASTC_10x8_Format,"RGBA_ASTC_12x10_Format",()=>ef.RGBA_ASTC_12x10_Format,"RGBA_ASTC_12x12_Format",()=>ef.RGBA_ASTC_12x12_Format,"RGBA_ASTC_4x4_Format",()=>ef.RGBA_ASTC_4x4_Format,"RGBA_ASTC_5x4_Format",()=>ef.RGBA_ASTC_5x4_Format,"RGBA_ASTC_5x5_Format",()=>ef.RGBA_ASTC_5x5_Format,"RGBA_ASTC_6x5_Format",()=>ef.RGBA_ASTC_6x5_Format,"RGBA_ASTC_6x6_Format",()=>ef.RGBA_ASTC_6x6_Format,"RGBA_ASTC_8x5_Format",()=>ef.RGBA_ASTC_8x5_Format,"RGBA_ASTC_8x6_Format",()=>ef.RGBA_ASTC_8x6_Format,"RGBA_ASTC_8x8_Format",()=>ef.RGBA_ASTC_8x8_Format,"RGBA_BPTC_Format",()=>ef.RGBA_BPTC_Format,"RGBA_ETC2_EAC_Format",()=>ef.RGBA_ETC2_EAC_Format,"RGBA_PVRTC_2BPPV1_Format",()=>ef.RGBA_PVRTC_2BPPV1_Format,"RGBA_PVRTC_4BPPV1_Format",()=>ef.RGBA_PVRTC_4BPPV1_Format,"RGBA_S3TC_DXT1_Format",()=>ef.RGBA_S3TC_DXT1_Format,"RGBA_S3TC_DXT3_Format",()=>ef.RGBA_S3TC_DXT3_Format,"RGBA_S3TC_DXT5_Format",()=>ef.RGBA_S3TC_DXT5_Format,"RGBDepthPacking",()=>ef.RGBDepthPacking,"RGBFormat",()=>ef.RGBFormat,"RGBIntegerFormat",()=>ef.RGBIntegerFormat,"RGB_BPTC_SIGNED_Format",()=>ef.RGB_BPTC_SIGNED_Format,"RGB_BPTC_UNSIGNED_Format",()=>ef.RGB_BPTC_UNSIGNED_Format,"RGB_ETC1_Format",()=>ef.RGB_ETC1_Format,"RGB_ETC2_Format",()=>ef.RGB_ETC2_Format,"RGB_PVRTC_2BPPV1_Format",()=>ef.RGB_PVRTC_2BPPV1_Format,"RGB_PVRTC_4BPPV1_Format",()=>ef.RGB_PVRTC_4BPPV1_Format,"RGB_S3TC_DXT1_Format",()=>ef.RGB_S3TC_DXT1_Format,"RGDepthPacking",()=>ef.RGDepthPacking,"RGFormat",()=>ef.RGFormat,"RGIntegerFormat",()=>ef.RGIntegerFormat,"RawShaderMaterial",()=>ef.RawShaderMaterial,"Ray",()=>ef.Ray,"Raycaster",()=>ef.Raycaster,"RectAreaLight",()=>ef.RectAreaLight,"RedFormat",()=>ef.RedFormat,"RedIntegerFormat",()=>ef.RedIntegerFormat,"ReinhardToneMapping",()=>ef.ReinhardToneMapping,"RenderTarget",()=>ef.RenderTarget,"RenderTarget3D",()=>ef.RenderTarget3D,"RepeatWrapping",()=>ef.RepeatWrapping,"ReplaceStencilOp",()=>ef.ReplaceStencilOp,"ReverseSubtractEquation",()=>ef.ReverseSubtractEquation,"RingGeometry",()=>ef.RingGeometry,"SIGNED_RED_GREEN_RGTC2_Format",()=>ef.SIGNED_RED_GREEN_RGTC2_Format,"SIGNED_RED_RGTC1_Format",()=>ef.SIGNED_RED_RGTC1_Format,"SRGBColorSpace",()=>ef.SRGBColorSpace,"SRGBTransfer",()=>ef.SRGBTransfer,"Scene",()=>ef.Scene,"ShaderChunk",()=>ed.ShaderChunk,"ShaderLib",()=>ed.ShaderLib,"ShaderMaterial",()=>ef.ShaderMaterial,"ShadowMaterial",()=>ef.ShadowMaterial,"Shape",()=>ef.Shape,"ShapeGeometry",()=>ef.ShapeGeometry,"ShapePath",()=>ef.ShapePath,"ShapeUtils",()=>ef.ShapeUtils,"ShortType",()=>ef.ShortType,"Skeleton",()=>ef.Skeleton,"SkeletonHelper",()=>ef.SkeletonHelper,"SkinnedMesh",()=>ef.SkinnedMesh,"Source",()=>ef.Source,"Sphere",()=>ef.Sphere,"SphereGeometry",()=>ef.SphereGeometry,"Spherical",()=>ef.Spherical,"SphericalHarmonics3",()=>ef.SphericalHarmonics3,"SplineCurve",()=>ef.SplineCurve,"SpotLight",()=>ef.SpotLight,"SpotLightHelper",()=>ef.SpotLightHelper,"Sprite",()=>ef.Sprite,"SpriteMaterial",()=>ef.SpriteMaterial,"SrcAlphaFactor",()=>ef.SrcAlphaFactor,"SrcAlphaSaturateFactor",()=>ef.SrcAlphaSaturateFactor,"SrcColorFactor",()=>ef.SrcColorFactor,"StaticCopyUsage",()=>ef.StaticCopyUsage,"StaticDrawUsage",()=>ef.StaticDrawUsage,"StaticReadUsage",()=>ef.StaticReadUsage,"StereoCamera",()=>ef.StereoCamera,"StreamCopyUsage",()=>ef.StreamCopyUsage,"StreamDrawUsage",()=>ef.StreamDrawUsage,"StreamReadUsage",()=>ef.StreamReadUsage,"StringKeyframeTrack",()=>ef.StringKeyframeTrack,"SubtractEquation",()=>ef.SubtractEquation,"SubtractiveBlending",()=>ef.SubtractiveBlending,"TOUCH",()=>ef.TOUCH,"TangentSpaceNormalMap",()=>ef.TangentSpaceNormalMap,"TetrahedronGeometry",()=>ef.TetrahedronGeometry,"Texture",()=>ef.Texture,"TextureLoader",()=>ef.TextureLoader,"TextureUtils",()=>ef.TextureUtils,"Timer",()=>ef.Timer,"TimestampQuery",()=>ef.TimestampQuery,"TorusGeometry",()=>ef.TorusGeometry,"TorusKnotGeometry",()=>ef.TorusKnotGeometry,"Triangle",()=>ef.Triangle,"TriangleFanDrawMode",()=>ef.TriangleFanDrawMode,"TriangleStripDrawMode",()=>ef.TriangleStripDrawMode,"TrianglesDrawMode",()=>ef.TrianglesDrawMode,"TubeGeometry",()=>ef.TubeGeometry,"UVMapping",()=>ef.UVMapping,"Uint16BufferAttribute",()=>ef.Uint16BufferAttribute,"Uint32BufferAttribute",()=>ef.Uint32BufferAttribute,"Uint8BufferAttribute",()=>ef.Uint8BufferAttribute,"Uint8ClampedBufferAttribute",()=>ef.Uint8ClampedBufferAttribute,"Uniform",()=>ef.Uniform,"UniformsGroup",()=>ef.UniformsGroup,"UniformsLib",()=>ed.UniformsLib,"UniformsUtils",()=>ef.UniformsUtils,"UnsignedByteType",()=>ef.UnsignedByteType,"UnsignedInt101111Type",()=>ef.UnsignedInt101111Type,"UnsignedInt248Type",()=>ef.UnsignedInt248Type,"UnsignedInt5999Type",()=>ef.UnsignedInt5999Type,"UnsignedIntType",()=>ef.UnsignedIntType,"UnsignedShort4444Type",()=>ef.UnsignedShort4444Type,"UnsignedShort5551Type",()=>ef.UnsignedShort5551Type,"UnsignedShortType",()=>ef.UnsignedShortType,"VSMShadowMap",()=>ef.VSMShadowMap,"Vector2",()=>ef.Vector2,"Vector3",()=>ef.Vector3,"Vector4",()=>ef.Vector4,"VectorKeyframeTrack",()=>ef.VectorKeyframeTrack,"VideoFrameTexture",()=>ef.VideoFrameTexture,"VideoTexture",()=>ef.VideoTexture,"WebGL3DRenderTarget",()=>ef.WebGL3DRenderTarget,"WebGLArrayRenderTarget",()=>ef.WebGLArrayRenderTarget,"WebGLCoordinateSystem",()=>ef.WebGLCoordinateSystem,"WebGLCubeRenderTarget",()=>ef.WebGLCubeRenderTarget,"WebGLRenderTarget",()=>ef.WebGLRenderTarget,"WebGLRenderer",()=>ed.WebGLRenderer,"WebGLUtils",()=>ed.WebGLUtils,"WebGPUCoordinateSystem",()=>ef.WebGPUCoordinateSystem,"WebXRController",()=>ef.WebXRController,"WireframeGeometry",()=>ef.WireframeGeometry,"WrapAroundEnding",()=>ef.WrapAroundEnding,"ZeroCurvatureEnding",()=>ef.ZeroCurvatureEnding,"ZeroFactor",()=>ef.ZeroFactor,"ZeroSlopeEnding",()=>ef.ZeroSlopeEnding,"ZeroStencilOp",()=>ef.ZeroStencilOp,"createCanvasElement",()=>ef.createCanvasElement],32009);var ed=e.i(8560),ef=e.i(90072),eh=e.i(32009);function em(e,t){let r;return function(){for(var n=arguments.length,i=Array(n),a=0;ae(...i),t)}}let ep=["x","y","top","bottom","left","right","width","height"];var eA=e.i(46791);function eg(e){let{ref:t,children:r,fallback:n,resize:i,style:a,gl:o,events:s=ec.f,eventSource:l,eventPrefix:u,shadows:c,linear:d,flat:f,legacy:h,orthographic:m,frameloop:p,dpr:A,performance:g,raycaster:B,camera:C,scene:y,onPointerMissed:b,onCreated:M,...E}=e;el.useMemo(()=>(0,ec.e)(eh),[]);let x=(0,ec.u)(),[F,S]=function(){var e,t,r;let{debounce:n,scroll:i,polyfill:a,offsetSize:o}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{debounce:0,scroll:!1,offsetSize:!1},s=a||("undefined"==typeof window?class{}:window.ResizeObserver);if(!s)throw Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");let[l,u]=(0,el.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),c=(0,el.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:l,orientationHandler:null}),d=n?"number"==typeof n?n:n.scroll:null,f=n?"number"==typeof n?n:n.resize:null,h=(0,el.useRef)(!1);(0,el.useEffect)(()=>(h.current=!0,()=>void(h.current=!1)));let[m,p,A]=(0,el.useMemo)(()=>{let e=()=>{let e,t;if(!c.current.element)return;let{left:r,top:n,width:i,height:a,bottom:s,right:l,x:d,y:f}=c.current.element.getBoundingClientRect(),m={left:r,top:n,width:i,height:a,bottom:s,right:l,x:d,y:f};c.current.element instanceof HTMLElement&&o&&(m.height=c.current.element.offsetHeight,m.width=c.current.element.offsetWidth),Object.freeze(m),h.current&&(e=c.current.lastBounds,t=m,!ep.every(r=>e[r]===t[r]))&&u(c.current.lastBounds=m)};return[e,f?em(e,f):e,d?em(e,d):e]},[u,o,d,f]);function g(){c.current.scrollContainers&&(c.current.scrollContainers.forEach(e=>e.removeEventListener("scroll",A,!0)),c.current.scrollContainers=null),c.current.resizeObserver&&(c.current.resizeObserver.disconnect(),c.current.resizeObserver=null),c.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",c.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",c.current.orientationHandler))}function B(){c.current.element&&(c.current.resizeObserver=new s(A),c.current.resizeObserver.observe(c.current.element),i&&c.current.scrollContainers&&c.current.scrollContainers.forEach(e=>e.addEventListener("scroll",A,{capture:!0,passive:!0})),c.current.orientationHandler=()=>{A()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",c.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",c.current.orientationHandler))}return e=A,t=!!i,(0,el.useEffect)(()=>{if(t)return window.addEventListener("scroll",e,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",e,!0)},[e,t]),r=p,(0,el.useEffect)(()=>(window.addEventListener("resize",r),()=>void window.removeEventListener("resize",r)),[r]),(0,el.useEffect)(()=>{g(),B()},[i,A,p]),(0,el.useEffect)(()=>g,[]),[e=>{e&&e!==c.current.element&&(g(),c.current.element=e,c.current.scrollContainers=function e(t){let r=[];if(!t||t===document.body)return r;let{overflow:n,overflowX:i,overflowY:a}=window.getComputedStyle(t);return[n,i,a].some(e=>"auto"===e||"scroll"===e)&&r.push(t),[...r,...e(t.parentElement)]}(e),B())},l,m]}({scroll:!0,debounce:{scroll:50,resize:0},...i}),T=el.useRef(null),w=el.useRef(null);el.useImperativeHandle(t,()=>T.current);let R=(0,ec.a)(b),[I,D]=el.useState(!1),[G,L]=el.useState(!1);if(I)throw I;if(G)throw G;let P=el.useRef(null);(0,ec.b)(()=>{let e=T.current;S.width>0&&S.height>0&&e&&(P.current||(P.current=(0,ec.c)(e)),async function(){await P.current.configure({gl:o,scene:y,events:s,shadows:c,linear:d,flat:f,legacy:h,orthographic:m,frameloop:p,dpr:A,performance:g,raycaster:B,camera:C,size:S,onPointerMissed:function(){for(var e=arguments.length,t=Array(e),r=0;r{null==e.events.connect||e.events.connect(l?(0,ec.i)(l)?l.current:l:w.current),u&&e.setEvents({compute:(e,t)=>{let r=e[u+"X"],n=e[u+"Y"];t.pointer.set(r/t.size.width*2-1,-(2*(n/t.size.height))+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),null==M||M(e)}}),P.current.render((0,es.jsx)(x,{children:(0,es.jsx)(ec.E,{set:L,children:(0,es.jsx)(el.Suspense,{fallback:(0,es.jsx)(ec.B,{set:D}),children:null!=r?r:null})})}))}())}),el.useEffect(()=>{let e=T.current;if(e)return()=>(0,ec.d)(e)},[]);let H=l?"none":"auto";return(0,es.jsx)("div",{ref:w,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:H,...a},...E,children:(0,es.jsx)("div",{ref:F,style:{width:"100%",height:"100%"},children:(0,es.jsx)("canvas",{ref:T,style:{display:"block"},children:n})})})}function ev(e){return(0,es.jsx)(eA.FiberProvider,{children:(0,es.jsx)(eg,{...e})})}function eB(e,t,r){if(!t.has(e))throw TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}function eC(e,t){var r=eB(e,t,"get");return r.get?r.get.call(e):r.value}function ey(e,t){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object")}function eb(e,t,r){ey(e,t),t.set(e,r)}function eM(e,t,r){var n=eB(e,t,"set");if(n.set)n.set.call(e,r);else{if(!n.writable)throw TypeError("attempted to set read only private field");n.value=r}return r}function eE(e,t,r){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return r}function ex(e,t){ey(e,t),t.add(e)}e.i(39695),e.i(98133),e.i(95087);var eF=class{subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}};e.i(47167);var eS={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},eT=new(r=new WeakMap,n=new WeakMap,class{setTimeoutProvider(e){eM(this,r,e)}setTimeout(e,t){return eC(this,r).setTimeout(e,t)}clearTimeout(e){eC(this,r).clearTimeout(e)}setInterval(e,t){return eC(this,r).setInterval(e,t)}clearInterval(e){eC(this,r).clearInterval(e)}constructor(){eb(this,r,{writable:!0,value:eS}),eb(this,n,{writable:!0,value:!1})}}),ew="undefined"==typeof window||"Deno"in globalThis;function eR(){}function eI(e){return"number"==typeof e&&e>=0&&e!==1/0}function eD(e,t){return Math.max(e+(t||0)-Date.now(),0)}function eG(e,t){return"function"==typeof e?e(t):e}function eL(e,t){return"function"==typeof e?e(t):e}function eP(e,t){let{type:r="all",exact:n,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(n){if(t.queryHash!==eO(o,t.options))return!1}else if(!e_(t.queryKey,o))return!1}if("all"!==r){let e=t.isActive();if("active"===r&&!e||"inactive"===r&&e)return!1}return("boolean"!=typeof s||t.isStale()===s)&&(!i||i===t.state.fetchStatus)&&(!a||!!a(t))}function eH(e,t){let{exact:r,status:n,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(r){if(ek(t.options.mutationKey)!==ek(a))return!1}else if(!e_(t.options.mutationKey,a))return!1}return(!n||t.state.status===n)&&(!i||!!i(t))}function eO(e,t){return((null==t?void 0:t.queryKeyHashFn)||ek)(e)}function ek(e){return JSON.stringify(e,(e,t)=>eN(t)?Object.keys(t).sort().reduce((e,r)=>(e[r]=t[r],e),{}):t)}function e_(e,t){return e===t||typeof e==typeof t&&!!e&&!!t&&"object"==typeof e&&"object"==typeof t&&Object.keys(t).every(r=>e_(e[r],t[r]))}var eU=Object.prototype.hasOwnProperty;function ej(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(e[r]!==t[r])return!1;return!0}function eJ(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function eN(e){if(!eK(e))return!1;let t=e.constructor;if(void 0===t)return!0;let r=t.prototype;return!!eK(r)&&!!r.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(e)===Object.prototype}function eK(e){return"[object Object]"===Object.prototype.toString.call(e)}function eQ(e,t,r){return"function"==typeof r.structuralSharing?r.structuralSharing(e,t):!1!==r.structuralSharing?function e(t,r){if(t===r)return t;let n=eJ(t)&&eJ(r);if(!n&&!(eN(t)&&eN(r)))return r;let i=(n?t:Object.keys(t)).length,a=n?r:Object.keys(r),o=a.length,s=n?Array(o):{},l=0;for(let u=0;u2&&void 0!==arguments[2]?arguments[2]:0,n=[...e,t];return r&&n.length>r?n.slice(1):n}function eV(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var eX=Symbol();function eq(e,t){return!e.queryFn&&(null==t?void 0:t.initialPromise)?()=>t.initialPromise:e.queryFn&&e.queryFn!==eX?e.queryFn:()=>Promise.reject(Error("Missing queryFn: '".concat(e.queryHash,"'")))}var eY=new(i=new WeakMap,a=new WeakMap,o=new WeakMap,class extends eF{onSubscribe(){eC(this,a)||this.setEventListener(eC(this,o))}onUnsubscribe(){var e;this.hasListeners()||(null==(e=eC(this,a))||e.call(this),eM(this,a,void 0))}setEventListener(e){var t;eM(this,o,e),null==(t=eC(this,a))||t.call(this),eM(this,a,e(e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()}))}setFocused(e){eC(this,i)!==e&&(eM(this,i,e),this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){var e;return"boolean"==typeof eC(this,i)?eC(this,i):(null==(e=globalThis.document)?void 0:e.visibilityState)!=="hidden"}constructor(){super(),eb(this,i,{writable:!0,value:void 0}),eb(this,a,{writable:!0,value:void 0}),eb(this,o,{writable:!0,value:void 0}),eM(this,o,e=>{if(!ew&&window.addEventListener){let t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}})}}),eZ=function(e){setTimeout(e,0)},ez=function(){let e=[],t=0,r=e=>{e()},n=e=>{e()},i=eZ,a=n=>{t?e.push(n):i(()=>{r(n)})};return{batch:a=>{let o;t++;try{o=a()}finally{--t||(()=>{let t=e;e=[],t.length&&i(()=>{n(()=>{t.forEach(e=>{r(e)})})})})()}return o},batchCalls:e=>function(){for(var t=arguments.length,r=Array(t),n=0;n{e(...r)})},schedule:a,setNotifyFunction:e=>{r=e},setBatchNotifyFunction:e=>{n=e},setScheduler:e=>{i=e}}}(),e$=new(s=new WeakMap,l=new WeakMap,u=new WeakMap,class extends eF{onSubscribe(){eC(this,l)||this.setEventListener(eC(this,u))}onUnsubscribe(){var e;this.hasListeners()||(null==(e=eC(this,l))||e.call(this),eM(this,l,void 0))}setEventListener(e){var t;eM(this,u,e),null==(t=eC(this,l))||t.call(this),eM(this,l,e(this.setOnline.bind(this)))}setOnline(e){eC(this,s)!==e&&(eM(this,s,e),this.listeners.forEach(t=>{t(e)}))}isOnline(){return eC(this,s)}constructor(){super(),eb(this,s,{writable:!0,value:!0}),eb(this,l,{writable:!0,value:void 0}),eb(this,u,{writable:!0,value:void 0}),eM(this,u,e=>{if(!ew&&window.addEventListener){let t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}})}});function e0(){let e,t,r=new Promise((r,n)=>{e=r,t=n});function n(e){Object.assign(r,e),delete r.resolve,delete r.reject}return r.status="pending",r.catch(()=>{}),r.resolve=t=>{n({status:"fulfilled",value:t}),e(t)},r.reject=e=>{n({status:"rejected",reason:e}),t(e)},r}function e1(e){return Math.min(1e3*2**e,3e4)}function e9(e){return(null!=e?e:"online")!=="online"||e$.isOnline()}var e2=class extends Error{constructor(e){super("CancelledError"),this.revert=null==e?void 0:e.revert,this.silent=null==e?void 0:e.silent}};function e8(e){let t,r=!1,n=0,i=e0(),a=()=>eY.isFocused()&&("always"===e.networkMode||e$.isOnline())&&e.canRun(),o=()=>e9(e.networkMode)&&e.canRun(),s=e=>{"pending"===i.status&&(null==t||t(),i.resolve(e))},l=e=>{"pending"===i.status&&(null==t||t(),i.reject(e))},u=()=>new Promise(r=>{var n;t=e=>{("pending"!==i.status||a())&&r(e)},null==(n=e.onPause)||n.call(e)}).then(()=>{if(t=void 0,"pending"===i.status){var r;null==(r=e.onContinue)||r.call(e)}}),c=()=>{let t;if("pending"!==i.status)return;let o=0===n?e.initialPromise:void 0;try{t=null!=o?o:e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(s).catch(t=>{var o,s,d;if("pending"!==i.status)return;let f=null!=(s=e.retry)?s:3*!ew,h=null!=(d=e.retryDelay)?d:e1,m="function"==typeof h?h(n,t):h,p=!0===f||"number"==typeof f&&n{eT.setTimeout(e,m)}).then(()=>a()?void 0:u()).then(()=>{r?l(t):c()})})};return{promise:i,status:()=>i.status,cancel:t=>{if("pending"===i.status){var r;let n=new e2(t);l(n),null==(r=e.onCancel)||r.call(e,n)}},continue:()=>(null==t||t(),i),cancelRetry:()=>{r=!0},continueRetry:()=>{r=!1},canStart:o,start:()=>(o()?c():u().then(c),i)}}var e3=(c=new WeakMap,class{destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),eI(this.gcTime)&&eM(this,c,eT.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,null!=e?e:ew?1/0:3e5)}clearGcTimeout(){eC(this,c)&&(eT.clearTimeout(eC(this,c)),eM(this,c,void 0))}constructor(){eb(this,c,{writable:!0,value:void 0})}}),e5=(d=new WeakMap,f=new WeakMap,h=new WeakMap,m=new WeakMap,p=new WeakMap,A=new WeakMap,g=new WeakMap,B=new WeakSet,class extends e3{get meta(){return this.options.meta}get promise(){var e;return null==(e=eC(this,p))?void 0:e.promise}setOptions(e){if(this.options={...eC(this,A),...e},this.updateGcTime(this.options.gcTime),this.state&&void 0===this.state.data){let e=e7(this.options);void 0!==e.data&&(this.setState(e4(e.data,e.dataUpdatedAt)),eM(this,d,e))}}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||eC(this,h).remove(this)}setData(e,t){let r=eQ(this.state.data,e,this.options);return eE(this,B,te).call(this,{data:r,type:"success",dataUpdatedAt:null==t?void 0:t.updatedAt,manual:null==t?void 0:t.manual}),r}setState(e,t){eE(this,B,te).call(this,{type:"setState",state:e,setStateOptions:t})}cancel(e){var t,r;let n=null==(t=eC(this,p))?void 0:t.promise;return null==(r=eC(this,p))||r.cancel(e),n?n.then(eR).catch(eR):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(eC(this,d))}isActive(){return this.observers.some(e=>!1!==eL(e.options.enabled,this))}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===eX||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>"static"===eG(e.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return void 0===this.state.data||"static"!==e&&(!!this.state.isInvalidated||!eD(this.state.dataUpdatedAt,e))}onFocus(){var e;let t=this.observers.find(e=>e.shouldFetchOnWindowFocus());null==t||t.refetch({cancelRefetch:!1}),null==(e=eC(this,p))||e.continue()}onOnline(){var e;let t=this.observers.find(e=>e.shouldFetchOnReconnect());null==t||t.refetch({cancelRefetch:!1}),null==(e=eC(this,p))||e.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),eC(this,h).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(eC(this,p)&&(eC(this,g)?eC(this,p).cancel({revert:!0}):eC(this,p).cancelRetry()),this.scheduleGc()),eC(this,h).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||eE(this,B,te).call(this,{type:"invalidate"})}async fetch(e,t){var r,n,i,a,o,s,l,u,c,d,A,C;if("idle"!==this.state.fetchStatus&&(null==(r=eC(this,p))?void 0:r.status())!=="rejected"){if(void 0!==this.state.data&&(null==t?void 0:t.cancelRefetch))this.cancel({silent:!0});else if(eC(this,p))return eC(this,p).continueRetry(),eC(this,p).promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let y=new AbortController,b=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(eM(this,g,!0),y.signal)})},M=()=>{let e=eq(this.options,t),r=(()=>{let e={client:eC(this,m),queryKey:this.queryKey,meta:this.meta};return b(e),e})();return(eM(this,g,!1),this.options.persister)?this.options.persister(e,r,this):e(r)},E=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:eC(this,m),state:this.state,fetchFn:M};return b(e),e})();null==(n=this.options.behavior)||n.onFetch(E,this),eM(this,f,this.state),("idle"===this.state.fetchStatus||this.state.fetchMeta!==(null==(i=E.fetchOptions)?void 0:i.meta))&&eE(this,B,te).call(this,{type:"fetch",meta:null==(a=E.fetchOptions)?void 0:a.meta}),eM(this,p,e8({initialPromise:null==t?void 0:t.initialPromise,fn:E.fetchFn,onCancel:e=>{e instanceof e2&&e.revert&&this.setState({...eC(this,f),fetchStatus:"idle"}),y.abort()},onFail:(e,t)=>{eE(this,B,te).call(this,{type:"failed",failureCount:e,error:t})},onPause:()=>{eE(this,B,te).call(this,{type:"pause"})},onContinue:()=>{eE(this,B,te).call(this,{type:"continue"})},retry:E.options.retry,retryDelay:E.options.retryDelay,networkMode:E.options.networkMode,canRun:()=>!0}));try{let e=await eC(this,p).start();if(void 0===e)throw Error("".concat(this.queryHash," data is undefined"));return this.setData(e),null==(o=(s=eC(this,h).config).onSuccess)||o.call(s,e,this),null==(l=(u=eC(this,h).config).onSettled)||l.call(u,e,this.state.error,this),e}catch(e){if(e instanceof e2){if(e.silent)return eC(this,p).promise;else if(e.revert){if(void 0===this.state.data)throw e;return this.state.data}}throw eE(this,B,te).call(this,{type:"error",error:e}),null==(c=(d=eC(this,h).config).onError)||c.call(d,e,this),null==(A=(C=eC(this,h).config).onSettled)||A.call(C,this.state.data,e,this),e}finally{this.scheduleGc()}}constructor(e){var t;super(),ex(this,B),eb(this,d,{writable:!0,value:void 0}),eb(this,f,{writable:!0,value:void 0}),eb(this,h,{writable:!0,value:void 0}),eb(this,m,{writable:!0,value:void 0}),eb(this,p,{writable:!0,value:void 0}),eb(this,A,{writable:!0,value:void 0}),eb(this,g,{writable:!0,value:void 0}),eM(this,g,!1),eM(this,A,e.defaultOptions),this.setOptions(e.options),this.observers=[],eM(this,m,e.client),eM(this,h,eC(this,m).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,eM(this,d,e7(this.options)),this.state=null!=(t=e.state)?t:eC(this,d),this.scheduleGc()}});function e6(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:e9(t.networkMode)?"fetching":"paused",...void 0===e&&{error:null,status:"pending"}}}function e4(e,t){return{data:e,dataUpdatedAt:null!=t?t:Date.now(),error:null,isInvalidated:!1,status:"success"}}function e7(e){let t="function"==typeof e.initialData?e.initialData():e.initialData,r=void 0!==t,n=r?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?null!=n?n:Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}function te(e){let t=t=>{switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":var r;return{...t,...e6(t.data,this.options),fetchMeta:null!=(r=e.meta)?r:null};case"success":let n={...t,...e4(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return eM(this,f,e.manual?n:void 0),n;case"error":let i=e.error;return{...t,error:i,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error"};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}};this.state=t(this.state),ez.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),eC(this,h).notify({query:this,type:"updated",action:e})})}var tt=(C=new WeakMap,y=new WeakMap,b=new WeakMap,M=new WeakMap,E=new WeakMap,x=new WeakMap,F=new WeakMap,S=new WeakMap,T=new WeakMap,w=new WeakMap,R=new WeakMap,I=new WeakMap,D=new WeakMap,G=new WeakMap,L=new WeakMap,P=new WeakSet,H=new WeakSet,O=new WeakSet,k=new WeakSet,_=new WeakSet,U=new WeakSet,j=new WeakSet,J=new WeakSet,N=new WeakSet,class extends eF{bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(eC(this,y).addObserver(this),tr(eC(this,y),this.options)?eE(this,P,to).call(this):this.updateResult(),eE(this,_,tc).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return tn(eC(this,y),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return tn(eC(this,y),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,eE(this,U,td).call(this),eE(this,j,tf).call(this),eC(this,y).removeObserver(this)}setOptions(e){let t=this.options,r=eC(this,y);if(this.options=eC(this,C).defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof eL(this.options.enabled,eC(this,y)))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");eE(this,J,th).call(this),eC(this,y).setOptions(this.options),t._defaulted&&!ej(this.options,t)&&eC(this,C).getQueryCache().notify({type:"observerOptionsUpdated",query:eC(this,y),observer:this});let n=this.hasListeners();n&&ti(eC(this,y),r,this.options,t)&&eE(this,P,to).call(this),this.updateResult(),n&&(eC(this,y)!==r||eL(this.options.enabled,eC(this,y))!==eL(t.enabled,eC(this,y))||eG(this.options.staleTime,eC(this,y))!==eG(t.staleTime,eC(this,y)))&&eE(this,H,ts).call(this);let i=eE(this,O,tl).call(this);n&&(eC(this,y)!==r||eL(this.options.enabled,eC(this,y))!==eL(t.enabled,eC(this,y))||i!==eC(this,G))&&eE(this,k,tu).call(this,i)}getOptimisticResult(e){var t,r;let n=eC(this,C).getQueryCache().build(eC(this,C),e),i=this.createResult(n,e);return t=this,r=i,ej(t.getCurrentResult(),r)||(eM(this,M,i),eM(this,x,this.options),eM(this,E,eC(this,y).state)),i}getCurrentResult(){return eC(this,M)}trackResult(e,t){return new Proxy(e,{get:(e,r)=>(this.trackProp(r),null==t||t(r),"promise"===r&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==eC(this,F).status||eC(this,F).reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,r))})}trackProp(e){eC(this,L).add(e)}getCurrentQuery(){return eC(this,y)}refetch(){let{...e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.fetch({...e})}fetchOptimistic(e){let t=eC(this,C).defaultQueryOptions(e),r=eC(this,C).getQueryCache().build(eC(this,C),t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){var t;return eE(this,P,to).call(this,{...e,cancelRefetch:null==(t=e.cancelRefetch)||t}).then(()=>(this.updateResult(),eC(this,M)))}createResult(e,t){let r,n=eC(this,y),i=this.options,a=eC(this,M),o=eC(this,E),s=eC(this,x),l=e!==n?e.state:eC(this,b),{state:u}=e,c={...u},d=!1;if(t._optimisticResults){let r=this.hasListeners(),a=!r&&tr(e,t),o=r&&ti(e,n,t,i);(a||o)&&(c={...c,...e6(u.data,e.options)}),"isRestoring"===t._optimisticResults&&(c.fetchStatus="idle")}let{error:f,errorUpdatedAt:h,status:m}=c;r=c.data;let p=!1;if(void 0!==t.placeholderData&&void 0===r&&"pending"===m){let e;if((null==a?void 0:a.isPlaceholderData)&&t.placeholderData===(null==s?void 0:s.placeholderData))e=a.data,p=!0;else{var A;e="function"==typeof t.placeholderData?t.placeholderData(null==(A=eC(this,R))?void 0:A.state.data,eC(this,R)):t.placeholderData}void 0!==e&&(m="success",r=eQ(null==a?void 0:a.data,e,t),d=!0)}if(t.select&&void 0!==r&&!p)if(a&&r===(null==o?void 0:o.data)&&t.select===eC(this,T))r=eC(this,w);else try{eM(this,T,t.select),r=t.select(r),r=eQ(null==a?void 0:a.data,r,t),eM(this,w,r),eM(this,S,null)}catch(e){eM(this,S,e)}eC(this,S)&&(f=eC(this,S),r=eC(this,w),h=Date.now(),m="error");let g="fetching"===c.fetchStatus,B="pending"===m,C="error"===m,I=B&&g,D=void 0!==r,G={status:m,fetchStatus:c.fetchStatus,isPending:B,isSuccess:"success"===m,isError:C,isInitialLoading:I,isLoading:I,data:r,dataUpdatedAt:c.dataUpdatedAt,error:f,errorUpdatedAt:h,failureCount:c.fetchFailureCount,failureReason:c.fetchFailureReason,errorUpdateCount:c.errorUpdateCount,isFetched:c.dataUpdateCount>0||c.errorUpdateCount>0,isFetchedAfterMount:c.dataUpdateCount>l.dataUpdateCount||c.errorUpdateCount>l.errorUpdateCount,isFetching:g,isRefetching:g&&!B,isLoadingError:C&&!D,isPaused:"paused"===c.fetchStatus,isPlaceholderData:d,isRefetchError:C&&D,isStale:ta(e,t),refetch:this.refetch,promise:eC(this,F),isEnabled:!1!==eL(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=e=>{"error"===G.status?e.reject(G.error):void 0!==G.data&&e.resolve(G.data)},r=()=>{t(eM(this,F,G.promise=e0()))},i=eC(this,F);switch(i.status){case"pending":e.queryHash===n.queryHash&&t(i);break;case"fulfilled":("error"===G.status||G.data!==i.value)&&r();break;case"rejected":("error"!==G.status||G.error!==i.reason)&&r()}}return G}updateResult(){let e=eC(this,M),t=this.createResult(eC(this,y),this.options);if(eM(this,E,eC(this,y).state),eM(this,x,this.options),void 0!==eC(this,E).data&&eM(this,R,eC(this,y)),ej(t,e))return;eM(this,M,t);let r=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,r="function"==typeof t?t():t;if("all"===r||!r&&!eC(this,L).size)return!0;let n=new Set(null!=r?r:eC(this,L));return this.options.throwOnError&&n.add("error"),Object.keys(eC(this,M)).some(t=>eC(this,M)[t]!==e[t]&&n.has(t))};eE(this,N,tm).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&eE(this,_,tc).call(this)}constructor(e,t){super(),ex(this,P),ex(this,H),ex(this,O),ex(this,k),ex(this,_),ex(this,U),ex(this,j),ex(this,J),ex(this,N),eb(this,C,{writable:!0,value:void 0}),eb(this,y,{writable:!0,value:void 0}),eb(this,b,{writable:!0,value:void 0}),eb(this,M,{writable:!0,value:void 0}),eb(this,E,{writable:!0,value:void 0}),eb(this,x,{writable:!0,value:void 0}),eb(this,F,{writable:!0,value:void 0}),eb(this,S,{writable:!0,value:void 0}),eb(this,T,{writable:!0,value:void 0}),eb(this,w,{writable:!0,value:void 0}),eb(this,R,{writable:!0,value:void 0}),eb(this,I,{writable:!0,value:void 0}),eb(this,D,{writable:!0,value:void 0}),eb(this,G,{writable:!0,value:void 0}),eb(this,L,{writable:!0,value:new Set}),this.options=t,eM(this,C,e),eM(this,S,null),eM(this,F,e0()),this.bindMethods(),this.setOptions(t)}});function tr(e,t){return!1!==eL(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&tn(e,t,t.refetchOnMount)}function tn(e,t,r){if(!1!==eL(t.enabled,e)&&"static"!==eG(t.staleTime,e)){let n="function"==typeof r?r(e):r;return"always"===n||!1!==n&&ta(e,t)}return!1}function ti(e,t,r,n){return(e!==t||!1===eL(n.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&ta(e,r)}function ta(e,t){return!1!==eL(t.enabled,e)&&e.isStaleByTime(eG(t.staleTime,e))}function to(e){eE(this,J,th).call(this);let t=eC(this,y).fetch(this.options,e);return(null==e?void 0:e.throwOnError)||(t=t.catch(eR)),t}function ts(){eE(this,U,td).call(this);let e=eG(this.options.staleTime,eC(this,y));if(ew||eC(this,M).isStale||!eI(e))return;let t=eD(eC(this,M).dataUpdatedAt,e);eM(this,I,eT.setTimeout(()=>{eC(this,M).isStale||this.updateResult()},t+1))}function tl(){var e;return null!=(e="function"==typeof this.options.refetchInterval?this.options.refetchInterval(eC(this,y)):this.options.refetchInterval)&&e}function tu(e){eE(this,j,tf).call(this),eM(this,G,e),!ew&&!1!==eL(this.options.enabled,eC(this,y))&&eI(eC(this,G))&&0!==eC(this,G)&&eM(this,D,eT.setInterval(()=>{(this.options.refetchIntervalInBackground||eY.isFocused())&&eE(this,P,to).call(this)},eC(this,G)))}function tc(){eE(this,H,ts).call(this),eE(this,k,tu).call(this,eE(this,O,tl).call(this))}function td(){eC(this,I)&&(eT.clearTimeout(eC(this,I)),eM(this,I,void 0))}function tf(){eC(this,D)&&(eT.clearInterval(eC(this,D)),eM(this,D,void 0))}function th(){let e=eC(this,C).getQueryCache().build(eC(this,C),this.options);if(e===eC(this,y))return;let t=eC(this,y);eM(this,y,e),eM(this,b,e.state),this.hasListeners()&&(null==t||t.removeObserver(this),e.addObserver(this))}function tm(e){ez.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(eC(this,M))}),eC(this,C).getQueryCache().notify({query:eC(this,y),type:"observerResultsUpdated"})})}var tp=el.createContext(void 0),tA=e=>{let{client:t,children:r}=e;return el.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,es.jsx)(tp.Provider,{value:t,children:r})},tg=el.createContext(function(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}()),tv=el.createContext(!1);tv.Provider;var tB=(e,t)=>void 0===t.state.data,tC=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function ty(e,t,r){var n,i,a,o,s;let l=el.useContext(tv),u=el.useContext(tg),c=(e=>{let t=el.useContext(tp);if(e)return e;if(!t)throw Error("No QueryClient set, use QueryClientProvider to set one");return t})(r),d=c.defaultQueryOptions(e);if(null==(i=c.getDefaultOptions().queries)||null==(n=i._experimental_beforeQuery)||n.call(i,d),d._optimisticResults=l?"isRestoring":"optimistic",d.suspense){let e=e=>"static"===e?e:Math.max(null!=e?e:1e3,1e3),t=d.staleTime;d.staleTime="function"==typeof t?function(){for(var r=arguments.length,n=Array(r),i=0;i{u.clearReset()},[u]);let f=!c.getQueryCache().get(d.queryHash),[h]=el.useState(()=>new t(c,d)),m=h.getOptimisticResult(d),p=!l&&!1!==e.subscribed;if(el.useSyncExternalStore(el.useCallback(e=>{let t=p?h.subscribe(ez.batchCalls(e)):eR;return h.updateResult(),t},[h,p]),()=>h.getCurrentResult(),()=>h.getCurrentResult()),el.useEffect(()=>{h.setOptions(d)},[d,h]),(null==d?void 0:d.suspense)&&m.isPending)throw tC(d,h,u);if((e=>{var t,r;let{result:n,errorResetBoundary:i,throwOnError:a,query:o,suspense:s}=e;return n.isError&&!i.isReset()&&!n.isFetching&&o&&(s&&void 0===n.data||(t=a,r=[n.error,o],"function"==typeof t?t(...r):!!t))})({result:m,errorResetBoundary:u,throwOnError:d.throwOnError,query:c.getQueryCache().get(d.queryHash),suspense:d.suspense}))throw m.error;if(null==(o=c.getDefaultOptions().queries)||null==(a=o._experimental_afterQuery)||a.call(o,d,m),d.experimental_prefetchInRender&&!ew&&m.isLoading&&m.isFetching&&!l){let e=f?tC(d,h,u):null==(s=c.getQueryCache().get(d.queryHash))?void 0:s.promise;null==e||e.catch(eR).finally(()=>{h.updateResult()})}return d.notifyOnChangeProps?m:h.trackResult(m)}var tb=e.i(54970),tM=e.i(12979),tE=e.i(5230),tx=e.i(16096),tF=e.i(62395),tS=e.i(75567),tT=e.i(47071);let tw={directional:4,ambient:1.5},tR={directional:3,ambient:1},tI={directional:1,ambient:1.5};var tD=e.i(79123),tG=e.i(47021),tL=e.i(48066);let tP={0:32,1:32,2:32,3:32,4:32,5:32};function tH(e){let{displacementMap:t,visibilityMask:r,textureNames:n,alphaTextures:i,detailTextureName:a,lightmap:o}=e,{debugMode:s}=(0,tD.useDebug)(),l=(0,tT.useTexture)(n.map(e=>(0,tM.terrainTextureToUrl)(e)),e=>{e.forEach(e=>(0,tS.setupColor)(e))}),u=a?(0,tM.textureToUrl)(a):null,c=(0,tT.useTexture)(null!=u?u:tM.FALLBACK_TEXTURE_URL,e=>{(0,tS.setupColor)(e)}),d=(0,el.useCallback)(e=>{!function(e){let{shader:t,baseTextures:r,alphaTextures:n,visibilityMask:i,tiling:a,debugMode:o=!1,detailTexture:s=null,lightmap:l=null}=e,u=r.length;if(t.uniforms.terrainDirectionalFactor={value:tw.directional},t.uniforms.terrainAmbientFactor={value:tw.ambient},r.forEach((e,r)=>{t.uniforms["albedo".concat(r)]={value:e}}),n.forEach((e,r)=>{r>0&&(t.uniforms["mask".concat(r)]={value:e})}),i&&(t.uniforms.visibilityMask={value:i}),r.forEach((e,r)=>{var n;t.uniforms["tiling".concat(r)]={value:null!=(n=a[r])?n:32}}),t.uniforms.debugMode={value:+!!o},l&&(t.uniforms.terrainLightmap={value:l}),s&&(t.uniforms.detailTexture={value:s},t.uniforms.detailTiling={value:64},t.uniforms.detailFadeDistance={value:150},t.vertexShader=t.vertexShader.replace("#include ","#include \nvarying vec3 vTerrainWorldPos;"),t.vertexShader=t.vertexShader.replace("#include ","#include \nvTerrainWorldPos = (modelMatrix * vec4(transformed, 1.0)).xyz;")),t.fragmentShader="\nuniform float terrainDirectionalFactor;\nuniform float terrainAmbientFactor;\nuniform sampler2D albedo0;\nuniform sampler2D albedo1;\nuniform sampler2D albedo2;\nuniform sampler2D albedo3;\nuniform sampler2D albedo4;\nuniform sampler2D albedo5;\nuniform sampler2D mask1;\nuniform sampler2D mask2;\nuniform sampler2D mask3;\nuniform sampler2D mask4;\nuniform sampler2D mask5;\nuniform float tiling0;\nuniform float tiling1;\nuniform float tiling2;\nuniform float tiling3;\nuniform float tiling4;\nuniform float tiling5;\nuniform float debugMode;\n".concat(i?"uniform sampler2D visibilityMask;":"","\n").concat(l?"uniform sampler2D terrainLightmap;":"","\n").concat(s?"uniform sampler2D detailTexture;\nuniform float detailTiling;\nuniform float detailFadeDistance;\nvarying vec3 vTerrainWorldPos;":"","\n\n// Wireframe edge detection for debug mode\nfloat getWireframe(vec2 uv, float gridSize, float lineWidth) {\n vec2 gridUv = uv * gridSize;\n vec2 grid = abs(fract(gridUv - 0.5) - 0.5);\n vec2 deriv = fwidth(gridUv);\n vec2 edge = smoothstep(vec2(0.0), deriv * lineWidth, grid);\n return 1.0 - min(edge.x, edge.y);\n}\n")+t.fragmentShader,i){let e="#include ";t.fragmentShader=t.fragmentShader.replace(e,"".concat(e,"\n // Early discard for invisible areas (before fog/lighting)\n float visibility = texture2D(visibilityMask, vMapUv).r;\n if (visibility < 0.5) {\n discard;\n }\n "))}t.fragmentShader=t.fragmentShader.replace("#include ","\n // Sample base albedo layers (sRGB textures auto-decoded to linear)\n vec2 baseUv = vMapUv;\n vec3 c0 = texture2D(albedo0, baseUv * vec2(tiling0)).rgb;\n ".concat(u>1?"vec3 c1 = texture2D(albedo1, baseUv * vec2(tiling1)).rgb;":"","\n ").concat(u>2?"vec3 c2 = texture2D(albedo2, baseUv * vec2(tiling2)).rgb;":"","\n ").concat(u>3?"vec3 c3 = texture2D(albedo3, baseUv * vec2(tiling3)).rgb;":"","\n ").concat(u>4?"vec3 c4 = texture2D(albedo4, baseUv * vec2(tiling4)).rgb;":"","\n ").concat(u>5?"vec3 c5 = texture2D(albedo5, baseUv * vec2(tiling5)).rgb;":"","\n\n // Sample linear masks (use R channel)\n // Add +0.5 texel offset: Torque samples alpha at grid corners (integer indices),\n // but GPU linear filtering samples at texel centers. This offset aligns them.\n vec2 alphaUv = baseUv + vec2(0.5 / ").concat(256,".0);\n float a1 = texture2D(mask1, alphaUv).r;\n ").concat(u>1?"float a2 = texture2D(mask2, alphaUv).r;":"","\n ").concat(u>2?"float a3 = texture2D(mask3, alphaUv).r;":"","\n ").concat(u>3?"float a4 = texture2D(mask4, alphaUv).r;":"","\n ").concat(u>4?"float a5 = texture2D(mask5, alphaUv).r;":"","\n\n // Bottom-up compositing: each mask tells how much the higher layer replaces lower\n ").concat(u>1?"vec3 blended = mix(c0, c1, clamp(a1, 0.0, 1.0));":"","\n ").concat(u>2?"blended = mix(blended, c2, clamp(a2, 0.0, 1.0));":"","\n ").concat(u>3?"blended = mix(blended, c3, clamp(a3, 0.0, 1.0));":"","\n ").concat(u>4?"blended = mix(blended, c4, clamp(a4, 0.0, 1.0));":"","\n ").concat(u>5?"blended = mix(blended, c5, clamp(a5, 0.0, 1.0));":"","\n\n // Assign to diffuseColor before lighting\n vec3 textureColor = ").concat(u>1?"blended":"c0",";\n\n ").concat(s?"// Detail texture blending (Torque-style multiplicative blend)\n // Sample detail texture at high frequency tiling\n vec3 detailColor = texture2D(detailTexture, baseUv * detailTiling).rgb;\n\n // Calculate distance-based fade factor using world positions\n // Torque: distFactor = (zeroDetailDistance - distance) / zeroDetailDistance\n float distToCamera = distance(vTerrainWorldPos, cameraPosition);\n float detailFade = clamp(1.0 - distToCamera / detailFadeDistance, 0.0, 1.0);\n\n // Torque blending: dst * lerp(1.0, detailTexel, fadeFactor)\n // Detail textures are authored with bright values (~0.8 mean), not 0.5 gray\n // Direct multiplication adds subtle darkening for surface detail\n textureColor *= mix(vec3(1.0), detailColor, detailFade);":"","\n\n // Apply texture color or debug mode solid gray\n if (debugMode > 0.5) {\n // Solid gray to visualize lighting only (without texture influence)\n diffuseColor.rgb = vec3(0.5);\n } else {\n // Scale texture to prevent clipping, preserving shadow visibility\n diffuseColor.rgb = textureColor * ").concat(.7,";\n }\n")),l&&(t.fragmentShader=t.fragmentShader.replace("#include ","#include \n\n// Override RE_Direct to use terrain lightmap for smooth NdotL\n#undef RE_Direct\nvoid RE_Direct_TerrainLightmap( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\n // Sample pre-computed terrain lightmap (smooth NdotL values)\n // Add +0.5 texel offset to align GPU texel-center sampling with Torque's corner sampling\n vec2 lightmapUv = vMapUv + vec2(0.5 / ".concat(512,".0);\n float lightmapNdotL = texture2D(terrainLightmap, lightmapUv).r;\n\n // Use lightmap NdotL instead of dot(geometryNormal, directLight.direction)\n // directLight.color already has shadow factor applied from getShadow()\n // Apply terrain-specific directional intensity multiplier\n vec3 directIrradiance = lightmapNdotL * directLight.color * terrainDirectionalFactor;\n\n // Debug mode: visualize raw lightmap values (no textures)\n if (debugMode > 0.5) {\n reflectedLight.directDiffuse = directIrradiance;\n } else {\n reflectedLight.directDiffuse += directIrradiance * BRDF_Lambert( material.diffuseColor );\n }\n}\n#define RE_Direct RE_Direct_TerrainLightmap\n\n")),t.fragmentShader=t.fragmentShader.replace("#include ","#include \n// Fix: Recalculate irradiance without using vertex normals (causes banding)\n// Use flat upward normal for hemisphere/light probe calculations\n#if defined( RE_IndirectDiffuse )\n{\n vec3 flatNormal = vec3(0.0, 1.0, 0.0);\n irradiance = getAmbientLightIrradiance( ambientLightColor );\n #if defined( USE_LIGHT_PROBES )\n irradiance += getLightProbeIrradiance( lightProbe, flatNormal );\n #endif\n #if ( NUM_HEMI_LIGHTS > 0 )\n for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n irradiance += getHemisphereLightIrradiance( hemisphereLights[i], flatNormal );\n }\n #endif\n}\n#endif\n")),t.fragmentShader=t.fragmentShader.replace("#include ","#include \n // Scale indirect (ambient) light to increase shadow contrast on terrain\n reflectedLight.indirectDiffuse *= terrainAmbientFactor;\n")}({shader:e,baseTextures:l,alphaTextures:i,visibilityMask:r,tiling:tP,debugMode:s,detailTexture:u?c:null,lightmap:o}),(0,tG.injectCustomFog)(e,tL.globalFogUniforms)},[l,i,r,s,c,u,o]),f="".concat(s?"debug":"normal","-").concat(u?"detail":"nodetail","-").concat(o?"lightmap":"nolightmap");return(0,es.jsx)("meshLambertMaterial",{map:t,depthWrite:!0,side:ef.DoubleSide,onBeforeCompile:d},f)}function tO(e){let{displacementMap:t,visibilityMask:r,textureNames:n,alphaTextures:i,detailTextureName:a,lightmap:o}=e;return(0,es.jsx)(el.Suspense,{fallback:(0,es.jsx)("meshLambertMaterial",{color:"rgb(0, 109, 56)",displacementMap:t,displacementScale:2048,wireframe:!0}),children:(0,es.jsx)(tH,{displacementMap:t,visibilityMask:r,textureNames:n,alphaTextures:i,detailTextureName:a,lightmap:o})})}let tk=(0,el.memo)(function(e){let{tileX:t,tileZ:r,blockSize:n,basePosition:i,textureNames:a,geometry:o,displacementMap:s,visibilityMask:l,alphaTextures:u,detailTextureName:c,lightmap:d,visible:f=!0}=e,h=(0,el.useMemo)(()=>[i.x+t*n+1024,0,i.z+r*n+1024],[t,r,n,i]);return(0,es.jsx)("mesh",{position:h,geometry:o,receiveShadow:!0,castShadow:!0,visible:f,children:(0,es.jsx)(tO,{displacementMap:s,visibilityMask:l,textureNames:a,alphaTextures:u,detailTextureName:c,lightmap:d})})});var t_=e.i(77482);function tU(e){return(0,t_.useRuntime)().getObjectByName(e)}function tj(e){let t=new Uint8Array(65536);for(let r of(t.fill(255),e)){let e=255&r,n=r>>8&255,i=r>>16,a=256*n;for(let r=0;r0?r:null!=(e=(0,tF.getFloat)(t,"visibleDistance"))?e:600}(),l=(0,tx.useThree)(e=>e.camera),u=(0,el.useMemo)(()=>{let[e,,t]=(0,tF.getPosition)(r);return{x:e,z:t}},[r]),c=(0,el.useMemo)(()=>{let e=(0,tF.getProperty)(r,"emptySquares");return e?e.split(" ").map(e=>parseInt(e,10)):[]},[r]),{data:d}=ty({queryKey:["terrain",n],queryFn:()=>(0,tM.loadTerrain)(n)},tt,void 0),f=(0,el.useMemo)(()=>{if(!d)return null;let e=256*i,t=new ef.PlaneGeometry(e,e,256,256);return t.rotateX(-Math.PI/2),t.rotateY(-Math.PI/2),!function(e,t,r){let n=e.attributes.position,i=e.attributes.uv,a=e.attributes.normal,o=n.array,s=i.array,l=a.array,u=n.count,c=(e,r)=>(e=Math.max(0,Math.min(255,e)),t[256*(r=Math.max(0,Math.min(255,r)))+e]/65535*2048),d=(e,r)=>{let n=Math.floor(e=Math.max(0,Math.min(255,e))),i=Math.floor(r=Math.max(0,Math.min(255,r))),a=Math.min(n+1,255),o=Math.min(i+1,255),s=e-n,l=r-i,u=t[256*i+n]/65535*2048,c=t[256*i+a]/65535*2048,d=t[256*o+n]/65535*2048;return(u*(1-s)+c*s)*(1-l)+(d*(1-s)+t[256*o+a]/65535*2048*s)*l};for(let e=0;e0?(p/=B,A/=B,g/=B):(p=0,A=1,g=0),l[3*e]=p,l[3*e+1]=A,l[3*e+2]=g}n.needsUpdate=!0,a.needsUpdate=!0}(t,d.heightMap,i),t},[i,d]),h=tU("Sun"),m=(0,el.useMemo)(()=>{var e;if(!h)return new ef.Vector3(.57735,-.57735,.57735);let[t,r,n]=(null!=(e=(0,tF.getProperty)(h,"direction"))?e:"0.57735 0.57735 -0.57735").split(" ").map(e=>parseFloat(e)),i=Math.sqrt(t*t+n*n+r*r);return new ef.Vector3(t/i,n/i,r/i)},[h]),p=(0,el.useMemo)(()=>d?function(e,t,r){let n=(t,r)=>{let n=(t%256+256)%256,i=(r%256+256)%256,a=Math.floor(n),o=Math.floor(i),s=a+1&255,l=o+1&255,u=n-a,c=i-o,d=e[256*o+a]/65535,f=e[256*o+s]/65535,h=e[256*l+a]/65535;return((d*(1-u)+f*u)*(1-c)+(h*(1-u)+e[256*l+s]/65535*u)*c)*2048},i=new ef.Vector3(-t.x,-t.y,-t.z).normalize(),a=new Uint8Array(262144);for(let e=0;e<512;e++)for(let t=0;t<512;t++){let o=t/2+.25,s=e/2+.25,l=n(o-.5,s),u=n(o+.5,s),c=n(o,s-.5),d=n(o,s+.5),f=-((d-c)/1),h=-((u-l)/1),m=Math.sqrt(f*f+r*r+h*h),p=Math.max(0,f/m*i.x+r/m*i.y+h/m*i.z);a[512*e+t]=Math.floor(255*p)}let o=new ef.DataTexture(a,512,512,ef.RedFormat,ef.UnsignedByteType);return o.colorSpace=ef.NoColorSpace,o.generateMipmaps=!0,o.wrapS=ef.ClampToEdgeWrapping,o.wrapT=ef.ClampToEdgeWrapping,o.magFilter=ef.LinearFilter,o.minFilter=ef.LinearFilter,o.needsUpdate=!0,o}(d.heightMap,m,i):null,[d,m,i]),A=(0,el.useMemo)(()=>{if(!d)return null;let e=function(e){let t=new Float32Array(e.length);for(let r=0;rtj(c),[c]),B=(0,el.useMemo)(()=>tj([]),[]),C=(0,el.useMemo)(()=>d?d.alphaMaps.map(e=>(0,tS.setupMask)(e)):null,[d]),y=(0,el.useMemo)(()=>{let e=2*Math.ceil(s/o)+1;return e*e-1},[s,o]),b=(0,el.useMemo)(()=>Array.from({length:y},(e,t)=>t),[y]),[M,E]=(0,el.useState)(()=>Array(y).fill(null)),x=(0,el.useRef)({xStart:0,xEnd:0,zStart:0,zEnd:0});return((0,tE.useFrame)(()=>{let e=l.position.x-u.x,t=l.position.z-u.z,r=Math.floor((e-s)/o),n=Math.ceil((e+s)/o),i=Math.floor((t-s)/o),a=Math.ceil((t+s)/o),c=x.current;if(r===c.xStart&&n===c.xEnd&&i===c.zStart&&a===c.zEnd)return;c.xStart=r,c.xEnd=n,c.zStart=i,c.zEnd=a;let d=[];for(let e=r;e{var t,r;let n=M[e];return(0,es.jsx)(tk,{tileX:null!=(t=null==n?void 0:n.tileX)?t:0,tileZ:null!=(r=null==n?void 0:n.tileZ)?r:0,blockSize:o,basePosition:u,textureNames:d.textureNames,geometry:f,displacementMap:A,visibilityMask:B,alphaTextures:C,detailTextureName:a,lightmap:p,visible:null!==n},e)})]}):null}),tN=(0,el.createContext)(null);function tK(){return(0,el.useContext)(tN)}var tQ=el;let tW=(0,tQ.createContext)(null),tV={didCatch:!1,error:null};class tX extends tQ.Component{static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,r,n=arguments.length,i=Array(n),a=0;a0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,r)=>!Object.is(e,t[r]))}(e.resetKeys,n)){var i,a;null==(i=(a=this.props).onReset)||i.call(a,{next:n,prev:e.resetKeys,reason:"keys"}),this.setState(tV)}}render(){let{children:e,fallbackRender:t,FallbackComponent:r,fallback:n}=this.props,{didCatch:i,error:a}=this.state,o=e;if(i){let e={error:a,resetErrorBoundary:this.resetErrorBoundary};if("function"==typeof t)o=t(e);else if(r)o=(0,tQ.createElement)(r,e);else if(void 0!==n)o=n;else throw a}return(0,tQ.createElement)(tW.Provider,{value:{didCatch:i,error:a,resetErrorBoundary:this.resetErrorBoundary}},o)}constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=tV}}var tq=e.i(31067),tY=ef;function tZ(e,t){if(t===ef.TrianglesDrawMode)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),e;if(t!==ef.TriangleFanDrawMode&&t!==ef.TriangleStripDrawMode)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",t),e;{let r=e.getIndex();if(null===r){let t=[],n=e.getAttribute("position");if(void 0===n)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),e;for(let e=0;e=2.0 are supported."));return}let s=new rH(i,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});s.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e=0&&void 0===o[t]&&console.warn('THREE.GLTFLoader: Unknown extension "'+t+'".')}}s.setExtensions(a),s.setPlugins(o),s.parse(r,n)}parseAsync(e,t){let r=this;return new Promise(function(n,i){r.parse(e,t,n,i)})}constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(e){return new t4(e)}),this.register(function(e){return new t7(e)}),this.register(function(e){return new rl(e)}),this.register(function(e){return new ru(e)}),this.register(function(e){return new rc(e)}),this.register(function(e){return new rt(e)}),this.register(function(e){return new rr(e)}),this.register(function(e){return new rn(e)}),this.register(function(e){return new ri(e)}),this.register(function(e){return new t6(e)}),this.register(function(e){return new ra(e)}),this.register(function(e){return new re(e)}),this.register(function(e){return new rs(e)}),this.register(function(e){return new ro(e)}),this.register(function(e){return new t3(e)}),this.register(function(e){return new rd(e)}),this.register(function(e){return new rf(e)})}}function t2(){let e={};return{get:function(t){return e[t]},add:function(t,r){e[t]=r},remove:function(t){delete e[t]},removeAll:function(){e={}}}}let t8={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class t3{_markDefs(){let e=this.parser,t=this.parser.json.nodes||[];for(let r=0,n=t.length;r=0))return null;else throw Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return t.loadTextureImage(e,i.source,a)}constructor(e){this.parser=e,this.name=t8.KHR_TEXTURE_BASISU}}class ru{loadTexture(e){let t=this.name,r=this.parser,n=r.json,i=n.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=n.images[a.source],s=r.textureLoader;if(o.uri){let e=r.options.manager.getHandler(o.uri);null!==e&&(s=e)}return this.detectSupport().then(function(i){if(i)return r.loadTextureImage(e,a.source,s);if(n.extensionsRequired&&n.extensionsRequired.indexOf(t)>=0)throw Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){let t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(1===t.height)}})),this.isSupported}constructor(e){this.parser=e,this.name=t8.EXT_TEXTURE_WEBP,this.isSupported=null}}class rc{loadTexture(e){let t=this.name,r=this.parser,n=r.json,i=n.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=n.images[a.source],s=r.textureLoader;if(o.uri){let e=r.options.manager.getHandler(o.uri);null!==e&&(s=e)}return this.detectSupport().then(function(i){if(i)return r.loadTextureImage(e,a.source,s);if(n.extensionsRequired&&n.extensionsRequired.indexOf(t)>=0)throw Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){let t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(1===t.height)}})),this.isSupported}constructor(e){this.parser=e,this.name=t8.EXT_TEXTURE_AVIF,this.isSupported=null}}class rd{loadBufferView(e){let t=this.parser.json,r=t.bufferViews[e];if(!r.extensions||!r.extensions[this.name])return null;{let e=r.extensions[this.name],n=this.parser.getDependency("buffer",e.buffer),i=this.parser.options.meshoptDecoder;if(!i||!i.supported)if(!(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0))return null;else throw Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return n.then(function(t){let r=e.byteOffset||0,n=e.byteLength||0,a=e.count,o=e.byteStride,s=new Uint8Array(t,r,n);return i.decodeGltfBufferAsync?i.decodeGltfBufferAsync(a,o,s,e.mode,e.filter).then(function(e){return e.buffer}):i.ready.then(function(){let t=new ArrayBuffer(a*o);return i.decodeGltfBuffer(new Uint8Array(t),a,o,s,e.mode,e.filter),t})})}}constructor(e){this.name=t8.EXT_MESHOPT_COMPRESSION,this.parser=e}}class rf{createNodeMesh(e){let t=this.parser.json,r=t.nodes[e];if(!r.extensions||!r.extensions[this.name]||void 0===r.mesh)return null;for(let e of t.meshes[r.mesh].primitives)if(e.mode!==rb.TRIANGLES&&e.mode!==rb.TRIANGLE_STRIP&&e.mode!==rb.TRIANGLE_FAN&&void 0!==e.mode)return null;let n=r.extensions[this.name].attributes,i=[],a={};for(let e in n)i.push(this.parser.getDependency("accessor",n[e]).then(t=>(a[e]=t,a[e])));return i.length<1?null:(i.push(this.parser.createNodeMesh(e)),Promise.all(i).then(e=>{let t=e.pop(),r=t.isGroup?t.children:[t],n=e[0].count,i=[];for(let e of r){let t=new tY.Matrix4,r=new tY.Vector3,o=new tY.Quaternion,s=new tY.Vector3(1,1,1),l=new tY.InstancedMesh(e.geometry,e.material,n);for(let e=0;e=152?{TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3"}:{TEXCOORD_0:"uv",TEXCOORD_1:"uv2"},COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},rT={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},rw={CUBICSPLINE:void 0,LINEAR:tY.InterpolateLinear,STEP:tY.InterpolateDiscrete},rR={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function rI(e,t,r){for(let n in r.extensions)void 0===e[n]&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[n]=r.extensions[n])}function rD(e,t){void 0!==t.extras&&("object"==typeof t.extras?Object.assign(e.userData,t.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+t.extras))}function rG(e){let t="",r=Object.keys(e).sort();for(let n=0,i=r.length;n{let r=this.associations.get(e);for(let[n,a]of(null!=r&&this.associations.set(t,r),e.children.entries()))i(a,t.children[n])};return i(r,n),n.name+="_instance_"+e.uses[t]++,n}_invokeOne(e){let t=Object.values(this.plugins);t.push(this);for(let r=0;r=2&&a.setY(t,d[e*s+1]),s>=3&&a.setZ(t,d[e*s+2]),s>=4&&a.setW(t,d[e*s+3]),s>=5)throw Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return a})}loadTexture(e){let t=this.json,r=this.options,n=t.textures[e].source,i=t.images[n],a=this.textureLoader;if(i.uri){let e=r.manager.getHandler(i.uri);null!==e&&(a=e)}return this.loadTextureImage(e,n,a)}loadTextureImage(e,t,r){let n=this,i=this.json,a=i.textures[e],o=i.images[t],s=(o.uri||o.bufferView)+":"+a.sampler;if(this.textureCache[s])return this.textureCache[s];let l=this.loadImageSource(t,r).then(function(t){t.flipY=!1,t.name=a.name||o.name||"",""===t.name&&"string"==typeof o.uri&&!1===o.uri.startsWith("data:image/")&&(t.name=o.uri);let r=(i.samplers||{})[a.sampler]||{};return t.magFilter=rE[r.magFilter]||tY.LinearFilter,t.minFilter=rE[r.minFilter]||tY.LinearMipmapLinearFilter,t.wrapS=rx[r.wrapS]||tY.RepeatWrapping,t.wrapT=rx[r.wrapT]||tY.RepeatWrapping,n.associations.set(t,{textures:e}),t}).catch(function(){return null});return this.textureCache[s]=l,l}loadImageSource(e,t){let r=this.json,n=this.options;if(void 0!==this.sourceCache[e])return this.sourceCache[e].then(e=>e.clone());let i=r.images[e],a=self.URL||self.webkitURL,o=i.uri||"",s=!1;if(void 0!==i.bufferView)o=this.getDependency("bufferView",i.bufferView).then(function(e){s=!0;let t=new Blob([e],{type:i.mimeType});return o=a.createObjectURL(t)});else if(void 0===i.uri)throw Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");let l=Promise.resolve(o).then(function(e){return new Promise(function(r,i){let a=r;!0===t.isImageBitmapLoader&&(a=function(e){let t=new tY.Texture(e);t.needsUpdate=!0,r(t)}),t.load(tY.LoaderUtils.resolveURL(e,n.path),a,void 0,i)})}).then(function(e){var t;return!0===s&&a.revokeObjectURL(o),rD(e,i),e.userData.mimeType=i.mimeType||((t=i.uri).search(/\.jpe?g($|\?)/i)>0||0===t.search(/^data\:image\/jpeg/)?"image/jpeg":t.search(/\.webp($|\?)/i)>0||0===t.search(/^data\:image\/webp/)?"image/webp":"image/png"),e}).catch(function(e){throw console.error("THREE.GLTFLoader: Couldn't load texture",o),e});return this.sourceCache[e]=l,l}assignTexture(e,t,r,n){let i=this;return this.getDependency("texture",r.index).then(function(a){if(!a)return null;if(void 0!==r.texCoord&&r.texCoord>0&&((a=a.clone()).channel=r.texCoord),i.extensions[t8.KHR_TEXTURE_TRANSFORM]){let e=void 0!==r.extensions?r.extensions[t8.KHR_TEXTURE_TRANSFORM]:void 0;if(e){let t=i.associations.get(a);a=i.extensions[t8.KHR_TEXTURE_TRANSFORM].extendTexture(a,e),i.associations.set(a,t)}}return void 0!==n&&("number"==typeof n&&(n=3001===n?t0:t1),"colorSpace"in a?a.colorSpace=n:a.encoding=n===t0?3001:3e3),e[t]=a,a})}assignFinalMaterial(e){let t=e.geometry,r=e.material,n=void 0===t.attributes.tangent,i=void 0!==t.attributes.color,a=void 0===t.attributes.normal;if(e.isPoints){let e="PointsMaterial:"+r.uuid,t=this.cache.get(e);t||(t=new tY.PointsMaterial,tY.Material.prototype.copy.call(t,r),t.color.copy(r.color),t.map=r.map,t.sizeAttenuation=!1,this.cache.add(e,t)),r=t}else if(e.isLine){let e="LineBasicMaterial:"+r.uuid,t=this.cache.get(e);t||(t=new tY.LineBasicMaterial,tY.Material.prototype.copy.call(t,r),t.color.copy(r.color),t.map=r.map,this.cache.add(e,t)),r=t}if(n||i||a){let e="ClonedMaterial:"+r.uuid+":";n&&(e+="derivative-tangents:"),i&&(e+="vertex-colors:"),a&&(e+="flat-shading:");let t=this.cache.get(e);t||(t=r.clone(),i&&(t.vertexColors=!0),a&&(t.flatShading=!0),n&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(r))),r=t}e.material=r}getMaterialType(){return tY.MeshStandardMaterial}loadMaterial(e){let t,r=this,n=this.json,i=this.extensions,a=n.materials[e],o={},s=a.extensions||{},l=[];if(s[t8.KHR_MATERIALS_UNLIT]){let e=i[t8.KHR_MATERIALS_UNLIT];t=e.getMaterialType(),l.push(e.extendParams(o,a,r))}else{let n=a.pbrMetallicRoughness||{};if(o.color=new tY.Color(1,1,1),o.opacity=1,Array.isArray(n.baseColorFactor)){let e=n.baseColorFactor;o.color.setRGB(e[0],e[1],e[2],t1),o.opacity=e[3]}void 0!==n.baseColorTexture&&l.push(r.assignTexture(o,"map",n.baseColorTexture,t0)),o.metalness=void 0!==n.metallicFactor?n.metallicFactor:1,o.roughness=void 0!==n.roughnessFactor?n.roughnessFactor:1,void 0!==n.metallicRoughnessTexture&&(l.push(r.assignTexture(o,"metalnessMap",n.metallicRoughnessTexture)),l.push(r.assignTexture(o,"roughnessMap",n.metallicRoughnessTexture))),t=this._invokeOne(function(t){return t.getMaterialType&&t.getMaterialType(e)}),l.push(Promise.all(this._invokeAll(function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,o)})))}!0===a.doubleSided&&(o.side=tY.DoubleSide);let u=a.alphaMode||rR.OPAQUE;if(u===rR.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,u===rR.MASK&&(o.alphaTest=void 0!==a.alphaCutoff?a.alphaCutoff:.5)),void 0!==a.normalTexture&&t!==tY.MeshBasicMaterial&&(l.push(r.assignTexture(o,"normalMap",a.normalTexture)),o.normalScale=new tY.Vector2(1,1),void 0!==a.normalTexture.scale)){let e=a.normalTexture.scale;o.normalScale.set(e,e)}if(void 0!==a.occlusionTexture&&t!==tY.MeshBasicMaterial&&(l.push(r.assignTexture(o,"aoMap",a.occlusionTexture)),void 0!==a.occlusionTexture.strength&&(o.aoMapIntensity=a.occlusionTexture.strength)),void 0!==a.emissiveFactor&&t!==tY.MeshBasicMaterial){let e=a.emissiveFactor;o.emissive=new tY.Color().setRGB(e[0],e[1],e[2],t1)}return void 0!==a.emissiveTexture&&t!==tY.MeshBasicMaterial&&l.push(r.assignTexture(o,"emissiveMap",a.emissiveTexture,t0)),Promise.all(l).then(function(){let n=new t(o);return a.name&&(n.name=a.name),rD(n,a),r.associations.set(n,{materials:e}),a.extensions&&rI(i,n,a),n})}createUniqueName(e){let t=tY.PropertyBinding.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){let t=this,r=this.extensions,n=this.primitiveCache,i=[];for(let a=0,o=e.length;a0&&function(e,t){if(e.updateMorphTargets(),void 0!==t.weights)for(let r=0,n=t.weights.length;r1?new tY.Group:1===t.length?t[0]:new tY.Object3D)!==t[0])for(let e=0,r=t.length;e{let t=new Map;for(let[e,r]of n.associations)(e instanceof tY.Material||e instanceof tY.Texture)&&t.set(e,r);return e.traverse(e=>{let r=n.associations.get(e);null!=r&&t.set(e,r)}),t})(i),i})}_createAnimationTracks(e,t,r,n,i){let a,o=[],s=e.name?e.name:e.uuid,l=[];switch(rT[i.path]===rT.weights?e.traverse(function(e){e.morphTargetInfluences&&l.push(e.name?e.name:e.uuid)}):l.push(s),rT[i.path]){case rT.weights:a=tY.NumberKeyframeTrack;break;case rT.rotation:a=tY.QuaternionKeyframeTrack;break;case rT.position:case rT.scale:a=tY.VectorKeyframeTrack;break;default:a=1===r.itemSize?tY.NumberKeyframeTrack:tY.VectorKeyframeTrack}let u=void 0!==n.interpolation?rw[n.interpolation]:tY.InterpolateLinear,c=this._getArrayFromAccessor(r);for(let e=0,r=l.length;e-1)?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),"undefined"==typeof createImageBitmap||r||n&&i<98?this.textureLoader=new tY.TextureLoader(this.options.manager):this.textureLoader=new tY.ImageBitmapLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new tY.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}}function rO(e,t,r){let n=t.attributes,i=[];for(let t in n){let a=rS[t]||t.toLowerCase();a in e.attributes||i.push(function(t,n){return r.getDependency("accessor",t).then(function(t){e.setAttribute(n,t)})}(n[t],a))}if(void 0!==t.indices&&!e.index){let n=r.getDependency("accessor",t.indices).then(function(t){e.setIndex(t)});i.push(n)}return rD(e,t),!function(e,t,r){let n=t.attributes,i=new tY.Box3;if(void 0===n.POSITION)return;{let e=r.json.accessors[n.POSITION],t=e.min,a=e.max;if(void 0===t||void 0===a)return console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");if(i.set(new tY.Vector3(t[0],t[1],t[2]),new tY.Vector3(a[0],a[1],a[2])),e.normalized){let t=rL(rM[e.componentType]);i.min.multiplyScalar(t),i.max.multiplyScalar(t)}}let a=t.targets;if(void 0!==a){let e=new tY.Vector3,t=new tY.Vector3;for(let n=0,i=a.length;n{let r={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(e,r).then(t).catch(n)},r,n)}decodeDracoFile(e,t,r,n){let i={attributeIDs:r||this.defaultAttributeIDs,attributeTypes:n||this.defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(e,i).then(t)}decodeGeometry(e,t){let r;for(let e in t.attributeTypes){let r=t.attributeTypes[e];void 0!==r.BYTES_PER_ELEMENT&&(t.attributeTypes[e]=r.name)}let n=JSON.stringify(t);if(r_.has(e)){let t=r_.get(e);if(t.key===n)return t.promise;if(0===e.byteLength)throw Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let i=this.workerNextTaskID++,a=e.byteLength,o=this._getWorker(i,a).then(n=>(r=n,new Promise((n,a)=>{r._callbacks[i]={resolve:n,reject:a},r.postMessage({type:"decode",id:i,taskConfig:t,buffer:e},[e])}))).then(e=>this._createGeometry(e.geometry));return o.catch(()=>!0).then(()=>{r&&i&&this._releaseTask(r,i)}),r_.set(e,{key:n,promise:o}),o}_createGeometry(e){let t=new rk.BufferGeometry;e.index&&t.setIndex(new rk.BufferAttribute(e.index.array,1));for(let r=0;r{r.load(e,t,void 0,n)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;let e="object"!=typeof WebAssembly||"js"===this.decoderConfig.type,t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(t=>{let r=t[0];e||(this.decoderConfig.wasmBinary=t[1]);let n=rj.toString(),i=["/* draco decoder */",r,"\n/* worker */",n.substring(n.indexOf("{")+1,n.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([i]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.lengtht._taskLoad?-1:1});let r=this.workerPool[this.workerPool.length-1];return r._taskCosts[e]=t,r._taskLoad+=t,r})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e{let t=e.draco,r=new t.Decoder,o=new t.DecoderBuffer;o.Init(new Int8Array(i),i.byteLength);try{let e=function(e,t,r,n){let i,a,o=n.attributeIDs,s=n.attributeTypes,l=t.GetEncodedGeometryType(r);if(l===e.TRIANGULAR_MESH)i=new e.Mesh,a=t.DecodeBufferToMesh(r,i);else if(l===e.POINT_CLOUD)i=new e.PointCloud,a=t.DecodeBufferToPointCloud(r,i);else throw Error("THREE.DRACOLoader: Unexpected geometry type.");if(!a.ok()||0===i.ptr)throw Error("THREE.DRACOLoader: Decoding failed: "+a.error_msg());let u={index:null,attributes:[]};for(let r in o){let a,l,c=self[s[r]];if(n.useUniqueIDs)l=o[r],a=t.GetAttributeByUniqueId(i,l);else{if(-1===(l=t.GetAttributeId(i,e[o[r]])))continue;a=t.GetAttribute(i,l)}u.attributes.push(function(e,t,r,n,i,a){let o=a.num_components(),s=r.num_points()*o,l=s*i.BYTES_PER_ELEMENT,u=function(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32}}(e,i),c=e._malloc(l);t.GetAttributeDataArrayForAllPoints(r,a,u,l,c);let d=new i(e.HEAPF32.buffer,c,s).slice();return e._free(c),{name:n,array:d,itemSize:o}}(e,t,i,r,c,a))}return l===e.TRIANGULAR_MESH&&(u.index=function(e,t,r){let n=3*r.num_faces(),i=4*n,a=e._malloc(i);t.GetTrianglesUInt32Array(r,i,a);let o=new Uint32Array(e.HEAPF32.buffer,a,n).slice();return e._free(a),{array:o,itemSize:1}}(e,t,i)),e.destroy(i),u}(t,r,o,a),i=e.attributes.map(e=>e.array.buffer);e.index&&i.push(e.index.array.buffer),self.postMessage({type:"decode",id:n.id,geometry:e},i)}catch(e){console.error(e),self.postMessage({type:"error",id:n.id,error:e.message})}finally{t.destroy(o),t.destroy(r)}})}}}var rJ=e.i(80520);let rN={clone:function(e){let t=new Map,r=new Map,n=e.clone();return function e(t,r,n){n(t,r);for(let i=0;i{let{isChild:r=!1,object:n,children:i,deep:a,castShadow:o,receiveShadow:s,inject:l,keys:u,...c}=e,d={keys:u,deep:a,inject:l,castShadow:o,receiveShadow:s};if(Array.isArray(n=el.useMemo(()=>{if(!1===r&&!Array.isArray(n)){let e=!1;if(n.traverse(t=>{t.isSkinnedMesh&&(e=!0)}),e)return rN.clone(n)}return n},[n,r])))return el.createElement("group",(0,tq.default)({},c,{ref:t}),n.map(e=>el.createElement(rK,(0,tq.default)({key:e.uuid,object:e},d))),i);let{children:f,...h}=function(e,t){let{keys:r=["near","far","color","distance","decay","penumbra","angle","intensity","skeleton","visible","castShadow","receiveShadow","morphTargetDictionary","morphTargetInfluences","name","geometry","material","position","rotation","scale","up","userData","bindMode","bindMatrix","bindMatrixInverse","skeleton"],deep:n,inject:i,castShadow:a,receiveShadow:o}=t,s={};for(let t of r)s[t]=e[t];return n&&(s.geometry&&"materialsOnly"!==n&&(s.geometry=s.geometry.clone()),s.material&&"geometriesOnly"!==n&&(s.material=s.material.clone())),i&&(s="function"==typeof i?{...s,children:i(e)}:el.isValidElement(i)?{...s,children:i}:{...s,...i}),e instanceof ef.Mesh&&(a&&(s.castShadow=!0),o&&(s.receiveShadow=!0)),s}(n,d),m=n.type[0].toLowerCase()+n.type.slice(1);return el.createElement(m,(0,tq.default)({},h,c,{ref:t}),n.children.map(e=>"Bone"===e.type?el.createElement("primitive",(0,tq.default)({key:e.uuid,object:e},d)):el.createElement(rK,(0,tq.default)({key:e.uuid,object:e},d,{isChild:!0}))),i,f)}),rQ=null,rW="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function rV(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],r=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=arguments.length>2?arguments[2]:void 0;return i=>{n&&n(i),e&&(rQ||(rQ=new rU),rQ.setDecoderPath("string"==typeof e?e:rW),i.setDRACOLoader(rQ)),r&&i.setMeshoptDecoder((()=>{let e;if(t)return t;let r=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),n=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if("object"!=typeof WebAssembly)return{supported:!1};let i="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";WebAssembly.validate(r)&&(i="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");let a=WebAssembly.instantiate(function(e){let t=new Uint8Array(e.length);for(let r=0;r96?n-71:n>64?n-65:n>47?n+4:n>46?63:62}let r=0;for(let i=0;i{(e=t.instance).exports.__wasm_call_ctors()});function o(t,r,n,i,a,o){let s=e.exports.sbrk,l=n+3&-4,u=s(l*i),c=s(a.length),d=new Uint8Array(e.exports.memory.buffer);d.set(a,c);let f=t(u,n,i,c,a.length);if(0===f&&o&&o(u,l,i),r.set(d.subarray(u,u+n*i)),s(u-s(0)),0!==f)throw Error("Malformed buffer data: ".concat(f))}let s={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},l={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};return t={ready:a,supported:!0,decodeVertexBuffer(t,r,n,i,a){o(e.exports.meshopt_decodeVertexBuffer,t,r,n,i,e.exports[s[a]])},decodeIndexBuffer(t,r,n,i){o(e.exports.meshopt_decodeIndexBuffer,t,r,n,i)},decodeIndexSequence(t,r,n,i){o(e.exports.meshopt_decodeIndexSequence,t,r,n,i)},decodeGltfBuffer(t,r,n,i,a,u){o(e.exports[l[a]],t,r,n,i,e.exports[s[u]])}}})())}}let rX=(e,t,r,n)=>(0,rJ.useLoader)(t9,e,rV(t,r,n));rX.preload=(e,t,r,n)=>rJ.useLoader.preload(t9,e,rV(t,r,n)),rX.clear=e=>rJ.useLoader.clear(t9,e),rX.setDecoderPath=e=>{rW=e};var rq=e.i(89887);let rY=Math.PI;function rZ(e){var t,r;let{materialName:n,material:i,lightMap:a}=e,o=(0,tM.textureToUrl)(n),s=(0,tT.useTexture)(o,e=>(0,tS.setupColor)(e)),l=new Set(null!=(r=null==i||null==(t=i.userData)?void 0:t.flag_names)?r:[]).has("SelfIlluminating"),u=(0,el.useCallback)(e=>{(0,tG.injectCustomFog)(e,tL.globalFogUniforms),e.uniforms.interiorDirectionalFactor={value:tR.directional},e.uniforms.interiorAmbientFactor={value:tR.ambient},e.fragmentShader=e.fragmentShader.replace("#include ","#include \nuniform float interiorDirectionalFactor;\nuniform float interiorAmbientFactor;\n"),e.fragmentShader=e.fragmentShader.replace("#include ","#include \n // Apply interior-specific lighting multipliers\n reflectedLight.directDiffuse *= interiorDirectionalFactor;\n reflectedLight.indirectDiffuse *= interiorAmbientFactor;\n")},[]);return l?(0,es.jsx)("meshBasicMaterial",{map:s,side:2,toneMapped:!1,onBeforeCompile:u}):(0,es.jsx)("meshLambertMaterial",{map:s,lightMap:null!=a?a:void 0,lightMapIntensity:a?rY:void 0,side:2,onBeforeCompile:u})}function rz(e){if(!e)return null;let t=e.emissiveMap;return t&&(t.colorSpace=ef.SRGBColorSpace),null!=t?t:null}function r$(e){let{node:t}=e,r=(0,el.useMemo)(()=>t.material?Array.isArray(t.material)?t.material.map(e=>rz(e)):[rz(t.material)]:[],[t.material]);return(0,es.jsx)("mesh",{geometry:t.geometry,castShadow:!0,receiveShadow:!0,children:t.material?(0,es.jsx)(el.Suspense,{fallback:(0,es.jsx)("meshStandardMaterial",{color:"yellow",wireframe:!0}),children:Array.isArray(t.material)?t.material.map((e,t)=>(0,es.jsx)(rZ,{materialName:e.userData.resource_path,material:e,lightMap:r[t]},t)):(0,es.jsx)(rZ,{materialName:t.material.userData.resource_path,material:t.material,lightMap:r[0]})}):null})}let r0=(0,el.memo)(e=>{let{interiorFile:t}=e,{nodes:r}=rX((0,tM.interiorToUrl)(t)),{debugMode:n}=(0,tD.useDebug)();return(0,es.jsxs)("group",{rotation:[0,-Math.PI/2,0],children:[Object.entries(r).filter(e=>{let[,t]=e;return t.isMesh}).map(e=>{let[t,r]=e;return(0,es.jsx)(r$,{node:r},t)}),n?(0,es.jsx)(rq.FloatingLabel,{children:t}):null]})});function r1(e){let{color:t,label:r}=e;return(0,es.jsxs)("mesh",{children:[(0,es.jsx)("boxGeometry",{args:[10,10,10]}),(0,es.jsx)("meshStandardMaterial",{color:t,wireframe:!0}),r?(0,es.jsx)(rq.FloatingLabel,{color:t,children:r}):null]})}function r9(e){let{label:t}=e,{debugMode:r}=(0,tD.useDebug)();return r?(0,es.jsx)(r1,{color:"red",label:t}):null}let r2=(0,el.memo)(function(e){let{object:t}=e,r=(0,tF.getProperty)(t,"interiorFile"),n=(0,el.useMemo)(()=>(0,tF.getPosition)(t),[t]),i=(0,el.useMemo)(()=>(0,tF.getScale)(t),[t]),a=(0,el.useMemo)(()=>(0,tF.getRotation)(t),[t]);return(0,es.jsx)("group",{position:n,quaternion:a,scale:i,children:(0,es.jsx)(tX,{fallback:(0,es.jsx)(r9,{label:r}),children:(0,es.jsx)(el.Suspense,{fallback:(0,es.jsx)(r1,{color:"orange"}),children:(0,es.jsx)(r0,{interiorFile:r})})})})});function r8(e,t){let{path:r}=t,[n]=(0,rJ.useLoader)(ef.CubeTextureLoader,[e],e=>e.setPath(r));return n}r8.preload=(e,t)=>{let{path:r}=t;return rJ.useLoader.preload(ef.CubeTextureLoader,[e],e=>e.setPath(r))};function r3(e){return e.wrapS=ef.RepeatWrapping,e.wrapT=ef.RepeatWrapping,e.minFilter=ef.LinearFilter,e.magFilter=ef.LinearFilter,e.colorSpace=ef.NoColorSpace,e.needsUpdate=!0,e}function r5(e){let{textureUrl:t,radius:r,heightPercent:n,speed:i,windDirection:a,layerIndex:o,debugMode:s,animationEnabled:l}=e,u=(0,el.useRef)(null),c=(0,el.useRef)(new ef.Vector2(0,0)),d=(0,tT.useTexture)(t,r3),f=(0,el.useMemo)(()=>{let e=n-.05;return function(e,t,r,n){let i=new ef.BufferGeometry,a=new Float32Array(75),o=new Float32Array(50),s=[.05,.05,.05,.05,.05,.05,r,r,r,.05,.05,r,t,r,.05,.05,r,r,r,.05,.05,.05,.05,.05,.05],l=2*e/4;for(let t=0;t<5;t++)for(let r=0;r<5;r++){let n=5*t+r,i=-e+r*l,u=e-t*l,c=e*s[n];a[3*n]=i,a[3*n+1]=c,a[3*n+2]=u,o[2*n]=r,o[2*n+1]=t}!function(e){let t=t=>({x:e[3*t],y:e[3*t+1],z:e[3*t+2]}),r=(t,r,n,i)=>{e[3*t]=r,e[3*t+1]=n,e[3*t+2]=i},n=t(1),i=t(3),a=t(5),o=t(6),s=t(8),l=t(9),u=t(15),c=t(16),d=t(18),f=t(19),h=t(21),m=t(23),p=a.x+(n.x-a.x)*.5,A=a.y+(n.y-a.y)*.5,g=a.z+(n.z-a.z)*.5;r(0,o.x+(p-o.x)*2,o.y+(A-o.y)*2,o.z+(g-o.z)*2),p=l.x+(i.x-l.x)*.5,A=l.y+(i.y-l.y)*.5,g=l.z+(i.z-l.z)*.5,r(4,s.x+(p-s.x)*2,s.y+(A-s.y)*2,s.z+(g-s.z)*2),p=h.x+(u.x-h.x)*.5,A=h.y+(u.y-h.y)*.5,g=h.z+(u.z-h.z)*.5,r(20,c.x+(p-c.x)*2,c.y+(A-c.y)*2,c.z+(g-c.z)*2),p=m.x+(f.x-m.x)*.5,A=m.y+(f.y-m.y)*.5,g=m.z+(f.z-m.z)*.5,r(24,d.x+(p-d.x)*2,d.y+(A-d.y)*2,d.z+(g-d.z)*2)}(a);let u=function(e,t){let r=new Float32Array(25);for(let n=0;n<25;n++){let i=e[3*n],a=e[3*n+2],o=1.3-Math.sqrt(i*i+a*a)/t;o<.4?o=0:o>.8&&(o=1),r[n]=o}return r}(a,e),c=[];for(let e=0;e<4;e++)for(let t=0;t<4;t++){let r=5*e+t,n=r+1,i=r+5,a=i+1;c.push(r,i,a),c.push(r,a,n)}return i.setIndex(c),i.setAttribute("position",new ef.Float32BufferAttribute(a,3)),i.setAttribute("uv",new ef.Float32BufferAttribute(o,2)),i.setAttribute("alpha",new ef.Float32BufferAttribute(u,1)),i.computeBoundingSphere(),i}(r,n,e,0)},[r,n]),h=(0,el.useMemo)(()=>new ef.ShaderMaterial({uniforms:{cloudTexture:{value:d},uvOffset:{value:new ef.Vector2(0,0)},debugMode:{value:+!!s},layerIndex:{value:o}},vertexShader:"\n attribute float alpha;\n\n uniform vec2 uvOffset;\n\n varying vec2 vUv;\n varying float vAlpha;\n\n void main() {\n // Apply UV offset for scrolling\n vUv = uv + uvOffset;\n vAlpha = alpha;\n\n vec4 pos = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n // Set depth to far plane so clouds are always visible and behind other geometry\n gl_Position = pos.xyww;\n }\n",fragmentShader:"\n uniform sampler2D cloudTexture;\n uniform float debugMode;\n uniform int layerIndex;\n\n varying vec2 vUv;\n varying float vAlpha;\n\n void main() {\n vec4 texColor = texture2D(cloudTexture, vUv);\n\n // Debug mode: show layer-colored clouds (red, green, blue for layers 0, 1, 2)\n if (debugMode > 0.5) {\n vec3 debugColor;\n if (layerIndex == 0) {\n debugColor = vec3(1.0, 0.3, 0.3); // Red\n } else if (layerIndex == 1) {\n debugColor = vec3(0.3, 1.0, 0.3); // Green\n } else {\n debugColor = vec3(0.3, 0.3, 1.0); // Blue\n }\n // Use same alpha calculation as normal mode\n gl_FragColor = vec4(debugColor, texColor.a * vAlpha);\n return;\n }\n\n // Tribes 2 uses GL_MODULATE: final = texture × vertex color\n // Vertex color is white with varying alpha, so:\n // Final RGB = Texture RGB × 1.0 = Texture RGB\n // Final Alpha = Texture Alpha × Vertex Alpha\n float finalAlpha = texColor.a * vAlpha;\n\n // Output clouds with texture color and combined alpha\n gl_FragColor = vec4(texColor.rgb, finalAlpha);\n }\n",transparent:!0,depthWrite:!1,side:ef.DoubleSide}),[d,s,o]);return(0,tE.useFrame)((e,t)=>{if(!u.current||!l)return;let r=1e3*t/32;c.current.x+=a.x*i*r,c.current.y+=a.y*i*r,c.current.x=c.current.x-Math.floor(c.current.x),c.current.y=c.current.y-Math.floor(c.current.y),u.current.uniforms.uvOffset.value.copy(c.current)}),(0,el.useEffect)(()=>()=>{f.dispose(),h.dispose()},[f,h]),(0,es.jsx)("mesh",{geometry:f,frustumCulled:!1,renderOrder:10,children:(0,es.jsx)("primitive",{ref:u,object:h,attach:"material"})})}function r6(e){var t,r;let{object:n}=e,{debugMode:i}=(0,tD.useDebug)(),{animationEnabled:a}=(0,tD.useSettings)(),{data:o}=ty({queryKey:["detailMapList",r=(0,tF.getProperty)(n,"materialList")],queryFn:()=>(0,tM.loadDetailMapList)(r),enabled:!!r},tt,void 0),s=.95*(null!=(t=(0,tF.getFloat)(n,"visibleDistance"))?t:500),l=(0,el.useMemo)(()=>{var e,t,r;return[null!=(e=(0,tF.getFloat)(n,"cloudSpeed1"))?e:1e-4,null!=(t=(0,tF.getFloat)(n,"cloudSpeed2"))?t:2e-4,null!=(r=(0,tF.getFloat)(n,"cloudSpeed3"))?r:3e-4]},[n]),u=(0,el.useMemo)(()=>{let e=[.35,.25,.2],t=[];for(let i=0;i<3;i++){var r;let a=null!=(r=(0,tF.getFloat)(n,"cloudHeightPer".concat(i)))?r:e[i];t.push(a)}return t},[n]),c=(0,el.useMemo)(()=>{let e=(0,tF.getProperty)(n,"windVelocity");if(e){let[t,r]=e.split(" ").map(e=>parseFloat(e));if(0!==t||0!==r)return new ef.Vector2(r,-t).normalize()}return new ef.Vector2(1,0)},[n]),d=(0,el.useMemo)(()=>{if(!o)return[];let e=[];for(let n=7;n{let{camera:t}=e;f.current&&f.current.position.copy(t.position)}),d&&0!==d.length)?(0,es.jsx)("group",{ref:f,children:d.map((e,t)=>{let r=(0,tM.textureToUrl)(e.texture);return(0,es.jsx)(el.Suspense,{fallback:null,children:(0,es.jsx)(r5,{textureUrl:r,radius:s,heightPercent:e.height,speed:e.speed,windDirection:c,layerIndex:t,debugMode:i,animationEnabled:a})},t)})}):null}tM.BASE_URL;let r4=!1;function r7(e){if(!e)return;let[t,r,n]=e.split(" ").map(e=>parseFloat(e));return[new ef.Color().setRGB(t,r,n),new ef.Color().setRGB(t,r,n).convertSRGBToLinear()]}function ne(e){let{skyBoxFiles:t,fogColor:r,fogState:n}=e,{camera:i}=(0,tx.useThree)(),a=r8(t,{path:""}),o=(0,el.useMemo)(()=>i.projectionMatrixInverse,[i]),s=(0,el.useMemo)(()=>n?(0,tL.packFogVolumeData)(n.fogVolumes):new Float32Array(12),[n]),l=(0,el.useMemo)(()=>{if(!n)return .18;let e=.95*n.visibleDistance/Math.sqrt(3);return 60/Math.sqrt(e*e+3600)},[n]);return(0,es.jsxs)("mesh",{renderOrder:-1e3,frustumCulled:!1,children:[(0,es.jsxs)("bufferGeometry",{children:[(0,es.jsx)("bufferAttribute",{attach:"attributes-position",array:new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),count:3,itemSize:3}),(0,es.jsx)("bufferAttribute",{attach:"attributes-uv",array:new Float32Array([0,0,2,0,0,2]),count:3,itemSize:2})]}),(0,es.jsx)("shaderMaterial",{uniforms:{skybox:{value:a},fogColor:{value:null!=r?r:new ef.Color(0,0,0)},enableFog:{value:!!r},inverseProjectionMatrix:{value:o},cameraMatrixWorld:{value:i.matrixWorld},cameraHeight:tL.globalFogUniforms.cameraHeight,fogVolumeData:{value:s},horizonFogHeight:{value:l}},vertexShader:"\n varying vec2 vUv;\n\n void main() {\n vUv = uv;\n gl_Position = vec4(position.xy, 0.9999, 1.0);\n }\n ",fragmentShader:'\n uniform samplerCube skybox;\n uniform vec3 fogColor;\n uniform bool enableFog;\n uniform mat4 inverseProjectionMatrix;\n uniform mat4 cameraMatrixWorld;\n uniform float cameraHeight;\n uniform float fogVolumeData[12];\n uniform float horizonFogHeight;\n\n varying vec2 vUv;\n\n // Convert linear to sRGB for display\n // shaderMaterial does NOT get automatic linear->sRGB output conversion\n // Use proper sRGB transfer function (not simplified gamma 2.2) to match Three.js\n vec3 linearToSRGB(vec3 linear) {\n vec3 low = linear * 12.92;\n vec3 high = 1.055 * pow(linear, vec3(1.0 / 2.4)) - 0.055;\n return mix(low, high, step(vec3(0.0031308), linear));\n }\n\n void main() {\n vec2 ndc = vUv * 2.0 - 1.0;\n vec4 viewPos = inverseProjectionMatrix * vec4(ndc, 1.0, 1.0);\n viewPos.xyz /= viewPos.w;\n vec3 direction = normalize((cameraMatrixWorld * vec4(viewPos.xyz, 0.0)).xyz);\n direction = vec3(direction.z, direction.y, -direction.x);\n // Sample skybox - Three.js CubeTexture with SRGBColorSpace auto-converts to linear\n vec4 skyColor = textureCube(skybox, direction);\n vec3 finalColor;\n\n if (enableFog) {\n vec3 effectiveFogColor = fogColor;\n\n // Calculate how much fog volume the ray passes through\n // For skybox at "infinite" distance, the relevant height is how much\n // of the volume is above/below camera depending on view direction\n float volumeFogInfluence = 0.0;\n\n for (int i = 0; i < 3; i++) {\n int offset = i * 4;\n float volVisDist = fogVolumeData[offset + 0];\n float volMinH = fogVolumeData[offset + 1];\n float volMaxH = fogVolumeData[offset + 2];\n float volPct = fogVolumeData[offset + 3];\n\n if (volVisDist <= 0.0) continue;\n\n // Check if camera is inside this volume\n if (cameraHeight >= volMinH && cameraHeight <= volMaxH) {\n // Camera is inside the fog volume\n // Looking horizontally or up at shallow angles means ray travels\n // through more fog before exiting the volume\n float heightAboveCamera = volMaxH - cameraHeight;\n float heightBelowCamera = cameraHeight - volMinH;\n float volumeHeight = volMaxH - volMinH;\n\n // For horizontal rays (direction.y ≈ 0), maximum fog influence\n // For rays going up steeply, less fog (exits volume quickly)\n // For rays going down, more fog (travels through volume below)\n float rayInfluence;\n if (direction.y >= 0.0) {\n // Looking up: influence based on how steep we\'re looking\n // Shallow angles = long path through fog = high influence\n rayInfluence = 1.0 - smoothstep(0.0, 0.3, direction.y);\n } else {\n // Looking down: always high fog (into the volume)\n rayInfluence = 1.0;\n }\n\n // Scale by percentage and volume depth factor\n volumeFogInfluence += rayInfluence * volPct;\n }\n }\n\n // Base fog factor from view direction (for haze at horizon)\n // In Torque, the fog "bans" (bands) are rendered as geometry from\n // height 0 (HORIZON) to height 60 (OFFSET_HEIGHT) on the skybox.\n // The skybox corner is at mSkyBoxPt.x = mRadius / sqrt(3).\n //\n // horizonFogHeight is the direction.y value where the fog band ends:\n // horizonFogHeight = 60 / sqrt(skyBoxPt.x^2 + 60^2)\n //\n // For Firestorm (visDist=600): mRadius=570, skyBoxPt.x=329, horizonFogHeight≈0.18\n //\n // Torque renders the fog bands as geometry with linear vertex alpha\n // interpolation. We use a squared curve (t^2) to create a gentler\n // falloff at the top of the gradient, matching Tribes 2\'s appearance.\n float baseFogFactor;\n if (direction.y <= 0.0) {\n // Looking at or below horizon: full fog\n baseFogFactor = 1.0;\n } else if (direction.y >= horizonFogHeight) {\n // Above fog band: no fog\n baseFogFactor = 0.0;\n } else {\n // Within fog band: squared curve for gentler falloff at top\n float t = direction.y / horizonFogHeight;\n baseFogFactor = (1.0 - t) * (1.0 - t);\n }\n\n // Combine base fog with volume fog influence\n // When inside a volume, increase fog intensity\n float finalFogFactor = min(1.0, baseFogFactor + volumeFogInfluence * 0.5);\n\n finalColor = mix(skyColor.rgb, effectiveFogColor, finalFogFactor);\n } else {\n finalColor = skyColor.rgb;\n }\n // Convert linear result to sRGB for display\n gl_FragColor = vec4(linearToSRGB(finalColor), 1.0);\n }\n ',depthWrite:!1,depthTest:!1})]})}function nt(e){let{materialList:t,fogColor:r,fogState:n}=e,{data:i}=ty({queryKey:["detailMapList",t],queryFn:()=>(0,tM.loadDetailMapList)(t)},tt,void 0),a=(0,el.useMemo)(()=>i?[(0,tM.textureToUrl)(i[1]),(0,tM.textureToUrl)(i[3]),(0,tM.textureToUrl)(i[4]),(0,tM.textureToUrl)(i[5]),(0,tM.textureToUrl)(i[0]),(0,tM.textureToUrl)(i[2])]:null,[i]);return a?(0,es.jsx)(ne,{skyBoxFiles:a,fogColor:r,fogState:n}):null}function nr(e,t){let{fogDistance:r,visibleDistance:n}=e;return[r,n]}function nn(e){let{fogState:t}=e,{scene:r,camera:n}=(0,tx.useThree)(),i=(0,el.useRef)(null),a=(0,el.useMemo)(()=>(0,tL.packFogVolumeData)(t.fogVolumes),[t.fogVolumes]);return(0,el.useEffect)(()=>{r4||((0,tG.installCustomFogShader)(),r4=!0)},[]),(0,el.useEffect)(()=>{(0,tL.resetGlobalFogUniforms)();let[e,o]=nr(t,n.position.y),s=new ef.Fog(t.fogColor,e,o);return r.fog=s,i.current=s,(0,tL.updateGlobalFogUniforms)(n.position.y,a),()=>{r.fog=null,i.current=null,(0,tL.resetGlobalFogUniforms)()}},[r,n,t,a]),(0,tE.useFrame)(()=>{let e=i.current;if(!e)return;let r=n.position.y,[o,s]=nr(t,r);e.near=o,e.far=s,e.color.copy(t.fogColor),(0,tL.updateGlobalFogUniforms)(r,a)}),null}let ni=/borg|xorg|porg|dorg|plant|tree|bush|fern|vine|grass|leaf|flower|frond|palm|foliage/i;function na(e){return ni.test(e)}let no=(0,el.createContext)(null);function ns(e){let{children:t,shapeName:r,type:n}=e,i=(0,el.useMemo)(()=>na(r),[r]),a=(0,el.useMemo)(()=>({shapeName:r,type:n,isOrganic:i}),[r,n,i]);return(0,es.jsx)(no.Provider,{value:a,children:t})}var nl=e.i(51475);let nu=new Map;function nc(e){e.onBeforeCompile=t=>{(0,tG.injectCustomFog)(t,tL.globalFogUniforms),e instanceof ef.MeshLambertMaterial&&(t.uniforms.shapeDirectionalFactor={value:tI.directional},t.uniforms.shapeAmbientFactor={value:tI.ambient},t.fragmentShader=t.fragmentShader.replace("#include ","#include \nuniform float shapeDirectionalFactor;\nuniform float shapeAmbientFactor;\n"),t.fragmentShader=t.fragmentShader.replace("#include ","#include \n // Apply shape-specific lighting multipliers\n reflectedLight.directDiffuse *= shapeDirectionalFactor;\n reflectedLight.indirectDiffuse *= shapeAmbientFactor;\n"))}}function nd(e,t,r,n){let i=r.has("Translucent"),a=r.has("Additive"),o=r.has("SelfIlluminating");if(r.has("NeverEnvMap"),o){let e=new ef.MeshBasicMaterial({map:t,side:2,transparent:a,alphaTest:.5*!a,blending:a?ef.AdditiveBlending:void 0,fog:!0});return nc(e),e}if(n||i){let e={map:t,transparent:!1,alphaTest:.5,reflectivity:0},r=new ef.MeshLambertMaterial({...e,side:1,polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}),n=new ef.MeshLambertMaterial({...e,side:0});return nc(r),nc(n),[r,n]}let s=new ef.MeshLambertMaterial({map:t,side:2,reflectivity:0});return nc(s),s}let nf=(0,el.memo)(function(e){var t;let{material:r,shapeName:n,geometry:i,backGeometry:a,castShadow:o=!1,receiveShadow:s=!1}=e,l=r.userData.resource_path,u=new Set(null!=(t=r.userData.flag_names)?t:[]),c=function(e){let{animationEnabled:t}=(0,tD.useSettings)(),{data:r}=ty({queryKey:["ifl",e],queryFn:()=>(0,tM.loadImageFrameList)(e),enabled:!0,suspense:!0,throwOnError:tB,placeholderData:void 0},tt,void 0),n=(0,el.useMemo)(()=>r.map(t=>(0,tM.iflTextureToUrl)(t.name,e)),[r,e]),i=(0,tT.useTexture)(n),a=(0,el.useMemo)(()=>{var t;let n,a=nu.get(e);return a||(a=function(e){let t=e[0].image.width,r=e[0].image.height,n=e.length,i=Math.ceil(Math.sqrt(n)),a=Math.ceil(n/i),o=document.createElement("canvas");o.width=t*i,o.height=r*a;let s=o.getContext("2d");e.forEach((e,n)=>{let a=Math.floor(n/i);s.drawImage(e.image,n%i*t,a*r)});let l=new ef.CanvasTexture(o);return l.colorSpace=ef.SRGBColorSpace,l.generateMipmaps=!1,l.minFilter=ef.NearestFilter,l.magFilter=ef.NearestFilter,l.wrapS=ef.ClampToEdgeWrapping,l.wrapT=ef.ClampToEdgeWrapping,l.repeat.set(1/i,1/a),{texture:l,columns:i,rows:a,frameCount:n,frameStartTicks:[],totalTicks:0,lastFrame:-1}}(i),nu.set(e,a)),n=0,(t=a).frameStartTicks=r.map(e=>{let t=n;return n+=e.frameCount,t}),t.totalTicks=n,a},[e,i,r]);return(0,nl.useTick)(e=>{let r=t?function(e,t){if(0===e.totalTicks)return 0;let r=t%e.totalTicks,{frameStartTicks:n}=e;for(let e=n.length-1;e>=0;e--)if(r>=n[e])return e;return 0}(a,e):0;!function(e,t){if(t===e.lastFrame)return;e.lastFrame=t;let r=t%e.columns,n=e.rows-1-Math.floor(t/e.columns);e.texture.offset.set(r/e.columns,n/e.rows)}(a,r)}),a.texture}("textures/".concat(l,".ifl")),d=n&&na(n),f=(0,el.useMemo)(()=>nd(r,c,u,d),[r,c,u,d]);return Array.isArray(f)?(0,es.jsxs)(es.Fragment,{children:[(0,es.jsx)("mesh",{geometry:a||i,castShadow:o,receiveShadow:s,children:(0,es.jsx)("primitive",{object:f[0],attach:"material"})}),(0,es.jsx)("mesh",{geometry:i,castShadow:o,receiveShadow:s,children:(0,es.jsx)("primitive",{object:f[1],attach:"material"})})]}):(0,es.jsx)("mesh",{geometry:i,castShadow:o,receiveShadow:s,children:(0,es.jsx)("primitive",{object:f,attach:"material"})})}),nh=(0,el.memo)(function(e){var t;let{material:r,shapeName:n,geometry:i,backGeometry:a,castShadow:o=!1,receiveShadow:s=!1}=e,l=r.userData.resource_path,u=new Set(null!=(t=r.userData.flag_names)?t:[]),c=(0,el.useMemo)(()=>(l||console.warn('No resource_path was found on "'.concat(n,'" - rendering fallback.')),l?(0,tM.textureToUrl)(l):tM.FALLBACK_TEXTURE_URL),[l,n]),d=n&&na(n),f=u.has("Translucent"),h=(0,tT.useTexture)(c,e=>d||f?(0,tS.setupAlphaTestedTexture)(e):(0,tS.setupColor)(e)),m=(0,el.useMemo)(()=>nd(r,h,u,d),[r,h,u,d]);return Array.isArray(m)?(0,es.jsxs)(es.Fragment,{children:[(0,es.jsx)("mesh",{geometry:a||i,castShadow:o,receiveShadow:s,children:(0,es.jsx)("primitive",{object:m[0],attach:"material"})}),(0,es.jsx)("mesh",{geometry:i,castShadow:o,receiveShadow:s,children:(0,es.jsx)("primitive",{object:m[1],attach:"material"})})]}):(0,es.jsx)("mesh",{geometry:i,castShadow:o,receiveShadow:s,children:(0,es.jsx)("primitive",{object:m,attach:"material"})})}),nm=(0,el.memo)(function(e){var t;let{material:r,shapeName:n,geometry:i,backGeometry:a,castShadow:o=!1,receiveShadow:s=!1}=e,l=new Set(null!=(t=r.userData.flag_names)?t:[]).has("IflMaterial"),u=r.userData.resource_path;return l&&u?(0,es.jsx)(nf,{material:r,shapeName:n,geometry:i,backGeometry:a,castShadow:o,receiveShadow:s}):r.name?(0,es.jsx)(nh,{material:r,shapeName:n,geometry:i,backGeometry:a,castShadow:o,receiveShadow:s}):null});function np(e){let{color:t,label:r}=e;return(0,es.jsxs)("mesh",{children:[(0,es.jsx)("boxGeometry",{args:[10,10,10]}),(0,es.jsx)("meshStandardMaterial",{color:t,wireframe:!0}),r?(0,es.jsx)(rq.FloatingLabel,{color:t,children:r}):null]})}function nA(e){let{color:t,label:r}=e,{debugMode:n}=(0,tD.useDebug)();return n?(0,es.jsx)(np,{color:t,label:r}):null}function ng(e){let{shapeName:t,loadingColor:r="yellow",children:n}=e;return t?(0,es.jsx)(tX,{fallback:(0,es.jsx)(nA,{color:"red",label:t}),children:(0,es.jsxs)(el.Suspense,{fallback:(0,es.jsx)(np,{color:r}),children:[(0,es.jsx)(nv,{}),n]})}):(0,es.jsx)(nA,{color:"orange"})}let nv=(0,el.memo)(function(){let{shapeName:e,isOrganic:t}=(0,el.useContext)(no),{debugMode:r}=(0,tD.useDebug)(),{nodes:n}=rX((0,tM.shapeToUrl)(e)),i=(0,el.useMemo)(()=>{let e=Object.values(n).filter(e=>e.skeleton);if(e.length>0){var t=e[0].skeleton;let r=new Set;return t.bones.forEach((e,t)=>{e.name.match(/^Hulk/i)&&r.add(t)}),r}return new Set},[n]),a=(0,el.useMemo)(()=>Object.entries(n).filter(e=>{let[t,r]=e;return r.material&&"Unassigned"!==r.material.name&&!r.name.match(/^Hulk/i)}).map(e=>{let[r,n]=e,a=function(e,t){if(0===t.size||!e.attributes.skinIndex)return e;let r=e.attributes.skinIndex,n=e.attributes.skinWeight,i=e.index,a=Array(r.count).fill(!1);for(let e=0;e.01&&t.has(o)){a[e]=!0;break}}if(i){let t=[],r=i.array;for(let e=0;e1){let t=0,r=0,n=0;for(let a of e)t+=i[3*a],r+=i[3*a+1],n+=i[3*a+2];let a=Math.sqrt(t*t+r*r+n*n);for(let o of(a>0&&(t/=a,r/=a,n/=a),e))i[3*o]=t,i[3*o+1]=r,i[3*o+2]=n}if(r.needsUpdate=!0,t){let e=(o=a.clone()).attributes.normal,t=e.array;for(let e=0;e{let{node:r,geometry:n,backGeometry:i}=t;return(0,es.jsx)(el.Suspense,{fallback:(0,es.jsx)("mesh",{geometry:n,children:(0,es.jsx)("meshStandardMaterial",{color:"gray",wireframe:!0})}),children:r.material?Array.isArray(r.material)?r.material.map((t,r)=>(0,es.jsx)(nm,{material:t,shapeName:e,geometry:n,backGeometry:i,castShadow:o,receiveShadow:o},r)):(0,es.jsx)(nm,{material:r.material,shapeName:e,geometry:n,backGeometry:i,castShadow:o,receiveShadow:o}):null},r.id)}),r?(0,es.jsx)(rq.FloatingLabel,{children:e}):null]})});var nB=e.i(6112);let nC={1:"Storm",2:"Inferno"},ny=(0,el.createContext)(null);function nb(){let e=(0,el.useContext)(ny);if(!e)throw Error("useCameras must be used within CamerasProvider");return e}function nM(e){let{children:t}=e,{camera:r}=(0,tx.useThree)(),[n,i]=(0,el.useState)(0),[a,o]=(0,el.useState)({}),s=(0,el.useCallback)(e=>{o(t=>({...t,[e.id]:e}))},[]),l=(0,el.useCallback)(e=>{o(t=>{let{[e.id]:r,...n}=t;return n})},[]),u=Object.keys(a).length,c=(0,el.useCallback)(()=>{i(e=>0===u?0:(e+1)%u)},[u]),d=(0,el.useCallback)(e=>{e>=0&&e{if(n({registerCamera:s,unregisterCamera:l,nextCamera:c,setCameraIndex:d,cameraCount:u}),[s,l,c,d,u]);return(0,es.jsx)(ny.Provider,{value:f,children:t})}let nE=(0,el.lazy)(()=>e.A(61921).then(e=>({default:e.AudioEmitter}))),nx={AudioEmitter:function(e){let{audioEnabled:t}=(0,tD.useSettings)();return t?(0,es.jsx)(nE,{...e}):null},Camera:function(e){let{object:t}=e,{registerCamera:r,unregisterCamera:n}=nb(),i=(0,el.useId)(),a=(0,tF.getProperty)(t,"dataBlock"),o=(0,el.useMemo)(()=>(0,tF.getPosition)(t),[t]),s=(0,el.useMemo)(()=>(0,tF.getRotation)(t),[t]);return(0,el.useEffect)(()=>{if("Observer"===a){let e={id:i,position:new ef.Vector3(...o),rotation:s};return r(e),()=>{n(e)}}},[i,a,r,n,o,s]),null},ForceFieldBare:(0,el.lazy)(()=>e.A(25147).then(e=>({default:e.ForceFieldBare}))),InteriorInstance:r2,Item:function(e){var t,r;let{object:n}=e,i=tK(),a=null!=(t=(0,tF.getProperty)(n,"dataBlock"))?t:"",o=(0,nB.useDatablock)(a),s=(0,el.useMemo)(()=>(0,tF.getPosition)(n),[n]),l=(0,el.useMemo)(()=>(0,tF.getScale)(n),[n]),u=(0,el.useMemo)(()=>(0,tF.getRotation)(n),[n]),c=(0,tF.getProperty)(o,"shapeFile");c||console.error(" missing shape for datablock: ".concat(a));let d=(null==a?void 0:a.toLowerCase())==="flag",f=null!=(r=null==i?void 0:i.team)?r:null,h=f&&f>0?nC[f]:null,m=d&&h?"".concat(h," Flag"):null;return(0,es.jsx)(ns,{shapeName:c,type:"Item",children:(0,es.jsx)("group",{position:s,quaternion:u,scale:l,children:(0,es.jsx)(ng,{shapeName:c,loadingColor:"pink",children:m?(0,es.jsx)(rq.FloatingLabel,{opacity:.6,children:m}):null})})})},SimGroup:function(e){var t;let{object:r}=e,n=tK(),i=(0,el.useMemo)(()=>{let e=null,t=!1;if(n&&n.hasTeams){if(t=!0,null!=n.team)e=n.team;else if(r._name){let t=r._name.match(/^team(\d+)$/i);t&&(e=parseInt(t[1],10))}}else r._name&&(t="teams"===r._name.toLowerCase());return{object:r,parent:n,hasTeams:t,team:e}},[r,n]);return(0,es.jsx)(tN.Provider,{value:i,children:(null!=(t=r._children)?t:[]).map((e,t)=>nF(e,t))})},Sky:function(e){var t;let{object:r}=e,{fogEnabled:n,highQualityFog:i}=(0,tD.useSettings)(),a=(0,tF.getProperty)(r,"materialList"),o=(0,el.useMemo)(()=>r7((0,tF.getProperty)(r,"SkySolidColor")),[r]),s=null!=(t=(0,tF.getInt)(r,"useSkyTextures"))?t:1,l=(0,el.useMemo)(()=>(function(e){var t,r;let n=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=null!=(t=(0,tF.getFloat)(e,"fogDistance"))?t:0,a=null!=(r=(0,tF.getFloat)(e,"visibleDistance"))?r:1e3,o=(0,tF.getFloat)(e,"high_fogDistance"),s=(0,tF.getFloat)(e,"high_visibleDistance"),l=n&&null!=o&&o>0?o:i,u=n&&null!=s&&s>0?s:a,c=function(e){if(!e)return new ef.Color(.5,.5,.5);let[t,r,n]=e.split(" ").map(e=>parseFloat(e));return new ef.Color().setRGB(t,r,n).convertSRGBToLinear()}((0,tF.getProperty)(e,"fogColor")),d=[];for(let t=1;t<=3;t++){let r=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(!e)return null;let r=e.split(" ").map(e=>parseFloat(e));if(r.length<3)return null;let[n,i,a]=r;return n<=0||a<=i?null:{visibleDistance:n,minHeight:i,maxHeight:a,percentage:Math.max(0,Math.min(1,t))}}((0,tF.getProperty)(e,"fogVolume".concat(t)),1);r&&d.push(r)}let f=d.reduce((e,t)=>Math.max(e,t.maxHeight),0);return{fogDistance:l,visibleDistance:u,fogColor:c,fogVolumes:d,fogLine:f,enabled:u>l}})(r,i),[r,i]),u=(0,el.useMemo)(()=>r7((0,tF.getProperty)(r,"fogColor")),[r]),c=o||u,d=l.enabled&&n,f=l.fogColor,{scene:h,gl:m}=(0,tx.useThree)();return(0,el.useEffect)(()=>{if(d){let e=f.clone();h.background=e,m.setClearColor(e)}else if(c){let e=c[0].clone();h.background=e,m.setClearColor(e)}else h.background=null;return()=>{h.background=null}},[h,m,d,f,c]),(0,es.jsxs)(es.Fragment,{children:[a&&s?(0,es.jsx)(el.Suspense,{fallback:null,children:(0,es.jsx)(nt,{materialList:a,fogColor:d?f:void 0,fogState:d?l:void 0},a)}):null,(0,es.jsx)(el.Suspense,{children:(0,es.jsx)(r6,{object:r})}),d?(0,es.jsx)(nn,{fogState:l}):null]})},StaticShape:function(e){var t;let{object:r}=e,n=null!=(t=(0,tF.getProperty)(r,"dataBlock"))?t:"",i=(0,nB.useDatablock)(n),a=(0,el.useMemo)(()=>(0,tF.getPosition)(r),[r]),o=(0,el.useMemo)(()=>(0,tF.getRotation)(r),[r]),s=(0,el.useMemo)(()=>(0,tF.getScale)(r),[r]),l=(0,tF.getProperty)(i,"shapeFile");return l||console.error(" missing shape for datablock: ".concat(n)),(0,es.jsx)(ns,{shapeName:l,type:"StaticShape",children:(0,es.jsx)("group",{position:a,quaternion:o,scale:s,children:(0,es.jsx)(ng,{shapeName:l})})})},Sun:function(e){let{object:t}=e,r=(0,el.useMemo)(()=>{var e;let[r,n,i]=(null!=(e=(0,tF.getProperty)(t,"direction"))?e:"0.57735 0.57735 -0.57735").split(" ").map(e=>parseFloat(e)),a=Math.sqrt(r*r+i*i+n*n);return new ef.Vector3(r/a,i/a,n/a)},[t]),n=(0,el.useMemo)(()=>new ef.Vector3(-(5e3*r.x),-(5e3*r.y),-(5e3*r.z)),[r]),i=(0,el.useMemo)(()=>{var e;let[r,n,i]=(null!=(e=(0,tF.getProperty)(t,"color"))?e:"0.7 0.7 0.7 1").split(" ").map(e=>parseFloat(e));return new ef.Color(r,n,i)},[t]),a=(0,el.useMemo)(()=>{var e;let[r,n,i]=(null!=(e=(0,tF.getProperty)(t,"ambient"))?e:"0.5 0.5 0.5 1").split(" ").map(e=>parseFloat(e));return new ef.Color(r,n,i)},[t]);return(0,es.jsxs)(es.Fragment,{children:[(0,es.jsx)("directionalLight",{position:n,color:i,intensity:1,castShadow:!0,"shadow-mapSize-width":8192,"shadow-mapSize-height":8192,"shadow-camera-left":-4096,"shadow-camera-right":4096,"shadow-camera-top":4096,"shadow-camera-bottom":-4096,"shadow-camera-near":100,"shadow-camera-far":12e3,"shadow-bias":-3e-4,"shadow-normalBias":.5}),(0,es.jsx)("ambientLight",{color:a,intensity:1})]})},TerrainBlock:tJ,TSStatic:function(e){let{object:t}=e,r=(0,tF.getProperty)(t,"shapeName"),n=(0,el.useMemo)(()=>(0,tF.getPosition)(t),[t]),i=(0,el.useMemo)(()=>(0,tF.getRotation)(t),[t]),a=(0,el.useMemo)(()=>(0,tF.getScale)(t),[t]);return r||console.error(" missing shapeName for object",t),(0,es.jsx)(ns,{shapeName:r,type:"TSStatic",children:(0,es.jsx)("group",{position:n,quaternion:i,scale:a,children:(0,es.jsx)(ng,{shapeName:r})})})},Turret:function(e){var t;let{object:r}=e,n=null!=(t=(0,tF.getProperty)(r,"dataBlock"))?t:"",i=(0,tF.getProperty)(r,"initialBarrel"),a=(0,nB.useDatablock)(n),o=(0,nB.useDatablock)(i),s=(0,el.useMemo)(()=>(0,tF.getPosition)(r),[r]),l=(0,el.useMemo)(()=>(0,tF.getRotation)(r),[r]),u=(0,el.useMemo)(()=>(0,tF.getScale)(r),[r]),c=(0,tF.getProperty)(a,"shapeFile"),d=(0,tF.getProperty)(o,"shapeFile");return c||console.error(" missing shape for datablock: ".concat(n)),i&&!d&&console.error(" missing shape for barrel datablock: ".concat(i)),(0,es.jsx)(ns,{shapeName:c,type:"Turret",children:(0,es.jsxs)("group",{position:s,quaternion:l,scale:u,children:[(0,es.jsx)(ng,{shapeName:c}),d?(0,es.jsx)(ns,{shapeName:d,type:"Turret",children:(0,es.jsx)("group",{position:[0,1.5,0],children:(0,es.jsx)(ng,{shapeName:d})})}):null]})})},WaterBlock:(0,el.lazy)(()=>e.A(18599).then(e=>({default:e.WaterBlock}))),WayPoint:function(e){let{object:t}=e;tK();let r=(0,el.useMemo)(()=>(0,tF.getPosition)(t),[t]),n=(0,tF.getProperty)(t,"name");return n?(0,es.jsx)(rq.FloatingLabel,{position:r,opacity:.6,children:n}):null}};function nF(e,t){let r=nx[e._className];return r?(0,es.jsx)(el.Suspense,{children:(0,es.jsx)(r,{object:e})},t):null}var nS=e.i(86608),nT=e.i(38433),nw=e.i(33870),nR=e.i(91996);let nI=async e=>{let t;try{t=(0,tM.getUrlForPath)(e)}catch(t){return console.warn("Script not in manifest: ".concat(e," (").concat(t,")")),null}try{let r=await fetch(t);if(!r.ok)return console.error("Script fetch failed: ".concat(e," (").concat(r.status,")")),null;return await r.text()}catch(t){return console.error("Script fetch error: ".concat(e)),console.error(t),null}},nD=(0,nw.createScriptCache)(),nG={findFiles:e=>{let t=(0,tb.default)(e,{nocase:!0});return(0,nR.getResourceList)().filter(e=>t(e)).map(e=>{let[t,r]=(0,nR.getSourceAndPath)(e);return r})},isFile:e=>null!=(0,nR.getResourceMap)()[(0,nR.getResourceKey)(e)]},nL=(0,el.memo)(function(e){let{name:t,onLoadingChange:r}=e,{data:n}=ty({queryKey:["parsedMission",t],queryFn:()=>(0,tM.loadMission)(t)},tt,void 0),{missionGroup:i,runtime:a,progress:o}=function(e,t){let[r,n]=(0,el.useState)({missionGroup:void 0,runtime:void 0,progress:0});return(0,el.useEffect)(()=>{if(!t)return;let r=new AbortController,i=t.missionTypes[0],a=(0,nT.createProgressTracker)(),o=()=>{n(e=>({...e,progress:a.progress}))};a.on("update",o);let{runtime:s}=(0,nS.runServer)({missionName:e,missionType:i,runtimeOptions:{loadScript:nI,fileSystem:nG,cache:nD,signal:r.signal,progress:a,ignoreScripts:["scripts/admin.cs","scripts/ai.cs","scripts/aiBotProfiles.cs","scripts/aiBountyGame.cs","scripts/aiChat.cs","scripts/aiCnH.cs","scripts/aiCTF.cs","scripts/aiDeathMatch.cs","scripts/aiDebug.cs","scripts/aiDefaultTasks.cs","scripts/aiDnD.cs","scripts/aiHumanTasks.cs","scripts/aiHunters.cs","scripts/aiInventory.cs","scripts/aiObjectiveBuilder.cs","scripts/aiObjectives.cs","scripts/aiRabbit.cs","scripts/aiSiege.cs","scripts/aiTDM.cs","scripts/aiTeamHunters.cs","scripts/deathMessages.cs","scripts/graphBuild.cs","scripts/navGraph.cs","scripts/serverTasks.cs","scripts/spdialog.cs"]},onMissionLoadDone:()=>{n({missionGroup:s.getObjectByName("MissionGroup"),runtime:s,progress:1})}});return()=>{a.off("update",o),r.abort(),s.destroy()}},[e,t]),r}(t,n),s=!i||!a;return((0,el.useEffect)(()=>{null==r||r(s,o)},[s,o,r]),s)?null:(0,es.jsx)(t_.RuntimeProvider,{runtime:a,children:nF(i)})});function nP(e,t){var r=eB(e,t,"update");if(r.set){if(!r.get)throw TypeError("attempted to read set only private field");return"__destrWrapper"in r||(r.__destrWrapper={set value(v){r.set.call(e,v)},get value(){return r.get.call(e)}}),r.__destrWrapper}if(!r.writable)throw TypeError("attempted to set read only private field");return r}var nH=(K=new WeakMap,class extends eF{build(e,t,r){var n;let i=t.queryKey,a=null!=(n=t.queryHash)?n:eO(i,t),o=this.get(a);return o||(o=new e5({client:e,queryKey:i,queryHash:a,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(o)),o}add(e){eC(this,K).has(e.queryHash)||(eC(this,K).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=eC(this,K).get(e.queryHash);t&&(e.destroy(),t===e&&eC(this,K).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){ez.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return eC(this,K).get(e)}getAll(){return[...eC(this,K).values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>eP(t,e))}findAll(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.getAll();return Object.keys(e).length>0?t.filter(t=>eP(e,t)):t}notify(e){ez.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){ez.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){ez.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}constructor(e={}){super(),eb(this,K,{writable:!0,value:void 0}),this.config=e,eM(this,K,new Map)}}),nO=(Q=new WeakMap,W=new WeakMap,V=new WeakMap,X=new WeakMap,q=new WeakSet,class extends e3{setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){eC(this,W).includes(e)||(eC(this,W).push(e),this.clearGcTimeout(),eC(this,V).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){eM(this,W,eC(this,W).filter(t=>t!==e)),this.scheduleGc(),eC(this,V).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){eC(this,W).length||("pending"===this.state.status?this.scheduleGc():eC(this,V).remove(this))}continue(){var e,t;return null!=(t=null==(e=eC(this,X))?void 0:e.continue())?t:this.execute(this.state.variables)}async execute(e){var t,r,n,i,a,o,s,l,u,c,d,f,h,m,p,A,g,B,C,y,b;let M=()=>{eE(this,q,nk).call(this,{type:"continue"})},E={client:eC(this,Q),meta:this.options.meta,mutationKey:this.options.mutationKey};eM(this,X,e8({fn:()=>this.options.mutationFn?this.options.mutationFn(e,E):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{eE(this,q,nk).call(this,{type:"failed",failureCount:e,error:t})},onPause:()=>{eE(this,q,nk).call(this,{type:"pause"})},onContinue:M,retry:null!=(t=this.options.retry)?t:0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>eC(this,V).canRun(this)}));let x="pending"===this.state.status,F=!eC(this,X).canStart();try{if(x)M();else{eE(this,q,nk).call(this,{type:"pending",variables:e,isPaused:F}),await (null==(c=(d=eC(this,V).config).onMutate)?void 0:c.call(d,e,this,E));let t=await (null==(f=(h=this.options).onMutate)?void 0:f.call(h,e,E));t!==this.state.context&&eE(this,q,nk).call(this,{type:"pending",context:t,variables:e,isPaused:F})}let t=await eC(this,X).start();return await (null==(r=(n=eC(this,V).config).onSuccess)?void 0:r.call(n,t,e,this.state.context,this,E)),await (null==(i=(a=this.options).onSuccess)?void 0:i.call(a,t,e,this.state.context,E)),await (null==(o=(s=eC(this,V).config).onSettled)?void 0:o.call(s,t,null,this.state.variables,this.state.context,this,E)),await (null==(l=(u=this.options).onSettled)?void 0:l.call(u,t,null,e,this.state.context,E)),eE(this,q,nk).call(this,{type:"success",data:t}),t}catch(t){try{throw await (null==(m=(p=eC(this,V).config).onError)?void 0:m.call(p,t,e,this.state.context,this,E)),await (null==(A=(g=this.options).onError)?void 0:A.call(g,t,e,this.state.context,E)),await (null==(B=(C=eC(this,V).config).onSettled)?void 0:B.call(C,void 0,t,this.state.variables,this.state.context,this,E)),await (null==(y=(b=this.options).onSettled)?void 0:y.call(b,void 0,t,e,this.state.context,E)),t}finally{eE(this,q,nk).call(this,{type:"error",error:t})}}finally{eC(this,V).runNext(this)}}constructor(e){super(),ex(this,q),eb(this,Q,{writable:!0,value:void 0}),eb(this,W,{writable:!0,value:void 0}),eb(this,V,{writable:!0,value:void 0}),eb(this,X,{writable:!0,value:void 0}),eM(this,Q,e.client),this.mutationId=e.mutationId,eM(this,V,e.mutationCache),eM(this,W,[]),this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0},this.setOptions(e.options),this.scheduleGc()}});function nk(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),ez.batch(()=>{eC(this,W).forEach(t=>{t.onMutationUpdate(e)}),eC(this,V).notify({mutation:this,type:"updated",action:e})})}var n_=(Y=new WeakMap,Z=new WeakMap,z=new WeakMap,class extends eF{build(e,t,r){let n=new nO({client:e,mutationCache:this,mutationId:++nP(this,z).value,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){eC(this,Y).add(e);let t=nU(e);if("string"==typeof t){let r=eC(this,Z).get(t);r?r.push(e):eC(this,Z).set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(eC(this,Y).delete(e)){let t=nU(e);if("string"==typeof t){let r=eC(this,Z).get(t);if(r)if(r.length>1){let t=r.indexOf(e);-1!==t&&r.splice(t,1)}else r[0]===e&&eC(this,Z).delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){let t=nU(e);if("string"!=typeof t)return!0;{let r=eC(this,Z).get(t),n=null==r?void 0:r.find(e=>"pending"===e.state.status);return!n||n===e}}runNext(e){let t=nU(e);if("string"!=typeof t)return Promise.resolve();{var r,n;let i=null==(r=eC(this,Z).get(t))?void 0:r.find(t=>t!==e&&t.state.isPaused);return null!=(n=null==i?void 0:i.continue())?n:Promise.resolve()}}clear(){ez.batch(()=>{eC(this,Y).forEach(e=>{this.notify({type:"removed",mutation:e})}),eC(this,Y).clear(),eC(this,Z).clear()})}getAll(){return Array.from(eC(this,Y))}find(e){let t={exact:!0,...e};return this.getAll().find(e=>eH(t,e))}findAll(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.getAll().filter(t=>eH(e,t))}notify(e){ez.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return ez.batch(()=>Promise.all(e.map(e=>e.continue().catch(eR))))}constructor(e={}){super(),eb(this,Y,{writable:!0,value:void 0}),eb(this,Z,{writable:!0,value:void 0}),eb(this,z,{writable:!0,value:void 0}),this.config=e,eM(this,Y,new Set),eM(this,Z,new Map),eM(this,z,0)}});function nU(e){var t;return null==(t=e.options.scope)?void 0:t.id}function nj(e){return{onFetch:(t,r)=>{var n,i,a,o,s;let l=t.options,u=null==(a=t.fetchOptions)||null==(i=a.meta)||null==(n=i.fetchMore)?void 0:n.direction,c=(null==(o=t.state.data)?void 0:o.pages)||[],d=(null==(s=t.state.data)?void 0:s.pageParams)||[],f={pages:[],pageParams:[]},h=0,m=async()=>{let r=!1,n=eq(t.options,t.fetchOptions),i=async(e,i,a)=>{if(r)return Promise.reject();if(null==i&&e.pages.length)return Promise.resolve(e);let o=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:i,direction:a?"backward":"forward",meta:t.options.meta};return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(t.signal.aborted?r=!0:t.signal.addEventListener("abort",()=>{r=!0}),t.signal)}),e})(),s=await n(o),{maxPages:l}=t.options,u=a?eV:eW;return{pages:u(e.pages,s,l),pageParams:u(e.pageParams,i,l)}};if(u&&c.length){let e="backward"===u,t={pages:c,pageParams:d},r=(e?function(e,t){var r;let{pages:n,pageParams:i}=t;return n.length>0?null==(r=e.getPreviousPageParam)?void 0:r.call(e,n[0],n,i[0],i):void 0}:nJ)(l,t);f=await i(t,r,e)}else{let t=null!=e?e:c.length;do{var a;let e=0===h?null!=(a=d[0])?a:l.initialPageParam:nJ(l,f);if(h>0&&null==e)break;f=await i(f,e),h++}while(h{var e,n;return null==(e=(n=t.options).persister)?void 0:e.call(n,m,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r)}:t.fetchFn=m}}}function nJ(e,t){let{pages:r,pageParams:n}=t,i=r.length-1;return r.length>0?e.getNextPageParam(r[i],r,n[i],n):void 0}var nN=($=new WeakMap,ee=new WeakMap,et=new WeakMap,er=new WeakMap,en=new WeakMap,ei=new WeakMap,ea=new WeakMap,eo=new WeakMap,class{mount(){nP(this,ei).value++,1===eC(this,ei)&&(eM(this,ea,eY.subscribe(async e=>{e&&(await this.resumePausedMutations(),eC(this,$).onFocus())})),eM(this,eo,e$.subscribe(async e=>{e&&(await this.resumePausedMutations(),eC(this,$).onOnline())})))}unmount(){var e,t;nP(this,ei).value--,0===eC(this,ei)&&(null==(e=eC(this,ea))||e.call(this),eM(this,ea,void 0),null==(t=eC(this,eo))||t.call(this),eM(this,eo,void 0))}isFetching(e){return eC(this,$).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return eC(this,ee).findAll({...e,status:"pending"}).length}getQueryData(e){var t;let r=this.defaultQueryOptions({queryKey:e});return null==(t=eC(this,$).get(r.queryHash))?void 0:t.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=eC(this,$).build(this,t),n=r.state.data;return void 0===n?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(eG(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return eC(this,$).findAll(e).map(e=>{let{queryKey:t,state:r}=e;return[t,r.data]})}setQueryData(e,t,r){let n=this.defaultQueryOptions({queryKey:e}),i=eC(this,$).get(n.queryHash),a=null==i?void 0:i.state.data,o="function"==typeof t?t(a):t;if(void 0!==o)return eC(this,$).build(this,n).setData(o,{...r,manual:!0})}setQueriesData(e,t,r){return ez.batch(()=>eC(this,$).findAll(e).map(e=>{let{queryKey:n}=e;return[n,this.setQueryData(n,t,r)]}))}getQueryState(e){var t;let r=this.defaultQueryOptions({queryKey:e});return null==(t=eC(this,$).get(r.queryHash))?void 0:t.state}removeQueries(e){let t=eC(this,$);ez.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let r=eC(this,$);return ez.batch(()=>(r.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={revert:!0,...t};return Promise.all(ez.batch(()=>eC(this,$).findAll(e).map(e=>e.cancel(r)))).then(eR).catch(eR)}invalidateQueries(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ez.batch(()=>{var r,n;return(eC(this,$).findAll(e).forEach(e=>{e.invalidate()}),(null==e?void 0:e.refetchType)==="none")?Promise.resolve():this.refetchQueries({...e,type:null!=(n=null!=(r=null==e?void 0:e.refetchType)?r:null==e?void 0:e.type)?n:"active"},t)})}refetchQueries(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={...r,cancelRefetch:null==(t=r.cancelRefetch)||t};return Promise.all(ez.batch(()=>eC(this,$).findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(eR)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(eR)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let r=eC(this,$).build(this,t);return r.isStaleByTime(eG(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(eR).catch(eR)}fetchInfiniteQuery(e){return e.behavior=nj(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(eR).catch(eR)}ensureInfiniteQueryData(e){return e.behavior=nj(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return e$.isOnline()?eC(this,ee).resumePausedMutations():Promise.resolve()}getQueryCache(){return eC(this,$)}getMutationCache(){return eC(this,ee)}getDefaultOptions(){return eC(this,et)}setDefaultOptions(e){eM(this,et,e)}setQueryDefaults(e,t){eC(this,er).set(ek(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...eC(this,er).values()],r={};return t.forEach(t=>{e_(e,t.queryKey)&&Object.assign(r,t.defaultOptions)}),r}setMutationDefaults(e,t){eC(this,en).set(ek(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...eC(this,en).values()],r={};return t.forEach(t=>{e_(e,t.mutationKey)&&Object.assign(r,t.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...eC(this,et).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=eO(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===eX&&(t.enabled=!1),t}defaultMutationOptions(e){return(null==e?void 0:e._defaulted)?e:{...eC(this,et).mutations,...(null==e?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){eC(this,$).clear(),eC(this,ee).clear()}constructor(e={}){eb(this,$,{writable:!0,value:void 0}),eb(this,ee,{writable:!0,value:void 0}),eb(this,et,{writable:!0,value:void 0}),eb(this,er,{writable:!0,value:void 0}),eb(this,en,{writable:!0,value:void 0}),eb(this,ei,{writable:!0,value:void 0}),eb(this,ea,{writable:!0,value:void 0}),eb(this,eo,{writable:!0,value:void 0}),eM(this,$,e.queryCache||new nH),eM(this,ee,e.mutationCache||new n_),eM(this,et,e.defaultOptions||{}),eM(this,er,new Map),eM(this,en,new Map),eM(this,ei,0)}}),nK=e.i(8155);let nQ=e=>e,nW=e=>{let t=(0,nK.createStore)(e),r=e=>(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:nQ,r=el.default.useSyncExternalStore(e.subscribe,el.default.useCallback(()=>t(e.getState()),[e,t]),el.default.useCallback(()=>t(e.getInitialState()),[e,t]));return el.default.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},nV=el.createContext(null);function nX(e){let{map:t,children:r,onChange:n,domElement:i}=e,a=t.map(e=>e.name+e.keys).join("-"),o=el.useMemo(()=>{let e,r;return e=()=>t.reduce((e,t)=>({...e,[t.name]:!1}),{}),(r=(t,r,n)=>{let i=n.subscribe;return n.subscribe=(e,t,r)=>{let a=e;if(t){let i=(null==r?void 0:r.equalityFn)||Object.is,o=e(n.getState());a=r=>{let n=e(r);if(!i(o,n)){let e=o;t(o=n,e)}},(null==r?void 0:r.fireImmediately)&&t(o,o)}return i(a)},e(t,r,n)})?nW(r):nW},[a]),s=el.useMemo(()=>[o.subscribe,o.getState,o],[a]),l=o.setState;return el.useEffect(()=>{let e=t.map(e=>{let{name:t,keys:r,up:i}=e;return{keys:r,up:i,fn:e=>{l({[t]:e}),n&&n(t,e,s[1]())}}}).reduce((e,t)=>{let{keys:r,fn:n,up:i=!0}=t;return r.forEach(t=>e[t]={fn:n,pressed:!1,up:i}),e},{}),r=t=>{let{key:r,code:n}=t,i=e[r]||e[n];if(!i)return;let{fn:a,pressed:o,up:s}=i;i.pressed=!0,(s||!o)&&a(!0)},a=t=>{let{key:r,code:n}=t,i=e[r]||e[n];if(!i)return;let{fn:a,up:o}=i;i.pressed=!1,o&&a(!1)},o=i||window;return o.addEventListener("keydown",r,{passive:!0}),o.addEventListener("keyup",a,{passive:!0}),()=>{o.removeEventListener("keydown",r),o.removeEventListener("keyup",a)}},[i,a]),el.createElement(nV.Provider,{value:s,children:r})}var nq=Object.defineProperty;class nY{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});let r=this._listeners;void 0===r[e]&&(r[e]=[]),-1===r[e].indexOf(t)&&r[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;let r=this._listeners;return void 0!==r[e]&&-1!==r[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;let r=this._listeners[e];if(void 0!==r){let e=r.indexOf(t);-1!==e&&r.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;let t=this._listeners[e.type];if(void 0!==t){e.target=this;let r=t.slice(0);for(let t=0,n=r.length;t((e,t,r)=>t in e?nq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r))(this,"_listeners")}}var nZ=Object.defineProperty,nz=(e,t,r)=>(((e,t,r)=>t in e?nZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r),r);let n$=new ef.Euler(0,0,0,"YXZ"),n0=new ef.Vector3,n1={type:"change"},n9={type:"lock"},n2={type:"unlock"},n8=Math.PI/2;class n3 extends nY{constructor(e,t){super(),nz(this,"camera"),nz(this,"domElement"),nz(this,"isLocked"),nz(this,"minPolarAngle"),nz(this,"maxPolarAngle"),nz(this,"pointerSpeed"),nz(this,"onMouseMove",e=>{this.domElement&&!1!==this.isLocked&&(n$.setFromQuaternion(this.camera.quaternion),n$.y-=.002*e.movementX*this.pointerSpeed,n$.x-=.002*e.movementY*this.pointerSpeed,n$.x=Math.max(n8-this.maxPolarAngle,Math.min(n8-this.minPolarAngle,n$.x)),this.camera.quaternion.setFromEuler(n$),this.dispatchEvent(n1))}),nz(this,"onPointerlockChange",()=>{this.domElement&&(this.domElement.ownerDocument.pointerLockElement===this.domElement?(this.dispatchEvent(n9),this.isLocked=!0):(this.dispatchEvent(n2),this.isLocked=!1))}),nz(this,"onPointerlockError",()=>{console.error("THREE.PointerLockControls: Unable to use Pointer Lock API")}),nz(this,"connect",e=>{this.domElement=e||this.domElement,this.domElement&&(this.domElement.ownerDocument.addEventListener("mousemove",this.onMouseMove),this.domElement.ownerDocument.addEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.addEventListener("pointerlockerror",this.onPointerlockError))}),nz(this,"disconnect",()=>{this.domElement&&(this.domElement.ownerDocument.removeEventListener("mousemove",this.onMouseMove),this.domElement.ownerDocument.removeEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.removeEventListener("pointerlockerror",this.onPointerlockError))}),nz(this,"dispose",()=>{this.disconnect()}),nz(this,"getObject",()=>this.camera),nz(this,"direction",new ef.Vector3(0,0,-1)),nz(this,"getDirection",e=>e.copy(this.direction).applyQuaternion(this.camera.quaternion)),nz(this,"moveForward",e=>{n0.setFromMatrixColumn(this.camera.matrix,0),n0.crossVectors(this.camera.up,n0),this.camera.position.addScaledVector(n0,e)}),nz(this,"moveRight",e=>{n0.setFromMatrixColumn(this.camera.matrix,0),this.camera.position.addScaledVector(n0,e)}),nz(this,"lock",()=>{this.domElement&&this.domElement.requestPointerLock()}),nz(this,"unlock",()=>{this.domElement&&this.domElement.ownerDocument.exitPointerLock()}),this.camera=e,this.domElement=t,this.isLocked=!1,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.pointerSpeed=1,t&&this.connect(t)}}var n5=function(e){return e.forward="forward",e.backward="backward",e.left="left",e.right="right",e.up="up",e.down="down",e.camera1="camera1",e.camera2="camera2",e.camera3="camera3",e.camera4="camera4",e.camera5="camera5",e.camera6="camera6",e.camera7="camera7",e.camera8="camera8",e.camera9="camera9",e}(n5||{});function n6(){let{speedMultiplier:e,setSpeedMultiplier:t}=(0,tD.useControls)(),[r,n]=function(e){let[t,r,n]=el.useContext(nV);return[t,r]}(),{camera:i,gl:a}=(0,tx.useThree)(),{nextCamera:o,setCameraIndex:s,cameraCount:l}=nb(),u=(0,el.useRef)(null),c=(0,el.useRef)(new ef.Vector3),d=(0,el.useRef)(new ef.Vector3),f=(0,el.useRef)(new ef.Vector3);return(0,el.useEffect)(()=>{let e=new n3(i,a.domElement);u.current=e;let t=t=>{e.isLocked?o():t.target===a.domElement&&e.lock()};return document.addEventListener("click",t),()=>{document.removeEventListener("click",t),e.dispose()}},[i,a,o]),(0,el.useEffect)(()=>{let e=["camera1","camera2","camera3","camera4","camera5","camera6","camera7","camera8","camera9"];return r(t=>{for(let r=0;r{let e=e=>{e.preventDefault();let r=e.deltaY>0?-1:1,n=Math.max(.05,Math.min(.5,Math.abs(.01*e.deltaY)))*r;t(e=>Math.max(.1,Math.min(5,Math.round((e+n)*20)/20)))},r=a.domElement;return r.addEventListener("wheel",e,{passive:!1}),()=>{r.removeEventListener("wheel",e)}},[a]),(0,tE.useFrame)((t,r)=>{let{forward:a,backward:o,left:s,right:l,up:u,down:h}=n();(a||o||s||l||u||h)&&(i.getWorldDirection(c.current),c.current.normalize(),d.current.crossVectors(i.up,c.current).normalize(),f.current.set(0,0,0),a&&f.current.add(c.current),o&&f.current.sub(c.current),s&&f.current.add(d.current),l&&f.current.sub(d.current),u&&(f.current.y+=1),h&&(f.current.y-=1),f.current.lengthSq()>0&&(f.current.normalize().multiplyScalar(80*e*r),i.position.add(f.current)))}),null}let n4=[{name:"forward",keys:["KeyW"]},{name:"backward",keys:["KeyS"]},{name:"left",keys:["KeyA"]},{name:"right",keys:["KeyD"]},{name:"up",keys:["Space"]},{name:"down",keys:["ShiftLeft","ShiftRight"]},{name:"camera1",keys:["Digit1"]},{name:"camera2",keys:["Digit2"]},{name:"camera3",keys:["Digit3"]},{name:"camera4",keys:["Digit4"]},{name:"camera5",keys:["Digit5"]},{name:"camera6",keys:["Digit6"]},{name:"camera7",keys:["Digit7"]},{name:"camera8",keys:["Digit8"]},{name:"camera9",keys:["Digit9"]}];function n7(){return(0,el.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key||e.metaKey&&e.stopImmediatePropagation()};return window.addEventListener("keydown",e,{capture:!0}),window.addEventListener("keyup",e,{capture:!0}),()=>{window.removeEventListener("keydown",e,{capture:!0}),window.removeEventListener("keyup",e,{capture:!0})}},[]),(0,es.jsx)(nX,{map:n4,children:(0,es.jsx)(n6,{})})}var ie=function(){var e;return"undefined"!=typeof window&&!!(null==(e=window.document)?void 0:e.createElement)}();function it(e){return e?"self"in e?e.document:e.ownerDocument||document:document}function ir(e){return e?"self"in e?e.self:it(e).defaultView||window:self}function ii(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],{activeElement:r}=it(e);if(!(null==r?void 0:r.nodeName))return null;if(io(r)&&r.contentDocument)return ii(r.contentDocument.body,t);if(t){let e=r.getAttribute("aria-activedescendant");if(e){let t=it(r).getElementById(e);if(t)return t}}return r}function ia(e,t){return e===t||e.contains(t)}function io(e){return"IFRAME"===e.tagName}function is(e){let t=e.tagName.toLowerCase();return"button"===t||"input"===t&&!!e.type&&-1!==il.indexOf(e.type)}var il=["button","color","file","image","reset","submit"];function iu(e){return"function"==typeof e.checkVisibility?e.checkVisibility():e.offsetWidth>0||e.offsetHeight>0||e.getClientRects().length>0}function ic(e){try{let t=e instanceof HTMLInputElement&&null!==e.selectionStart,r="TEXTAREA"===e.tagName;return t||r||!1}catch(e){return!1}}function id(e){return e.isContentEditable||ic(e)}function ih(e){let t=0,r=0;if(ic(e))t=e.selectionStart||0,r=e.selectionEnd||0;else if(e.isContentEditable){let n=it(e).getSelection();if((null==n?void 0:n.rangeCount)&&n.anchorNode&&ia(e,n.anchorNode)&&n.focusNode&&ia(e,n.focusNode)){let i=n.getRangeAt(0),a=i.cloneRange();a.selectNodeContents(e),a.setEnd(i.startContainer,i.startOffset),t=a.toString().length,a.setEnd(i.endContainer,i.endOffset),r=a.toString().length}}return{start:t,end:r}}function im(e,t){let r=null==e?void 0:e.getAttribute("role");return r&&-1!==["dialog","menu","listbox","tree","grid"].indexOf(r)?r:t}function ip(e){if(!e)return null;let t=e=>"auto"===e||"scroll"===e;if(e.clientHeight&&e.scrollHeight>e.clientHeight){let{overflowY:r}=getComputedStyle(e);if(t(r))return e}else if(e.clientWidth&&e.scrollWidth>e.clientWidth){let{overflowX:r}=getComputedStyle(e);if(t(r))return e}return ip(e.parentElement)||document.scrollingElement||document.body}function iA(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n1?t-1:0),n=1;n{if(n){let t=setTimeout(e,n);return()=>clearTimeout(t)}let t=requestAnimationFrame(e);return()=>cancelAnimationFrame(t)})(()=>{e.removeEventListener(t,a,!0),r()}),a=()=>{i(),r()};return e.addEventListener(t,a,{once:!0,capture:!0}),i}function i_(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:window,i=[];try{for(let a of(n.document.addEventListener(e,t,r),Array.from(n.frames)))i.push(i_(e,t,r,a))}catch(e){}return()=>{try{n.document.removeEventListener(e,t,r)}catch(e){}for(let e of i)e()}}var iU={...el},ij=iU.useId;iU.useDeferredValue;var iJ=iU.useInsertionEffect,iN=ie?el.useLayoutEffect:el.useEffect;function iK(e){let t=(0,el.useRef)(()=>{throw Error("Cannot call an event handler while rendering.")});return iJ?iJ(()=>{t.current=e}):t.current=e,(0,el.useCallback)(function(){for(var e,r=arguments.length,n=Array(r),i=0;i{if(t.some(Boolean))return e=>{for(let r of t)iw(r,e)}},t)}function iW(e){if(ij){let t=ij();return e||t}let[t,r]=(0,el.useState)(e);return iN(()=>{if(e||t)return;let n=Math.random().toString(36).slice(2,8);r("id-".concat(n))},[e,t]),e||t}function iV(e,t){let r=(0,el.useRef)(!1);(0,el.useEffect)(()=>{if(r.current)return e();r.current=!0},t),(0,el.useEffect)(()=>()=>{r.current=!1},[])}function iX(){return(0,el.useReducer)(()=>[],[])}function iq(e){return iK("function"==typeof e?e:()=>e)}function iY(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=(0,el.useCallback)(r=>(e.wrapElement&&(r=e.wrapElement(r)),t(r)),[...r,e.wrapElement]);return{...e,wrapElement:n}}function iZ(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1?arguments[1]:void 0,[r,n]=(0,el.useState)(null);return{portalRef:iQ(n,t),portalNode:r,domReady:!e||r}}var iz=!1,i$=!1,i0=0,i1=0;function i9(e){(function(e){let t=e.movementX||e.screenX-i0,r=e.movementY||e.screenY-i1;return i0=e.screenX,i1=e.screenY,t||r||!1})(e)&&(i$=!0)}function i2(){i$=!1}function i8(e){let t=el.forwardRef((t,r)=>e({...t,ref:r}));return t.displayName=e.displayName||e.name,t}function i3(e,t){return el.memo(e,t)}function i5(e,t){let r,{wrapElement:n,render:i,...a}=t,o=iQ(t.ref,i&&(0,el.isValidElement)(i)&&("ref"in i.props||"ref"in i)?({...i.props}).ref||i.ref:null);if(el.isValidElement(i)){let e={...i.props,ref:o};r=el.cloneElement(i,function(e,t){let r={...e};for(let n in t){if(!iy(t,n))continue;if("className"===n){let n="className";r[n]=e[n]?"".concat(e[n]," ").concat(t[n]):t[n];continue}if("style"===n){let n="style";r[n]=e[n]?{...e[n],...t[n]}:t[n];continue}let i=t[n];if("function"==typeof i&&n.startsWith("on")){let t=e[n];if("function"==typeof t){r[n]=function(){for(var e=arguments.length,r=Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:{};return e(t)};return t.displayName=e.name,t}function i4(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=el.createContext(void 0),n=el.createContext(void 0),i=()=>el.useContext(r),a=t=>e.reduceRight((e,r)=>(0,es.jsx)(r,{...t,children:e}),(0,es.jsx)(r.Provider,{...t}));return{context:r,scopedContext:n,useContext:i,useScopedContext:function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=el.useContext(n),r=i();return e?t:t||r},useProviderContext:()=>{let e=el.useContext(n),t=i();if(!e||e!==t)return t},ContextProvider:a,ScopedContextProvider:e=>(0,es.jsx)(a,{...e,children:t.reduceRight((t,r)=>(0,es.jsx)(r,{...e,children:t}),(0,es.jsx)(n.Provider,{...e}))})}}var i7=i4(),ae=i7.useContext;i7.useScopedContext,i7.useProviderContext;var at=i4([i7.ContextProvider],[i7.ScopedContextProvider]),ar=at.useContext;at.useScopedContext;var an=at.useProviderContext,ai=at.ContextProvider,aa=at.ScopedContextProvider,ao=(0,el.createContext)(void 0),as=(0,el.createContext)(void 0),al=(0,el.createContext)(!0),au="input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], summary, iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])";function ac(e){return!(!e.matches(au)||!iu(e)||e.closest("[inert]"))}function ad(e){if(!ac(e)||0>Number.parseInt(e.getAttribute("tabindex")||"0",10))return!1;if(!("form"in e)||!e.form||e.checked||"radio"!==e.type)return!0;let t=e.form.elements.namedItem(e.name);if(!t||!("length"in t))return!0;let r=ii(e);return!r||r===e||!("form"in r)||r.form!==e.form||r.name!==e.name}function af(e,t){let r=Array.from(e.querySelectorAll(au));t&&r.unshift(e);let n=r.filter(ac);return n.forEach((e,t)=>{if(io(e)&&e.contentDocument){let r=e.contentDocument.body;n.splice(t,1,...af(r))}}),n}function ah(e,t,r){let n=Array.from(e.querySelectorAll(au)),i=n.filter(ad);return(t&&ad(e)&&i.unshift(e),i.forEach((e,t)=>{if(io(e)&&e.contentDocument){let n=ah(e.contentDocument.body,!1,r);i.splice(t,1,...n)}}),!i.length&&r)?n:i}function am(e,t){return function(e,t,r,n){let i=ii(e),a=af(e,t),o=a.indexOf(i),s=a.slice(o+1);return s.find(ad)||(r?a.find(ad):null)||(n?s[0]:null)||null}(document.body,!1,e,t)}function ap(e,t){return function(e,t,r,n){let i=ii(e),a=af(e,t).reverse(),o=a.indexOf(i),s=a.slice(o+1);return s.find(ad)||(r?a.find(ad):null)||(n?s[0]:null)||null}(document.body,!1,e,t)}function aA(e){let t=ii(e);if(!t)return!1;if(t===e)return!0;let r=t.getAttribute("aria-activedescendant");return!!r&&r===e.id}function ag(e){let t=ii(e);if(!t)return!1;if(ia(e,t))return!0;let r=t.getAttribute("aria-activedescendant");return!!r&&"id"in e&&(r===e.id||!!e.querySelector("#".concat(CSS.escape(r))))}function av(e){!ag(e)&&ac(e)&&e.focus()}var aB=iD(),aC=["text","search","url","tel","email","password","number","date","month","week","time","datetime","datetime-local"],ay=Symbol("safariFocusAncestor");function ab(e){return"input"===e.tagName.toLowerCase()&&!!e.type&&("radio"===e.type||"checkbox"===e.type)}function aM(e,t){return iK(r=>{null==e||e(r),!r.defaultPrevented&&t&&(r.stopPropagation(),r.preventDefault())})}var aE=!1,ax=!0;function aF(e){let t=e.target;t&&"hasAttribute"in t&&!t.hasAttribute("data-focus-visible")&&(ax=!1)}function aS(e){e.metaKey||e.ctrlKey||e.altKey||(ax=!0)}var aT=i6(function(e){var t,r,n,i,a;let{focusable:o=!0,accessibleWhenDisabled:s,autoFocus:l,onFocusVisible:u,...c}=e,d=(0,el.useRef)(null);(0,el.useEffect)(()=>{o&&(aE||(i_("mousedown",aF,!0),i_("keydown",aS,!0),aE=!0))},[o]),aB&&(0,el.useEffect)(()=>{if(!o)return;let e=d.current;if(!e||!ab(e))return;let t="labels"in e?e.labels:null;if(!t)return;let r=()=>queueMicrotask(()=>e.focus());for(let e of t)e.addEventListener("mouseup",r);return()=>{for(let e of t)e.removeEventListener("mouseup",r)}},[o]);let f=o&&iF(c),h=!!f&&!s,[m,p]=(0,el.useState)(!1);(0,el.useEffect)(()=>{o&&h&&m&&p(!1)},[o,h,m]),(0,el.useEffect)(()=>{if(!o||!m)return;let e=d.current;if(!e||"undefined"==typeof IntersectionObserver)return;let t=new IntersectionObserver(()=>{ac(e)||p(!1)});return t.observe(e),()=>t.disconnect()},[o,m]);let A=aM(c.onKeyPressCapture,f),g=aM(c.onMouseDownCapture,f),B=aM(c.onClickCapture,f),C=c.onMouseDown,y=iK(e=>{if(null==C||C(e),e.defaultPrevented||!o)return;let t=e.currentTarget;if(!aB||iG(e)||!is(t)&&!ab(t))return;let r=!1,n=()=>{r=!0};t.addEventListener("focusin",n,{capture:!0,once:!0});let i=function(e){for(;e&&!ac(e);)e=e.closest(au);return e||null}(t.parentElement);i&&(i[ay]=!0),ik(t,"mouseup",()=>{t.removeEventListener("focusin",n,!0),i&&(i[ay]=!1),r||av(t)})}),b=(e,t)=>{if(t&&(e.currentTarget=t),!o)return;let r=e.currentTarget;r&&aA(r)&&(null==u||u(e),e.defaultPrevented||(r.dataset.focusVisible="true",p(!0)))},M=c.onKeyDownCapture,E=iK(e=>{if(null==M||M(e),e.defaultPrevented||!o||m||e.metaKey||e.altKey||e.ctrlKey||!iL(e))return;let t=e.currentTarget;ik(t,"focusout",()=>b(e,t))}),x=c.onFocusCapture,F=iK(e=>{if(null==x||x(e),e.defaultPrevented||!o)return;if(!iL(e))return void p(!1);let t=e.currentTarget;ax||function(e){let{tagName:t,readOnly:r,type:n}=e;return"TEXTAREA"===t&&!r||"SELECT"===t&&!r||("INPUT"!==t||r?!!e.isContentEditable||"combobox"===e.getAttribute("role")&&!!e.dataset.name:aC.includes(n))}(e.target)?ik(e.target,"focusout",()=>b(e,t)):p(!1)}),S=c.onBlur,T=iK(e=>{null==S||S(e),o&&iO(e)&&(e.currentTarget.removeAttribute("data-focus-visible"),p(!1))}),w=(0,el.useContext)(al),R=iK(e=>{o&&l&&e&&w&&queueMicrotask(()=>{!aA(e)&&ac(e)&&e.focus()})}),I=function(e,t){let r=e=>{if("string"==typeof e)return e},[n,i]=(0,el.useState)(()=>r(void 0));return iN(()=>{let t=e&&"current"in e?e.current:e;i((null==t?void 0:t.tagName.toLowerCase())||r(void 0))},[e,t]),n}(d),D=o&&(!I||"button"===I||"summary"===I||"input"===I||"select"===I||"textarea"===I||"a"===I),G=o&&(!I||"button"===I||"input"===I||"select"===I||"textarea"===I),L=c.style,P=(0,el.useMemo)(()=>h?{pointerEvents:"none",...L}:L,[h,L]);return c={"data-focus-visible":o&&m||void 0,"data-autofocus":l||void 0,"aria-disabled":f||void 0,...c,ref:iQ(d,R,c.ref),style:P,tabIndex:(t=o,r=h,n=D,i=G,a=c.tabIndex,t?r?n&&!i?-1:void 0:n?a:a||0:a),disabled:!!G&&!!h||void 0,contentEditable:f?void 0:c.contentEditable,onKeyPressCapture:A,onClickCapture:B,onMouseDownCapture:g,onMouseDown:y,onKeyDownCapture:E,onFocusCapture:F,onBlur:T},iS(c)});function aw(e){let t=[];for(let r of e)t.push(...r);return t}function aR(e){return e.slice().reverse()}function aI(e,t,r){return iK(n=>{var i;if(null==t||t(n),n.defaultPrevented||n.isPropagationStopped()||!iL(n)||"Shift"===n.key||"Control"===n.key||"Alt"===n.key||"Meta"===n.key||function(e){let t=e.target;return(!t||!!ic(t))&&1===e.key.length&&!e.ctrlKey&&!e.metaKey}(n))return;let a=e.getState(),o=null==(i=ig(e,a.activeId))?void 0:i.element;if(!o)return;let{view:s,...l}=n;o!==(null==r?void 0:r.current)&&o.focus(),!function(e,t,r){let n=new KeyboardEvent(t,r);return e.dispatchEvent(n)}(o,n.type,l)&&n.preventDefault(),n.currentTarget.contains(o)&&n.stopPropagation()})}i8(function(e){return i5("div",aT(e))});var aD=i6(function(e){let{store:t,composite:r=!0,focusOnMove:n=r,moveOnKeyPress:i=!0,...a}=e,o=an();iE(t=t||o,!1);let s=(0,el.useRef)(null),l=(0,el.useRef)(null),u=function(e){let[t,r]=(0,el.useState)(!1),n=(0,el.useCallback)(()=>r(!0),[]),i=e.useState(t=>ig(e,t.activeId));return(0,el.useEffect)(()=>{let e=null==i?void 0:i.element;t&&e&&(r(!1),e.focus({preventScroll:!0}))},[i,t]),n}(t),c=t.useState("moves"),[,d]=function(e){let[t,r]=(0,el.useState)(null);return iN(()=>{if(null==t||!e)return;let r=null;return e(e=>(r=e,t)),()=>{e(r)}},[t,e]),[t,r]}(r?t.setBaseElement:null);(0,el.useEffect)(()=>{var e;if(!t||!c||!r||!n)return;let{activeId:i}=t.getState(),a=null==(e=ig(t,i))?void 0:e.element;a&&("scrollIntoView"in a?(a.focus({preventScroll:!0}),a.scrollIntoView({block:"nearest",inline:"nearest",...void 0})):a.focus())},[t,c,r,n]),iN(()=>{if(!t||!c||!r)return;let{baseElement:e,activeId:n}=t.getState();if(null!==n||!e)return;let i=l.current;l.current=null,i&&iP(i,{relatedTarget:e}),aA(e)||e.focus()},[t,c,r]);let f=t.useState("activeId"),h=t.useState("virtualFocus");iN(()=>{var e;if(!t||!r||!h)return;let n=l.current;if(l.current=null,!n)return;let i=(null==(e=ig(t,f))?void 0:e.element)||ii(n);i!==n&&iP(n,{relatedTarget:i})},[t,f,h,r]);let m=aI(t,a.onKeyDownCapture,l),p=aI(t,a.onKeyUpCapture,l),A=a.onFocusCapture,g=iK(e=>{if(null==A||A(e),e.defaultPrevented||!t)return;let{virtualFocus:r}=t.getState();if(!r)return;let n=e.relatedTarget,i=function(e){let t=e[iv];return delete e[iv],t}(e.currentTarget);iL(e)&&i&&(e.stopPropagation(),l.current=n)}),B=a.onFocus,C=iK(e=>{if(null==B||B(e),e.defaultPrevented||!r||!t)return;let{relatedTarget:n}=e,{virtualFocus:i}=t.getState();i?iL(e)&&!iB(t,n)&&queueMicrotask(u):iL(e)&&t.setActiveId(null)}),y=a.onBlurCapture,b=iK(e=>{var r;if(null==y||y(e),e.defaultPrevented||!t)return;let{virtualFocus:n,activeId:i}=t.getState();if(!n)return;let a=null==(r=ig(t,i))?void 0:r.element,o=e.relatedTarget,s=iB(t,o),u=l.current;l.current=null,iL(e)&&s?(o===a?u&&u!==o&&iP(u,e):a?iP(a,e):u&&iP(u,e),e.stopPropagation()):!iB(t,e.target)&&a&&iP(a,e)}),M=a.onKeyDown,E=iq(i),x=iK(e=>{var r;if(null==M||M(e),e.nativeEvent.isComposing||e.defaultPrevented||!t||!iL(e))return;let{orientation:n,renderedItems:i,activeId:a}=t.getState(),o=ig(t,a);if(null==(r=null==o?void 0:o.element)?void 0:r.isConnected)return;let s="horizontal"!==n,l="vertical"!==n,u=i.some(e=>!!e.rowId);if(("ArrowLeft"===e.key||"ArrowRight"===e.key||"Home"===e.key||"End"===e.key)&&ic(e.currentTarget))return;let c={ArrowUp:(u||s)&&(()=>{if(u){let e=aw(aR(function(e){let t=[];for(let r of e){let e=t.find(e=>{var t;return(null==(t=e[0])?void 0:t.rowId)===r.rowId});e?e.push(r):t.push([r])}return t}(i))).find(e=>!e.disabled);return null==e?void 0:e.id}return null==t?void 0:t.last()}),ArrowRight:(u||l)&&t.first,ArrowDown:(u||s)&&t.first,ArrowLeft:(u||l)&&t.last,Home:t.first,End:t.last,PageUp:t.first,PageDown:t.last}[e.key];if(c){let r=c();if(void 0!==r){if(!E(e))return;e.preventDefault(),t.move(r)}}});return a=iY(a,e=>(0,es.jsx)(ai,{value:t,children:e}),[t]),a={"aria-activedescendant":t.useState(e=>{var n;if(t&&r&&e.virtualFocus)return null==(n=ig(t,e.activeId))?void 0:n.id}),...a,ref:iQ(s,d,a.ref),onKeyDownCapture:m,onKeyUpCapture:p,onFocusCapture:g,onFocus:C,onBlurCapture:b,onKeyDown:x},a=aT({focusable:t.useState(e=>r&&(e.virtualFocus||null===e.activeId)),...a})});i8(function(e){return i5("div",aD(e))});var aG=i4();aG.useContext,aG.useScopedContext;var aL=aG.useProviderContext,aP=i4([aG.ContextProvider],[aG.ScopedContextProvider]);aP.useContext,aP.useScopedContext;var aH=aP.useProviderContext,aO=aP.ContextProvider,ak=aP.ScopedContextProvider,a_=(0,el.createContext)(void 0),aU=(0,el.createContext)(void 0),aj=i4([aO],[ak]);aj.useContext,aj.useScopedContext;var aJ=aj.useProviderContext,aN=aj.ContextProvider,aK=aj.ScopedContextProvider,aQ=i6(function(e){let{store:t,...r}=e,n=aJ();return t=t||n,r={...r,ref:iQ(null==t?void 0:t.setAnchorElement,r.ref)}});i8(function(e){return i5("div",aQ(e))});var aW=(0,el.createContext)(void 0),aV=i4([aN,ai],[aK,aa]),aX=aV.useContext,aq=aV.useScopedContext,aY=aV.useProviderContext,aZ=aV.ContextProvider,az=aV.ScopedContextProvider,a$=(0,el.createContext)(void 0),a0=(0,el.createContext)(!1);function a1(e,t){let r=e.__unstableInternals;return iE(r,"Invalid store"),r[t]}function a9(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n2&&void 0!==arguments[2]?arguments[2]:d;return r.add(t),m.set(t,e),()=>{var e;null==(e=h.get(t))||e(),h.delete(t),m.delete(t),r.delete(t)}},A=function(e,t){var n,s;let l=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!iy(i,e))return;let c=(s=i[e],"function"==typeof t?t("function"==typeof s?s():s):t);if(c===i[e])return;if(!l)for(let t of r)null==(n=null==t?void 0:t.setState)||n.call(t,e,c);let p=i;i={...i,[e]:c};let A=Symbol();o=A,u.add(e);let g=(t,r,n)=>{var a;let o=m.get(t);(!o||o.some(t=>n?n.has(t):t===e))&&(null==(a=h.get(t))||a(),h.set(t,t(i,r)))};for(let e of d)g(e,p);queueMicrotask(()=>{if(o!==A)return;let e=i;for(let e of f)g(e,a,u);a=e,u.clear()})},g={getState:()=>i,setState:A,__unstableInternals:{setup:e=>(c.add(e),()=>c.delete(e)),init:()=>{let e=l.size,t=Symbol();l.add(t);let n=()=>{l.delete(t),l.size||s()};if(e)return n;let a=Object.keys(i).map(e=>ib(...r.map(t=>{var r;let n=null==(r=null==t?void 0:t.getState)?void 0:r.call(t);if(n&&iy(n,e))return a5(t,[e],t=>{A(e,t[e],!0)})}))),o=[];for(let e of c)o.push(e());return s=ib(...a,...o,...r.map(a8)),n},subscribe:(e,t)=>p(e,t),sync:(e,t)=>(h.set(t,t(i,i)),p(e,t)),batch:(e,t)=>(h.set(t,t(i,a)),p(e,t,f)),pick:e=>a9(function(e,t){let r={};for(let n of t)iy(e,n)&&(r[n]=e[n]);return r}(i,e),g),omit:e=>a9(function(e,t){let r={...e};for(let e of t)iy(r,e)&&delete r[e];return r}(i,e),g)}};return g}function a2(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n1?t-1:0),n=1;n1?t-1:0),n=1;n1?t-1:0),n=1;n1?t-1:0),n=1;n1?t-1:0),n=1;n!e.disabled&&e.value);return(null==n?void 0:n.value)===t}function or(e,t){return!!t&&null!=e&&(e=e.normalize("NFD").replace(/[\u0300-\u036f]/g,""),t.length>e.length&&0===t.toLowerCase().indexOf(e.toLowerCase()))}var on=i6(function(e){let{store:t,focusable:r=!0,autoSelect:n=!1,getAutoSelectId:i,setValueOnChange:a,showMinLength:o=0,showOnChange:s,showOnMouseDown:l,showOnClick:u=l,showOnKeyDown:c,showOnKeyPress:d=c,blurActiveItemOnClick:f,setValueOnClick:h=!0,moveOnKeyPress:m=!0,autoComplete:p="list",...A}=e,g=aY();iE(t=t||g,!1);let B=(0,el.useRef)(null),[C,y]=iX(),b=(0,el.useRef)(!1),M=(0,el.useRef)(!1),E=t.useState(e=>e.virtualFocus&&n),x="inline"===p||"both"===p,[F,S]=(0,el.useState)(x);!function(e,t){let r=(0,el.useRef)(!1);iN(()=>{if(r.current)return e();r.current=!0},t),iN(()=>()=>{r.current=!1},[])}(()=>{x&&S(!0)},[x]);let T=t.useState("value"),w=(0,el.useRef)();(0,el.useEffect)(()=>a5(t,["selectedValue","activeId"],(e,t)=>{w.current=t.selectedValue}),[]);let R=t.useState(e=>{var t;if(x&&F){if(e.activeValue&&Array.isArray(e.selectedValue)&&(e.selectedValue.includes(e.activeValue)||(null==(t=w.current)?void 0:t.includes(e.activeValue))))return;return e.activeValue}}),I=t.useState("renderedItems"),D=t.useState("open"),G=t.useState("contentElement"),L=(0,el.useMemo)(()=>{if(!x||!F)return T;if(ot(I,R,E)){if(or(T,R)){let e=(null==R?void 0:R.slice(T.length))||"";return T+e}return T}return R||T},[x,F,I,R,E,T]);(0,el.useEffect)(()=>{let e=B.current;if(!e)return;let t=()=>S(!0);return e.addEventListener("combobox-item-move",t),()=>{e.removeEventListener("combobox-item-move",t)}},[]),(0,el.useEffect)(()=>{if(!x||!F||!R||!ot(I,R,E)||!or(T,R))return;let e=iC;return queueMicrotask(()=>{let t=B.current;if(!t)return;let{start:r,end:n}=ih(t),i=T.length,a=R.length;iA(t,i,a),e=()=>{if(!aA(t))return;let{start:e,end:o}=ih(t);e===i&&o===a&&iA(t,r,n)}}),()=>e()},[C,x,F,R,I,E,T]);let P=(0,el.useRef)(null),H=iK(i),O=(0,el.useRef)(null);(0,el.useEffect)(()=>{if(!D||!G)return;let e=ip(G);if(!e)return;P.current=e;let r=()=>{b.current=!1},n=()=>{if(!t||!b.current)return;let{activeId:e}=t.getState();null!==e&&e!==O.current&&(b.current=!1)},i={passive:!0,capture:!0};return e.addEventListener("wheel",r,i),e.addEventListener("touchmove",r,i),e.addEventListener("scroll",n,i),()=>{e.removeEventListener("wheel",r,!0),e.removeEventListener("touchmove",r,!0),e.removeEventListener("scroll",n,!0)}},[D,G,t]),iN(()=>{T&&(M.current||(b.current=!0))},[T]),iN(()=>{"always"!==E&&D||(b.current=D)},[E,D]);let k=t.useState("resetValueOnSelect");iV(()=>{var e,r;let n=b.current;if(!t||!D||!n&&!k)return;let{baseElement:i,contentElement:a,activeId:o}=t.getState();if(!i||aA(i)){if(null==a?void 0:a.hasAttribute("data-placing")){let e=new MutationObserver(y);return e.observe(a,{attributeFilter:["data-placing"]}),()=>e.disconnect()}if(E&&n){let r=H(I),n=void 0!==r?r:null!=(e=function(e){let t=e.find(e=>{var t;return!e.disabled&&(null==(t=e.element)?void 0:t.getAttribute("role"))!=="tab"});return null==t?void 0:t.id}(I))?e:t.first();O.current=n,t.move(null!=n?n:null)}else{let e=null==(r=t.item(o||t.first()))?void 0:r.element;e&&"scrollIntoView"in e&&e.scrollIntoView({block:"nearest",inline:"nearest"})}}},[t,D,C,T,E,k,H,I]),(0,el.useEffect)(()=>{if(!x)return;let e=B.current;if(!e)return;let r=[e,G].filter(e=>!!e),n=e=>{r.every(t=>iO(e,t))&&(null==t||t.setValue(L))};for(let e of r)e.addEventListener("focusout",n);return()=>{for(let e of r)e.removeEventListener("focusout",n)}},[x,G,t,L]);let _=e=>e.currentTarget.value.length>=o,U=A.onChange,j=iq(null!=s?s:_),J=iq(null!=a?a:!t.tag),N=iK(e=>{if(null==U||U(e),e.defaultPrevented||!t)return;let r=e.currentTarget,{value:n,selectionStart:i,selectionEnd:a}=r,o=e.nativeEvent;if(b.current=!0,"input"===o.type&&(o.isComposing&&(b.current=!1,M.current=!0),x)){let e="insertText"===o.inputType||"insertCompositionText"===o.inputType,t=i===n.length;S(e&&t)}if(J(e)){let e=n===t.getState().value;t.setValue(n),queueMicrotask(()=>{iA(r,i,a)}),x&&E&&e&&y()}j(e)&&t.show(),E&&b.current||t.setActiveId(null)}),K=A.onCompositionEnd,Q=iK(e=>{b.current=!0,M.current=!1,null==K||K(e),!e.defaultPrevented&&E&&y()}),W=A.onMouseDown,V=iq(null!=f?f:()=>!!(null==t?void 0:t.getState().includesBaseElement)),X=iq(h),q=iq(null!=u?u:_),Y=iK(e=>{null==W||W(e),e.defaultPrevented||e.button||e.ctrlKey||t&&(V(e)&&t.setActiveId(null),X(e)&&t.setValue(L),q(e)&&ik(e.currentTarget,"mouseup",t.show))}),Z=A.onKeyDown,z=iq(null!=d?d:_),$=iK(e=>{if(null==Z||Z(e),e.repeat||(b.current=!1),e.defaultPrevented||e.ctrlKey||e.altKey||e.shiftKey||e.metaKey||!t)return;let{open:r}=t.getState();!r&&("ArrowUp"===e.key||"ArrowDown"===e.key)&&z(e)&&(e.preventDefault(),t.show())}),ee=A.onBlur,et=iK(e=>{if(b.current=!1,null==ee||ee(e),e.defaultPrevented)return}),er=iW(A.id),en=t.useState(e=>null===e.activeId);return A={id:er,role:"combobox","aria-autocomplete":"inline"===p||"list"===p||"both"===p||"none"===p?p:void 0,"aria-haspopup":im(G,"listbox"),"aria-expanded":D,"aria-controls":null==G?void 0:G.id,"data-active-item":en||void 0,value:L,...A,ref:iQ(B,A.ref),onChange:N,onCompositionEnd:Q,onMouseDown:Y,onKeyDown:$,onBlur:et},A=aD({store:t,focusable:r,...A,moveOnKeyPress:e=>!ix(m,e)&&(x&&S(!0),!0)}),{autoComplete:"off",...A=aQ({store:t,...A})}}),oi=i8(function(e){return i5("input",on(e))});function oa(e){let t=e.relatedTarget;return(null==t?void 0:t.nodeType)===Node.ELEMENT_NODE?t:null}var oo=Symbol("composite-hover"),os=i6(function(e){let{store:t,focusOnHover:r=!0,blurOnHoverEnd:n=!!r,...i}=e,a=ar();iE(t=t||a,!1);let o=((0,el.useEffect)(()=>{iz||(i_("mousemove",i9,!0),i_("mousedown",i2,!0),i_("mouseup",i2,!0),i_("keydown",i2,!0),i_("scroll",i2,!0),iz=!0)},[]),iK(()=>i$)),s=i.onMouseMove,l=iq(r),u=iK(e=>{if((null==s||s(e),!e.defaultPrevented&&o())&&l(e)){if(!ag(e.currentTarget)){let e=null==t?void 0:t.getState().baseElement;e&&!aA(e)&&e.focus()}null==t||t.setActiveId(e.currentTarget.id)}}),c=i.onMouseLeave,d=iq(n),f=iK(e=>{var r;null==c||c(e),!(e.defaultPrevented||!o()||function(e){let t=oa(e);return!!t&&ia(e.currentTarget,t)}(e)||function(e){let t=oa(e);if(!t)return!1;do{if(iy(t,oo)&&t[oo])return!0;t=t.parentElement}while(t)return!1}(e))&&l(e)&&d(e)&&(null==t||t.setActiveId(null),null==(r=null==t?void 0:t.getState().baseElement)||r.focus())}),h=(0,el.useCallback)(e=>{e&&(e[oo]=!0)},[]);return iS(i={...i,ref:iQ(h,i.ref),onMouseMove:u,onMouseLeave:f})});i3(i8(function(e){return i5("div",os(e))}));var ol=i6(function(e){let{store:t,shouldRegisterItem:r=!0,getItem:n=iM,element:i,...a}=e,o=ae();t=t||o;let s=iW(a.id),l=(0,el.useRef)(i);return(0,el.useEffect)(()=>{let e=l.current;if(!s||!e||!r)return;let i=n({id:s,element:e});return null==t?void 0:t.renderItem(i)},[s,r,n,t]),iS(a={...a,ref:iQ(l,a.ref)})});function ou(e){if(!e.isTrusted)return!1;let t=e.currentTarget;return"Enter"===e.key?is(t)||"SUMMARY"===t.tagName||"A"===t.tagName:" "===e.key&&(is(t)||"SUMMARY"===t.tagName||"INPUT"===t.tagName||"SELECT"===t.tagName)}i8(function(e){return i5("div",ol(e))});var oc=Symbol("command"),od=i6(function(e){let{clickOnEnter:t=!0,clickOnSpace:r=!0,...n}=e,i=(0,el.useRef)(null),[a,o]=(0,el.useState)(!1);(0,el.useEffect)(()=>{i.current&&o(is(i.current))},[]);let[s,l]=(0,el.useState)(!1),u=(0,el.useRef)(!1),c=iF(n),[d,f]=function(e,t,r){let n=e.onLoadedMetadataCapture,i=(0,el.useMemo)(()=>Object.assign(()=>{},{...n,[t]:r}),[n,t,r]);return[null==n?void 0:n[t],{onLoadedMetadataCapture:i}]}(n,oc,!0),h=n.onKeyDown,m=iK(e=>{null==h||h(e);let n=e.currentTarget;if(e.defaultPrevented||d||c||!iL(e)||ic(n)||n.isContentEditable)return;let i=t&&"Enter"===e.key,a=r&&" "===e.key,o="Enter"===e.key&&!t,s=" "===e.key&&!r;if(o||s)return void e.preventDefault();if(i||a){let t=ou(e);if(i){if(!t){e.preventDefault();let{view:t,...r}=e,i=()=>iH(n,r);ie&&/firefox\//i.test(navigator.userAgent)?ik(n,"keyup",i):queueMicrotask(i)}}else a&&(u.current=!0,t||(e.preventDefault(),l(!0)))}}),p=n.onKeyUp,A=iK(e=>{if(null==p||p(e),e.defaultPrevented||d||c||e.metaKey)return;let t=r&&" "===e.key;if(u.current&&t&&(u.current=!1,!ou(e))){e.preventDefault(),l(!1);let t=e.currentTarget,{view:r,...n}=e;queueMicrotask(()=>iH(t,n))}});return aT(n={"data-active":s||void 0,type:a?"button":void 0,...f,...n,ref:iQ(i,n.ref),onKeyDown:m,onKeyUp:A})});i8(function(e){return i5("button",od(e))});var{useSyncExternalStore:of}=e.i(2239).default,oh=()=>()=>{};function om(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:iM,r=el.useCallback(t=>e?a3(e,null,t):oh(),[e]),n=()=>{let r="string"==typeof t?t:null,n="function"==typeof t?t:null,i=null==e?void 0:e.getState();return n?n(i):i&&r&&iy(i,r)?i[r]:void 0};return of(r,n,n)}function op(e,t){let r=el.useRef({}),n=el.useCallback(t=>e?a3(e,null,t):oh(),[e]),i=()=>{let n=null==e?void 0:e.getState(),i=!1,a=r.current;for(let e in t){let r=t[e];if("function"==typeof r){let t=r(n);t!==a[e]&&(a[e]=t,i=!0)}if("string"==typeof r){if(!n||!iy(n,r))continue;let t=n[r];t!==a[e]&&(a[e]=t,i=!0)}}return i&&(r.current={...a}),r.current};return of(n,i,i)}function oA(e,t,r,n){let i=iy(t,r)?t[r]:void 0,a=function(e){let t=(0,el.useRef)(e);return iN(()=>{t.current=e}),t}({value:i,setValue:n?t[n]:void 0});iN(()=>a5(e,[r],(e,t)=>{let{value:n,setValue:i}=a.current;i&&e[r]!==t[r]&&e[r]!==n&&i(e[r])}),[e,r]),iN(()=>{if(void 0!==i)return e.setState(r,i),a6(e,[r],()=>{void 0!==i&&e.setState(r,i)})})}function og(e,t){let[r,n]=el.useState(()=>e(t));iN(()=>a8(r),[r]);let i=el.useCallback(e=>om(r,e),[r]);return[el.useMemo(()=>({...r,useState:i}),[r,i]),iK(()=>{n(r=>e({...t,...r.getState()}))})]}function ov(e,t,r){var n;let i,a,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!t||!r)return;let{renderedItems:s}=t.getState(),l=ip(e);if(!l)return;let u=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.clientHeight,{top:n}=e.getBoundingClientRect(),i=1.5*Math.max(.875*r,r-40),a=t?r-i+n:i+n;return"HTML"===e.tagName?a+e.scrollTop:a}(l,o);for(let e=0;e1&&void 0!==arguments[1]&&arguments[1],{top:r}=e.getBoundingClientRect();return t?r+e.clientHeight:r}(l,o)-u,d=Math.abs(c);if(o&&c<=0||!o&&c>=0){void 0!==a&&ar||(e&&(null==h?void 0:h.baseElement)&&h.baseElement===e.baseElement?h.id:void 0),baseElement:e=>(null==e?void 0:e.baseElement)||void 0,isActiveItem:e=>!!e&&e.activeId===d,ariaSetSize:e=>null!=s?s:e&&(null==h?void 0:h.ariaSetSize)&&h.baseElement===e.baseElement?h.ariaSetSize:void 0,ariaPosInSet(e){if(null!=l)return l;if(!e||!(null==h?void 0:h.ariaPosInSet)||h.baseElement!==e.baseElement)return;let t=e.renderedItems.filter(e=>e.rowId===p);return h.ariaPosInSet+t.findIndex(e=>e.id===d)},isTabbable(e){if(!(null==e?void 0:e.renderedItems.length))return!0;if(e.virtualFocus)return!1;if(a)return!0;if(null===e.activeId)return!1;let r=null==t?void 0:t.item(e.activeId);return null!=r&&!!r.disabled||null==r||!r.element||e.activeId===d}}),b=(0,el.useCallback)(e=>{var t;let r={...e,id:d||e.id,rowId:p,disabled:!!m,children:null==(t=e.element)?void 0:t.textContent};return o?o(r):r},[d,p,m,o]),M=u.onFocus,E=(0,el.useRef)(!1),x=iK(e=>{var r,n;if(null==M||M(e),e.defaultPrevented||iG(e)||!d||!t||(r=t,!iL(e)&&iB(r,e.target)))return;let{virtualFocus:i,baseElement:a}=t.getState();if(t.setActiveId(d),id(e.currentTarget)&&function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(ic(e))e.setSelectionRange(t?e.value.length:0,e.value.length);else if(e.isContentEditable){let r=it(e).getSelection();null==r||r.selectAllChildren(e),t&&(null==r||r.collapseToEnd())}}(e.currentTarget),i&&iL(e))!id(n=e.currentTarget)&&("INPUT"!==n.tagName||is(n))&&(null==a?void 0:a.isConnected)&&((iD()&&e.currentTarget.hasAttribute("data-autofocus")&&e.currentTarget.scrollIntoView({block:"nearest",inline:"nearest"}),E.current=!0,e.relatedTarget===a||iB(t,e.relatedTarget))?(a[iv]=!0,a.focus({preventScroll:!0})):a.focus())}),F=u.onBlurCapture,S=iK(e=>{if(null==F||F(e),e.defaultPrevented)return;let r=null==t?void 0:t.getState();(null==r?void 0:r.virtualFocus)&&E.current&&(E.current=!1,e.preventDefault(),e.stopPropagation())}),T=u.onKeyDown,w=iq(n),R=iq(i),I=iK(e=>{if(null==T||T(e),e.defaultPrevented||!iL(e)||!t)return;let{currentTarget:r}=e,n=t.getState(),i=t.item(d),a=!!(null==i?void 0:i.rowId),o="horizontal"!==n.orientation,s="vertical"!==n.orientation,l=()=>!(!a&&!s&&n.baseElement&&ic(n.baseElement)),u={ArrowUp:(a||o)&&t.up,ArrowRight:(a||s)&&t.next,ArrowDown:(a||o)&&t.down,ArrowLeft:(a||s)&&t.previous,Home:()=>{if(l())return!a||e.ctrlKey?null==t?void 0:t.first():null==t?void 0:t.previous(-1)},End:()=>{if(l())return!a||e.ctrlKey?null==t?void 0:t.last():null==t?void 0:t.next(-1)},PageUp:()=>ov(r,t,null==t?void 0:t.up,!0),PageDown:()=>ov(r,t,null==t?void 0:t.down)}[e.key];if(u){if(id(r)){let t=ih(r),n=s&&"ArrowLeft"===e.key,i=s&&"ArrowRight"===e.key,a=o&&"ArrowUp"===e.key,l=o&&"ArrowDown"===e.key;if(i||l){let{length:e}=function(e){if(ic(e))return e.value;if(e.isContentEditable){let t=it(e).createRange();return t.selectNodeContents(e),t.toString()}return""}(r);if(t.end!==e)return}else if((n||a)&&0!==t.start)return}let n=u();if(w(e)||void 0!==n){if(!R(e))return;e.preventDefault(),t.move(n)}}}),D=(0,el.useMemo)(()=>({id:d,baseElement:A}),[d,A]);return u={id:d,"data-active-item":g||void 0,...u=iY(u,e=>(0,es.jsx)(ao.Provider,{value:D,children:e}),[D]),ref:iQ(f,u.ref),tabIndex:y?u.tabIndex:-1,onFocus:x,onBlurCapture:S,onKeyDown:I},u=od(u),iS({...u=ol({store:t,...u,getItem:b,shouldRegisterItem:!!d&&u.shouldRegisterItem}),"aria-setsize":B,"aria-posinset":C})});i3(i8(function(e){return i5("button",oB(e))}));var oC=i6(function(e){var t,r;let{store:n,value:i,hideOnClick:a,setValueOnClick:o,selectValueOnClick:s=!0,resetValueOnSelect:l,focusOnHover:u=!1,moveOnKeyPress:c=!0,getItem:d,...f}=e,h=aq();iE(n=n||h,!1);let{resetValueOnSelectState:m,multiSelectable:p,selected:A}=op(n,{resetValueOnSelectState:"resetValueOnSelect",multiSelectable:e=>Array.isArray(e.selectedValue),selected:e=>(function(e,t){if(null!=t)return null!=e&&(Array.isArray(e)?e.includes(t):e===t)})(e.selectedValue,i)}),g=(0,el.useCallback)(e=>{let t={...e,value:i};return d?d(t):t},[i,d]);o=null!=o?o:!p,a=null!=a?a:null!=i&&!p;let B=f.onClick,C=iq(o),y=iq(s),b=iq(null!=(t=null!=l?l:m)?t:p),M=iq(a),E=iK(e=>{null==B||B(e),!(e.defaultPrevented||function(e){let t=e.currentTarget;if(!t)return!1;let r=t.tagName.toLowerCase();return!!e.altKey&&("a"===r||"button"===r&&"submit"===t.type||"input"===r&&"submit"===t.type)}(e))&&!function(e){let t=e.currentTarget;if(!t)return!1;let r=iI();if(r&&!e.metaKey||!r&&!e.ctrlKey)return!1;let n=t.tagName.toLowerCase();return"a"===n||"button"===n&&"submit"===t.type||"input"===n&&"submit"===t.type}(e)&&(null!=i&&(y(e)&&(b(e)&&(null==n||n.resetValue()),null==n||n.setSelectedValue(e=>Array.isArray(e)?e.includes(i)?e.filter(e=>e!==i):[...e,i]:i)),C(e)&&(null==n||n.setValue(i))),M(e)&&(null==n||n.hide()))}),x=f.onKeyDown,F=iK(e=>{if(null==x||x(e),e.defaultPrevented)return;let t=null==n?void 0:n.getState().baseElement;!(!t||aA(t))&&(1===e.key.length||"Backspace"===e.key||"Delete"===e.key)&&(queueMicrotask(()=>t.focus()),ic(t)&&(null==n||n.setValue(t.value)))});p&&null!=A&&(f={"aria-selected":A,...f}),f=iY(f,e=>(0,es.jsx)(a$.Provider,{value:i,children:(0,es.jsx)(a0.Provider,{value:null!=A&&A,children:e})}),[i,A]),f={role:null!=(r=({menu:"menuitem",listbox:"option",tree:"treeitem"})[(0,el.useContext)(aW)])?r:"option",children:i,...f,onClick:E,onKeyDown:F};let S=iq(c);return f=oB({store:n,...f,getItem:g,moveOnKeyPress:e=>{if(!S(e))return!1;let t=new Event("combobox-item-move"),r=null==n?void 0:n.getState().baseElement;return null==r||r.dispatchEvent(t),!0}}),f=os({store:n,focusOnHover:u,...f})}),oy=i3(i8(function(e){return i5("div",oC(e))})),ob=e.i(74080);function oM(e,t){let r=setTimeout(t,e);return()=>clearTimeout(r)}function oE(){for(var e=arguments.length,t=Array(e),r=0;r{let r=t.endsWith("ms")?1:1e3,n=Number.parseFloat(t||"0s")*r;return n>e?n:e},0)}function ox(e,t,r){return!r&&!1!==t&&(!e||!!t)}var oF=i6(function(e){let{store:t,alwaysVisible:r,...n}=e,i=aL();iE(t=t||i,!1);let a=(0,el.useRef)(null),o=iW(n.id),[s,l]=(0,el.useState)(null),u=t.useState("open"),c=t.useState("mounted"),d=t.useState("animated"),f=t.useState("contentElement"),h=om(t.disclosure,"contentElement");iN(()=>{a.current&&(null==t||t.setContentElement(a.current))},[t]),iN(()=>{let e;return null==t||t.setState("animated",t=>(e=t,!0)),()=>{void 0!==e&&(null==t||t.setState("animated",e))}},[t]),iN(()=>{if(d){var e;let t;return(null==f?void 0:f.isConnected)?(e=()=>{l(u?"enter":c?"leave":null)},t=requestAnimationFrame(()=>{t=requestAnimationFrame(e)}),()=>cancelAnimationFrame(t)):void l(null)}},[d,f,u,c]),iN(()=>{if(!t||!d||!s||!f)return;let e=()=>null==t?void 0:t.setState("animating",!1),r=()=>(0,ob.flushSync)(e);if("leave"===s&&u||"enter"===s&&!u)return;if("number"==typeof d)return oM(d,r);let{transitionDuration:n,animationDuration:i,transitionDelay:a,animationDelay:o}=getComputedStyle(f),{transitionDuration:l="0",animationDuration:c="0",transitionDelay:m="0",animationDelay:p="0"}=h?getComputedStyle(h):{},A=oE(a,o,m,p)+oE(n,i,l,c);if(!A){"enter"===s&&t.setState("animated",!1),e();return}return oM(Math.max(A-1e3/60,0),r)},[t,d,f,h,u,s]);let m=ox(c,(n=iY(n,e=>(0,es.jsx)(ak,{value:t,children:e}),[t])).hidden,r),p=n.style,A=(0,el.useMemo)(()=>m?{...p,display:"none"}:p,[m,p]);return iS(n={id:o,"data-open":u||void 0,"data-enter":"enter"===s||void 0,"data-leave":"leave"===s||void 0,hidden:m,...n,ref:iQ(o?t.setContentElement:null,a,n.ref),style:A})}),oS=i8(function(e){return i5("div",oF(e))});i8(function(e){let{unmountOnHide:t,...r}=e,n=aL();return!1===om(r.store||n,e=>!t||(null==e?void 0:e.mounted))?null:(0,es.jsx)(oS,{...r})});var oT=i6(function(e){let{store:t,alwaysVisible:r,...n}=e,i=aq(!0),a=aX(),o=!!(t=t||a)&&t===i;iE(t,!1);let s=(0,el.useRef)(null),l=iW(n.id),u=t.useState("mounted"),c=ox(u,n.hidden,r),d=c?{...n.style,display:"none"}:n.style,f=t.useState(e=>Array.isArray(e.selectedValue)),h=function(e,t,r){let n=function(e){let[t]=(0,el.useState)(e);return t}(r),[i,a]=(0,el.useState)(n);return(0,el.useEffect)(()=>{let r=e&&"current"in e?e.current:e;if(!r)return;let i=()=>{let e=r.getAttribute(t);a(null==e?n:e)},o=new MutationObserver(i);return o.observe(r,{attributeFilter:[t]}),i(),()=>o.disconnect()},[e,t,n]),i}(s,"role",n.role),m="listbox"===h||"tree"===h||"grid"===h,[p,A]=(0,el.useState)(!1),g=t.useState("contentElement");iN(()=>{if(!u)return;let e=s.current;if(!e||g!==e)return;let t=()=>{A(!!e.querySelector("[role='listbox']"))},r=new MutationObserver(t);return r.observe(e,{subtree:!0,childList:!0,attributeFilter:["role"]}),t(),()=>r.disconnect()},[u,g]),p||(n={role:"listbox","aria-multiselectable":m&&f||void 0,...n}),n=iY(n,e=>(0,es.jsx)(az,{value:t,children:(0,es.jsx)(aW.Provider,{value:h,children:e})}),[t,h]);let B=!l||i&&o?null:t.setContentElement;return iS(n={id:l,hidden:c,...n,ref:iQ(B,s,n.ref),style:d})}),ow=i8(function(e){return i5("div",oT(e))}),oR=(0,el.createContext)(null),oI=i6(function(e){return{...e,style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px",...e.style}}});i8(function(e){return i5("span",oI(e))});var oD=i6(function(e){return oI(e={"data-focus-trap":"",tabIndex:0,"aria-hidden":!0,...e,style:{position:"fixed",top:0,left:0,...e.style}})}),oG=i8(function(e){return i5("span",oD(e))});function oL(e){queueMicrotask(()=>{null==e||e.focus()})}var oP=i6(function(e){let{preserveTabOrder:t,preserveTabOrderAnchor:r,portalElement:n,portalRef:i,portal:a=!0,...o}=e,s=(0,el.useRef)(null),l=iQ(s,o.ref),u=(0,el.useContext)(oR),[c,d]=(0,el.useState)(null),[f,h]=(0,el.useState)(null),m=(0,el.useRef)(null),p=(0,el.useRef)(null),A=(0,el.useRef)(null),g=(0,el.useRef)(null);return iN(()=>{let e=s.current;if(!e||!a)return void d(null);let t=n?"function"==typeof n?n(e):n:it(e).createElement("div");if(!t)return void d(null);let r=t.isConnected;if(r||(u||it(e).body).appendChild(t),t.id||(t.id=e.id?"portal/".concat(e.id):function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"id";return"".concat(e?"".concat(e,"-"):"").concat(Math.random().toString(36).slice(2,8))}()),d(t),iw(i,t),!r)return()=>{t.remove(),iw(i,null)}},[a,n,u,i]),iN(()=>{if(!a||!t||!r)return;let e=it(r).createElement("span");return e.style.position="fixed",r.insertAdjacentElement("afterend",e),h(e),()=>{e.remove(),h(null)}},[a,t,r]),(0,el.useEffect)(()=>{if(!c||!t)return;let e=0,r=t=>{if(!iO(t))return;let r="focusin"===t.type;if(cancelAnimationFrame(e),r){let e=c.querySelectorAll("[data-tabindex]"),t=e=>{let t=e.getAttribute("data-tabindex");e.removeAttribute("data-tabindex"),t?e.setAttribute("tabindex",t):e.removeAttribute("tabindex")};for(let r of(c.hasAttribute("data-tabindex")&&t(c),e))t(r);return}e=requestAnimationFrame(()=>{for(let e of ah(c,!0))!function(e){var t;let r=null!=(t=e.getAttribute("tabindex"))?t:"";e.setAttribute("data-tabindex",r),e.setAttribute("tabindex","-1")}(e)})};return c.addEventListener("focusin",r,!0),c.addEventListener("focusout",r,!0),()=>{cancelAnimationFrame(e),c.removeEventListener("focusin",r,!0),c.removeEventListener("focusout",r,!0)}},[c,t]),o={...o=iY(o,e=>{if(e=(0,es.jsx)(oR.Provider,{value:c||u,children:e}),!a)return e;if(!c)return(0,es.jsx)("span",{ref:l,id:o.id,style:{position:"fixed"},hidden:!0});e=(0,es.jsxs)(es.Fragment,{children:[t&&c&&(0,es.jsx)(oG,{ref:p,"data-focus-trap":o.id,className:"__focus-trap-inner-before",onFocus:e=>{iO(e,c)?oL(am()):oL(m.current)}}),e,t&&c&&(0,es.jsx)(oG,{ref:A,"data-focus-trap":o.id,className:"__focus-trap-inner-after",onFocus:e=>{iO(e,c)?oL(ap()):oL(g.current)}})]}),c&&(e=(0,ob.createPortal)(e,c));let r=(0,es.jsxs)(es.Fragment,{children:[t&&c&&(0,es.jsx)(oG,{ref:m,"data-focus-trap":o.id,className:"__focus-trap-outer-before",onFocus:e=>{e.relatedTarget!==g.current&&iO(e,c)?oL(p.current):oL(ap())}}),t&&(0,es.jsx)("span",{"aria-owns":null==c?void 0:c.id,style:{position:"fixed"}}),t&&c&&(0,es.jsx)(oG,{ref:g,"data-focus-trap":o.id,className:"__focus-trap-outer-after",onFocus:e=>{if(iO(e,c))oL(A.current);else{let e=am();if(e===p.current)return void requestAnimationFrame(()=>{var e;return null==(e=am())?void 0:e.focus()});oL(e)}}})]});return f&&t&&(r=(0,ob.createPortal)(r,f)),(0,es.jsxs)(es.Fragment,{children:[r,e]})},[c,u,a,o.id,t,f]),ref:l}});i8(function(e){return i5("div",oP(e))});var oH=(0,el.createContext)(0);function oO(e){let{level:t,children:r}=e,n=(0,el.useContext)(oH),i=Math.max(Math.min(t||n+1,6),1);return(0,es.jsx)(oH.Provider,{value:i,children:r})}var ok=i6(function(e){let{autoFocusOnShow:t=!0,...r}=e;return iY(r,e=>(0,es.jsx)(al.Provider,{value:t,children:e}),[t])});i8(function(e){return i5("div",ok(e))});var o_=new WeakMap;function oU(e,t,r){o_.has(e)||o_.set(e,new Map);let n=o_.get(e),i=n.get(t);if(!i)return n.set(t,r()),()=>{var e;null==(e=n.get(t))||e(),n.delete(t)};let a=r(),o=()=>{a(),i(),n.delete(t)};return n.set(t,o),()=>{n.get(t)===o&&(a(),n.set(t,i))}}function oj(e,t,r){return oU(e,t,()=>{let n=e.getAttribute(t);return e.setAttribute(t,r),()=>{null==n?e.removeAttribute(t):e.setAttribute(t,n)}})}function oJ(e,t,r){return oU(e,t,()=>{let n=t in e,i=e[t];return e[t]=r,()=>{n?e[t]=i:delete e[t]}})}function oN(e,t){return e?oU(e,"style",()=>{let r=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=r}}):()=>{}}var oK=["SCRIPT","STYLE"];function oQ(e){return"__ariakit-dialog-snapshot-".concat(e)}function oW(e,t,r,n){for(let i of t){if(!(null==i?void 0:i.isConnected))continue;let a=t.some(e=>!!e&&e!==i&&e.contains(i)),o=it(i),s=i;for(;i.parentElement&&i!==o.body;){if(null==n||n(i.parentElement,s),!a)for(let n of i.parentElement.children)(function(e,t,r){return!oK.includes(t.tagName)&&!!function(e,t){let r=it(t),n=oQ(e);if(!r.body[n])return!0;for(;;){if(t===r.body)return!1;if(t[n])return!0;if(!t.parentElement)return!1;t=t.parentElement}}(e,t)&&!r.some(e=>e&&ia(t,e))})(e,n,t)&&r(n,s);i=i.parentElement}}}function oV(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;ni===e))}function oX(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return"__ariakit-dialog-".concat(t?"ancestor":"outside").concat(e?"-".concat(e):"")}function oq(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return ib(oJ(e,oX("",!0),!0),oJ(e,oX(t,!0),!0))}function oY(e,t){if(e[oX(t,!0)])return!0;let r=oX(t);for(;;){if(e[r])return!0;if(!e.parentElement)return!1;e=e.parentElement}}function oZ(e,t){let r=[],n=t.map(e=>null==e?void 0:e.id);return oW(e,t,t=>{oV(t,...n)||r.unshift(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return ib(oJ(e,oX(),!0),oJ(e,oX(t),!0))}(t,e))},(t,n)=>{n.hasAttribute("data-dialog")&&n.id!==e||r.unshift(oq(t,e))}),()=>{for(let e of r)e()}}function oz(e){let{store:t,type:r,listener:n,capture:i,domReady:a}=e,o=iK(n),s=om(t,"open"),l=(0,el.useRef)(!1);iN(()=>{if(!s||!a)return;let{contentElement:e}=t.getState();if(!e)return;let r=()=>{l.current=!0};return e.addEventListener("focusin",r,!0),()=>e.removeEventListener("focusin",r,!0)},[t,s,a]),(0,el.useEffect)(()=>{if(s)return i_(r,e=>{let{contentElement:r,disclosureElement:n}=t.getState(),i=e.target;if(r&&i)!(!("HTML"===i.tagName||ia(it(i).body,i))||ia(r,i)||function(e,t){if(!e)return!1;if(ia(e,t))return!0;let r=t.getAttribute("aria-activedescendant");if(r){let t=it(e).getElementById(r);if(t)return ia(e,t)}return!1}(n,i)||i.hasAttribute("data-focus-trap")||function(e,t){if(!("clientY"in e))return!1;let r=t.getBoundingClientRect();return 0!==r.width&&0!==r.height&&r.top<=e.clientY&&e.clientY<=r.top+r.height&&r.left<=e.clientX&&e.clientX<=r.left+r.width}(e,r))&&(!l.current||oY(i,r.id))&&(i&&i[ay]||o(e))},i)},[s,i])}function o$(e,t){return"function"==typeof e?e(t):!!e}var o0=(0,el.createContext)({});function o1(){return"inert"in HTMLElement.prototype}function o9(e,t){if(!("style"in e))return iC;if(o1())return oJ(e,"inert",!0);let r=ah(e,!0).map(e=>{if(null==t?void 0:t.some(t=>t&&ia(t,e)))return iC;let r=oU(e,"focus",()=>(e.focus=iC,()=>{delete e.focus}));return ib(oj(e,"tabindex","-1"),r)});return ib(...r,oj(e,"aria-hidden","true"),oN(e,{pointerEvents:"none",userSelect:"none",cursor:"default"}))}function o2(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=a7(e.store,a4(e.disclosure,["contentElement","disclosureElement"]));oe(e,t);let r=null==t?void 0:t.getState(),n=iT(e.open,null==r?void 0:r.open,e.defaultOpen,!1),i=iT(e.animated,null==r?void 0:r.animated,!1),a=a9({open:n,animated:i,animating:!!i&&n,mounted:n,contentElement:iT(null==r?void 0:r.contentElement,null),disclosureElement:iT(null==r?void 0:r.disclosureElement,null)},t);return a2(a,()=>a5(a,["animated","animating"],e=>{e.animated||a.setState("animating",!1)})),a2(a,()=>a3(a,["open"],()=>{a.getState().animated&&a.setState("animating",!0)})),a2(a,()=>a5(a,["open","animating"],e=>{a.setState("mounted",e.open||e.animating)})),{...a,disclosure:e.disclosure,setOpen:e=>a.setState("open",e),show:()=>a.setState("open",!0),hide:()=>a.setState("open",!1),toggle:()=>a.setState("open",e=>!e),stopAnimation:()=>a.setState("animating",!1),setContentElement:e=>a.setState("contentElement",e),setDisclosureElement:e=>a.setState("disclosureElement",e)}}function o8(e,t,r){return iV(t,[r.store,r.disclosure]),oA(e,r,"open","setOpen"),oA(e,r,"mounted","setMounted"),oA(e,r,"animated"),Object.assign(e,{disclosure:r.disclosure})}i6(function(e){return e});var o3=i8(function(e){return i5("div",e)});function o5(e){let{store:t,backdrop:r,alwaysVisible:n,hidden:i}=e,a=(0,el.useRef)(null),o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[t,r]=og(o2,e);return o8(t,r,e)}({disclosure:t}),s=om(t,"contentElement");(0,el.useEffect)(()=>{let e=a.current;e&&s&&(e.style.zIndex=getComputedStyle(s).zIndex)},[s]),iN(()=>{let e=null==s?void 0:s.id;if(!e)return;let t=a.current;if(t)return oq(t,e)},[s]);let l=oF({ref:a,store:o,role:"presentation","data-backdrop":(null==s?void 0:s.id)||"",alwaysVisible:n,hidden:null!=i?i:void 0,style:{position:"fixed",top:0,right:0,bottom:0,left:0}});if(!r)return null;if((0,el.isValidElement)(r))return(0,es.jsx)(o3,{...l,render:r});let u="boolean"!=typeof r?r:"div";return(0,es.jsx)(o3,{...l,render:(0,es.jsx)(u,{})})}function o6(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o2(e)}Object.assign(o3,["a","button","details","dialog","div","form","h1","h2","h3","h4","h5","h6","header","img","input","label","li","nav","ol","p","section","select","span","summary","textarea","ul","svg"].reduce((e,t)=>(e[t]=i8(function(e){return i5(t,e)}),e),{}));var o4=iD();function o7(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return null;let r="current"in e?e.current:e;return r?t?ac(r)?r:null:r:null}var se=i6(function(e){let{store:t,open:r,onClose:n,focusable:i=!0,modal:a=!0,portal:o=!!a,backdrop:s=!!a,hideOnEscape:l=!0,hideOnInteractOutside:u=!0,getPersistentElements:c,preventBodyScroll:d=!!a,autoFocusOnShow:f=!0,autoFocusOnHide:h=!0,initialFocus:m,finalFocus:p,unmountOnHide:A,unstable_treeSnapshotKey:g,...B}=e,C=aH(),y=(0,el.useRef)(null),b=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[t,r]=og(o6,e);return o8(t,r,e)}({store:t||C,open:r,setOpen(e){if(e)return;let t=y.current;if(!t)return;let r=new Event("close",{bubbles:!1,cancelable:!0});n&&t.addEventListener("close",n,{once:!0}),t.dispatchEvent(r),r.defaultPrevented&&b.setOpen(!0)}}),{portalRef:M,domReady:E}=iZ(o,B.portalRef),x=B.preserveTabOrder,F=om(b,e=>x&&!a&&e.mounted),S=iW(B.id),T=om(b,"open"),w=om(b,"mounted"),R=om(b,"contentElement"),I=ox(w,B.hidden,B.alwaysVisible),D=function(e){let{attribute:t,contentId:r,contentElement:n,enabled:i}=e,[a,o]=iX(),s=(0,el.useCallback)(()=>{if(!i||!n)return!1;let{body:e}=it(n),a=e.getAttribute(t);return!a||a===r},[a,i,n,t,r]);return(0,el.useEffect)(()=>{if(!i||!r||!n)return;let{body:e}=it(n);if(s())return e.setAttribute(t,r),()=>e.removeAttribute(t);let a=new MutationObserver(()=>(0,ob.flushSync)(o));return a.observe(e,{attributeFilter:[t]}),()=>a.disconnect()},[a,i,r,n,s,t]),s}({attribute:"data-dialog-prevent-body-scroll",contentElement:R,contentId:S,enabled:d&&!I});(0,el.useEffect)(()=>{var e,t;if(!D()||!R)return;let r=it(R),n=ir(R),{documentElement:i,body:a}=r,o=i.style.getPropertyValue("--scrollbar-width"),s=o?Number.parseInt(o,10):n.innerWidth-i.clientWidth,l=Math.round(i.getBoundingClientRect().left)+i.scrollLeft?"paddingLeft":"paddingRight",u=iI()&&!(ie&&navigator.platform.startsWith("Mac")&&!iR());return ib((e="--scrollbar-width",t="".concat(s,"px"),i?oU(i,e,()=>{let r=i.style.getPropertyValue(e);return i.style.setProperty(e,t),()=>{r?i.style.setProperty(e,r):i.style.removeProperty(e)}}):()=>{}),u?(()=>{var e,t;let{scrollX:r,scrollY:i,visualViewport:o}=n,u=null!=(e=null==o?void 0:o.offsetLeft)?e:0,c=null!=(t=null==o?void 0:o.offsetTop)?t:0,d=oN(a,{position:"fixed",overflow:"hidden",top:"".concat(-(i-Math.floor(c)),"px"),left:"".concat(-(r-Math.floor(u)),"px"),right:"0",[l]:"".concat(s,"px")});return()=>{d(),n.scrollTo({left:r,top:i,behavior:"instant"})}})():oN(a,{overflow:"hidden",[l]:"".concat(s,"px")}))},[D,R]);let G=function(e){let t=(0,el.useRef)();return(0,el.useEffect)(()=>{if(!e){t.current=null;return}return i_("mousedown",e=>{t.current=e.target},!0)},[e]),t}(om(b,"open")),L={store:b,domReady:E,capture:!0};oz({...L,type:"click",listener:e=>{let{contentElement:t}=b.getState(),r=G.current;r&&iu(r)&&oY(r,null==t?void 0:t.id)&&o$(u,e)&&b.hide()}}),oz({...L,type:"focusin",listener:e=>{let{contentElement:t}=b.getState();t&&e.target!==it(t)&&o$(u,e)&&b.hide()}}),oz({...L,type:"contextmenu",listener:e=>{o$(u,e)&&b.hide()}});let{wrapElement:P,nestedDialogs:H}=function(e){let t=(0,el.useContext)(o0),[r,n]=(0,el.useState)([]),i=(0,el.useCallback)(e=>{var r;return n(t=>[...t,e]),ib(null==(r=t.add)?void 0:r.call(t,e),()=>{n(t=>t.filter(t=>t!==e))})},[t]);iN(()=>a5(e,["open","contentElement"],r=>{var n;if(r.open&&r.contentElement)return null==(n=t.add)?void 0:n.call(t,e)}),[e,t]);let a=(0,el.useMemo)(()=>({store:e,add:i}),[e,i]);return{wrapElement:(0,el.useCallback)(e=>(0,es.jsx)(o0.Provider,{value:a,children:e}),[a]),nestedDialogs:r}}(b);B=iY(B,P,[P]),iN(()=>{if(!T)return;let e=y.current,t=ii(e,!0);t&&"BODY"!==t.tagName&&(e&&ia(e,t)||b.setDisclosureElement(t))},[b,T]),o4&&(0,el.useEffect)(()=>{if(!w)return;let{disclosureElement:e}=b.getState();if(!e||!is(e))return;let t=()=>{let t=!1,r=()=>{t=!0};e.addEventListener("focusin",r,{capture:!0,once:!0}),ik(e,"mouseup",()=>{e.removeEventListener("focusin",r,!0),t||av(e)})};return e.addEventListener("mousedown",t),()=>{e.removeEventListener("mousedown",t)}},[b,w]),(0,el.useEffect)(()=>{if(!w||!E)return;let e=y.current;if(!e)return;let t=ir(e),r=t.visualViewport||t,n=()=>{var r,n;let i=null!=(n=null==(r=t.visualViewport)?void 0:r.height)?n:t.innerHeight;e.style.setProperty("--dialog-viewport-height","".concat(i,"px"))};return n(),r.addEventListener("resize",n),()=>{r.removeEventListener("resize",n)}},[w,E]),(0,el.useEffect)(()=>{if(!a||!w||!E)return;let e=y.current;if(e&&!e.querySelector("[data-dialog-dismiss]")){var t=b.hide;let r=it(e).createElement("button");return r.type="button",r.tabIndex=-1,r.textContent="Dismiss popup",Object.assign(r.style,{border:"0px",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0px",position:"absolute",whiteSpace:"nowrap",width:"1px"}),r.addEventListener("click",t),e.prepend(r),()=>{r.removeEventListener("click",t),r.remove()}}},[b,a,w,E]),iN(()=>{if(!o1()||T||!w||!E)return;let e=y.current;if(e)return o9(e)},[T,w,E]);let O=T&&E;iN(()=>{if(!S||!O)return;var e=[y.current];let{body:t}=it(e[0]),r=[];return oW(S,e,e=>{r.push(oJ(e,oQ(S),!0))}),ib(oJ(t,oQ(S),!0),()=>{for(let e of r)e()})},[S,O,g]);let k=iK(c);iN(()=>{if(!S||!O)return;let{disclosureElement:e}=b.getState(),t=[y.current,...k()||[],...H.map(e=>e.getState().contentElement)];return a?ib(oZ(S,t),function(e,t){let r=[],n=t.map(e=>null==e?void 0:e.id);return oW(e,t,e=>{oV(e,...n)||!function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;ni===e))}(e,...n)&&r.unshift(o9(e,t))},e=>{e.hasAttribute("role")&&(t.some(t=>t&&ia(t,e))||r.unshift(oj(e,"role","none")))}),()=>{for(let e of r)e()}}(S,t)):oZ(S,[e,...t])},[S,b,O,k,H,a,g]);let _=!!f,U=iq(f),[j,J]=(0,el.useState)(!1);(0,el.useEffect)(()=>{if(!T||!_||!E||!(null==R?void 0:R.isConnected))return;let e=o7(m,!0)||R.querySelector("[data-autofocus=true],[autofocus]")||function(e,t,r){let[n]=ah(e,t,r);return n||null}(R,!0,o&&F)||R,t=ac(e);U(t?e:null)&&(J(!0),queueMicrotask(()=>{e.focus(),o4&&t&&e.scrollIntoView({block:"nearest",inline:"nearest"})}))},[T,_,E,R,m,o,F,U]);let N=!!h,K=iq(h),[Q,W]=(0,el.useState)(!1);(0,el.useEffect)(()=>{if(T)return W(!0),()=>W(!1)},[T]);let V=(0,el.useCallback)(function(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],{disclosureElement:r}=b.getState();if(function(e){let t=ii();return!(!t||e&&ia(e,t))&&!!ac(t)}(e))return;let n=o7(p)||r;if(null==n?void 0:n.id){let e=it(n),t='[aria-activedescendant="'.concat(n.id,'"]'),r=e.querySelector(t);r&&(n=r)}if(n&&!ac(n)){let e=n.closest("[data-dialog]");if(null==e?void 0:e.id){let t=it(e),r='[aria-controls~="'.concat(e.id,'"]'),i=t.querySelector(r);i&&(n=i)}}let i=n&&ac(n);if(!i&&t)return void requestAnimationFrame(()=>V(e,!1));K(i?n:null)&&i&&(null==n||n.focus({preventScroll:!0}))},[b,p,K]),X=(0,el.useRef)(!1);iN(()=>{if(T||!Q||!N)return;let e=y.current;X.current=!0,V(e)},[T,Q,E,N,V]),(0,el.useEffect)(()=>{if(!Q||!N)return;let e=y.current;return()=>{if(X.current){X.current=!1;return}V(e)}},[Q,N,V]);let q=iq(l);(0,el.useEffect)(()=>{if(E&&w)return i_("keydown",e=>{if("Escape"!==e.key||e.defaultPrevented)return;let t=y.current;if(!t||oY(t))return;let r=e.target;if(!r)return;let{disclosureElement:n}=b.getState();("BODY"===r.tagName||ia(t,r)||!n||ia(n,r))&&q(e)&&b.hide()},!0)},[b,E,w,q]);let Y=(B=iY(B,e=>(0,es.jsx)(oO,{level:a?1:void 0,children:e}),[a])).hidden,Z=B.alwaysVisible;B=iY(B,e=>s?(0,es.jsxs)(es.Fragment,{children:[(0,es.jsx)(o5,{store:b,backdrop:s,hidden:Y,alwaysVisible:Z}),e]}):e,[b,s,Y,Z]);let[z,$]=(0,el.useState)(),[ee,et]=(0,el.useState)();return B=ok({...B={id:S,"data-dialog":"",role:"dialog",tabIndex:i?-1:void 0,"aria-labelledby":z,"aria-describedby":ee,...B=iY(B,e=>(0,es.jsx)(ak,{value:b,children:(0,es.jsx)(a_.Provider,{value:$,children:(0,es.jsx)(aU.Provider,{value:et,children:e})})}),[b]),ref:iQ(y,B.ref)},autoFocusOnShow:j}),B=oP({portal:o,...B=aT({...B=oF({store:b,...B}),focusable:i}),portalRef:M,preserveTabOrder:F})});function st(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:aH;return i8(function(r){let n=t();return om(r.store||n,e=>!r.unmountOnHide||(null==e?void 0:e.mounted)||!!r.open)?(0,es.jsx)(e,{...r}):null})}st(i8(function(e){return i5("div",se(e))}),aH);let sr=Math.min,sn=Math.max,si=Math.round,sa=Math.floor,so=e=>({x:e,y:e}),ss={left:"right",right:"left",bottom:"top",top:"bottom"},sl={start:"end",end:"start"};function su(e,t){return"function"==typeof e?e(t):e}function sc(e){return e.split("-")[0]}function sd(e){return e.split("-")[1]}function sf(e){return"x"===e?"y":"x"}function sh(e){return"y"===e?"height":"width"}let sm=new Set(["top","bottom"]);function sp(e){return sm.has(sc(e))?"y":"x"}function sA(e){return e.replace(/start|end/g,e=>sl[e])}let sg=["left","right"],sv=["right","left"],sB=["top","bottom"],sC=["bottom","top"];function sy(e){return e.replace(/left|right|bottom|top/g,e=>ss[e])}function sb(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function sM(e){let{x:t,y:r,width:n,height:i}=e;return{width:n,height:i,top:r,left:t,right:t+n,bottom:r+i,x:t,y:r}}function sE(e,t,r){let n,{reference:i,floating:a}=e,o=sp(t),s=sf(sp(t)),l=sh(s),u=sc(t),c="y"===o,d=i.x+i.width/2-a.width/2,f=i.y+i.height/2-a.height/2,h=i[l]/2-a[l]/2;switch(u){case"top":n={x:d,y:i.y-a.height};break;case"bottom":n={x:d,y:i.y+i.height};break;case"right":n={x:i.x+i.width,y:f};break;case"left":n={x:i.x-a.width,y:f};break;default:n={x:i.x,y:i.y}}switch(sd(t)){case"start":n[s]-=h*(r&&c?-1:1);break;case"end":n[s]+=h*(r&&c?-1:1)}return n}let sx=async(e,t,r)=>{let{placement:n="bottom",strategy:i="absolute",middleware:a=[],platform:o}=r,s=a.filter(Boolean),l=await (null==o.isRTL?void 0:o.isRTL(t)),u=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:c,y:d}=sE(u,n,l),f=n,h={},m=0;for(let r=0;r{try{return e.matches(t)}catch(e){return!1}})}let sJ=["transform","translate","scale","rotate","perspective"],sN=["transform","translate","scale","rotate","perspective","filter"],sK=["paint","layout","strict","content"];function sQ(e){let t=sW(),r=sL(e)?sq(e):e;return sJ.some(e=>!!r[e]&&"none"!==r[e])||!!r.containerType&&"normal"!==r.containerType||!t&&!!r.backdropFilter&&"none"!==r.backdropFilter||!t&&!!r.filter&&"none"!==r.filter||sN.some(e=>(r.willChange||"").includes(e))||sK.some(e=>(r.contain||"").includes(e))}function sW(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let sV=new Set(["html","body","#document"]);function sX(e){return sV.has(sR(e))}function sq(e){return sI(e).getComputedStyle(e)}function sY(e){return sL(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function sZ(e){if("html"===sR(e))return e;let t=e.assignedSlot||e.parentNode||sH(e)&&e.host||sD(e);return sH(t)?t.host:t}function sz(e,t,r){var n;void 0===t&&(t=[]),void 0===r&&(r=!0);let i=function e(t){let r=sZ(t);return sX(r)?t.ownerDocument?t.ownerDocument.body:t.body:sP(r)&&sk(r)?r:e(r)}(e),a=i===(null==(n=e.ownerDocument)?void 0:n.body),o=sI(i);if(a){let e=s$(o);return t.concat(o,o.visualViewport||[],sk(i)?i:[],e&&r?sz(e):[])}return t.concat(i,sz(i,[],r))}function s$(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function s0(e){let t=sq(e),r=parseFloat(t.width)||0,n=parseFloat(t.height)||0,i=sP(e),a=i?e.offsetWidth:r,o=i?e.offsetHeight:n,s=si(r)!==a||si(n)!==o;return s&&(r=a,n=o),{width:r,height:n,$:s}}function s1(e){return sL(e)?e:e.contextElement}function s9(e){let t=s1(e);if(!sP(t))return so(1);let r=t.getBoundingClientRect(),{width:n,height:i,$:a}=s0(t),o=(a?si(r.width):r.width)/n,s=(a?si(r.height):r.height)/i;return o&&Number.isFinite(o)||(o=1),s&&Number.isFinite(s)||(s=1),{x:o,y:s}}let s2=so(0);function s8(e){let t=sI(e);return sW()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:s2}function s3(e,t,r,n){var i;void 0===t&&(t=!1),void 0===r&&(r=!1);let a=e.getBoundingClientRect(),o=s1(e),s=so(1);t&&(n?sL(n)&&(s=s9(n)):s=s9(e));let l=(void 0===(i=r)&&(i=!1),n&&(!i||n===sI(o))&&i)?s8(o):so(0),u=(a.left+l.x)/s.x,c=(a.top+l.y)/s.y,d=a.width/s.x,f=a.height/s.y;if(o){let e=sI(o),t=n&&sL(n)?sI(n):n,r=e,i=s$(r);for(;i&&n&&t!==r;){let e=s9(i),t=i.getBoundingClientRect(),n=sq(i),a=t.left+(i.clientLeft+parseFloat(n.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(n.paddingTop))*e.y;u*=e.x,c*=e.y,d*=e.x,f*=e.y,u+=a,c+=o,i=s$(r=sI(i))}}return sM({width:d,height:f,x:u,y:c})}function s5(e,t){let r=sY(e).scrollLeft;return t?t.left+r:s3(sD(e)).left+r}function s6(e,t){let r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-s5(e,r),y:r.top+t.scrollTop}}let s4=new Set(["absolute","fixed"]);function s7(e,t,r){let n;if("viewport"===t)n=function(e,t){let r=sI(e),n=sD(e),i=r.visualViewport,a=n.clientWidth,o=n.clientHeight,s=0,l=0;if(i){a=i.width,o=i.height;let e=sW();(!e||e&&"fixed"===t)&&(s=i.offsetLeft,l=i.offsetTop)}let u=s5(n);if(u<=0){let e=n.ownerDocument,t=e.body,r=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(r.marginLeft)+parseFloat(r.marginRight)||0,o=Math.abs(n.clientWidth-t.clientWidth-i);o<=25&&(a-=o)}else u<=25&&(a+=u);return{width:a,height:o,x:s,y:l}}(e,r);else if("document"===t)n=function(e){let t=sD(e),r=sY(e),n=e.ownerDocument.body,i=sn(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),a=sn(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),o=-r.scrollLeft+s5(e),s=-r.scrollTop;return"rtl"===sq(n).direction&&(o+=sn(t.clientWidth,n.clientWidth)-i),{width:i,height:a,x:o,y:s}}(sD(e));else if(sL(t))n=function(e,t){let r=s3(e,!0,"fixed"===t),n=r.top+e.clientTop,i=r.left+e.clientLeft,a=sP(e)?s9(e):so(1),o=e.clientWidth*a.x,s=e.clientHeight*a.y;return{width:o,height:s,x:i*a.x,y:n*a.y}}(t,r);else{let r=s8(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return sM(n)}function le(e){return"static"===sq(e).position}function lt(e,t){if(!sP(e)||"fixed"===sq(e).position)return null;if(t)return t(e);let r=e.offsetParent;return sD(e)===r&&(r=r.ownerDocument.body),r}function lr(e,t){var r;let n=sI(e);if(sj(e))return n;if(!sP(e)){let t=sZ(e);for(;t&&!sX(t);){if(sL(t)&&!le(t))return t;t=sZ(t)}return n}let i=lt(e,t);for(;i&&(r=i,s_.has(sR(r)))&&le(i);)i=lt(i,t);return i&&sX(i)&&le(i)&&!sQ(i)?n:i||function(e){let t=sZ(e);for(;sP(t)&&!sX(t);){if(sQ(t))return t;if(sj(t))break;t=sZ(t)}return null}(e)||n}let ln=async function(e){let t=this.getOffsetParent||lr,r=this.getDimensions,n=await r(e.floating);return{reference:function(e,t,r){let n=sP(t),i=sD(t),a="fixed"===r,o=s3(e,!0,a,t),s={scrollLeft:0,scrollTop:0},l=so(0);if(n||!n&&!a)if(("body"!==sR(t)||sk(i))&&(s=sY(t)),n){let e=s3(t,!0,a,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else i&&(l.x=s5(i));a&&!n&&i&&(l.x=s5(i));let u=!i||n||a?so(0):s6(i,s);return{x:o.left+s.scrollLeft-l.x-u.x,y:o.top+s.scrollTop-l.y-u.y,width:o.width,height:o.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}},li={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:r,offsetParent:n,strategy:i}=e,a="fixed"===i,o=sD(n),s=!!t&&sj(t.floating);if(n===o||s&&a)return r;let l={scrollLeft:0,scrollTop:0},u=so(1),c=so(0),d=sP(n);if((d||!d&&!a)&&(("body"!==sR(n)||sk(o))&&(l=sY(n)),sP(n))){let e=s3(n);u=s9(n),c.x=e.x+n.clientLeft,c.y=e.y+n.clientTop}let f=!o||d||a?so(0):s6(o,l);return{width:r.width*u.x,height:r.height*u.y,x:r.x*u.x-l.scrollLeft*u.x+c.x+f.x,y:r.y*u.y-l.scrollTop*u.y+c.y+f.y}},getDocumentElement:sD,getClippingRect:function(e){let{element:t,boundary:r,rootBoundary:n,strategy:i}=e,a=[..."clippingAncestors"===r?sj(t)?[]:function(e,t){let r=t.get(e);if(r)return r;let n=sz(e,[],!1).filter(e=>sL(e)&&"body"!==sR(e)),i=null,a="fixed"===sq(e).position,o=a?sZ(e):e;for(;sL(o)&&!sX(o);){let t=sq(o),r=sQ(o);r||"fixed"!==t.position||(i=null),(a?!r&&!i:!r&&"static"===t.position&&!!i&&s4.has(i.position)||sk(o)&&!r&&function e(t,r){let n=sZ(t);return!(n===r||!sL(n)||sX(n))&&("fixed"===sq(n).position||e(n,r))}(e,o))?n=n.filter(e=>e!==o):i=t,o=sZ(o)}return t.set(e,n),n}(t,this._c):[].concat(r),n],o=a[0],s=a.reduce((e,r)=>{let n=s7(t,r,i);return e.top=sn(n.top,e.top),e.right=sr(n.right,e.right),e.bottom=sr(n.bottom,e.bottom),e.left=sn(n.left,e.left),e},s7(t,o,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:lr,getElementRects:ln,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:r}=s0(e);return{width:t,height:r}},getScale:s9,isElement:sL,isRTL:function(e){return"rtl"===sq(e).direction}};function la(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function lo(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if("function"==typeof DOMRect)return new DOMRect(e,t,r,n);let i={x:e,y:t,width:r,height:n,top:t,right:e+r,bottom:t+n,left:e};return{...i,toJSON:()=>i}}function ls(e){return/^(?:top|bottom|left|right)(?:-(?:start|end))?$/.test(e)}function ll(e){let t=window.devicePixelRatio||1;return Math.round(e*t)/t}var lu=i6(function(e){let{store:t,modal:r=!1,portal:n=!!r,preserveTabOrder:i=!0,autoFocusOnShow:a=!0,wrapperProps:o,fixed:s=!1,flip:l=!0,shift:u=0,slide:c=!0,overlap:d=!1,sameWidth:f=!1,fitViewport:h=!1,gutter:m,arrowPadding:p=4,overflowPadding:A=8,getAnchorRect:g,updatePosition:B,...C}=e,y=aJ();iE(t=t||y,!1);let b=t.useState("arrowElement"),M=t.useState("anchorElement"),E=t.useState("disclosureElement"),x=t.useState("popoverElement"),F=t.useState("contentElement"),S=t.useState("placement"),T=t.useState("mounted"),w=t.useState("rendered"),R=(0,el.useRef)(null),[I,D]=(0,el.useState)(!1),{portalRef:G,domReady:L}=iZ(n,C.portalRef),P=iK(g),H=iK(B),O=!!B;iN(()=>{if(!(null==x?void 0:x.isConnected))return;x.style.setProperty("--popover-overflow-padding","".concat(A,"px"));let e={contextElement:M||void 0,getBoundingClientRect:()=>{let e=null==P?void 0:P(M);if(e||!M){if(!e)return lo();let{x:t,y:r,width:n,height:i}=e;return lo(t,r,n,i)}return M.getBoundingClientRect()}},r=async()=>{var r,n,i,a;if(!T)return;b||(R.current=R.current||document.createElement("div"));let o=b||R.current,g=[(r={gutter:m,shift:u},void 0===(n=e=>{var t;let{placement:n}=e,i=((null==o?void 0:o.clientHeight)||0)/2,a="number"==typeof r.gutter?r.gutter+i:null!=(t=r.gutter)?t:i;return{crossAxis:n.split("-")[1]?void 0:r.shift,mainAxis:a,alignmentAxis:r.shift}})&&(n=0),{name:"offset",options:n,async fn(e){var t,r;let{x:i,y:a,placement:o,middlewareData:s}=e,l=await sT(e,n);return o===(null==(t=s.offset)?void 0:t.placement)&&null!=(r=s.arrow)&&r.alignmentOffset?{}:{x:i+l.x,y:a+l.y,data:{...l,placement:o}}}}),function(e){var t;if(!1===e.flip)return;let r="string"==typeof e.flip?e.flip.split(" "):void 0;return iE(!r||r.every(ls),!1),{name:"flip",options:t={padding:e.overflowPadding,fallbackPlacements:r},async fn(e){var r,n,i,a,o;let{placement:s,middlewareData:l,rects:u,initialPlacement:c,platform:d,elements:f}=e,{mainAxis:h=!0,crossAxis:m=!0,fallbackPlacements:p,fallbackStrategy:A="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:B=!0,...C}=su(t,e);if(null!=(r=l.arrow)&&r.alignmentOffset)return{};let y=sc(s),b=sp(c),M=sc(c)===c,E=await (null==d.isRTL?void 0:d.isRTL(f.floating)),x=p||(M||!B?[sy(c)]:function(e){let t=sy(e);return[sA(e),t,sA(t)]}(c)),F="none"!==g;!p&&F&&x.push(...function(e,t,r,n){let i=sd(e),a=function(e,t,r){switch(e){case"top":case"bottom":if(r)return t?sv:sg;return t?sg:sv;case"left":case"right":return t?sB:sC;default:return[]}}(sc(e),"start"===r,n);return i&&(a=a.map(e=>e+"-"+i),t&&(a=a.concat(a.map(sA)))),a}(c,B,g,E));let S=[c,...x],T=await sF(e,C),w=[],R=(null==(n=l.flip)?void 0:n.overflows)||[];if(h&&w.push(T[y]),m){let e=function(e,t,r){void 0===r&&(r=!1);let n=sd(e),i=sf(sp(e)),a=sh(i),o="x"===i?n===(r?"end":"start")?"right":"left":"start"===n?"bottom":"top";return t.reference[a]>t.floating[a]&&(o=sy(o)),[o,sy(o)]}(s,u,E);w.push(T[e[0]],T[e[1]])}if(R=[...R,{placement:s,overflows:w}],!w.every(e=>e<=0)){let e=((null==(i=l.flip)?void 0:i.index)||0)+1,t=S[e];if(t&&("alignment"!==m||b===sp(t)||R.every(e=>sp(e.placement)!==b||e.overflows[0]>0)))return{data:{index:e,overflows:R},reset:{placement:t}};let r=null==(a=R.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:a.placement;if(!r)switch(A){case"bestFit":{let e=null==(o=R.filter(e=>{if(F){let t=sp(e.placement);return t===b||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:o[0];e&&(r=e);break}case"initialPlacement":r=c}if(s!==r)return{reset:{placement:r}}}return{}}}}({flip:l,overflowPadding:A}),function(e){if(e.slide||e.overlap){var t,r;return{name:"shift",options:r={mainAxis:e.slide,crossAxis:e.overlap,padding:e.overflowPadding,limiter:(void 0===t&&(t={}),{options:t,fn(e){let{x:r,y:n,placement:i,rects:a,middlewareData:o}=e,{offset:s=0,mainAxis:l=!0,crossAxis:u=!0}=su(t,e),c={x:r,y:n},d=sp(i),f=sf(d),h=c[f],m=c[d],p=su(s,e),A="number"==typeof p?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(l){let e="y"===f?"height":"width",t=a.reference[f]-a.floating[e]+A.mainAxis,r=a.reference[f]+a.reference[e]-A.mainAxis;hr&&(h=r)}if(u){var g,B;let e="y"===f?"width":"height",t=sS.has(sc(i)),r=a.reference[d]-a.floating[e]+(t&&(null==(g=o.offset)?void 0:g[d])||0)+(t?0:A.crossAxis),n=a.reference[d]+a.reference[e]+(t?0:(null==(B=o.offset)?void 0:B[d])||0)-(t?A.crossAxis:0);mn&&(m=n)}return{[f]:h,[d]:m}}})},async fn(e){let{x:t,y:n,placement:i}=e,{mainAxis:a=!0,crossAxis:o=!1,limiter:s={fn:e=>{let{x:t,y:r}=e;return{x:t,y:r}}},...l}=su(r,e),u={x:t,y:n},c=await sF(e,l),d=sp(sc(i)),f=sf(d),h=u[f],m=u[d];if(a){let e="y"===f?"top":"left",t="y"===f?"bottom":"right",r=h+c[e],n=h-c[t];h=sn(r,sr(h,n))}if(o){let e="y"===d?"top":"left",t="y"===d?"bottom":"right",r=m+c[e],n=m-c[t];m=sn(r,sr(m,n))}let p=s.fn({...e,[f]:h,[d]:m});return{...p,data:{x:p.x-t,y:p.y-n,enabled:{[f]:a,[d]:o}}}}}}}({slide:c,shift:u,overlap:d,overflowPadding:A}),function(e,t){if(e){let r;return{name:"arrow",options:r={element:e,padding:t.arrowPadding},async fn(e){let{x:t,y:n,placement:i,rects:a,platform:o,elements:s,middlewareData:l}=e,{element:u,padding:c=0}=su(r,e)||{};if(null==u)return{};let d=sb(c),f={x:t,y:n},h=sf(sp(i)),m=sh(h),p=await o.getDimensions(u),A="y"===h,g=A?"clientHeight":"clientWidth",B=a.reference[m]+a.reference[h]-f[h]-a.floating[m],C=f[h]-a.reference[h],y=await (null==o.getOffsetParent?void 0:o.getOffsetParent(u)),b=y?y[g]:0;b&&await (null==o.isElement?void 0:o.isElement(y))||(b=s.floating[g]||a.floating[m]);let M=b/2-p[m]/2-1,E=sr(d[A?"top":"left"],M),x=sr(d[A?"bottom":"right"],M),F=b-p[m]-x,S=b/2-p[m]/2+(B/2-C/2),T=sn(E,sr(S,F)),w=!l.arrow&&null!=sd(i)&&S!==T&&a.reference[m]/2-(S{},...d}=su(a,e),f=await sF(e,d),h=sc(o),m=sd(o),p="y"===sp(o),{width:A,height:g}=s.floating;"top"===h||"bottom"===h?(n=h,i=m===(await (null==l.isRTL?void 0:l.isRTL(u.floating))?"start":"end")?"left":"right"):(i=h,n="end"===m?"top":"bottom");let B=g-f.top-f.bottom,C=A-f.left-f.right,y=sr(g-f[n],B),b=sr(A-f[i],C),M=!e.middlewareData.shift,E=y,x=b;if(null!=(t=e.middlewareData.shift)&&t.enabled.x&&(x=C),null!=(r=e.middlewareData.shift)&&r.enabled.y&&(E=B),M&&!m){let e=sn(f.left,0),t=sn(f.right,0),r=sn(f.top,0),n=sn(f.bottom,0);p?x=A-2*(0!==e||0!==t?e+t:sn(f.left,f.right)):E=g-2*(0!==r||0!==n?r+n:sn(f.top,f.bottom))}await c({...e,availableWidth:x,availableHeight:E});let F=await l.getDimensions(u.floating);return A!==F.width||g!==F.height?{reset:{rects:!0}}:{}}}],B=await ((e,t,r)=>{let n=new Map,i={platform:li,...r},a={...i.platform,_c:n};return sx(e,t,{...i,platform:a})})(e,x,{placement:S,strategy:s?"fixed":"absolute",middleware:g});null==t||t.setState("currentPlacement",B.placement),D(!0);let C=ll(B.x),y=ll(B.y);if(Object.assign(x.style,{top:"0",left:"0",transform:"translate3d(".concat(C,"px,").concat(y,"px,0)")}),o&&B.middlewareData.arrow){let{x:e,y:t}=B.middlewareData.arrow,r=B.placement.split("-")[0],n=o.clientWidth/2,i=o.clientHeight/2,a=null!=e?e+n:-n,s=null!=t?t+i:-i;x.style.setProperty("--popover-transform-origin",{top:"".concat(a,"px calc(100% + ").concat(i,"px)"),bottom:"".concat(a,"px ").concat(-i,"px"),left:"calc(100% + ".concat(n,"px) ").concat(s,"px"),right:"".concat(-n,"px ").concat(s,"px")}[r]),Object.assign(o.style,{left:null!=e?"".concat(e,"px"):"",top:null!=t?"".concat(t,"px"):"",[r]:"100%"})}},n=function(e,t,r,n){let i;void 0===n&&(n={});let{ancestorScroll:a=!0,ancestorResize:o=!0,elementResize:s="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:u=!1}=n,c=s1(e),d=a||o?[...c?sz(c):[],...sz(t)]:[];d.forEach(e=>{a&&e.addEventListener("scroll",r,{passive:!0}),o&&e.addEventListener("resize",r)});let f=c&&l?function(e,t){let r,n=null,i=sD(e);function a(){var e;clearTimeout(r),null==(e=n)||e.disconnect(),n=null}return!function o(s,l){void 0===s&&(s=!1),void 0===l&&(l=1),a();let u=e.getBoundingClientRect(),{left:c,top:d,width:f,height:h}=u;if(s||t(),!f||!h)return;let m=sa(d),p=sa(i.clientWidth-(c+f)),A={rootMargin:-m+"px "+-p+"px "+-sa(i.clientHeight-(d+h))+"px "+-sa(c)+"px",threshold:sn(0,sr(1,l))||1},g=!0;function B(t){let n=t[0].intersectionRatio;if(n!==l){if(!g)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}1!==n||la(u,e.getBoundingClientRect())||o(),g=!1}try{n=new IntersectionObserver(B,{...A,root:i.ownerDocument})}catch(e){n=new IntersectionObserver(B,A)}n.observe(e)}(!0),a}(c,r):null,h=-1,m=null;s&&(m=new ResizeObserver(e=>{let[n]=e;n&&n.target===c&&m&&(m.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var e;null==(e=m)||e.observe(t)})),r()}),c&&!u&&m.observe(c),m.observe(t));let p=u?s3(e):null;return u&&function t(){let n=s3(e);p&&!la(p,n)&&r(),p=n,i=requestAnimationFrame(t)}(),r(),()=>{var e;d.forEach(e=>{a&&e.removeEventListener("scroll",r),o&&e.removeEventListener("resize",r)}),null==f||f(),null==(e=m)||e.disconnect(),m=null,u&&cancelAnimationFrame(i)}}(e,x,async()=>{O?(await H({updatePosition:r}),D(!0)):await r()},{elementResize:"function"==typeof ResizeObserver});return()=>{D(!1),n()}},[t,w,x,b,M,x,S,T,L,s,l,u,c,d,f,h,m,p,A,P,O,H]),iN(()=>{if(!T||!L||!(null==x?void 0:x.isConnected)||!(null==F?void 0:F.isConnected))return;let e=()=>{x.style.zIndex=getComputedStyle(F).zIndex};e();let t=requestAnimationFrame(()=>{t=requestAnimationFrame(e)});return()=>cancelAnimationFrame(t)},[T,L,x,F]);let k=s?"fixed":"absolute";return C=iY(C,e=>(0,es.jsx)("div",{...o,style:{position:k,top:0,left:0,width:"max-content",...null==o?void 0:o.style},ref:null==t?void 0:t.setPopoverElement,children:e}),[t,k,o]),C={"data-placing":!I||void 0,...C=iY(C,e=>(0,es.jsx)(aK,{value:t,children:e}),[t]),style:{position:"relative",...C.style}},C=se({store:t,modal:r,portal:n,preserveTabOrder:i,preserveTabOrderAnchor:E||M,autoFocusOnShow:I&&a,...C,portalRef:G})});st(i8(function(e){return i5("div",lu(e))}),aJ);var lc=i6(function(e){let{store:t,modal:r,tabIndex:n,alwaysVisible:i,autoFocusOnHide:a=!0,hideOnInteractOutside:o=!0,...s}=e,l=aY();iE(t=t||l,!1);let u=t.useState("baseElement"),c=(0,el.useRef)(!1),d=om(t.tag,e=>null==e?void 0:e.renderedItems.length);return s=oT({store:t,alwaysVisible:i,...s}),s=lu({store:t,modal:r,alwaysVisible:i,backdrop:!1,autoFocusOnShow:!1,finalFocus:u,preserveTabOrderAnchor:null,unstable_treeSnapshotKey:d,...s,getPersistentElements(){var e;let n=(null==(e=s.getPersistentElements)?void 0:e.call(s))||[];if(!r||!t)return n;let{contentElement:i,baseElement:a}=t.getState();if(!a)return n;let o=it(a),l=[];if((null==i?void 0:i.id)&&l.push('[aria-controls~="'.concat(i.id,'"]')),(null==a?void 0:a.id)&&l.push('[aria-controls~="'.concat(a.id,'"]')),!l.length)return[...n,a];let u=l.join(",");return[...n,...o.querySelectorAll(u)]},autoFocusOnHide:e=>!ix(a,e)&&(!c.current||(c.current=!1,!1)),hideOnInteractOutside(e){var r,n;let i=null==t?void 0:t.getState(),a=null==(r=null==i?void 0:i.contentElement)?void 0:r.id,s=null==(n=null==i?void 0:i.baseElement)?void 0:n.id;if(function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n'[aria-controls~="'.concat(e,'"]')).join(", ");return!!t&&e.matches(t)}return!1}(e.target,a,s))return!1;let l="function"==typeof o?o(e):o;return l&&(c.current="click"===e.type),l}})}),ld=st(i8(function(e){return i5("div",lc(e))}),aY);(0,el.createContext)(null),(0,el.createContext)(null);var lf=i4([ai],[aa]),lh=lf.useContext;lf.useScopedContext,lf.useProviderContext,lf.ContextProvider,lf.ScopedContextProvider;var lm={id:null};function lp(e,t){return e.find(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function lA(e,t){return e.filter(e=>e.rowId===t)}function lg(e){let t=[];for(let r of e){let e=t.find(e=>{var t;return(null==(t=e[0])?void 0:t.rowId)===r.rowId});e?e.push(r):t.push([r])}return t}function lv(e){let t=0;for(let{length:r}of e)r>t&&(t=r);return t}var lB=iD()&&iR();function lC(){let{tag:e,...t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=a7(t.store,function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n0&&void 0!==arguments[0]?arguments[0]:{},r=null==(e=t.store)?void 0:e.getState(),n=function(){var e,t;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};oe(r,r.store);let n=null==(e=r.store)?void 0:e.getState(),i=iT(r.items,null==n?void 0:n.items,r.defaultItems,[]),a=new Map(i.map(e=>[e.id,e])),o={items:i,renderedItems:iT(null==n?void 0:n.renderedItems,[])},s=null==(t=r.store)?void 0:t.__unstablePrivateStore,l=a9({items:i,renderedItems:o.renderedItems},s),u=a9(o,r.store),c=e=>{let t=function(e,t){let r=e.map((e,t)=>[t,e]),n=!1;return(r.sort((e,r)=>{var i;let[a,o]=e,[s,l]=r,u=t(o),c=t(l);return u!==c&&u&&c?(i=u,c.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_PRECEDING)?(a>s&&(n=!0),-1):(a{let[t,r]=e;return r}):e}(e,e=>e.element);l.setState("renderedItems",t),u.setState("renderedItems",t)};a2(u,()=>a8(l)),a2(l,()=>a6(l,["items"],e=>{u.setState("items",e.items)})),a2(l,()=>a6(l,["renderedItems"],e=>{let t=!0,r=requestAnimationFrame(()=>{let{renderedItems:t}=u.getState();e.renderedItems!==t&&c(e.renderedItems)});if("function"!=typeof IntersectionObserver)return()=>cancelAnimationFrame(r);let n=new IntersectionObserver(()=>{if(t){t=!1;return}cancelAnimationFrame(r),r=requestAnimationFrame(()=>c(e.renderedItems))},{root:function(e){var t;let r=e.find(e=>!!e.element),n=[...e].reverse().find(e=>!!e.element),i=null==(t=null==r?void 0:r.element)?void 0:t.parentElement;for(;i&&(null==n?void 0:n.element);){let e=i;if(n&&e.contains(n.element))return i;i=i.parentElement}return it(i).body}(e.renderedItems)});for(let t of e.renderedItems)t.element&&n.observe(t.element);return()=>{cancelAnimationFrame(r),n.disconnect()}}));let d=function(e,t){let r,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t(t=>{let n=t.findIndex(t=>{let{id:r}=t;return r===e.id}),i=t.slice();if(-1!==n){let o={...r=t[n],...e};i[n]=o,a.set(e.id,o)}else i.push(e),a.set(e.id,e);return i}),()=>{t(t=>{if(!r)return n&&a.delete(e.id),t.filter(t=>{let{id:r}=t;return r!==e.id});let i=t.findIndex(t=>{let{id:r}=t;return r===e.id});if(-1===i)return t;let o=t.slice();return o[i]=r,a.set(e.id,r),o})}},f=e=>d(e,e=>l.setState("items",e),!0);return{...u,registerItem:f,renderItem:e=>ib(f(e),d(e,e=>l.setState("renderedItems",e))),item:e=>{if(!e)return null;let t=a.get(e);if(!t){let{items:r}=l.getState();(t=r.find(t=>t.id===e))&&a.set(e,t)}return t||null},__unstablePrivateStore:l}}(t),i=iT(t.activeId,null==r?void 0:r.activeId,t.defaultActiveId),a=a9({...n.getState(),id:iT(t.id,null==r?void 0:r.id,"id-".concat(Math.random().toString(36).slice(2,8))),activeId:i,baseElement:iT(null==r?void 0:r.baseElement,null),includesBaseElement:iT(t.includesBaseElement,null==r?void 0:r.includesBaseElement,null===i),moves:iT(null==r?void 0:r.moves,0),orientation:iT(t.orientation,null==r?void 0:r.orientation,"both"),rtl:iT(t.rtl,null==r?void 0:r.rtl,!1),virtualFocus:iT(t.virtualFocus,null==r?void 0:r.virtualFocus,!1),focusLoop:iT(t.focusLoop,null==r?void 0:r.focusLoop,!1),focusWrap:iT(t.focusWrap,null==r?void 0:r.focusWrap,!1),focusShift:iT(t.focusShift,null==r?void 0:r.focusShift,!1)},n,t.store);a2(a,()=>a5(a,["renderedItems","activeId"],e=>{a.setState("activeId",t=>{var r;return void 0!==t?t:null==(r=lp(e.renderedItems))?void 0:r.id})}));let o=function(){var e,t;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"next",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=a.getState(),{skip:o=0,activeId:s=i.activeId,focusShift:l=i.focusShift,focusLoop:u=i.focusLoop,focusWrap:c=i.focusWrap,includesBaseElement:d=i.includesBaseElement,renderedItems:f=i.renderedItems,rtl:h=i.rtl}=n,m="up"===r||"down"===r,p="next"===r||"down"===r,A=m?aw(function(e,t,r){let n=lv(e);for(let i of e)for(let e=0;ee.id===s);if(!g)return null==(t=lp(A))?void 0:t.id;let B=A.some(e=>e.rowId),C=A.indexOf(g),y=A.slice(C+1),b=lA(y,g.rowId);if(o){let e=b.filter(e=>s?!e.disabled&&e.id!==s:!e.disabled),t=e.slice(o)[0]||e[e.length-1];return null==t?void 0:t.id}let M=u&&(m?"horizontal"!==u:"vertical"!==u),E=B&&c&&(m?"horizontal"!==c:"vertical"!==c),x=p?(!B||m)&&M&&d:!!m&&d;if(M){let e=lp(function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.findIndex(e=>e.id===t);return[...e.slice(n+1),...r?[lm]:[],...e.slice(0,n)]}(E&&!x?A:lA(A,g.rowId),s,x),s);return null==e?void 0:e.id}if(E){let e=lp(x?b:y,s);return x?(null==e?void 0:e.id)||null:null==e?void 0:e.id}let F=lp(b,s);return!F&&x?null:null==F?void 0:F.id};return{...n,...a,setBaseElement:e=>a.setState("baseElement",e),setActiveId:e=>a.setState("activeId",e),move:e=>{void 0!==e&&(a.setState("activeId",e),a.setState("moves",e=>e+1))},first:()=>{var e;return null==(e=lp(a.getState().renderedItems))?void 0:e.id},last:()=>{var e;return null==(e=lp(aR(a.getState().renderedItems)))?void 0:e.id},next:e=>(void 0!==e&&"number"==typeof e&&(e={skip:e}),o("next",e)),previous:e=>(void 0!==e&&"number"==typeof e&&(e={skip:e}),o("previous",e)),down:e=>(void 0!==e&&"number"==typeof e&&(e={skip:e}),o("down",e)),up:e=>(void 0!==e&&"number"==typeof e&&(e={skip:e}),o("up",e))}}({...t,activeId:a,includesBaseElement:iT(t.includesBaseElement,null==i?void 0:i.includesBaseElement,!0),orientation:iT(t.orientation,null==i?void 0:i.orientation,"vertical"),focusLoop:iT(t.focusLoop,null==i?void 0:i.focusLoop,!0),focusWrap:iT(t.focusWrap,null==i?void 0:i.focusWrap,!0),virtualFocus:iT(t.virtualFocus,null==i?void 0:i.virtualFocus,!0)}),s=function(){let{popover:e,...t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=a7(t.store,a4(e,["arrowElement","anchorElement","contentElement","popoverElement","disclosureElement"]));oe(t,r);let n=null==r?void 0:r.getState(),i=o6({...t,store:r}),a=iT(t.placement,null==n?void 0:n.placement,"bottom"),o=a9({...i.getState(),placement:a,currentPlacement:a,anchorElement:iT(null==n?void 0:n.anchorElement,null),popoverElement:iT(null==n?void 0:n.popoverElement,null),arrowElement:iT(null==n?void 0:n.arrowElement,null),rendered:Symbol("rendered")},i,r);return{...i,...o,setAnchorElement:e=>o.setState("anchorElement",e),setPopoverElement:e=>o.setState("popoverElement",e),setArrowElement:e=>o.setState("arrowElement",e),render:()=>o.setState("rendered",Symbol("rendered"))}}({...t,placement:iT(t.placement,null==i?void 0:i.placement,"bottom-start")}),l=iT(t.value,null==i?void 0:i.value,t.defaultValue,""),u=iT(t.selectedValue,null==i?void 0:i.selectedValue,null==n?void 0:n.values,t.defaultSelectedValue,""),c=Array.isArray(u),d={...o.getState(),...s.getState(),value:l,selectedValue:u,resetValueOnSelect:iT(t.resetValueOnSelect,null==i?void 0:i.resetValueOnSelect,c),resetValueOnHide:iT(t.resetValueOnHide,null==i?void 0:i.resetValueOnHide,c&&!e),activeValue:null==i?void 0:i.activeValue},f=a9(d,o,s,r);return lB&&a2(f,()=>a5(f,["virtualFocus"],()=>{f.setState("virtualFocus",!1)})),a2(f,()=>{if(e)return ib(a5(f,["selectedValue"],t=>{Array.isArray(t.selectedValue)&&e.setValues(t.selectedValue)}),a5(e,["values"],e=>{f.setState("selectedValue",e.values)}))}),a2(f,()=>a5(f,["resetValueOnHide","mounted"],e=>{e.resetValueOnHide&&(e.mounted||f.setState("value",l))})),a2(f,()=>a5(f,["open"],e=>{e.open||(f.setState("activeId",a),f.setState("moves",0))})),a2(f,()=>a5(f,["moves","activeId"],(e,t)=>{e.moves===t.moves&&f.setState("activeValue",void 0)})),a2(f,()=>a6(f,["moves","renderedItems"],(e,t)=>{if(e.moves===t.moves)return;let{activeId:r}=f.getState(),n=o.item(r);f.setState("activeValue",null==n?void 0:n.value)})),{...s,...o,...f,tag:e,setValue:e=>f.setState("value",e),resetValue:()=>f.setState("value",d.value),setSelectedValue:e=>f.setState("selectedValue",e)}}function ly(){var e,t,r,n,i,a;let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[s,l]=og(lC,o=function(e){var t;let r=lh();return{id:iW((t=e={...e,tag:void 0!==e.tag?e.tag:r}).id),...t}}(o));return iV(l,[(e=o).tag]),oA(s,e,"value","setValue"),oA(s,e,"selectedValue","setSelectedValue"),oA(s,e,"resetValueOnHide"),oA(s,e,"resetValueOnSelect"),Object.assign((n=s,iV(i=l,[(a=e).popover]),oA(n,a,"placement"),t=o8(n,i,a),r=t,iV(l,[e.store]),oA(r,e,"items","setItems"),oA(t=r,e,"activeId","setActiveId"),oA(t,e,"includesBaseElement"),oA(t,e,"virtualFocus"),oA(t,e,"orientation"),oA(t,e,"rtl"),oA(t,e,"focusLoop"),oA(t,e,"focusWrap"),oA(t,e,"focusShift"),t),{tag:e.tag})}function lb(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=ly(e);return(0,es.jsx)(aZ,{value:t,children:e.children})}var lM=(0,el.createContext)(void 0),lE=i6(function(e){let[t,r]=(0,el.useState)();return iS(e={role:"group","aria-labelledby":t,...e=iY(e,e=>(0,es.jsx)(lM.Provider,{value:r,children:e}),[])})});i8(function(e){return i5("div",lE(e))});var lx=i6(function(e){let{store:t,...r}=e;return lE(r)});i8(function(e){return i5("div",lx(e))});var lF=i6(function(e){let{store:t,...r}=e,n=aq();return iE(t=t||n,!1),"grid"===im(t.useState("contentElement"))&&(r={role:"rowgroup",...r}),r=lx({store:t,...r})}),lS=i8(function(e){return i5("div",lF(e))}),lT=i6(function(e){let t=(0,el.useContext)(lM),r=iW(e.id);return iN(()=>(null==t||t(r),()=>null==t?void 0:t(void 0)),[t,r]),iS(e={id:r,"aria-hidden":!0,...e})});i8(function(e){return i5("div",lT(e))});var lw=i6(function(e){let{store:t,...r}=e;return lT(r)});i8(function(e){return i5("div",lw(e))});var lR=i6(function(e){return lw(e)}),lI=i8(function(e){return i5("div",lR(e))}),lD=e.i(38360);let lG={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},lL=(e,t)=>String(e.rankedValue).localeCompare(String(t.rankedValue));function lP(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{keys:n,threshold:i=lG.MATCHES,baseSort:a=lL,sorter:o=e=>e.sort((e,t)=>(function(e,t,r){let{rank:n,keyIndex:i}=e,{rank:a,keyIndex:o}=t;return n!==a?n>a?-1:1:i===o?r(e,t):i{let{rank:n,rankedValue:i,keyIndex:a,keyThreshold:o}=e,{itemValue:s,attributes:l}=t,d=lH(s,u,c),f=i,{minRanking:h,maxRanking:m,threshold:p}=l;return d=lG.MATCHES?d=h:d>m&&(d=m),d>n&&(n=d,a=r,o=p,f=s),{rankedValue:f,rank:n,keyIndex:a,keyThreshold:o}},{rankedValue:s,rank:lG.NO_MATCH,keyIndex:-1,keyThreshold:c.threshold}):{rankedValue:s,rank:lH(s,u,c),keyIndex:-1,keyThreshold:c.threshold}),{rank:f,keyThreshold:h=i}=d;return f>=h&&e.push({...d,item:a,index:o}),e},[])).map(e=>{let{item:t}=e;return t})}function lH(e,t,r){if(e=lO(e,r),(t=lO(t,r)).length>e.length)return lG.NO_MATCH;if(e===t)return lG.CASE_SENSITIVE_EQUAL;let n=function*(e,t){let r=-1;for(;(r=e.indexOf(t,r+1))>-1;)yield r;return -1}(e=e.toLowerCase(),t=t.toLowerCase()),i=n.next(),a=i.value;if(e.length===t.length&&0===a)return lG.EQUAL;if(0===a)return lG.STARTS_WITH;let o=i;for(;!o.done;){if(o.value>0&&" "===e[o.value-1])return lG.WORD_STARTS_WITH;o=n.next()}return a>0?lG.CONTAINS:1===t.length?lG.NO_MATCH:(function(e){let t="",r=" ";for(let n=0;n-1))return lG.NO_MATCH;var o=n-a;let s=r/t.length;return lG.MATCHES+1/o*s}(e,t)}function lO(e,t){let{keepDiacritics:r}=t;return e="".concat(e),r||(e=(0,lD.default)(e)),e}lP.rankings=lG;let lk={maxRanking:1/0,minRanking:-1/0};var l_=e.i(29402);let lU=new Set(["SkiFree","SkiFree_Daily","SkiFree_Randomizer"]),lj={"missions.vl2":"Official","TR2final105-client.vl2":"Team Rabbit 2","z_mappacks/CTF/Classic_maps_v1.vl2":"Classic","z_mappacks/CTF/DynamixFinalPack.vl2":"Official","z_mappacks/CTF/KryMapPack_b3EDIT.vl2":"KryMapPack","z_mappacks/CTF/S5maps.vl2":"S5","z_mappacks/CTF/S8maps.vl2":"S8","z_mappacks/CTF/TWL-MapPack.vl2":"TWL","z_mappacks/CTF/TWL-MapPackEDIT.vl2":"TWL","z_mappacks/CTF/TWL2-MapPack.vl2":"TWL2","z_mappacks/CTF/TWL2-MapPackEDIT.vl2":"TWL2","z_mappacks/TWL_T2arenaOfficialMaps.vl2":"Arena","z_mappacks/z_DMP2-V0.6.vl2":"DMP2 (Discord Map Pack)","z_mappacks/zDMP-4.7.3DX.vl2":"DMP (Discord Map Pack)"},lJ={"z_mappacks/DM":"DM","z_mappacks/LCTF":"LCTF","z_mappacks/Lak":"LakRabbit"},lN=(0,nR.getMissionList)().filter(e=>!lU.has(e)).map(e=>{var t,r;let n=(0,nR.getMissionInfo)(e),[i]=(0,nR.getSourceAndPath)(n.resourcePath),a=(e=>{let t=e.match(/^(.*)(\/[^/]+)$/);return t?t[1]:""})(i),o=null!=(r=null!=(t=lj[i])?t:lJ[a])?r:null;return{resourcePath:n.resourcePath,missionName:e,displayName:n.displayName,sourcePath:i,groupName:o,missionTypes:n.missionTypes}}),lK=new Map(lN.map(e=>[e.missionName,e])),lQ=function(e){let t=new Map;for(let n of e){var r;let e=null!=(r=t.get(n.groupName))?r:[];e.push(n),t.set(n.groupName,e)}return t.forEach((e,r)=>{t.set(r,(0,l_.default)(e,[e=>(e.displayName||e.missionName).toLowerCase()],["asc"]))}),(0,l_.default)(Array.from(t.entries()),[e=>{let[t]=e;return"Official"===t?0:null==t?2:1},e=>{let[t]=e;return t?t.toLowerCase():""}],["asc","asc"])}(lN),lW="undefined"!=typeof navigator&&/Mac|iPhone|iPad|iPod/.test(navigator.platform);function lV(e){let{mission:t}=e;return(0,es.jsxs)(es.Fragment,{children:[(0,es.jsxs)("span",{className:"MissionSelect-itemHeader",children:[(0,es.jsx)("span",{className:"MissionSelect-itemName",children:t.displayName||t.missionName}),t.missionTypes.length>0&&(0,es.jsx)("span",{className:"MissionSelect-itemTypes",children:t.missionTypes.map(e=>(0,es.jsx)("span",{className:"MissionSelect-itemType",children:e},e))})]}),(0,es.jsx)("span",{className:"MissionSelect-itemMissionName",children:t.missionName})]})}function lX(e){let{value:t,onChange:r}=e,[n,i]=(0,el.useState)(""),a=(0,el.useRef)(null),o=ly({resetValueOnHide:!0,selectedValue:t,setSelectedValue:e=>{e&&r(e)},setValue:e=>{(0,el.startTransition)(()=>i(e))}});(0,el.useEffect)(()=>{let e=e=>{if("k"===e.key&&(e.metaKey||e.ctrlKey)){var t;e.preventDefault(),null==(t=a.current)||t.focus(),o.show()}};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o]);let s=lK.get(t),l=(0,el.useMemo)(()=>n?{type:"flat",missions:lP(lN,n,{keys:["displayName","missionName"]})}:{type:"grouped",groups:lQ},[n]),u=s?s.displayName||s.missionName:t,c="flat"===l.type?0===l.missions.length:0===l.groups.length;return(0,es.jsxs)(lb,{store:o,children:[(0,es.jsxs)("div",{className:"MissionSelect-inputWrapper",children:[(0,es.jsx)(oi,{ref:a,autoSelect:!0,placeholder:u,className:"MissionSelect-input",onFocus:()=>{document.exitPointerLock(),o.show()}}),(0,es.jsx)("kbd",{className:"MissionSelect-shortcut",children:lW?"⌘K":"^K"})]}),(0,es.jsx)(ld,{gutter:4,fitViewport:!0,className:"MissionSelect-popover",children:(0,es.jsxs)(ow,{className:"MissionSelect-list",children:["flat"===l.type?l.missions.map(e=>(0,es.jsx)(oy,{value:e.missionName,className:"MissionSelect-item",focusOnHover:!0,children:(0,es.jsx)(lV,{mission:e})},e.missionName)):l.groups.map(e=>{let[t,r]=e;return t?(0,es.jsxs)(lS,{className:"MissionSelect-group",children:[(0,es.jsx)(lI,{className:"MissionSelect-groupLabel",children:t}),r.map(e=>(0,es.jsx)(oy,{value:e.missionName,className:"MissionSelect-item",focusOnHover:!0,children:(0,es.jsx)(lV,{mission:e})},e.missionName))]},t):(0,es.jsx)(el.Fragment,{children:r.map(e=>(0,es.jsx)(oy,{value:e.missionName,className:"MissionSelect-item",focusOnHover:!0,children:(0,es.jsx)(lV,{mission:e})},e.missionName))},"ungrouped")}),c&&(0,es.jsx)("div",{className:"MissionSelect-noResults",children:"No missions found"})]})})]})}function lq(e){let{missionName:t,onChangeMission:r}=e,{fogEnabled:n,setFogEnabled:i,fov:a,setFov:o,audioEnabled:s,setAudioEnabled:l,animationEnabled:u,setAnimationEnabled:c}=(0,tD.useSettings)(),{speedMultiplier:d,setSpeedMultiplier:f}=(0,tD.useControls)(),{debugMode:h,setDebugMode:m}=(0,tD.useDebug)();return(0,es.jsxs)("div",{id:"controls",onKeyDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:[(0,es.jsx)(lX,{value:t,onChange:r}),(0,es.jsxs)("div",{className:"CheckboxField",children:[(0,es.jsx)("input",{id:"fogInput",type:"checkbox",checked:n,onChange:e=>{i(e.target.checked)}}),(0,es.jsx)("label",{htmlFor:"fogInput",children:"Fog?"})]}),(0,es.jsxs)("div",{className:"CheckboxField",children:[(0,es.jsx)("input",{id:"audioInput",type:"checkbox",checked:s,onChange:e=>{l(e.target.checked)}}),(0,es.jsx)("label",{htmlFor:"audioInput",children:"Audio?"})]}),(0,es.jsxs)("div",{className:"CheckboxField",children:[(0,es.jsx)("input",{id:"animationInput",type:"checkbox",checked:u,onChange:e=>{c(e.target.checked)}}),(0,es.jsx)("label",{htmlFor:"animationInput",children:"Animation?"})]}),(0,es.jsxs)("div",{className:"CheckboxField",children:[(0,es.jsx)("input",{id:"debugInput",type:"checkbox",checked:h,onChange:e=>{m(e.target.checked)}}),(0,es.jsx)("label",{htmlFor:"debugInput",children:"Debug?"})]}),(0,es.jsxs)("div",{className:"Field",children:[(0,es.jsx)("label",{htmlFor:"fovInput",children:"FOV"}),(0,es.jsx)("input",{id:"fovInput",type:"range",min:75,max:120,step:5,value:a,onChange:e=>o(parseInt(e.target.value))}),(0,es.jsx)("output",{htmlFor:"speedInput",children:a})]}),(0,es.jsxs)("div",{className:"Field",children:[(0,es.jsx)("label",{htmlFor:"speedInput",children:"Speed"}),(0,es.jsx)("input",{id:"speedInput",type:"range",min:.1,max:5,step:.05,value:d,onChange:e=>f(parseFloat(e.target.value))})]})]})}let lY=el.forwardRef((e,t)=>{let{envMap:r,resolution:n=256,frames:i=1/0,makeDefault:a,children:o,...s}=e,l=(0,tx.useThree)(e=>{let{set:t}=e;return t}),u=(0,tx.useThree)(e=>{let{camera:t}=e;return t}),c=(0,tx.useThree)(e=>{let{size:t}=e;return t}),d=el.useRef(null);el.useImperativeHandle(t,()=>d.current,[]);let f=el.useRef(null),h=function(e,t,r){let n=(0,tx.useThree)(e=>e.size),i=(0,tx.useThree)(e=>e.viewport),a="number"==typeof e?e:n.width*i.dpr,o=n.height*i.dpr,s=("number"==typeof e?void 0:e)||{},{samples:l=0,depth:u,...c}=s,d=null!=u?u:s.depthBuffer,f=el.useMemo(()=>{let e=new ef.WebGLRenderTarget(a,o,{minFilter:ef.LinearFilter,magFilter:ef.LinearFilter,type:ef.HalfFloatType,...c});return d&&(e.depthTexture=new ef.DepthTexture(a,o,ef.FloatType)),e.samples=l,e},[]);return el.useLayoutEffect(()=>{f.setSize(a,o),l&&(f.samples=l)},[l,f,a,o]),el.useEffect(()=>()=>f.dispose(),[]),f}(n);el.useLayoutEffect(()=>{s.manual||(d.current.aspect=c.width/c.height)},[c,s]),el.useLayoutEffect(()=>{d.current.updateProjectionMatrix()});let m=0,p=null,A="function"==typeof o;return(0,tE.useFrame)(e=>{A&&(i===1/0||m{if(a)return l(()=>({camera:d.current})),()=>l(()=>({camera:u}))},[d,a,l]),el.createElement(el.Fragment,null,el.createElement("perspectiveCamera",(0,tq.default)({ref:d},s),!A&&o),el.createElement("group",{ref:f},A&&o(h.texture)))});function lZ(){let{fov:e}=(0,tD.useSettings)();return(0,es.jsx)(lY,{makeDefault:!0,position:[0,256,0],fov:e})}var lz=e.i(51434),l$=e.i(81405);function l0(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}function l1(e){let{showPanel:t=0,className:r,parent:n}=e,i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,[n,i]=el.useState();return el.useLayoutEffect(()=>{let t=e();return i(t),l0(r,t),()=>l0(r,null)},t),n}(()=>new l$.default,[]);return el.useEffect(()=>{if(i){let e=n&&n.current||document.body;i.showPanel(t),null==e||e.appendChild(i.dom);let a=(null!=r?r:"").split(" ").filter(e=>e);a.length&&i.dom.classList.add(...a);let o=(0,ec.j)(()=>i.begin()),s=(0,ec.k)(()=>i.end());return()=>{a.length&&i.dom.classList.remove(...a),null==e||e.removeChild(i.dom),o(),s()}}},[n,i,r,t]),null}var l9=e.i(60099);function l2(){let{debugMode:e}=(0,tD.useDebug)(),t=(0,el.useRef)(null);return(0,el.useEffect)(()=>{let e=t.current;e&&e.setColors("rgb(153, 255, 0)","rgb(0, 153, 255)","rgb(255, 153, 0)")}),e?(0,es.jsxs)(es.Fragment,{children:[(0,es.jsx)(l1,{className:"StatsPanel"}),(0,es.jsx)("axesHelper",{ref:t,args:[70],renderOrder:999,children:(0,es.jsx)("lineBasicMaterial",{depthTest:!1,depthWrite:!1,fog:!1,vertexColors:!0})}),(0,es.jsx)(l9.Html,{position:[80,0,0],center:!0,children:(0,es.jsx)("span",{className:"AxisLabel","data-axis":"y",children:"Y"})}),(0,es.jsx)(l9.Html,{position:[0,80,0],center:!0,children:(0,es.jsx)("span",{className:"AxisLabel","data-axis":"z",children:"Z"})}),(0,es.jsx)(l9.Html,{position:[0,0,80],center:!0,children:(0,es.jsx)("span",{className:"AxisLabel","data-axis":"x",children:"X"})})]}):null}let l8=new nN,l3={toneMapping:ef.NoToneMapping,outputColorSpace:ef.SRGBColorSpace};function l5(){let e=(0,eu.useSearchParams)(),t=(0,eu.useRouter)(),[r,n]=(0,el.useState)(e.get("mission")||"TWL2_WoodyMyrk"),[i,a]=(0,el.useState)(0),[o,s]=(0,el.useState)(!0),l=i<1;(0,el.useEffect)(()=>{if(l)s(!0);else{let e=setTimeout(()=>s(!1),500);return()=>clearTimeout(e)}},[l]),(0,el.useEffect)(()=>(window.setMissionName=n,window.getMissionList=nR.getMissionList,window.getMissionInfo=nR.getMissionInfo,()=>{delete window.setMissionName,delete window.getMissionList,delete window.getMissionInfo}),[]),(0,el.useEffect)(()=>{let e=new URLSearchParams;e.set("mission",r),t.replace("?".concat(e.toString()),{scroll:!1})},[r,t]);let u=(0,el.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;a(t)},[]);return(0,es.jsx)(tA,{client:l8,children:(0,es.jsx)("main",{children:(0,es.jsxs)(tD.SettingsProvider,{children:[(0,es.jsxs)("div",{id:"canvasContainer",children:[o&&(0,es.jsxs)("div",{id:"loadingIndicator","data-complete":!l,children:[(0,es.jsx)("div",{className:"LoadingSpinner"}),(0,es.jsx)("div",{className:"LoadingProgress",children:(0,es.jsx)("div",{className:"LoadingProgress-bar",style:{width:"".concat(100*i,"%")}})}),(0,es.jsxs)("div",{className:"LoadingProgress-text",children:[Math.round(100*i),"%"]})]}),(0,es.jsx)(ev,{shadows:!0,frameloop:"always",gl:l3,children:(0,es.jsx)(nM,{children:(0,es.jsxs)(lz.AudioProvider,{children:[(0,es.jsx)(nL,{name:r,onLoadingChange:u},r),(0,es.jsx)(lZ,{}),(0,es.jsx)(l2,{}),(0,es.jsx)(n7,{})]})})})]}),(0,es.jsx)(lq,{missionName:r,onChangeMission:n})]})})})}function l6(){return(0,es.jsx)(el.Suspense,{children:(0,es.jsx)(l5,{})})}}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/bce28defe6a29ff5.js b/docs/_next/static/chunks/bce28defe6a29ff5.js deleted file mode 100644 index b5a0d9dc..00000000 --- a/docs/_next/static/chunks/bce28defe6a29ff5.js +++ /dev/null @@ -1 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18566,(e,t,r)=>{t.exports=e.r(76562)},38360,(e,t,r)=>{var n={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},i=Object.keys(n).join("|"),a=RegExp(i,"g"),o=RegExp(i,"");function s(e){return n[e]}var l=function(e){return e.replace(a,s)};t.exports=l,t.exports.has=function(e){return!!e.match(o)},t.exports.remove=l},29402,(e,t,r)=>{var n,i,a="__lodash_hash_undefined__",o=1/0,s="[object Arguments]",l="[object Array]",u="[object Boolean]",c="[object Date]",d="[object Error]",f="[object Function]",h="[object Map]",m="[object Number]",p="[object Object]",A="[object Promise]",g="[object RegExp]",B="[object Set]",C="[object String]",y="[object Symbol]",b="[object WeakMap]",M="[object ArrayBuffer]",E="[object DataView]",x=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,F=/^\w*$/,S=/^\./,T=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,w=/\\(\\)?/g,R=/^\[object .+?Constructor\]$/,I=/^(?:0|[1-9]\d*)$/,D={};D["[object Float32Array]"]=D["[object Float64Array]"]=D["[object Int8Array]"]=D["[object Int16Array]"]=D["[object Int32Array]"]=D["[object Uint8Array]"]=D["[object Uint8ClampedArray]"]=D["[object Uint16Array]"]=D["[object Uint32Array]"]=!0,D[s]=D[l]=D[M]=D[u]=D[E]=D[c]=D[d]=D[f]=D[h]=D[m]=D[p]=D[g]=D[B]=D[C]=D[b]=!1;var G=e.g&&e.g.Object===Object&&e.g,L="object"==typeof self&&self&&self.Object===Object&&self,P=G||L||Function("return this")(),H=r&&!r.nodeType&&r,O=H&&t&&!t.nodeType&&t,k=O&&O.exports===H&&G.process,_=function(){try{return k&&k.binding("util")}catch(e){}}(),U=_&&_.isTypedArray;function j(e,t){for(var r=-1,n=e?e.length:0,i=Array(n);++r-1},ey.prototype.set=function(e,t){var r=this.__data__,n=ex(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},eb.prototype.clear=function(){this.__data__={hash:new eC,map:new(es||ey),string:new eC}},eb.prototype.delete=function(e){return eG(this,e).delete(e)},eb.prototype.get=function(e){return eG(this,e).get(e)},eb.prototype.has=function(e){return eG(this,e).has(e)},eb.prototype.set=function(e,t){return eG(this,e).set(e,t),this},eM.prototype.add=eM.prototype.push=function(e){return this.__data__.set(e,a),this},eM.prototype.has=function(e){return this.__data__.has(e)},eE.prototype.clear=function(){this.__data__=new ey},eE.prototype.delete=function(e){return this.__data__.delete(e)},eE.prototype.get=function(e){return this.__data__.get(e)},eE.prototype.has=function(e){return this.__data__.has(e)},eE.prototype.set=function(e,t){var r=this.__data__;if(r instanceof ey){var n=r.__data__;if(!es||n.length<199)return n.push([e,t]),this;r=this.__data__=new eb(n)}return r.set(e,t),this};var eF=function(e,t){return function(r,n){if(null==r)return r;if(!eW(r))return e(r,n);for(var i=r.length,a=-1,o=Object(r);(t?a--:++as))return!1;var u=a.get(e);if(u&&a.get(t))return u==t;var c=-1,d=!0,f=1&i?new eM:void 0;for(a.set(e,t),a.set(t,e);++c-1&&e%1==0&&e-1&&e%1==0&&e<=0x1fffffffffffff}function eq(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function eY(e){return!!e&&"object"==typeof e}function eZ(e){return"symbol"==typeof e||eY(e)&&$.call(e)==y}var ez=U?J(U):function(e){return eY(e)&&eX(e.length)&&!!D[$.call(e)]};function e$(e){return eW(e)?function(e,t){var r=eQ(e)||eK(e)?function(e,t){for(var r=-1,n=Array(e);++rt||a&&o&&l&&!s&&!u||n&&o&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&e=s)return l;return l*("desc"==r[n]?-1:1)}}return e.index-t.index}(e,t,r)});l--;)s[l]=s[l].value;return s}(e,t,r))}},81405,(e,t,r)=>{e.e,t.exports=function(){var e=function(){function t(e){return i.appendChild(e.dom),e}function r(e){for(var t=0;to+1e3&&(l.update(1e3*s/(e-o),100),o=e,s=0,c)){var t=performance.memory;c.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){a=this.end()},domElement:i,setMode:r}};return e.Panel=function(e,t,r){var n=1/0,i=0,a=Math.round,o=a(window.devicePixelRatio||1),s=80*o,l=48*o,u=3*o,c=2*o,d=3*o,f=15*o,h=74*o,m=30*o,p=document.createElement("canvas");p.width=s,p.height=l,p.style.cssText="width:80px;height:48px";var A=p.getContext("2d");return A.font="bold "+9*o+"px Helvetica,Arial,sans-serif",A.textBaseline="top",A.fillStyle=r,A.fillRect(0,0,s,l),A.fillStyle=t,A.fillText(e,u,c),A.fillRect(d,f,h,m),A.fillStyle=r,A.globalAlpha=.9,A.fillRect(d,f,h,m),{dom:p,update:function(l,g){n=Math.min(n,l),i=Math.max(i,l),A.fillStyle=r,A.globalAlpha=1,A.fillRect(0,0,s,f),A.fillStyle=t,A.fillText(a(l)+" "+e+" ("+a(n)+"-"+a(i)+")",u,c),A.drawImage(p,d+o,f,h-o,m,d,f,h-o,m),A.fillRect(d+h-o,f,o,m),A.fillStyle=r,A.globalAlpha=.9,A.fillRect(d+h-o,f,o,a((1-l/g)*m))}}},e}()},31713,e=>{"use strict";let t;e.s(["default",()=>l5],31713);var r,n,i,a,o,s,l,u,c,d,f,h,m,p,A,g,B,C,y,b,M,E,x,F,S,T,w,R,I,D,G,L,P,H,O,k,_,U,j,J,N,K,Q,W,V,X,q,Y,Z,z,$,ee,et,er,en,ei,ea,eo,es=e.i(43476),el=e.i(71645),eu=e.i(18566),ec=e.i(46712);e.s(["ACESFilmicToneMapping",()=>ef.ACESFilmicToneMapping,"AddEquation",()=>ef.AddEquation,"AddOperation",()=>ef.AddOperation,"AdditiveAnimationBlendMode",()=>ef.AdditiveAnimationBlendMode,"AdditiveBlending",()=>ef.AdditiveBlending,"AgXToneMapping",()=>ef.AgXToneMapping,"AlphaFormat",()=>ef.AlphaFormat,"AlwaysCompare",()=>ef.AlwaysCompare,"AlwaysDepth",()=>ef.AlwaysDepth,"AlwaysStencilFunc",()=>ef.AlwaysStencilFunc,"AmbientLight",()=>ef.AmbientLight,"AnimationAction",()=>ef.AnimationAction,"AnimationClip",()=>ef.AnimationClip,"AnimationLoader",()=>ef.AnimationLoader,"AnimationMixer",()=>ef.AnimationMixer,"AnimationObjectGroup",()=>ef.AnimationObjectGroup,"AnimationUtils",()=>ef.AnimationUtils,"ArcCurve",()=>ef.ArcCurve,"ArrayCamera",()=>ef.ArrayCamera,"ArrowHelper",()=>ef.ArrowHelper,"AttachedBindMode",()=>ef.AttachedBindMode,"Audio",()=>ef.Audio,"AudioAnalyser",()=>ef.AudioAnalyser,"AudioContext",()=>ef.AudioContext,"AudioListener",()=>ef.AudioListener,"AudioLoader",()=>ef.AudioLoader,"AxesHelper",()=>ef.AxesHelper,"BackSide",()=>ef.BackSide,"BasicDepthPacking",()=>ef.BasicDepthPacking,"BasicShadowMap",()=>ef.BasicShadowMap,"BatchedMesh",()=>ef.BatchedMesh,"Bone",()=>ef.Bone,"BooleanKeyframeTrack",()=>ef.BooleanKeyframeTrack,"Box2",()=>ef.Box2,"Box3",()=>ef.Box3,"Box3Helper",()=>ef.Box3Helper,"BoxGeometry",()=>ef.BoxGeometry,"BoxHelper",()=>ef.BoxHelper,"BufferAttribute",()=>ef.BufferAttribute,"BufferGeometry",()=>ef.BufferGeometry,"BufferGeometryLoader",()=>ef.BufferGeometryLoader,"ByteType",()=>ef.ByteType,"Cache",()=>ef.Cache,"Camera",()=>ef.Camera,"CameraHelper",()=>ef.CameraHelper,"CanvasTexture",()=>ef.CanvasTexture,"CapsuleGeometry",()=>ef.CapsuleGeometry,"CatmullRomCurve3",()=>ef.CatmullRomCurve3,"CineonToneMapping",()=>ef.CineonToneMapping,"CircleGeometry",()=>ef.CircleGeometry,"ClampToEdgeWrapping",()=>ef.ClampToEdgeWrapping,"Clock",()=>ef.Clock,"Color",()=>ef.Color,"ColorKeyframeTrack",()=>ef.ColorKeyframeTrack,"ColorManagement",()=>ef.ColorManagement,"CompressedArrayTexture",()=>ef.CompressedArrayTexture,"CompressedCubeTexture",()=>ef.CompressedCubeTexture,"CompressedTexture",()=>ef.CompressedTexture,"CompressedTextureLoader",()=>ef.CompressedTextureLoader,"ConeGeometry",()=>ef.ConeGeometry,"ConstantAlphaFactor",()=>ef.ConstantAlphaFactor,"ConstantColorFactor",()=>ef.ConstantColorFactor,"Controls",()=>ef.Controls,"CubeCamera",()=>ef.CubeCamera,"CubeReflectionMapping",()=>ef.CubeReflectionMapping,"CubeRefractionMapping",()=>ef.CubeRefractionMapping,"CubeTexture",()=>ef.CubeTexture,"CubeTextureLoader",()=>ef.CubeTextureLoader,"CubeUVReflectionMapping",()=>ef.CubeUVReflectionMapping,"CubicBezierCurve",()=>ef.CubicBezierCurve,"CubicBezierCurve3",()=>ef.CubicBezierCurve3,"CubicInterpolant",()=>ef.CubicInterpolant,"CullFaceBack",()=>ef.CullFaceBack,"CullFaceFront",()=>ef.CullFaceFront,"CullFaceFrontBack",()=>ef.CullFaceFrontBack,"CullFaceNone",()=>ef.CullFaceNone,"Curve",()=>ef.Curve,"CurvePath",()=>ef.CurvePath,"CustomBlending",()=>ef.CustomBlending,"CustomToneMapping",()=>ef.CustomToneMapping,"CylinderGeometry",()=>ef.CylinderGeometry,"Cylindrical",()=>ef.Cylindrical,"Data3DTexture",()=>ef.Data3DTexture,"DataArrayTexture",()=>ef.DataArrayTexture,"DataTexture",()=>ef.DataTexture,"DataTextureLoader",()=>ef.DataTextureLoader,"DataUtils",()=>ef.DataUtils,"DecrementStencilOp",()=>ef.DecrementStencilOp,"DecrementWrapStencilOp",()=>ef.DecrementWrapStencilOp,"DefaultLoadingManager",()=>ef.DefaultLoadingManager,"DepthFormat",()=>ef.DepthFormat,"DepthStencilFormat",()=>ef.DepthStencilFormat,"DepthTexture",()=>ef.DepthTexture,"DetachedBindMode",()=>ef.DetachedBindMode,"DirectionalLight",()=>ef.DirectionalLight,"DirectionalLightHelper",()=>ef.DirectionalLightHelper,"DiscreteInterpolant",()=>ef.DiscreteInterpolant,"DodecahedronGeometry",()=>ef.DodecahedronGeometry,"DoubleSide",()=>ef.DoubleSide,"DstAlphaFactor",()=>ef.DstAlphaFactor,"DstColorFactor",()=>ef.DstColorFactor,"DynamicCopyUsage",()=>ef.DynamicCopyUsage,"DynamicDrawUsage",()=>ef.DynamicDrawUsage,"DynamicReadUsage",()=>ef.DynamicReadUsage,"EdgesGeometry",()=>ef.EdgesGeometry,"EllipseCurve",()=>ef.EllipseCurve,"EqualCompare",()=>ef.EqualCompare,"EqualDepth",()=>ef.EqualDepth,"EqualStencilFunc",()=>ef.EqualStencilFunc,"EquirectangularReflectionMapping",()=>ef.EquirectangularReflectionMapping,"EquirectangularRefractionMapping",()=>ef.EquirectangularRefractionMapping,"Euler",()=>ef.Euler,"EventDispatcher",()=>ef.EventDispatcher,"ExternalTexture",()=>ef.ExternalTexture,"ExtrudeGeometry",()=>ef.ExtrudeGeometry,"FileLoader",()=>ef.FileLoader,"Float16BufferAttribute",()=>ef.Float16BufferAttribute,"Float32BufferAttribute",()=>ef.Float32BufferAttribute,"FloatType",()=>ef.FloatType,"Fog",()=>ef.Fog,"FogExp2",()=>ef.FogExp2,"FramebufferTexture",()=>ef.FramebufferTexture,"FrontSide",()=>ef.FrontSide,"Frustum",()=>ef.Frustum,"FrustumArray",()=>ef.FrustumArray,"GLBufferAttribute",()=>ef.GLBufferAttribute,"GLSL1",()=>ef.GLSL1,"GLSL3",()=>ef.GLSL3,"GreaterCompare",()=>ef.GreaterCompare,"GreaterDepth",()=>ef.GreaterDepth,"GreaterEqualCompare",()=>ef.GreaterEqualCompare,"GreaterEqualDepth",()=>ef.GreaterEqualDepth,"GreaterEqualStencilFunc",()=>ef.GreaterEqualStencilFunc,"GreaterStencilFunc",()=>ef.GreaterStencilFunc,"GridHelper",()=>ef.GridHelper,"Group",()=>ef.Group,"HalfFloatType",()=>ef.HalfFloatType,"HemisphereLight",()=>ef.HemisphereLight,"HemisphereLightHelper",()=>ef.HemisphereLightHelper,"IcosahedronGeometry",()=>ef.IcosahedronGeometry,"ImageBitmapLoader",()=>ef.ImageBitmapLoader,"ImageLoader",()=>ef.ImageLoader,"ImageUtils",()=>ef.ImageUtils,"IncrementStencilOp",()=>ef.IncrementStencilOp,"IncrementWrapStencilOp",()=>ef.IncrementWrapStencilOp,"InstancedBufferAttribute",()=>ef.InstancedBufferAttribute,"InstancedBufferGeometry",()=>ef.InstancedBufferGeometry,"InstancedInterleavedBuffer",()=>ef.InstancedInterleavedBuffer,"InstancedMesh",()=>ef.InstancedMesh,"Int16BufferAttribute",()=>ef.Int16BufferAttribute,"Int32BufferAttribute",()=>ef.Int32BufferAttribute,"Int8BufferAttribute",()=>ef.Int8BufferAttribute,"IntType",()=>ef.IntType,"InterleavedBuffer",()=>ef.InterleavedBuffer,"InterleavedBufferAttribute",()=>ef.InterleavedBufferAttribute,"Interpolant",()=>ef.Interpolant,"InterpolateDiscrete",()=>ef.InterpolateDiscrete,"InterpolateLinear",()=>ef.InterpolateLinear,"InterpolateSmooth",()=>ef.InterpolateSmooth,"InterpolationSamplingMode",()=>ef.InterpolationSamplingMode,"InterpolationSamplingType",()=>ef.InterpolationSamplingType,"InvertStencilOp",()=>ef.InvertStencilOp,"KeepStencilOp",()=>ef.KeepStencilOp,"KeyframeTrack",()=>ef.KeyframeTrack,"LOD",()=>ef.LOD,"LatheGeometry",()=>ef.LatheGeometry,"Layers",()=>ef.Layers,"LessCompare",()=>ef.LessCompare,"LessDepth",()=>ef.LessDepth,"LessEqualCompare",()=>ef.LessEqualCompare,"LessEqualDepth",()=>ef.LessEqualDepth,"LessEqualStencilFunc",()=>ef.LessEqualStencilFunc,"LessStencilFunc",()=>ef.LessStencilFunc,"Light",()=>ef.Light,"LightProbe",()=>ef.LightProbe,"Line",()=>ef.Line,"Line3",()=>ef.Line3,"LineBasicMaterial",()=>ef.LineBasicMaterial,"LineCurve",()=>ef.LineCurve,"LineCurve3",()=>ef.LineCurve3,"LineDashedMaterial",()=>ef.LineDashedMaterial,"LineLoop",()=>ef.LineLoop,"LineSegments",()=>ef.LineSegments,"LinearFilter",()=>ef.LinearFilter,"LinearInterpolant",()=>ef.LinearInterpolant,"LinearMipMapLinearFilter",()=>ef.LinearMipMapLinearFilter,"LinearMipMapNearestFilter",()=>ef.LinearMipMapNearestFilter,"LinearMipmapLinearFilter",()=>ef.LinearMipmapLinearFilter,"LinearMipmapNearestFilter",()=>ef.LinearMipmapNearestFilter,"LinearSRGBColorSpace",()=>ef.LinearSRGBColorSpace,"LinearToneMapping",()=>ef.LinearToneMapping,"LinearTransfer",()=>ef.LinearTransfer,"Loader",()=>ef.Loader,"LoaderUtils",()=>ef.LoaderUtils,"LoadingManager",()=>ef.LoadingManager,"LoopOnce",()=>ef.LoopOnce,"LoopPingPong",()=>ef.LoopPingPong,"LoopRepeat",()=>ef.LoopRepeat,"MOUSE",()=>ef.MOUSE,"Material",()=>ef.Material,"MaterialLoader",()=>ef.MaterialLoader,"MathUtils",()=>ef.MathUtils,"Matrix2",()=>ef.Matrix2,"Matrix3",()=>ef.Matrix3,"Matrix4",()=>ef.Matrix4,"MaxEquation",()=>ef.MaxEquation,"Mesh",()=>ef.Mesh,"MeshBasicMaterial",()=>ef.MeshBasicMaterial,"MeshDepthMaterial",()=>ef.MeshDepthMaterial,"MeshDistanceMaterial",()=>ef.MeshDistanceMaterial,"MeshLambertMaterial",()=>ef.MeshLambertMaterial,"MeshMatcapMaterial",()=>ef.MeshMatcapMaterial,"MeshNormalMaterial",()=>ef.MeshNormalMaterial,"MeshPhongMaterial",()=>ef.MeshPhongMaterial,"MeshPhysicalMaterial",()=>ef.MeshPhysicalMaterial,"MeshStandardMaterial",()=>ef.MeshStandardMaterial,"MeshToonMaterial",()=>ef.MeshToonMaterial,"MinEquation",()=>ef.MinEquation,"MirroredRepeatWrapping",()=>ef.MirroredRepeatWrapping,"MixOperation",()=>ef.MixOperation,"MultiplyBlending",()=>ef.MultiplyBlending,"MultiplyOperation",()=>ef.MultiplyOperation,"NearestFilter",()=>ef.NearestFilter,"NearestMipMapLinearFilter",()=>ef.NearestMipMapLinearFilter,"NearestMipMapNearestFilter",()=>ef.NearestMipMapNearestFilter,"NearestMipmapLinearFilter",()=>ef.NearestMipmapLinearFilter,"NearestMipmapNearestFilter",()=>ef.NearestMipmapNearestFilter,"NeutralToneMapping",()=>ef.NeutralToneMapping,"NeverCompare",()=>ef.NeverCompare,"NeverDepth",()=>ef.NeverDepth,"NeverStencilFunc",()=>ef.NeverStencilFunc,"NoBlending",()=>ef.NoBlending,"NoColorSpace",()=>ef.NoColorSpace,"NoToneMapping",()=>ef.NoToneMapping,"NormalAnimationBlendMode",()=>ef.NormalAnimationBlendMode,"NormalBlending",()=>ef.NormalBlending,"NotEqualCompare",()=>ef.NotEqualCompare,"NotEqualDepth",()=>ef.NotEqualDepth,"NotEqualStencilFunc",()=>ef.NotEqualStencilFunc,"NumberKeyframeTrack",()=>ef.NumberKeyframeTrack,"Object3D",()=>ef.Object3D,"ObjectLoader",()=>ef.ObjectLoader,"ObjectSpaceNormalMap",()=>ef.ObjectSpaceNormalMap,"OctahedronGeometry",()=>ef.OctahedronGeometry,"OneFactor",()=>ef.OneFactor,"OneMinusConstantAlphaFactor",()=>ef.OneMinusConstantAlphaFactor,"OneMinusConstantColorFactor",()=>ef.OneMinusConstantColorFactor,"OneMinusDstAlphaFactor",()=>ef.OneMinusDstAlphaFactor,"OneMinusDstColorFactor",()=>ef.OneMinusDstColorFactor,"OneMinusSrcAlphaFactor",()=>ef.OneMinusSrcAlphaFactor,"OneMinusSrcColorFactor",()=>ef.OneMinusSrcColorFactor,"OrthographicCamera",()=>ef.OrthographicCamera,"PCFShadowMap",()=>ef.PCFShadowMap,"PCFSoftShadowMap",()=>ef.PCFSoftShadowMap,"PMREMGenerator",()=>ed.PMREMGenerator,"Path",()=>ef.Path,"PerspectiveCamera",()=>ef.PerspectiveCamera,"Plane",()=>ef.Plane,"PlaneGeometry",()=>ef.PlaneGeometry,"PlaneHelper",()=>ef.PlaneHelper,"PointLight",()=>ef.PointLight,"PointLightHelper",()=>ef.PointLightHelper,"Points",()=>ef.Points,"PointsMaterial",()=>ef.PointsMaterial,"PolarGridHelper",()=>ef.PolarGridHelper,"PolyhedronGeometry",()=>ef.PolyhedronGeometry,"PositionalAudio",()=>ef.PositionalAudio,"PropertyBinding",()=>ef.PropertyBinding,"PropertyMixer",()=>ef.PropertyMixer,"QuadraticBezierCurve",()=>ef.QuadraticBezierCurve,"QuadraticBezierCurve3",()=>ef.QuadraticBezierCurve3,"Quaternion",()=>ef.Quaternion,"QuaternionKeyframeTrack",()=>ef.QuaternionKeyframeTrack,"QuaternionLinearInterpolant",()=>ef.QuaternionLinearInterpolant,"RED_GREEN_RGTC2_Format",()=>ef.RED_GREEN_RGTC2_Format,"RED_RGTC1_Format",()=>ef.RED_RGTC1_Format,"REVISION",()=>ef.REVISION,"RGBADepthPacking",()=>ef.RGBADepthPacking,"RGBAFormat",()=>ef.RGBAFormat,"RGBAIntegerFormat",()=>ef.RGBAIntegerFormat,"RGBA_ASTC_10x10_Format",()=>ef.RGBA_ASTC_10x10_Format,"RGBA_ASTC_10x5_Format",()=>ef.RGBA_ASTC_10x5_Format,"RGBA_ASTC_10x6_Format",()=>ef.RGBA_ASTC_10x6_Format,"RGBA_ASTC_10x8_Format",()=>ef.RGBA_ASTC_10x8_Format,"RGBA_ASTC_12x10_Format",()=>ef.RGBA_ASTC_12x10_Format,"RGBA_ASTC_12x12_Format",()=>ef.RGBA_ASTC_12x12_Format,"RGBA_ASTC_4x4_Format",()=>ef.RGBA_ASTC_4x4_Format,"RGBA_ASTC_5x4_Format",()=>ef.RGBA_ASTC_5x4_Format,"RGBA_ASTC_5x5_Format",()=>ef.RGBA_ASTC_5x5_Format,"RGBA_ASTC_6x5_Format",()=>ef.RGBA_ASTC_6x5_Format,"RGBA_ASTC_6x6_Format",()=>ef.RGBA_ASTC_6x6_Format,"RGBA_ASTC_8x5_Format",()=>ef.RGBA_ASTC_8x5_Format,"RGBA_ASTC_8x6_Format",()=>ef.RGBA_ASTC_8x6_Format,"RGBA_ASTC_8x8_Format",()=>ef.RGBA_ASTC_8x8_Format,"RGBA_BPTC_Format",()=>ef.RGBA_BPTC_Format,"RGBA_ETC2_EAC_Format",()=>ef.RGBA_ETC2_EAC_Format,"RGBA_PVRTC_2BPPV1_Format",()=>ef.RGBA_PVRTC_2BPPV1_Format,"RGBA_PVRTC_4BPPV1_Format",()=>ef.RGBA_PVRTC_4BPPV1_Format,"RGBA_S3TC_DXT1_Format",()=>ef.RGBA_S3TC_DXT1_Format,"RGBA_S3TC_DXT3_Format",()=>ef.RGBA_S3TC_DXT3_Format,"RGBA_S3TC_DXT5_Format",()=>ef.RGBA_S3TC_DXT5_Format,"RGBDepthPacking",()=>ef.RGBDepthPacking,"RGBFormat",()=>ef.RGBFormat,"RGBIntegerFormat",()=>ef.RGBIntegerFormat,"RGB_BPTC_SIGNED_Format",()=>ef.RGB_BPTC_SIGNED_Format,"RGB_BPTC_UNSIGNED_Format",()=>ef.RGB_BPTC_UNSIGNED_Format,"RGB_ETC1_Format",()=>ef.RGB_ETC1_Format,"RGB_ETC2_Format",()=>ef.RGB_ETC2_Format,"RGB_PVRTC_2BPPV1_Format",()=>ef.RGB_PVRTC_2BPPV1_Format,"RGB_PVRTC_4BPPV1_Format",()=>ef.RGB_PVRTC_4BPPV1_Format,"RGB_S3TC_DXT1_Format",()=>ef.RGB_S3TC_DXT1_Format,"RGDepthPacking",()=>ef.RGDepthPacking,"RGFormat",()=>ef.RGFormat,"RGIntegerFormat",()=>ef.RGIntegerFormat,"RawShaderMaterial",()=>ef.RawShaderMaterial,"Ray",()=>ef.Ray,"Raycaster",()=>ef.Raycaster,"RectAreaLight",()=>ef.RectAreaLight,"RedFormat",()=>ef.RedFormat,"RedIntegerFormat",()=>ef.RedIntegerFormat,"ReinhardToneMapping",()=>ef.ReinhardToneMapping,"RenderTarget",()=>ef.RenderTarget,"RenderTarget3D",()=>ef.RenderTarget3D,"RepeatWrapping",()=>ef.RepeatWrapping,"ReplaceStencilOp",()=>ef.ReplaceStencilOp,"ReverseSubtractEquation",()=>ef.ReverseSubtractEquation,"RingGeometry",()=>ef.RingGeometry,"SIGNED_RED_GREEN_RGTC2_Format",()=>ef.SIGNED_RED_GREEN_RGTC2_Format,"SIGNED_RED_RGTC1_Format",()=>ef.SIGNED_RED_RGTC1_Format,"SRGBColorSpace",()=>ef.SRGBColorSpace,"SRGBTransfer",()=>ef.SRGBTransfer,"Scene",()=>ef.Scene,"ShaderChunk",()=>ed.ShaderChunk,"ShaderLib",()=>ed.ShaderLib,"ShaderMaterial",()=>ef.ShaderMaterial,"ShadowMaterial",()=>ef.ShadowMaterial,"Shape",()=>ef.Shape,"ShapeGeometry",()=>ef.ShapeGeometry,"ShapePath",()=>ef.ShapePath,"ShapeUtils",()=>ef.ShapeUtils,"ShortType",()=>ef.ShortType,"Skeleton",()=>ef.Skeleton,"SkeletonHelper",()=>ef.SkeletonHelper,"SkinnedMesh",()=>ef.SkinnedMesh,"Source",()=>ef.Source,"Sphere",()=>ef.Sphere,"SphereGeometry",()=>ef.SphereGeometry,"Spherical",()=>ef.Spherical,"SphericalHarmonics3",()=>ef.SphericalHarmonics3,"SplineCurve",()=>ef.SplineCurve,"SpotLight",()=>ef.SpotLight,"SpotLightHelper",()=>ef.SpotLightHelper,"Sprite",()=>ef.Sprite,"SpriteMaterial",()=>ef.SpriteMaterial,"SrcAlphaFactor",()=>ef.SrcAlphaFactor,"SrcAlphaSaturateFactor",()=>ef.SrcAlphaSaturateFactor,"SrcColorFactor",()=>ef.SrcColorFactor,"StaticCopyUsage",()=>ef.StaticCopyUsage,"StaticDrawUsage",()=>ef.StaticDrawUsage,"StaticReadUsage",()=>ef.StaticReadUsage,"StereoCamera",()=>ef.StereoCamera,"StreamCopyUsage",()=>ef.StreamCopyUsage,"StreamDrawUsage",()=>ef.StreamDrawUsage,"StreamReadUsage",()=>ef.StreamReadUsage,"StringKeyframeTrack",()=>ef.StringKeyframeTrack,"SubtractEquation",()=>ef.SubtractEquation,"SubtractiveBlending",()=>ef.SubtractiveBlending,"TOUCH",()=>ef.TOUCH,"TangentSpaceNormalMap",()=>ef.TangentSpaceNormalMap,"TetrahedronGeometry",()=>ef.TetrahedronGeometry,"Texture",()=>ef.Texture,"TextureLoader",()=>ef.TextureLoader,"TextureUtils",()=>ef.TextureUtils,"Timer",()=>ef.Timer,"TimestampQuery",()=>ef.TimestampQuery,"TorusGeometry",()=>ef.TorusGeometry,"TorusKnotGeometry",()=>ef.TorusKnotGeometry,"Triangle",()=>ef.Triangle,"TriangleFanDrawMode",()=>ef.TriangleFanDrawMode,"TriangleStripDrawMode",()=>ef.TriangleStripDrawMode,"TrianglesDrawMode",()=>ef.TrianglesDrawMode,"TubeGeometry",()=>ef.TubeGeometry,"UVMapping",()=>ef.UVMapping,"Uint16BufferAttribute",()=>ef.Uint16BufferAttribute,"Uint32BufferAttribute",()=>ef.Uint32BufferAttribute,"Uint8BufferAttribute",()=>ef.Uint8BufferAttribute,"Uint8ClampedBufferAttribute",()=>ef.Uint8ClampedBufferAttribute,"Uniform",()=>ef.Uniform,"UniformsGroup",()=>ef.UniformsGroup,"UniformsLib",()=>ed.UniformsLib,"UniformsUtils",()=>ef.UniformsUtils,"UnsignedByteType",()=>ef.UnsignedByteType,"UnsignedInt101111Type",()=>ef.UnsignedInt101111Type,"UnsignedInt248Type",()=>ef.UnsignedInt248Type,"UnsignedInt5999Type",()=>ef.UnsignedInt5999Type,"UnsignedIntType",()=>ef.UnsignedIntType,"UnsignedShort4444Type",()=>ef.UnsignedShort4444Type,"UnsignedShort5551Type",()=>ef.UnsignedShort5551Type,"UnsignedShortType",()=>ef.UnsignedShortType,"VSMShadowMap",()=>ef.VSMShadowMap,"Vector2",()=>ef.Vector2,"Vector3",()=>ef.Vector3,"Vector4",()=>ef.Vector4,"VectorKeyframeTrack",()=>ef.VectorKeyframeTrack,"VideoFrameTexture",()=>ef.VideoFrameTexture,"VideoTexture",()=>ef.VideoTexture,"WebGL3DRenderTarget",()=>ef.WebGL3DRenderTarget,"WebGLArrayRenderTarget",()=>ef.WebGLArrayRenderTarget,"WebGLCoordinateSystem",()=>ef.WebGLCoordinateSystem,"WebGLCubeRenderTarget",()=>ef.WebGLCubeRenderTarget,"WebGLRenderTarget",()=>ef.WebGLRenderTarget,"WebGLRenderer",()=>ed.WebGLRenderer,"WebGLUtils",()=>ed.WebGLUtils,"WebGPUCoordinateSystem",()=>ef.WebGPUCoordinateSystem,"WebXRController",()=>ef.WebXRController,"WireframeGeometry",()=>ef.WireframeGeometry,"WrapAroundEnding",()=>ef.WrapAroundEnding,"ZeroCurvatureEnding",()=>ef.ZeroCurvatureEnding,"ZeroFactor",()=>ef.ZeroFactor,"ZeroSlopeEnding",()=>ef.ZeroSlopeEnding,"ZeroStencilOp",()=>ef.ZeroStencilOp,"createCanvasElement",()=>ef.createCanvasElement],32009);var ed=e.i(8560),ef=e.i(90072),eh=e.i(32009);function em(e,t){let r;return function(){for(var n=arguments.length,i=Array(n),a=0;ae(...i),t)}}let ep=["x","y","top","bottom","left","right","width","height"];var eA=e.i(46791);function eg(e){let{ref:t,children:r,fallback:n,resize:i,style:a,gl:o,events:s=ec.f,eventSource:l,eventPrefix:u,shadows:c,linear:d,flat:f,legacy:h,orthographic:m,frameloop:p,dpr:A,performance:g,raycaster:B,camera:C,scene:y,onPointerMissed:b,onCreated:M,...E}=e;el.useMemo(()=>(0,ec.e)(eh),[]);let x=(0,ec.u)(),[F,S]=function(){var e,t,r;let{debounce:n,scroll:i,polyfill:a,offsetSize:o}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{debounce:0,scroll:!1,offsetSize:!1},s=a||("undefined"==typeof window?class{}:window.ResizeObserver);if(!s)throw Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");let[l,u]=(0,el.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),c=(0,el.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:l,orientationHandler:null}),d=n?"number"==typeof n?n:n.scroll:null,f=n?"number"==typeof n?n:n.resize:null,h=(0,el.useRef)(!1);(0,el.useEffect)(()=>(h.current=!0,()=>void(h.current=!1)));let[m,p,A]=(0,el.useMemo)(()=>{let e=()=>{let e,t;if(!c.current.element)return;let{left:r,top:n,width:i,height:a,bottom:s,right:l,x:d,y:f}=c.current.element.getBoundingClientRect(),m={left:r,top:n,width:i,height:a,bottom:s,right:l,x:d,y:f};c.current.element instanceof HTMLElement&&o&&(m.height=c.current.element.offsetHeight,m.width=c.current.element.offsetWidth),Object.freeze(m),h.current&&(e=c.current.lastBounds,t=m,!ep.every(r=>e[r]===t[r]))&&u(c.current.lastBounds=m)};return[e,f?em(e,f):e,d?em(e,d):e]},[u,o,d,f]);function g(){c.current.scrollContainers&&(c.current.scrollContainers.forEach(e=>e.removeEventListener("scroll",A,!0)),c.current.scrollContainers=null),c.current.resizeObserver&&(c.current.resizeObserver.disconnect(),c.current.resizeObserver=null),c.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",c.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",c.current.orientationHandler))}function B(){c.current.element&&(c.current.resizeObserver=new s(A),c.current.resizeObserver.observe(c.current.element),i&&c.current.scrollContainers&&c.current.scrollContainers.forEach(e=>e.addEventListener("scroll",A,{capture:!0,passive:!0})),c.current.orientationHandler=()=>{A()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",c.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",c.current.orientationHandler))}return e=A,t=!!i,(0,el.useEffect)(()=>{if(t)return window.addEventListener("scroll",e,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",e,!0)},[e,t]),r=p,(0,el.useEffect)(()=>(window.addEventListener("resize",r),()=>void window.removeEventListener("resize",r)),[r]),(0,el.useEffect)(()=>{g(),B()},[i,A,p]),(0,el.useEffect)(()=>g,[]),[e=>{e&&e!==c.current.element&&(g(),c.current.element=e,c.current.scrollContainers=function e(t){let r=[];if(!t||t===document.body)return r;let{overflow:n,overflowX:i,overflowY:a}=window.getComputedStyle(t);return[n,i,a].some(e=>"auto"===e||"scroll"===e)&&r.push(t),[...r,...e(t.parentElement)]}(e),B())},l,m]}({scroll:!0,debounce:{scroll:50,resize:0},...i}),T=el.useRef(null),w=el.useRef(null);el.useImperativeHandle(t,()=>T.current);let R=(0,ec.a)(b),[I,D]=el.useState(!1),[G,L]=el.useState(!1);if(I)throw I;if(G)throw G;let P=el.useRef(null);(0,ec.b)(()=>{let e=T.current;S.width>0&&S.height>0&&e&&(P.current||(P.current=(0,ec.c)(e)),async function(){await P.current.configure({gl:o,scene:y,events:s,shadows:c,linear:d,flat:f,legacy:h,orthographic:m,frameloop:p,dpr:A,performance:g,raycaster:B,camera:C,size:S,onPointerMissed:function(){for(var e=arguments.length,t=Array(e),r=0;r{null==e.events.connect||e.events.connect(l?(0,ec.i)(l)?l.current:l:w.current),u&&e.setEvents({compute:(e,t)=>{let r=e[u+"X"],n=e[u+"Y"];t.pointer.set(r/t.size.width*2-1,-(2*(n/t.size.height))+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),null==M||M(e)}}),P.current.render((0,es.jsx)(x,{children:(0,es.jsx)(ec.E,{set:L,children:(0,es.jsx)(el.Suspense,{fallback:(0,es.jsx)(ec.B,{set:D}),children:null!=r?r:null})})}))}())}),el.useEffect(()=>{let e=T.current;if(e)return()=>(0,ec.d)(e)},[]);let H=l?"none":"auto";return(0,es.jsx)("div",{ref:w,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:H,...a},...E,children:(0,es.jsx)("div",{ref:F,style:{width:"100%",height:"100%"},children:(0,es.jsx)("canvas",{ref:T,style:{display:"block"},children:n})})})}function ev(e){return(0,es.jsx)(eA.FiberProvider,{children:(0,es.jsx)(eg,{...e})})}function eB(e,t,r){if(!t.has(e))throw TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}function eC(e,t){var r=eB(e,t,"get");return r.get?r.get.call(e):r.value}function ey(e,t){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object")}function eb(e,t,r){ey(e,t),t.set(e,r)}function eM(e,t,r){var n=eB(e,t,"set");if(n.set)n.set.call(e,r);else{if(!n.writable)throw TypeError("attempted to set read only private field");n.value=r}return r}function eE(e,t,r){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return r}function ex(e,t){ey(e,t),t.add(e)}e.i(39695),e.i(98133),e.i(95087);var eF=class{subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}};e.i(47167);var eS={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},eT=new(r=new WeakMap,n=new WeakMap,class{setTimeoutProvider(e){eM(this,r,e)}setTimeout(e,t){return eC(this,r).setTimeout(e,t)}clearTimeout(e){eC(this,r).clearTimeout(e)}setInterval(e,t){return eC(this,r).setInterval(e,t)}clearInterval(e){eC(this,r).clearInterval(e)}constructor(){eb(this,r,{writable:!0,value:eS}),eb(this,n,{writable:!0,value:!1})}}),ew="undefined"==typeof window||"Deno"in globalThis;function eR(){}function eI(e){return"number"==typeof e&&e>=0&&e!==1/0}function eD(e,t){return Math.max(e+(t||0)-Date.now(),0)}function eG(e,t){return"function"==typeof e?e(t):e}function eL(e,t){return"function"==typeof e?e(t):e}function eP(e,t){let{type:r="all",exact:n,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(n){if(t.queryHash!==eO(o,t.options))return!1}else if(!e_(t.queryKey,o))return!1}if("all"!==r){let e=t.isActive();if("active"===r&&!e||"inactive"===r&&e)return!1}return("boolean"!=typeof s||t.isStale()===s)&&(!i||i===t.state.fetchStatus)&&(!a||!!a(t))}function eH(e,t){let{exact:r,status:n,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(r){if(ek(t.options.mutationKey)!==ek(a))return!1}else if(!e_(t.options.mutationKey,a))return!1}return(!n||t.state.status===n)&&(!i||!!i(t))}function eO(e,t){return((null==t?void 0:t.queryKeyHashFn)||ek)(e)}function ek(e){return JSON.stringify(e,(e,t)=>eN(t)?Object.keys(t).sort().reduce((e,r)=>(e[r]=t[r],e),{}):t)}function e_(e,t){return e===t||typeof e==typeof t&&!!e&&!!t&&"object"==typeof e&&"object"==typeof t&&Object.keys(t).every(r=>e_(e[r],t[r]))}var eU=Object.prototype.hasOwnProperty;function ej(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(e[r]!==t[r])return!1;return!0}function eJ(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function eN(e){if(!eK(e))return!1;let t=e.constructor;if(void 0===t)return!0;let r=t.prototype;return!!eK(r)&&!!r.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(e)===Object.prototype}function eK(e){return"[object Object]"===Object.prototype.toString.call(e)}function eQ(e,t,r){return"function"==typeof r.structuralSharing?r.structuralSharing(e,t):!1!==r.structuralSharing?function e(t,r){if(t===r)return t;let n=eJ(t)&&eJ(r);if(!n&&!(eN(t)&&eN(r)))return r;let i=(n?t:Object.keys(t)).length,a=n?r:Object.keys(r),o=a.length,s=n?Array(o):{},l=0;for(let u=0;u2&&void 0!==arguments[2]?arguments[2]:0,n=[...e,t];return r&&n.length>r?n.slice(1):n}function eV(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var eX=Symbol();function eq(e,t){return!e.queryFn&&(null==t?void 0:t.initialPromise)?()=>t.initialPromise:e.queryFn&&e.queryFn!==eX?e.queryFn:()=>Promise.reject(Error("Missing queryFn: '".concat(e.queryHash,"'")))}var eY=new(i=new WeakMap,a=new WeakMap,o=new WeakMap,class extends eF{onSubscribe(){eC(this,a)||this.setEventListener(eC(this,o))}onUnsubscribe(){var e;this.hasListeners()||(null==(e=eC(this,a))||e.call(this),eM(this,a,void 0))}setEventListener(e){var t;eM(this,o,e),null==(t=eC(this,a))||t.call(this),eM(this,a,e(e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()}))}setFocused(e){eC(this,i)!==e&&(eM(this,i,e),this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){var e;return"boolean"==typeof eC(this,i)?eC(this,i):(null==(e=globalThis.document)?void 0:e.visibilityState)!=="hidden"}constructor(){super(),eb(this,i,{writable:!0,value:void 0}),eb(this,a,{writable:!0,value:void 0}),eb(this,o,{writable:!0,value:void 0}),eM(this,o,e=>{if(!ew&&window.addEventListener){let t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}})}}),eZ=function(e){setTimeout(e,0)},ez=function(){let e=[],t=0,r=e=>{e()},n=e=>{e()},i=eZ,a=n=>{t?e.push(n):i(()=>{r(n)})};return{batch:a=>{let o;t++;try{o=a()}finally{--t||(()=>{let t=e;e=[],t.length&&i(()=>{n(()=>{t.forEach(e=>{r(e)})})})})()}return o},batchCalls:e=>function(){for(var t=arguments.length,r=Array(t),n=0;n{e(...r)})},schedule:a,setNotifyFunction:e=>{r=e},setBatchNotifyFunction:e=>{n=e},setScheduler:e=>{i=e}}}(),e$=new(s=new WeakMap,l=new WeakMap,u=new WeakMap,class extends eF{onSubscribe(){eC(this,l)||this.setEventListener(eC(this,u))}onUnsubscribe(){var e;this.hasListeners()||(null==(e=eC(this,l))||e.call(this),eM(this,l,void 0))}setEventListener(e){var t;eM(this,u,e),null==(t=eC(this,l))||t.call(this),eM(this,l,e(this.setOnline.bind(this)))}setOnline(e){eC(this,s)!==e&&(eM(this,s,e),this.listeners.forEach(t=>{t(e)}))}isOnline(){return eC(this,s)}constructor(){super(),eb(this,s,{writable:!0,value:!0}),eb(this,l,{writable:!0,value:void 0}),eb(this,u,{writable:!0,value:void 0}),eM(this,u,e=>{if(!ew&&window.addEventListener){let t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}})}});function e0(){let e,t,r=new Promise((r,n)=>{e=r,t=n});function n(e){Object.assign(r,e),delete r.resolve,delete r.reject}return r.status="pending",r.catch(()=>{}),r.resolve=t=>{n({status:"fulfilled",value:t}),e(t)},r.reject=e=>{n({status:"rejected",reason:e}),t(e)},r}function e1(e){return Math.min(1e3*2**e,3e4)}function e9(e){return(null!=e?e:"online")!=="online"||e$.isOnline()}var e2=class extends Error{constructor(e){super("CancelledError"),this.revert=null==e?void 0:e.revert,this.silent=null==e?void 0:e.silent}};function e8(e){let t,r=!1,n=0,i=e0(),a=()=>eY.isFocused()&&("always"===e.networkMode||e$.isOnline())&&e.canRun(),o=()=>e9(e.networkMode)&&e.canRun(),s=e=>{"pending"===i.status&&(null==t||t(),i.resolve(e))},l=e=>{"pending"===i.status&&(null==t||t(),i.reject(e))},u=()=>new Promise(r=>{var n;t=e=>{("pending"!==i.status||a())&&r(e)},null==(n=e.onPause)||n.call(e)}).then(()=>{if(t=void 0,"pending"===i.status){var r;null==(r=e.onContinue)||r.call(e)}}),c=()=>{let t;if("pending"!==i.status)return;let o=0===n?e.initialPromise:void 0;try{t=null!=o?o:e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(s).catch(t=>{var o,s,d;if("pending"!==i.status)return;let f=null!=(s=e.retry)?s:3*!ew,h=null!=(d=e.retryDelay)?d:e1,m="function"==typeof h?h(n,t):h,p=!0===f||"number"==typeof f&&n{eT.setTimeout(e,m)}).then(()=>a()?void 0:u()).then(()=>{r?l(t):c()})})};return{promise:i,status:()=>i.status,cancel:t=>{if("pending"===i.status){var r;let n=new e2(t);l(n),null==(r=e.onCancel)||r.call(e,n)}},continue:()=>(null==t||t(),i),cancelRetry:()=>{r=!0},continueRetry:()=>{r=!1},canStart:o,start:()=>(o()?c():u().then(c),i)}}var e3=(c=new WeakMap,class{destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),eI(this.gcTime)&&eM(this,c,eT.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,null!=e?e:ew?1/0:3e5)}clearGcTimeout(){eC(this,c)&&(eT.clearTimeout(eC(this,c)),eM(this,c,void 0))}constructor(){eb(this,c,{writable:!0,value:void 0})}}),e5=(d=new WeakMap,f=new WeakMap,h=new WeakMap,m=new WeakMap,p=new WeakMap,A=new WeakMap,g=new WeakMap,B=new WeakSet,class extends e3{get meta(){return this.options.meta}get promise(){var e;return null==(e=eC(this,p))?void 0:e.promise}setOptions(e){if(this.options={...eC(this,A),...e},this.updateGcTime(this.options.gcTime),this.state&&void 0===this.state.data){let e=e7(this.options);void 0!==e.data&&(this.setState(e4(e.data,e.dataUpdatedAt)),eM(this,d,e))}}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||eC(this,h).remove(this)}setData(e,t){let r=eQ(this.state.data,e,this.options);return eE(this,B,te).call(this,{data:r,type:"success",dataUpdatedAt:null==t?void 0:t.updatedAt,manual:null==t?void 0:t.manual}),r}setState(e,t){eE(this,B,te).call(this,{type:"setState",state:e,setStateOptions:t})}cancel(e){var t,r;let n=null==(t=eC(this,p))?void 0:t.promise;return null==(r=eC(this,p))||r.cancel(e),n?n.then(eR).catch(eR):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(eC(this,d))}isActive(){return this.observers.some(e=>!1!==eL(e.options.enabled,this))}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===eX||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>"static"===eG(e.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return void 0===this.state.data||"static"!==e&&(!!this.state.isInvalidated||!eD(this.state.dataUpdatedAt,e))}onFocus(){var e;let t=this.observers.find(e=>e.shouldFetchOnWindowFocus());null==t||t.refetch({cancelRefetch:!1}),null==(e=eC(this,p))||e.continue()}onOnline(){var e;let t=this.observers.find(e=>e.shouldFetchOnReconnect());null==t||t.refetch({cancelRefetch:!1}),null==(e=eC(this,p))||e.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),eC(this,h).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(eC(this,p)&&(eC(this,g)?eC(this,p).cancel({revert:!0}):eC(this,p).cancelRetry()),this.scheduleGc()),eC(this,h).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||eE(this,B,te).call(this,{type:"invalidate"})}async fetch(e,t){var r,n,i,a,o,s,l,u,c,d,A,C;if("idle"!==this.state.fetchStatus&&(null==(r=eC(this,p))?void 0:r.status())!=="rejected"){if(void 0!==this.state.data&&(null==t?void 0:t.cancelRefetch))this.cancel({silent:!0});else if(eC(this,p))return eC(this,p).continueRetry(),eC(this,p).promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let y=new AbortController,b=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(eM(this,g,!0),y.signal)})},M=()=>{let e=eq(this.options,t),r=(()=>{let e={client:eC(this,m),queryKey:this.queryKey,meta:this.meta};return b(e),e})();return(eM(this,g,!1),this.options.persister)?this.options.persister(e,r,this):e(r)},E=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:eC(this,m),state:this.state,fetchFn:M};return b(e),e})();null==(n=this.options.behavior)||n.onFetch(E,this),eM(this,f,this.state),("idle"===this.state.fetchStatus||this.state.fetchMeta!==(null==(i=E.fetchOptions)?void 0:i.meta))&&eE(this,B,te).call(this,{type:"fetch",meta:null==(a=E.fetchOptions)?void 0:a.meta}),eM(this,p,e8({initialPromise:null==t?void 0:t.initialPromise,fn:E.fetchFn,onCancel:e=>{e instanceof e2&&e.revert&&this.setState({...eC(this,f),fetchStatus:"idle"}),y.abort()},onFail:(e,t)=>{eE(this,B,te).call(this,{type:"failed",failureCount:e,error:t})},onPause:()=>{eE(this,B,te).call(this,{type:"pause"})},onContinue:()=>{eE(this,B,te).call(this,{type:"continue"})},retry:E.options.retry,retryDelay:E.options.retryDelay,networkMode:E.options.networkMode,canRun:()=>!0}));try{let e=await eC(this,p).start();if(void 0===e)throw Error("".concat(this.queryHash," data is undefined"));return this.setData(e),null==(o=(s=eC(this,h).config).onSuccess)||o.call(s,e,this),null==(l=(u=eC(this,h).config).onSettled)||l.call(u,e,this.state.error,this),e}catch(e){if(e instanceof e2){if(e.silent)return eC(this,p).promise;else if(e.revert){if(void 0===this.state.data)throw e;return this.state.data}}throw eE(this,B,te).call(this,{type:"error",error:e}),null==(c=(d=eC(this,h).config).onError)||c.call(d,e,this),null==(A=(C=eC(this,h).config).onSettled)||A.call(C,this.state.data,e,this),e}finally{this.scheduleGc()}}constructor(e){var t;super(),ex(this,B),eb(this,d,{writable:!0,value:void 0}),eb(this,f,{writable:!0,value:void 0}),eb(this,h,{writable:!0,value:void 0}),eb(this,m,{writable:!0,value:void 0}),eb(this,p,{writable:!0,value:void 0}),eb(this,A,{writable:!0,value:void 0}),eb(this,g,{writable:!0,value:void 0}),eM(this,g,!1),eM(this,A,e.defaultOptions),this.setOptions(e.options),this.observers=[],eM(this,m,e.client),eM(this,h,eC(this,m).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,eM(this,d,e7(this.options)),this.state=null!=(t=e.state)?t:eC(this,d),this.scheduleGc()}});function e6(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:e9(t.networkMode)?"fetching":"paused",...void 0===e&&{error:null,status:"pending"}}}function e4(e,t){return{data:e,dataUpdatedAt:null!=t?t:Date.now(),error:null,isInvalidated:!1,status:"success"}}function e7(e){let t="function"==typeof e.initialData?e.initialData():e.initialData,r=void 0!==t,n=r?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?null!=n?n:Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}function te(e){let t=t=>{switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":var r;return{...t,...e6(t.data,this.options),fetchMeta:null!=(r=e.meta)?r:null};case"success":let n={...t,...e4(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return eM(this,f,e.manual?n:void 0),n;case"error":let i=e.error;return{...t,error:i,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error"};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}};this.state=t(this.state),ez.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),eC(this,h).notify({query:this,type:"updated",action:e})})}var tt=(C=new WeakMap,y=new WeakMap,b=new WeakMap,M=new WeakMap,E=new WeakMap,x=new WeakMap,F=new WeakMap,S=new WeakMap,T=new WeakMap,w=new WeakMap,R=new WeakMap,I=new WeakMap,D=new WeakMap,G=new WeakMap,L=new WeakMap,P=new WeakSet,H=new WeakSet,O=new WeakSet,k=new WeakSet,_=new WeakSet,U=new WeakSet,j=new WeakSet,J=new WeakSet,N=new WeakSet,class extends eF{bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(eC(this,y).addObserver(this),tr(eC(this,y),this.options)?eE(this,P,to).call(this):this.updateResult(),eE(this,_,tc).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return tn(eC(this,y),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return tn(eC(this,y),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,eE(this,U,td).call(this),eE(this,j,tf).call(this),eC(this,y).removeObserver(this)}setOptions(e){let t=this.options,r=eC(this,y);if(this.options=eC(this,C).defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof eL(this.options.enabled,eC(this,y)))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");eE(this,J,th).call(this),eC(this,y).setOptions(this.options),t._defaulted&&!ej(this.options,t)&&eC(this,C).getQueryCache().notify({type:"observerOptionsUpdated",query:eC(this,y),observer:this});let n=this.hasListeners();n&&ti(eC(this,y),r,this.options,t)&&eE(this,P,to).call(this),this.updateResult(),n&&(eC(this,y)!==r||eL(this.options.enabled,eC(this,y))!==eL(t.enabled,eC(this,y))||eG(this.options.staleTime,eC(this,y))!==eG(t.staleTime,eC(this,y)))&&eE(this,H,ts).call(this);let i=eE(this,O,tl).call(this);n&&(eC(this,y)!==r||eL(this.options.enabled,eC(this,y))!==eL(t.enabled,eC(this,y))||i!==eC(this,G))&&eE(this,k,tu).call(this,i)}getOptimisticResult(e){var t,r;let n=eC(this,C).getQueryCache().build(eC(this,C),e),i=this.createResult(n,e);return t=this,r=i,ej(t.getCurrentResult(),r)||(eM(this,M,i),eM(this,x,this.options),eM(this,E,eC(this,y).state)),i}getCurrentResult(){return eC(this,M)}trackResult(e,t){return new Proxy(e,{get:(e,r)=>(this.trackProp(r),null==t||t(r),"promise"===r&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==eC(this,F).status||eC(this,F).reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,r))})}trackProp(e){eC(this,L).add(e)}getCurrentQuery(){return eC(this,y)}refetch(){let{...e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.fetch({...e})}fetchOptimistic(e){let t=eC(this,C).defaultQueryOptions(e),r=eC(this,C).getQueryCache().build(eC(this,C),t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){var t;return eE(this,P,to).call(this,{...e,cancelRefetch:null==(t=e.cancelRefetch)||t}).then(()=>(this.updateResult(),eC(this,M)))}createResult(e,t){let r,n=eC(this,y),i=this.options,a=eC(this,M),o=eC(this,E),s=eC(this,x),l=e!==n?e.state:eC(this,b),{state:u}=e,c={...u},d=!1;if(t._optimisticResults){let r=this.hasListeners(),a=!r&&tr(e,t),o=r&&ti(e,n,t,i);(a||o)&&(c={...c,...e6(u.data,e.options)}),"isRestoring"===t._optimisticResults&&(c.fetchStatus="idle")}let{error:f,errorUpdatedAt:h,status:m}=c;r=c.data;let p=!1;if(void 0!==t.placeholderData&&void 0===r&&"pending"===m){let e;if((null==a?void 0:a.isPlaceholderData)&&t.placeholderData===(null==s?void 0:s.placeholderData))e=a.data,p=!0;else{var A;e="function"==typeof t.placeholderData?t.placeholderData(null==(A=eC(this,R))?void 0:A.state.data,eC(this,R)):t.placeholderData}void 0!==e&&(m="success",r=eQ(null==a?void 0:a.data,e,t),d=!0)}if(t.select&&void 0!==r&&!p)if(a&&r===(null==o?void 0:o.data)&&t.select===eC(this,T))r=eC(this,w);else try{eM(this,T,t.select),r=t.select(r),r=eQ(null==a?void 0:a.data,r,t),eM(this,w,r),eM(this,S,null)}catch(e){eM(this,S,e)}eC(this,S)&&(f=eC(this,S),r=eC(this,w),h=Date.now(),m="error");let g="fetching"===c.fetchStatus,B="pending"===m,C="error"===m,I=B&&g,D=void 0!==r,G={status:m,fetchStatus:c.fetchStatus,isPending:B,isSuccess:"success"===m,isError:C,isInitialLoading:I,isLoading:I,data:r,dataUpdatedAt:c.dataUpdatedAt,error:f,errorUpdatedAt:h,failureCount:c.fetchFailureCount,failureReason:c.fetchFailureReason,errorUpdateCount:c.errorUpdateCount,isFetched:c.dataUpdateCount>0||c.errorUpdateCount>0,isFetchedAfterMount:c.dataUpdateCount>l.dataUpdateCount||c.errorUpdateCount>l.errorUpdateCount,isFetching:g,isRefetching:g&&!B,isLoadingError:C&&!D,isPaused:"paused"===c.fetchStatus,isPlaceholderData:d,isRefetchError:C&&D,isStale:ta(e,t),refetch:this.refetch,promise:eC(this,F),isEnabled:!1!==eL(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=e=>{"error"===G.status?e.reject(G.error):void 0!==G.data&&e.resolve(G.data)},r=()=>{t(eM(this,F,G.promise=e0()))},i=eC(this,F);switch(i.status){case"pending":e.queryHash===n.queryHash&&t(i);break;case"fulfilled":("error"===G.status||G.data!==i.value)&&r();break;case"rejected":("error"!==G.status||G.error!==i.reason)&&r()}}return G}updateResult(){let e=eC(this,M),t=this.createResult(eC(this,y),this.options);if(eM(this,E,eC(this,y).state),eM(this,x,this.options),void 0!==eC(this,E).data&&eM(this,R,eC(this,y)),ej(t,e))return;eM(this,M,t);let r=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,r="function"==typeof t?t():t;if("all"===r||!r&&!eC(this,L).size)return!0;let n=new Set(null!=r?r:eC(this,L));return this.options.throwOnError&&n.add("error"),Object.keys(eC(this,M)).some(t=>eC(this,M)[t]!==e[t]&&n.has(t))};eE(this,N,tm).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&eE(this,_,tc).call(this)}constructor(e,t){super(),ex(this,P),ex(this,H),ex(this,O),ex(this,k),ex(this,_),ex(this,U),ex(this,j),ex(this,J),ex(this,N),eb(this,C,{writable:!0,value:void 0}),eb(this,y,{writable:!0,value:void 0}),eb(this,b,{writable:!0,value:void 0}),eb(this,M,{writable:!0,value:void 0}),eb(this,E,{writable:!0,value:void 0}),eb(this,x,{writable:!0,value:void 0}),eb(this,F,{writable:!0,value:void 0}),eb(this,S,{writable:!0,value:void 0}),eb(this,T,{writable:!0,value:void 0}),eb(this,w,{writable:!0,value:void 0}),eb(this,R,{writable:!0,value:void 0}),eb(this,I,{writable:!0,value:void 0}),eb(this,D,{writable:!0,value:void 0}),eb(this,G,{writable:!0,value:void 0}),eb(this,L,{writable:!0,value:new Set}),this.options=t,eM(this,C,e),eM(this,S,null),eM(this,F,e0()),this.bindMethods(),this.setOptions(t)}});function tr(e,t){return!1!==eL(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&tn(e,t,t.refetchOnMount)}function tn(e,t,r){if(!1!==eL(t.enabled,e)&&"static"!==eG(t.staleTime,e)){let n="function"==typeof r?r(e):r;return"always"===n||!1!==n&&ta(e,t)}return!1}function ti(e,t,r,n){return(e!==t||!1===eL(n.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&ta(e,r)}function ta(e,t){return!1!==eL(t.enabled,e)&&e.isStaleByTime(eG(t.staleTime,e))}function to(e){eE(this,J,th).call(this);let t=eC(this,y).fetch(this.options,e);return(null==e?void 0:e.throwOnError)||(t=t.catch(eR)),t}function ts(){eE(this,U,td).call(this);let e=eG(this.options.staleTime,eC(this,y));if(ew||eC(this,M).isStale||!eI(e))return;let t=eD(eC(this,M).dataUpdatedAt,e);eM(this,I,eT.setTimeout(()=>{eC(this,M).isStale||this.updateResult()},t+1))}function tl(){var e;return null!=(e="function"==typeof this.options.refetchInterval?this.options.refetchInterval(eC(this,y)):this.options.refetchInterval)&&e}function tu(e){eE(this,j,tf).call(this),eM(this,G,e),!ew&&!1!==eL(this.options.enabled,eC(this,y))&&eI(eC(this,G))&&0!==eC(this,G)&&eM(this,D,eT.setInterval(()=>{(this.options.refetchIntervalInBackground||eY.isFocused())&&eE(this,P,to).call(this)},eC(this,G)))}function tc(){eE(this,H,ts).call(this),eE(this,k,tu).call(this,eE(this,O,tl).call(this))}function td(){eC(this,I)&&(eT.clearTimeout(eC(this,I)),eM(this,I,void 0))}function tf(){eC(this,D)&&(eT.clearInterval(eC(this,D)),eM(this,D,void 0))}function th(){let e=eC(this,C).getQueryCache().build(eC(this,C),this.options);if(e===eC(this,y))return;let t=eC(this,y);eM(this,y,e),eM(this,b,e.state),this.hasListeners()&&(null==t||t.removeObserver(this),e.addObserver(this))}function tm(e){ez.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(eC(this,M))}),eC(this,C).getQueryCache().notify({query:eC(this,y),type:"observerResultsUpdated"})})}var tp=el.createContext(void 0),tA=e=>{let{client:t,children:r}=e;return el.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,es.jsx)(tp.Provider,{value:t,children:r})},tg=el.createContext(function(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}()),tv=el.createContext(!1);tv.Provider;var tB=(e,t)=>void 0===t.state.data,tC=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function ty(e,t,r){var n,i,a,o,s;let l=el.useContext(tv),u=el.useContext(tg),c=(e=>{let t=el.useContext(tp);if(e)return e;if(!t)throw Error("No QueryClient set, use QueryClientProvider to set one");return t})(r),d=c.defaultQueryOptions(e);if(null==(i=c.getDefaultOptions().queries)||null==(n=i._experimental_beforeQuery)||n.call(i,d),d._optimisticResults=l?"isRestoring":"optimistic",d.suspense){let e=e=>"static"===e?e:Math.max(null!=e?e:1e3,1e3),t=d.staleTime;d.staleTime="function"==typeof t?function(){for(var r=arguments.length,n=Array(r),i=0;i{u.clearReset()},[u]);let f=!c.getQueryCache().get(d.queryHash),[h]=el.useState(()=>new t(c,d)),m=h.getOptimisticResult(d),p=!l&&!1!==e.subscribed;if(el.useSyncExternalStore(el.useCallback(e=>{let t=p?h.subscribe(ez.batchCalls(e)):eR;return h.updateResult(),t},[h,p]),()=>h.getCurrentResult(),()=>h.getCurrentResult()),el.useEffect(()=>{h.setOptions(d)},[d,h]),(null==d?void 0:d.suspense)&&m.isPending)throw tC(d,h,u);if((e=>{var t,r;let{result:n,errorResetBoundary:i,throwOnError:a,query:o,suspense:s}=e;return n.isError&&!i.isReset()&&!n.isFetching&&o&&(s&&void 0===n.data||(t=a,r=[n.error,o],"function"==typeof t?t(...r):!!t))})({result:m,errorResetBoundary:u,throwOnError:d.throwOnError,query:c.getQueryCache().get(d.queryHash),suspense:d.suspense}))throw m.error;if(null==(o=c.getDefaultOptions().queries)||null==(a=o._experimental_afterQuery)||a.call(o,d,m),d.experimental_prefetchInRender&&!ew&&m.isLoading&&m.isFetching&&!l){let e=f?tC(d,h,u):null==(s=c.getQueryCache().get(d.queryHash))?void 0:s.promise;null==e||e.catch(eR).finally(()=>{h.updateResult()})}return d.notifyOnChangeProps?m:h.trackResult(m)}var tb=e.i(54970),tM=e.i(12979),tE=e.i(5230),tx=e.i(16096),tF=e.i(62395),tS=e.i(75567),tT=e.i(47071);let tw={directional:4,ambient:1.5},tR={directional:3,ambient:1},tI={directional:1,ambient:1.5};var tD=e.i(79123),tG=e.i(47021),tL=e.i(48066);let tP={0:32,1:32,2:32,3:32,4:32,5:32};function tH(e){let{displacementMap:t,visibilityMask:r,textureNames:n,alphaTextures:i,detailTextureName:a,lightmap:o}=e,{debugMode:s}=(0,tD.useDebug)(),l=(0,tT.useTexture)(n.map(e=>(0,tM.terrainTextureToUrl)(e)),e=>{e.forEach(e=>(0,tS.setupColor)(e))}),u=a?(0,tM.textureToUrl)(a):null,c=(0,tT.useTexture)(null!=u?u:tM.FALLBACK_TEXTURE_URL,e=>{(0,tS.setupColor)(e)}),d=(0,el.useCallback)(e=>{!function(e){let{shader:t,baseTextures:r,alphaTextures:n,visibilityMask:i,tiling:a,debugMode:o=!1,detailTexture:s=null,lightmap:l=null}=e,u=r.length;if(t.uniforms.terrainDirectionalFactor={value:tw.directional},t.uniforms.terrainAmbientFactor={value:tw.ambient},r.forEach((e,r)=>{t.uniforms["albedo".concat(r)]={value:e}}),n.forEach((e,r)=>{r>0&&(t.uniforms["mask".concat(r)]={value:e})}),i&&(t.uniforms.visibilityMask={value:i}),r.forEach((e,r)=>{var n;t.uniforms["tiling".concat(r)]={value:null!=(n=a[r])?n:32}}),t.uniforms.debugMode={value:+!!o},l&&(t.uniforms.terrainLightmap={value:l}),s&&(t.uniforms.detailTexture={value:s},t.uniforms.detailTiling={value:64},t.uniforms.detailFadeDistance={value:150},t.vertexShader=t.vertexShader.replace("#include ","#include \nvarying vec3 vTerrainWorldPos;"),t.vertexShader=t.vertexShader.replace("#include ","#include \nvTerrainWorldPos = (modelMatrix * vec4(transformed, 1.0)).xyz;")),t.fragmentShader="\nuniform float terrainDirectionalFactor;\nuniform float terrainAmbientFactor;\nuniform sampler2D albedo0;\nuniform sampler2D albedo1;\nuniform sampler2D albedo2;\nuniform sampler2D albedo3;\nuniform sampler2D albedo4;\nuniform sampler2D albedo5;\nuniform sampler2D mask1;\nuniform sampler2D mask2;\nuniform sampler2D mask3;\nuniform sampler2D mask4;\nuniform sampler2D mask5;\nuniform float tiling0;\nuniform float tiling1;\nuniform float tiling2;\nuniform float tiling3;\nuniform float tiling4;\nuniform float tiling5;\nuniform float debugMode;\n".concat(i?"uniform sampler2D visibilityMask;":"","\n").concat(l?"uniform sampler2D terrainLightmap;":"","\n").concat(s?"uniform sampler2D detailTexture;\nuniform float detailTiling;\nuniform float detailFadeDistance;\nvarying vec3 vTerrainWorldPos;":"","\n\n// Wireframe edge detection for debug mode\nfloat getWireframe(vec2 uv, float gridSize, float lineWidth) {\n vec2 gridUv = uv * gridSize;\n vec2 grid = abs(fract(gridUv - 0.5) - 0.5);\n vec2 deriv = fwidth(gridUv);\n vec2 edge = smoothstep(vec2(0.0), deriv * lineWidth, grid);\n return 1.0 - min(edge.x, edge.y);\n}\n")+t.fragmentShader,i){let e="#include ";t.fragmentShader=t.fragmentShader.replace(e,"".concat(e,"\n // Early discard for invisible areas (before fog/lighting)\n float visibility = texture2D(visibilityMask, vMapUv).r;\n if (visibility < 0.5) {\n discard;\n }\n "))}t.fragmentShader=t.fragmentShader.replace("#include ","\n // Sample base albedo layers (sRGB textures auto-decoded to linear)\n vec2 baseUv = vMapUv;\n vec3 c0 = texture2D(albedo0, baseUv * vec2(tiling0)).rgb;\n ".concat(u>1?"vec3 c1 = texture2D(albedo1, baseUv * vec2(tiling1)).rgb;":"","\n ").concat(u>2?"vec3 c2 = texture2D(albedo2, baseUv * vec2(tiling2)).rgb;":"","\n ").concat(u>3?"vec3 c3 = texture2D(albedo3, baseUv * vec2(tiling3)).rgb;":"","\n ").concat(u>4?"vec3 c4 = texture2D(albedo4, baseUv * vec2(tiling4)).rgb;":"","\n ").concat(u>5?"vec3 c5 = texture2D(albedo5, baseUv * vec2(tiling5)).rgb;":"","\n\n // Sample linear masks (use R channel)\n // Add +0.5 texel offset: Torque samples alpha at grid corners (integer indices),\n // but GPU linear filtering samples at texel centers. This offset aligns them.\n vec2 alphaUv = baseUv + vec2(0.5 / ").concat(256,".0);\n float a1 = texture2D(mask1, alphaUv).r;\n ").concat(u>1?"float a2 = texture2D(mask2, alphaUv).r;":"","\n ").concat(u>2?"float a3 = texture2D(mask3, alphaUv).r;":"","\n ").concat(u>3?"float a4 = texture2D(mask4, alphaUv).r;":"","\n ").concat(u>4?"float a5 = texture2D(mask5, alphaUv).r;":"","\n\n // Bottom-up compositing: each mask tells how much the higher layer replaces lower\n ").concat(u>1?"vec3 blended = mix(c0, c1, clamp(a1, 0.0, 1.0));":"","\n ").concat(u>2?"blended = mix(blended, c2, clamp(a2, 0.0, 1.0));":"","\n ").concat(u>3?"blended = mix(blended, c3, clamp(a3, 0.0, 1.0));":"","\n ").concat(u>4?"blended = mix(blended, c4, clamp(a4, 0.0, 1.0));":"","\n ").concat(u>5?"blended = mix(blended, c5, clamp(a5, 0.0, 1.0));":"","\n\n // Assign to diffuseColor before lighting\n vec3 textureColor = ").concat(u>1?"blended":"c0",";\n\n ").concat(s?"// Detail texture blending (Torque-style multiplicative blend)\n // Sample detail texture at high frequency tiling\n vec3 detailColor = texture2D(detailTexture, baseUv * detailTiling).rgb;\n\n // Calculate distance-based fade factor using world positions\n // Torque: distFactor = (zeroDetailDistance - distance) / zeroDetailDistance\n float distToCamera = distance(vTerrainWorldPos, cameraPosition);\n float detailFade = clamp(1.0 - distToCamera / detailFadeDistance, 0.0, 1.0);\n\n // Torque blending: dst * lerp(1.0, detailTexel, fadeFactor)\n // Detail textures are authored with bright values (~0.8 mean), not 0.5 gray\n // Direct multiplication adds subtle darkening for surface detail\n textureColor *= mix(vec3(1.0), detailColor, detailFade);":"","\n\n // Apply texture color or debug mode solid gray\n if (debugMode > 0.5) {\n // Solid gray to visualize lighting only (without texture influence)\n diffuseColor.rgb = vec3(0.5);\n } else {\n // Scale texture to prevent clipping, preserving shadow visibility\n diffuseColor.rgb = textureColor * ").concat(.7,";\n }\n")),l&&(t.fragmentShader=t.fragmentShader.replace("#include ","#include \n\n// Override RE_Direct to use terrain lightmap for smooth NdotL\n#undef RE_Direct\nvoid RE_Direct_TerrainLightmap( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\n // Sample pre-computed terrain lightmap (smooth NdotL values)\n // Add +0.5 texel offset to align GPU texel-center sampling with Torque's corner sampling\n vec2 lightmapUv = vMapUv + vec2(0.5 / ".concat(512,".0);\n float lightmapNdotL = texture2D(terrainLightmap, lightmapUv).r;\n\n // Use lightmap NdotL instead of dot(geometryNormal, directLight.direction)\n // directLight.color already has shadow factor applied from getShadow()\n // Apply terrain-specific directional intensity multiplier\n vec3 directIrradiance = lightmapNdotL * directLight.color * terrainDirectionalFactor;\n\n // Debug mode: visualize raw lightmap values (no textures)\n if (debugMode > 0.5) {\n reflectedLight.directDiffuse = directIrradiance;\n } else {\n reflectedLight.directDiffuse += directIrradiance * BRDF_Lambert( material.diffuseColor );\n }\n}\n#define RE_Direct RE_Direct_TerrainLightmap\n\n")),t.fragmentShader=t.fragmentShader.replace("#include ","#include \n// Fix: Recalculate irradiance without using vertex normals (causes banding)\n// Use flat upward normal for hemisphere/light probe calculations\n#if defined( RE_IndirectDiffuse )\n{\n vec3 flatNormal = vec3(0.0, 1.0, 0.0);\n irradiance = getAmbientLightIrradiance( ambientLightColor );\n #if defined( USE_LIGHT_PROBES )\n irradiance += getLightProbeIrradiance( lightProbe, flatNormal );\n #endif\n #if ( NUM_HEMI_LIGHTS > 0 )\n for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n irradiance += getHemisphereLightIrradiance( hemisphereLights[i], flatNormal );\n }\n #endif\n}\n#endif\n")),t.fragmentShader=t.fragmentShader.replace("#include ","#include \n // Scale indirect (ambient) light to increase shadow contrast on terrain\n reflectedLight.indirectDiffuse *= terrainAmbientFactor;\n")}({shader:e,baseTextures:l,alphaTextures:i,visibilityMask:r,tiling:tP,debugMode:s,detailTexture:u?c:null,lightmap:o}),(0,tG.injectCustomFog)(e,tL.globalFogUniforms)},[l,i,r,s,c,u,o]),f="".concat(s?"debug":"normal","-").concat(u?"detail":"nodetail","-").concat(o?"lightmap":"nolightmap");return(0,es.jsx)("meshLambertMaterial",{map:t,depthWrite:!0,side:ef.DoubleSide,onBeforeCompile:d},f)}function tO(e){let{displacementMap:t,visibilityMask:r,textureNames:n,alphaTextures:i,detailTextureName:a,lightmap:o}=e;return(0,es.jsx)(el.Suspense,{fallback:(0,es.jsx)("meshLambertMaterial",{color:"rgb(0, 109, 56)",displacementMap:t,displacementScale:2048,wireframe:!0}),children:(0,es.jsx)(tH,{displacementMap:t,visibilityMask:r,textureNames:n,alphaTextures:i,detailTextureName:a,lightmap:o})})}let tk=(0,el.memo)(function(e){let{tileX:t,tileZ:r,blockSize:n,basePosition:i,textureNames:a,geometry:o,displacementMap:s,visibilityMask:l,alphaTextures:u,detailTextureName:c,lightmap:d,visible:f=!0}=e,h=(0,el.useMemo)(()=>[i.x+t*n+1024,0,i.z+r*n+1024],[t,r,n,i]);return(0,es.jsx)("mesh",{position:h,geometry:o,receiveShadow:!0,castShadow:!0,visible:f,children:(0,es.jsx)(tO,{displacementMap:s,visibilityMask:l,textureNames:a,alphaTextures:u,detailTextureName:c,lightmap:d})})});var t_=e.i(77482);function tU(e){return(0,t_.useRuntime)().getObjectByName(e)}function tj(e){let t=new Uint8Array(65536);for(let r of(t.fill(255),e)){let e=255&r,n=r>>8&255,i=r>>16,a=256*n;for(let r=0;r0?r:null!=(e=(0,tF.getFloat)(t,"visibleDistance"))?e:600}(),l=(0,tx.useThree)(e=>e.camera),u=(0,el.useMemo)(()=>{let[e,,t]=(0,tF.getPosition)(r);return{x:e,z:t}},[r]),c=(0,el.useMemo)(()=>{let e=(0,tF.getProperty)(r,"emptySquares");return e?e.split(" ").map(e=>parseInt(e,10)):[]},[r]),{data:d}=ty({queryKey:["terrain",n],queryFn:()=>(0,tM.loadTerrain)(n)},tt,void 0),f=(0,el.useMemo)(()=>{if(!d)return null;let e=256*i,t=new ef.PlaneGeometry(e,e,256,256);return t.rotateX(-Math.PI/2),t.rotateY(-Math.PI/2),!function(e,t,r){let n=e.attributes.position,i=e.attributes.uv,a=e.attributes.normal,o=n.array,s=i.array,l=a.array,u=n.count,c=(e,r)=>(e=Math.max(0,Math.min(255,e)),t[256*(r=Math.max(0,Math.min(255,r)))+e]/65535*2048),d=(e,r)=>{let n=Math.floor(e=Math.max(0,Math.min(255,e))),i=Math.floor(r=Math.max(0,Math.min(255,r))),a=Math.min(n+1,255),o=Math.min(i+1,255),s=e-n,l=r-i,u=t[256*i+n]/65535*2048,c=t[256*i+a]/65535*2048,d=t[256*o+n]/65535*2048;return(u*(1-s)+c*s)*(1-l)+(d*(1-s)+t[256*o+a]/65535*2048*s)*l};for(let e=0;e0?(p/=B,A/=B,g/=B):(p=0,A=1,g=0),l[3*e]=p,l[3*e+1]=A,l[3*e+2]=g}n.needsUpdate=!0,a.needsUpdate=!0}(t,d.heightMap,i),t},[i,d]),h=tU("Sun"),m=(0,el.useMemo)(()=>{var e;if(!h)return new ef.Vector3(.57735,-.57735,.57735);let[t,r,n]=(null!=(e=(0,tF.getProperty)(h,"direction"))?e:"0.57735 0.57735 -0.57735").split(" ").map(e=>parseFloat(e)),i=Math.sqrt(t*t+n*n+r*r);return new ef.Vector3(t/i,n/i,r/i)},[h]),p=(0,el.useMemo)(()=>d?function(e,t,r){let n=(t,r)=>{let n=(t%256+256)%256,i=(r%256+256)%256,a=Math.floor(n),o=Math.floor(i),s=a+1&255,l=o+1&255,u=n-a,c=i-o,d=e[256*o+a]/65535,f=e[256*o+s]/65535,h=e[256*l+a]/65535;return((d*(1-u)+f*u)*(1-c)+(h*(1-u)+e[256*l+s]/65535*u)*c)*2048},i=new ef.Vector3(-t.x,-t.y,-t.z).normalize(),a=new Uint8Array(262144);for(let e=0;e<512;e++)for(let t=0;t<512;t++){let o=t/2+.25,s=e/2+.25,l=n(o-.5,s),u=n(o+.5,s),c=n(o,s-.5),d=n(o,s+.5),f=-((d-c)/1),h=-((u-l)/1),m=Math.sqrt(f*f+r*r+h*h),p=Math.max(0,f/m*i.x+r/m*i.y+h/m*i.z);a[512*e+t]=Math.floor(255*p)}let o=new ef.DataTexture(a,512,512,ef.RedFormat,ef.UnsignedByteType);return o.colorSpace=ef.NoColorSpace,o.generateMipmaps=!0,o.wrapS=ef.ClampToEdgeWrapping,o.wrapT=ef.ClampToEdgeWrapping,o.magFilter=ef.LinearFilter,o.minFilter=ef.LinearFilter,o.needsUpdate=!0,o}(d.heightMap,m,i):null,[d,m,i]),A=(0,el.useMemo)(()=>{if(!d)return null;let e=function(e){let t=new Float32Array(e.length);for(let r=0;rtj(c),[c]),B=(0,el.useMemo)(()=>tj([]),[]),C=(0,el.useMemo)(()=>d?d.alphaMaps.map(e=>(0,tS.setupMask)(e)):null,[d]),y=(0,el.useMemo)(()=>{let e=2*Math.ceil(s/o)+1;return e*e-1},[s,o]),b=(0,el.useMemo)(()=>Array.from({length:y},(e,t)=>t),[y]),[M,E]=(0,el.useState)(()=>Array(y).fill(null)),x=(0,el.useRef)({xStart:0,xEnd:0,zStart:0,zEnd:0});return((0,tE.useFrame)(()=>{let e=l.position.x-u.x,t=l.position.z-u.z,r=Math.floor((e-s)/o),n=Math.ceil((e+s)/o),i=Math.floor((t-s)/o),a=Math.ceil((t+s)/o),c=x.current;if(r===c.xStart&&n===c.xEnd&&i===c.zStart&&a===c.zEnd)return;c.xStart=r,c.xEnd=n,c.zStart=i,c.zEnd=a;let d=[];for(let e=r;e{var t,r;let n=M[e];return(0,es.jsx)(tk,{tileX:null!=(t=null==n?void 0:n.tileX)?t:0,tileZ:null!=(r=null==n?void 0:n.tileZ)?r:0,blockSize:o,basePosition:u,textureNames:d.textureNames,geometry:f,displacementMap:A,visibilityMask:B,alphaTextures:C,detailTextureName:a,lightmap:p,visible:null!==n},e)})]}):null}),tN=(0,el.createContext)(null);function tK(){return(0,el.useContext)(tN)}var tQ=el;let tW=(0,tQ.createContext)(null),tV={didCatch:!1,error:null};class tX extends tQ.Component{static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,r,n=arguments.length,i=Array(n),a=0;a0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,r)=>!Object.is(e,t[r]))}(e.resetKeys,n)){var i,a;null==(i=(a=this.props).onReset)||i.call(a,{next:n,prev:e.resetKeys,reason:"keys"}),this.setState(tV)}}render(){let{children:e,fallbackRender:t,FallbackComponent:r,fallback:n}=this.props,{didCatch:i,error:a}=this.state,o=e;if(i){let e={error:a,resetErrorBoundary:this.resetErrorBoundary};if("function"==typeof t)o=t(e);else if(r)o=(0,tQ.createElement)(r,e);else if(void 0!==n)o=n;else throw a}return(0,tQ.createElement)(tW.Provider,{value:{didCatch:i,error:a,resetErrorBoundary:this.resetErrorBoundary}},o)}constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=tV}}var tq=e.i(31067),tY=ef;function tZ(e,t){if(t===ef.TrianglesDrawMode)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),e;if(t!==ef.TriangleFanDrawMode&&t!==ef.TriangleStripDrawMode)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",t),e;{let r=e.getIndex();if(null===r){let t=[],n=e.getAttribute("position");if(void 0===n)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),e;for(let e=0;e=2.0 are supported."));return}let s=new rH(i,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});s.fileLoader.setRequestHeader(this.requestHeader);for(let e=0;e=0&&void 0===o[t]&&console.warn('THREE.GLTFLoader: Unknown extension "'+t+'".')}}s.setExtensions(a),s.setPlugins(o),s.parse(r,n)}parseAsync(e,t){let r=this;return new Promise(function(n,i){r.parse(e,t,n,i)})}constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(e){return new t4(e)}),this.register(function(e){return new t7(e)}),this.register(function(e){return new rl(e)}),this.register(function(e){return new ru(e)}),this.register(function(e){return new rc(e)}),this.register(function(e){return new rt(e)}),this.register(function(e){return new rr(e)}),this.register(function(e){return new rn(e)}),this.register(function(e){return new ri(e)}),this.register(function(e){return new t6(e)}),this.register(function(e){return new ra(e)}),this.register(function(e){return new re(e)}),this.register(function(e){return new rs(e)}),this.register(function(e){return new ro(e)}),this.register(function(e){return new t3(e)}),this.register(function(e){return new rd(e)}),this.register(function(e){return new rf(e)})}}function t2(){let e={};return{get:function(t){return e[t]},add:function(t,r){e[t]=r},remove:function(t){delete e[t]},removeAll:function(){e={}}}}let t8={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class t3{_markDefs(){let e=this.parser,t=this.parser.json.nodes||[];for(let r=0,n=t.length;r=0))return null;else throw Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return t.loadTextureImage(e,i.source,a)}constructor(e){this.parser=e,this.name=t8.KHR_TEXTURE_BASISU}}class ru{loadTexture(e){let t=this.name,r=this.parser,n=r.json,i=n.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=n.images[a.source],s=r.textureLoader;if(o.uri){let e=r.options.manager.getHandler(o.uri);null!==e&&(s=e)}return this.detectSupport().then(function(i){if(i)return r.loadTextureImage(e,a.source,s);if(n.extensionsRequired&&n.extensionsRequired.indexOf(t)>=0)throw Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){let t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(1===t.height)}})),this.isSupported}constructor(e){this.parser=e,this.name=t8.EXT_TEXTURE_WEBP,this.isSupported=null}}class rc{loadTexture(e){let t=this.name,r=this.parser,n=r.json,i=n.textures[e];if(!i.extensions||!i.extensions[t])return null;let a=i.extensions[t],o=n.images[a.source],s=r.textureLoader;if(o.uri){let e=r.options.manager.getHandler(o.uri);null!==e&&(s=e)}return this.detectSupport().then(function(i){if(i)return r.loadTextureImage(e,a.source,s);if(n.extensionsRequired&&n.extensionsRequired.indexOf(t)>=0)throw Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){let t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(1===t.height)}})),this.isSupported}constructor(e){this.parser=e,this.name=t8.EXT_TEXTURE_AVIF,this.isSupported=null}}class rd{loadBufferView(e){let t=this.parser.json,r=t.bufferViews[e];if(!r.extensions||!r.extensions[this.name])return null;{let e=r.extensions[this.name],n=this.parser.getDependency("buffer",e.buffer),i=this.parser.options.meshoptDecoder;if(!i||!i.supported)if(!(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0))return null;else throw Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return n.then(function(t){let r=e.byteOffset||0,n=e.byteLength||0,a=e.count,o=e.byteStride,s=new Uint8Array(t,r,n);return i.decodeGltfBufferAsync?i.decodeGltfBufferAsync(a,o,s,e.mode,e.filter).then(function(e){return e.buffer}):i.ready.then(function(){let t=new ArrayBuffer(a*o);return i.decodeGltfBuffer(new Uint8Array(t),a,o,s,e.mode,e.filter),t})})}}constructor(e){this.name=t8.EXT_MESHOPT_COMPRESSION,this.parser=e}}class rf{createNodeMesh(e){let t=this.parser.json,r=t.nodes[e];if(!r.extensions||!r.extensions[this.name]||void 0===r.mesh)return null;for(let e of t.meshes[r.mesh].primitives)if(e.mode!==rb.TRIANGLES&&e.mode!==rb.TRIANGLE_STRIP&&e.mode!==rb.TRIANGLE_FAN&&void 0!==e.mode)return null;let n=r.extensions[this.name].attributes,i=[],a={};for(let e in n)i.push(this.parser.getDependency("accessor",n[e]).then(t=>(a[e]=t,a[e])));return i.length<1?null:(i.push(this.parser.createNodeMesh(e)),Promise.all(i).then(e=>{let t=e.pop(),r=t.isGroup?t.children:[t],n=e[0].count,i=[];for(let e of r){let t=new tY.Matrix4,r=new tY.Vector3,o=new tY.Quaternion,s=new tY.Vector3(1,1,1),l=new tY.InstancedMesh(e.geometry,e.material,n);for(let e=0;e=152?{TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3"}:{TEXCOORD_0:"uv",TEXCOORD_1:"uv2"},COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},rT={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},rw={CUBICSPLINE:void 0,LINEAR:tY.InterpolateLinear,STEP:tY.InterpolateDiscrete},rR={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function rI(e,t,r){for(let n in r.extensions)void 0===e[n]&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[n]=r.extensions[n])}function rD(e,t){void 0!==t.extras&&("object"==typeof t.extras?Object.assign(e.userData,t.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+t.extras))}function rG(e){let t="",r=Object.keys(e).sort();for(let n=0,i=r.length;n{let r=this.associations.get(e);for(let[n,a]of(null!=r&&this.associations.set(t,r),e.children.entries()))i(a,t.children[n])};return i(r,n),n.name+="_instance_"+e.uses[t]++,n}_invokeOne(e){let t=Object.values(this.plugins);t.push(this);for(let r=0;r=2&&a.setY(t,d[e*s+1]),s>=3&&a.setZ(t,d[e*s+2]),s>=4&&a.setW(t,d[e*s+3]),s>=5)throw Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return a})}loadTexture(e){let t=this.json,r=this.options,n=t.textures[e].source,i=t.images[n],a=this.textureLoader;if(i.uri){let e=r.manager.getHandler(i.uri);null!==e&&(a=e)}return this.loadTextureImage(e,n,a)}loadTextureImage(e,t,r){let n=this,i=this.json,a=i.textures[e],o=i.images[t],s=(o.uri||o.bufferView)+":"+a.sampler;if(this.textureCache[s])return this.textureCache[s];let l=this.loadImageSource(t,r).then(function(t){t.flipY=!1,t.name=a.name||o.name||"",""===t.name&&"string"==typeof o.uri&&!1===o.uri.startsWith("data:image/")&&(t.name=o.uri);let r=(i.samplers||{})[a.sampler]||{};return t.magFilter=rE[r.magFilter]||tY.LinearFilter,t.minFilter=rE[r.minFilter]||tY.LinearMipmapLinearFilter,t.wrapS=rx[r.wrapS]||tY.RepeatWrapping,t.wrapT=rx[r.wrapT]||tY.RepeatWrapping,n.associations.set(t,{textures:e}),t}).catch(function(){return null});return this.textureCache[s]=l,l}loadImageSource(e,t){let r=this.json,n=this.options;if(void 0!==this.sourceCache[e])return this.sourceCache[e].then(e=>e.clone());let i=r.images[e],a=self.URL||self.webkitURL,o=i.uri||"",s=!1;if(void 0!==i.bufferView)o=this.getDependency("bufferView",i.bufferView).then(function(e){s=!0;let t=new Blob([e],{type:i.mimeType});return o=a.createObjectURL(t)});else if(void 0===i.uri)throw Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");let l=Promise.resolve(o).then(function(e){return new Promise(function(r,i){let a=r;!0===t.isImageBitmapLoader&&(a=function(e){let t=new tY.Texture(e);t.needsUpdate=!0,r(t)}),t.load(tY.LoaderUtils.resolveURL(e,n.path),a,void 0,i)})}).then(function(e){var t;return!0===s&&a.revokeObjectURL(o),rD(e,i),e.userData.mimeType=i.mimeType||((t=i.uri).search(/\.jpe?g($|\?)/i)>0||0===t.search(/^data\:image\/jpeg/)?"image/jpeg":t.search(/\.webp($|\?)/i)>0||0===t.search(/^data\:image\/webp/)?"image/webp":"image/png"),e}).catch(function(e){throw console.error("THREE.GLTFLoader: Couldn't load texture",o),e});return this.sourceCache[e]=l,l}assignTexture(e,t,r,n){let i=this;return this.getDependency("texture",r.index).then(function(a){if(!a)return null;if(void 0!==r.texCoord&&r.texCoord>0&&((a=a.clone()).channel=r.texCoord),i.extensions[t8.KHR_TEXTURE_TRANSFORM]){let e=void 0!==r.extensions?r.extensions[t8.KHR_TEXTURE_TRANSFORM]:void 0;if(e){let t=i.associations.get(a);a=i.extensions[t8.KHR_TEXTURE_TRANSFORM].extendTexture(a,e),i.associations.set(a,t)}}return void 0!==n&&("number"==typeof n&&(n=3001===n?t0:t1),"colorSpace"in a?a.colorSpace=n:a.encoding=n===t0?3001:3e3),e[t]=a,a})}assignFinalMaterial(e){let t=e.geometry,r=e.material,n=void 0===t.attributes.tangent,i=void 0!==t.attributes.color,a=void 0===t.attributes.normal;if(e.isPoints){let e="PointsMaterial:"+r.uuid,t=this.cache.get(e);t||(t=new tY.PointsMaterial,tY.Material.prototype.copy.call(t,r),t.color.copy(r.color),t.map=r.map,t.sizeAttenuation=!1,this.cache.add(e,t)),r=t}else if(e.isLine){let e="LineBasicMaterial:"+r.uuid,t=this.cache.get(e);t||(t=new tY.LineBasicMaterial,tY.Material.prototype.copy.call(t,r),t.color.copy(r.color),t.map=r.map,this.cache.add(e,t)),r=t}if(n||i||a){let e="ClonedMaterial:"+r.uuid+":";n&&(e+="derivative-tangents:"),i&&(e+="vertex-colors:"),a&&(e+="flat-shading:");let t=this.cache.get(e);t||(t=r.clone(),i&&(t.vertexColors=!0),a&&(t.flatShading=!0),n&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(e,t),this.associations.set(t,this.associations.get(r))),r=t}e.material=r}getMaterialType(){return tY.MeshStandardMaterial}loadMaterial(e){let t,r=this,n=this.json,i=this.extensions,a=n.materials[e],o={},s=a.extensions||{},l=[];if(s[t8.KHR_MATERIALS_UNLIT]){let e=i[t8.KHR_MATERIALS_UNLIT];t=e.getMaterialType(),l.push(e.extendParams(o,a,r))}else{let n=a.pbrMetallicRoughness||{};if(o.color=new tY.Color(1,1,1),o.opacity=1,Array.isArray(n.baseColorFactor)){let e=n.baseColorFactor;o.color.setRGB(e[0],e[1],e[2],t1),o.opacity=e[3]}void 0!==n.baseColorTexture&&l.push(r.assignTexture(o,"map",n.baseColorTexture,t0)),o.metalness=void 0!==n.metallicFactor?n.metallicFactor:1,o.roughness=void 0!==n.roughnessFactor?n.roughnessFactor:1,void 0!==n.metallicRoughnessTexture&&(l.push(r.assignTexture(o,"metalnessMap",n.metallicRoughnessTexture)),l.push(r.assignTexture(o,"roughnessMap",n.metallicRoughnessTexture))),t=this._invokeOne(function(t){return t.getMaterialType&&t.getMaterialType(e)}),l.push(Promise.all(this._invokeAll(function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,o)})))}!0===a.doubleSided&&(o.side=tY.DoubleSide);let u=a.alphaMode||rR.OPAQUE;if(u===rR.BLEND?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,u===rR.MASK&&(o.alphaTest=void 0!==a.alphaCutoff?a.alphaCutoff:.5)),void 0!==a.normalTexture&&t!==tY.MeshBasicMaterial&&(l.push(r.assignTexture(o,"normalMap",a.normalTexture)),o.normalScale=new tY.Vector2(1,1),void 0!==a.normalTexture.scale)){let e=a.normalTexture.scale;o.normalScale.set(e,e)}if(void 0!==a.occlusionTexture&&t!==tY.MeshBasicMaterial&&(l.push(r.assignTexture(o,"aoMap",a.occlusionTexture)),void 0!==a.occlusionTexture.strength&&(o.aoMapIntensity=a.occlusionTexture.strength)),void 0!==a.emissiveFactor&&t!==tY.MeshBasicMaterial){let e=a.emissiveFactor;o.emissive=new tY.Color().setRGB(e[0],e[1],e[2],t1)}return void 0!==a.emissiveTexture&&t!==tY.MeshBasicMaterial&&l.push(r.assignTexture(o,"emissiveMap",a.emissiveTexture,t0)),Promise.all(l).then(function(){let n=new t(o);return a.name&&(n.name=a.name),rD(n,a),r.associations.set(n,{materials:e}),a.extensions&&rI(i,n,a),n})}createUniqueName(e){let t=tY.PropertyBinding.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){let t=this,r=this.extensions,n=this.primitiveCache,i=[];for(let a=0,o=e.length;a0&&function(e,t){if(e.updateMorphTargets(),void 0!==t.weights)for(let r=0,n=t.weights.length;r1?new tY.Group:1===t.length?t[0]:new tY.Object3D)!==t[0])for(let e=0,r=t.length;e{let t=new Map;for(let[e,r]of n.associations)(e instanceof tY.Material||e instanceof tY.Texture)&&t.set(e,r);return e.traverse(e=>{let r=n.associations.get(e);null!=r&&t.set(e,r)}),t})(i),i})}_createAnimationTracks(e,t,r,n,i){let a,o=[],s=e.name?e.name:e.uuid,l=[];switch(rT[i.path]===rT.weights?e.traverse(function(e){e.morphTargetInfluences&&l.push(e.name?e.name:e.uuid)}):l.push(s),rT[i.path]){case rT.weights:a=tY.NumberKeyframeTrack;break;case rT.rotation:a=tY.QuaternionKeyframeTrack;break;case rT.position:case rT.scale:a=tY.VectorKeyframeTrack;break;default:a=1===r.itemSize?tY.NumberKeyframeTrack:tY.VectorKeyframeTrack}let u=void 0!==n.interpolation?rw[n.interpolation]:tY.InterpolateLinear,c=this._getArrayFromAccessor(r);for(let e=0,r=l.length;e-1)?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),"undefined"==typeof createImageBitmap||r||n&&i<98?this.textureLoader=new tY.TextureLoader(this.options.manager):this.textureLoader=new tY.ImageBitmapLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new tY.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}}function rO(e,t,r){let n=t.attributes,i=[];for(let t in n){let a=rS[t]||t.toLowerCase();a in e.attributes||i.push(function(t,n){return r.getDependency("accessor",t).then(function(t){e.setAttribute(n,t)})}(n[t],a))}if(void 0!==t.indices&&!e.index){let n=r.getDependency("accessor",t.indices).then(function(t){e.setIndex(t)});i.push(n)}return rD(e,t),!function(e,t,r){let n=t.attributes,i=new tY.Box3;if(void 0===n.POSITION)return;{let e=r.json.accessors[n.POSITION],t=e.min,a=e.max;if(void 0===t||void 0===a)return console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");if(i.set(new tY.Vector3(t[0],t[1],t[2]),new tY.Vector3(a[0],a[1],a[2])),e.normalized){let t=rL(rM[e.componentType]);i.min.multiplyScalar(t),i.max.multiplyScalar(t)}}let a=t.targets;if(void 0!==a){let e=new tY.Vector3,t=new tY.Vector3;for(let n=0,i=a.length;n{let r={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(e,r).then(t).catch(n)},r,n)}decodeDracoFile(e,t,r,n){let i={attributeIDs:r||this.defaultAttributeIDs,attributeTypes:n||this.defaultAttributeTypes,useUniqueIDs:!!r};this.decodeGeometry(e,i).then(t)}decodeGeometry(e,t){let r;for(let e in t.attributeTypes){let r=t.attributeTypes[e];void 0!==r.BYTES_PER_ELEMENT&&(t.attributeTypes[e]=r.name)}let n=JSON.stringify(t);if(r_.has(e)){let t=r_.get(e);if(t.key===n)return t.promise;if(0===e.byteLength)throw Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let i=this.workerNextTaskID++,a=e.byteLength,o=this._getWorker(i,a).then(n=>(r=n,new Promise((n,a)=>{r._callbacks[i]={resolve:n,reject:a},r.postMessage({type:"decode",id:i,taskConfig:t,buffer:e},[e])}))).then(e=>this._createGeometry(e.geometry));return o.catch(()=>!0).then(()=>{r&&i&&this._releaseTask(r,i)}),r_.set(e,{key:n,promise:o}),o}_createGeometry(e){let t=new rk.BufferGeometry;e.index&&t.setIndex(new rk.BufferAttribute(e.index.array,1));for(let r=0;r{r.load(e,t,void 0,n)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;let e="object"!=typeof WebAssembly||"js"===this.decoderConfig.type,t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(t=>{let r=t[0];e||(this.decoderConfig.wasmBinary=t[1]);let n=rj.toString(),i=["/* draco decoder */",r,"\n/* worker */",n.substring(n.indexOf("{")+1,n.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([i]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.lengtht._taskLoad?-1:1});let r=this.workerPool[this.workerPool.length-1];return r._taskCosts[e]=t,r._taskLoad+=t,r})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e{let t=e.draco,r=new t.Decoder,o=new t.DecoderBuffer;o.Init(new Int8Array(i),i.byteLength);try{let e=function(e,t,r,n){let i,a,o=n.attributeIDs,s=n.attributeTypes,l=t.GetEncodedGeometryType(r);if(l===e.TRIANGULAR_MESH)i=new e.Mesh,a=t.DecodeBufferToMesh(r,i);else if(l===e.POINT_CLOUD)i=new e.PointCloud,a=t.DecodeBufferToPointCloud(r,i);else throw Error("THREE.DRACOLoader: Unexpected geometry type.");if(!a.ok()||0===i.ptr)throw Error("THREE.DRACOLoader: Decoding failed: "+a.error_msg());let u={index:null,attributes:[]};for(let r in o){let a,l,c=self[s[r]];if(n.useUniqueIDs)l=o[r],a=t.GetAttributeByUniqueId(i,l);else{if(-1===(l=t.GetAttributeId(i,e[o[r]])))continue;a=t.GetAttribute(i,l)}u.attributes.push(function(e,t,r,n,i,a){let o=a.num_components(),s=r.num_points()*o,l=s*i.BYTES_PER_ELEMENT,u=function(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32}}(e,i),c=e._malloc(l);t.GetAttributeDataArrayForAllPoints(r,a,u,l,c);let d=new i(e.HEAPF32.buffer,c,s).slice();return e._free(c),{name:n,array:d,itemSize:o}}(e,t,i,r,c,a))}return l===e.TRIANGULAR_MESH&&(u.index=function(e,t,r){let n=3*r.num_faces(),i=4*n,a=e._malloc(i);t.GetTrianglesUInt32Array(r,i,a);let o=new Uint32Array(e.HEAPF32.buffer,a,n).slice();return e._free(a),{array:o,itemSize:1}}(e,t,i)),e.destroy(i),u}(t,r,o,a),i=e.attributes.map(e=>e.array.buffer);e.index&&i.push(e.index.array.buffer),self.postMessage({type:"decode",id:n.id,geometry:e},i)}catch(e){console.error(e),self.postMessage({type:"error",id:n.id,error:e.message})}finally{t.destroy(o),t.destroy(r)}})}}}var rJ=e.i(80520);let rN={clone:function(e){let t=new Map,r=new Map,n=e.clone();return function e(t,r,n){n(t,r);for(let i=0;i{let{isChild:r=!1,object:n,children:i,deep:a,castShadow:o,receiveShadow:s,inject:l,keys:u,...c}=e,d={keys:u,deep:a,inject:l,castShadow:o,receiveShadow:s};if(Array.isArray(n=el.useMemo(()=>{if(!1===r&&!Array.isArray(n)){let e=!1;if(n.traverse(t=>{t.isSkinnedMesh&&(e=!0)}),e)return rN.clone(n)}return n},[n,r])))return el.createElement("group",(0,tq.default)({},c,{ref:t}),n.map(e=>el.createElement(rK,(0,tq.default)({key:e.uuid,object:e},d))),i);let{children:f,...h}=function(e,t){let{keys:r=["near","far","color","distance","decay","penumbra","angle","intensity","skeleton","visible","castShadow","receiveShadow","morphTargetDictionary","morphTargetInfluences","name","geometry","material","position","rotation","scale","up","userData","bindMode","bindMatrix","bindMatrixInverse","skeleton"],deep:n,inject:i,castShadow:a,receiveShadow:o}=t,s={};for(let t of r)s[t]=e[t];return n&&(s.geometry&&"materialsOnly"!==n&&(s.geometry=s.geometry.clone()),s.material&&"geometriesOnly"!==n&&(s.material=s.material.clone())),i&&(s="function"==typeof i?{...s,children:i(e)}:el.isValidElement(i)?{...s,children:i}:{...s,...i}),e instanceof ef.Mesh&&(a&&(s.castShadow=!0),o&&(s.receiveShadow=!0)),s}(n,d),m=n.type[0].toLowerCase()+n.type.slice(1);return el.createElement(m,(0,tq.default)({},h,c,{ref:t}),n.children.map(e=>"Bone"===e.type?el.createElement("primitive",(0,tq.default)({key:e.uuid,object:e},d)):el.createElement(rK,(0,tq.default)({key:e.uuid,object:e},d,{isChild:!0}))),i,f)}),rQ=null,rW="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function rV(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],r=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=arguments.length>2?arguments[2]:void 0;return i=>{n&&n(i),e&&(rQ||(rQ=new rU),rQ.setDecoderPath("string"==typeof e?e:rW),i.setDRACOLoader(rQ)),r&&i.setMeshoptDecoder((()=>{let e;if(t)return t;let r=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),n=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if("object"!=typeof WebAssembly)return{supported:!1};let i="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";WebAssembly.validate(r)&&(i="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");let a=WebAssembly.instantiate(function(e){let t=new Uint8Array(e.length);for(let r=0;r96?n-71:n>64?n-65:n>47?n+4:n>46?63:62}let r=0;for(let i=0;i{(e=t.instance).exports.__wasm_call_ctors()});function o(t,r,n,i,a,o){let s=e.exports.sbrk,l=n+3&-4,u=s(l*i),c=s(a.length),d=new Uint8Array(e.exports.memory.buffer);d.set(a,c);let f=t(u,n,i,c,a.length);if(0===f&&o&&o(u,l,i),r.set(d.subarray(u,u+n*i)),s(u-s(0)),0!==f)throw Error("Malformed buffer data: ".concat(f))}let s={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},l={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};return t={ready:a,supported:!0,decodeVertexBuffer(t,r,n,i,a){o(e.exports.meshopt_decodeVertexBuffer,t,r,n,i,e.exports[s[a]])},decodeIndexBuffer(t,r,n,i){o(e.exports.meshopt_decodeIndexBuffer,t,r,n,i)},decodeIndexSequence(t,r,n,i){o(e.exports.meshopt_decodeIndexSequence,t,r,n,i)},decodeGltfBuffer(t,r,n,i,a,u){o(e.exports[l[a]],t,r,n,i,e.exports[s[u]])}}})())}}let rX=(e,t,r,n)=>(0,rJ.useLoader)(t9,e,rV(t,r,n));rX.preload=(e,t,r,n)=>rJ.useLoader.preload(t9,e,rV(t,r,n)),rX.clear=e=>rJ.useLoader.clear(t9,e),rX.setDecoderPath=e=>{rW=e};var rq=e.i(89887);function rY(e){var t,r;let{materialName:n,material:i,lightMap:a}=e,o=(0,tM.textureToUrl)(n),s=(0,tT.useTexture)(o,e=>(0,tS.setupColor)(e)),l=new Set(null!=(r=null==i||null==(t=i.userData)?void 0:t.flag_names)?r:[]).has("SelfIlluminating"),u=(0,el.useCallback)(e=>{(0,tG.injectCustomFog)(e,tL.globalFogUniforms),e.uniforms.interiorDirectionalFactor={value:tR.directional},e.uniforms.interiorAmbientFactor={value:tR.ambient},e.fragmentShader=e.fragmentShader.replace("#include ","#include \nuniform float interiorDirectionalFactor;\nuniform float interiorAmbientFactor;\n"),e.fragmentShader=e.fragmentShader.replace("#include ","#include \n // Apply interior-specific lighting multipliers\n reflectedLight.directDiffuse *= interiorDirectionalFactor;\n reflectedLight.indirectDiffuse *= interiorAmbientFactor;\n")},[]);return l?(0,es.jsx)("meshBasicMaterial",{map:s,side:2,toneMapped:!1,onBeforeCompile:u}):(0,es.jsx)("meshLambertMaterial",{map:s,lightMap:null!=a?a:void 0,lightMapIntensity:a?2.5:void 0,side:2,onBeforeCompile:u})}function rZ(e){if(!e)return null;let t=e.emissiveMap;return t&&(t.colorSpace="srgb-linear"),null!=t?t:null}function rz(e){let{node:t}=e,r=(0,el.useMemo)(()=>t.material?Array.isArray(t.material)?t.material.map(e=>rZ(e)):[rZ(t.material)]:[],[t.material]);return(0,es.jsx)("mesh",{geometry:t.geometry,castShadow:!0,receiveShadow:!0,children:t.material?(0,es.jsx)(el.Suspense,{fallback:(0,es.jsx)("meshStandardMaterial",{color:"yellow",wireframe:!0}),children:Array.isArray(t.material)?t.material.map((e,t)=>(0,es.jsx)(rY,{materialName:e.userData.resource_path,material:e,lightMap:r[t]},t)):(0,es.jsx)(rY,{materialName:t.material.userData.resource_path,material:t.material,lightMap:r[0]})}):null})}let r$=(0,el.memo)(e=>{let{interiorFile:t}=e,{nodes:r}=rX((0,tM.interiorToUrl)(t)),{debugMode:n}=(0,tD.useDebug)();return(0,es.jsxs)("group",{rotation:[0,-Math.PI/2,0],children:[Object.entries(r).filter(e=>{let[,t]=e;return t.isMesh}).map(e=>{let[t,r]=e;return(0,es.jsx)(rz,{node:r},t)}),n?(0,es.jsx)(rq.FloatingLabel,{children:t}):null]})});function r0(e){let{color:t,label:r}=e;return(0,es.jsxs)("mesh",{children:[(0,es.jsx)("boxGeometry",{args:[10,10,10]}),(0,es.jsx)("meshStandardMaterial",{color:t,wireframe:!0}),r?(0,es.jsx)(rq.FloatingLabel,{color:t,children:r}):null]})}function r1(e){let{label:t}=e,{debugMode:r}=(0,tD.useDebug)();return r?(0,es.jsx)(r0,{color:"red",label:t}):null}let r9=(0,el.memo)(function(e){let{object:t}=e,r=(0,tF.getProperty)(t,"interiorFile"),n=(0,el.useMemo)(()=>(0,tF.getPosition)(t),[t]),i=(0,el.useMemo)(()=>(0,tF.getScale)(t),[t]),a=(0,el.useMemo)(()=>(0,tF.getRotation)(t),[t]);return(0,es.jsx)("group",{position:n,quaternion:a,scale:i,children:(0,es.jsx)(tX,{fallback:(0,es.jsx)(r1,{label:r}),children:(0,es.jsx)(el.Suspense,{fallback:(0,es.jsx)(r0,{color:"orange"}),children:(0,es.jsx)(r$,{interiorFile:r})})})})});function r2(e,t){let{path:r}=t,[n]=(0,rJ.useLoader)(ef.CubeTextureLoader,[e],e=>e.setPath(r));return n}r2.preload=(e,t)=>{let{path:r}=t;return rJ.useLoader.preload(ef.CubeTextureLoader,[e],e=>e.setPath(r))};function r8(e){return e.wrapS=ef.RepeatWrapping,e.wrapT=ef.RepeatWrapping,e.minFilter=ef.LinearFilter,e.magFilter=ef.LinearFilter,e.colorSpace=ef.NoColorSpace,e.needsUpdate=!0,e}function r3(e){let{textureUrl:t,radius:r,heightPercent:n,speed:i,windDirection:a,layerIndex:o,debugMode:s,animationEnabled:l}=e,u=(0,el.useRef)(null),c=(0,el.useRef)(new ef.Vector2(0,0)),d=(0,tT.useTexture)(t,r8),f=(0,el.useMemo)(()=>{let e=n-.05;return function(e,t,r,n){let i=new ef.BufferGeometry,a=new Float32Array(75),o=new Float32Array(50),s=[.05,.05,.05,.05,.05,.05,r,r,r,.05,.05,r,t,r,.05,.05,r,r,r,.05,.05,.05,.05,.05,.05],l=2*e/4;for(let t=0;t<5;t++)for(let r=0;r<5;r++){let n=5*t+r,i=-e+r*l,u=e-t*l,c=e*s[n];a[3*n]=i,a[3*n+1]=c,a[3*n+2]=u,o[2*n]=r,o[2*n+1]=t}!function(e){let t=t=>({x:e[3*t],y:e[3*t+1],z:e[3*t+2]}),r=(t,r,n,i)=>{e[3*t]=r,e[3*t+1]=n,e[3*t+2]=i},n=t(1),i=t(3),a=t(5),o=t(6),s=t(8),l=t(9),u=t(15),c=t(16),d=t(18),f=t(19),h=t(21),m=t(23),p=a.x+(n.x-a.x)*.5,A=a.y+(n.y-a.y)*.5,g=a.z+(n.z-a.z)*.5;r(0,o.x+(p-o.x)*2,o.y+(A-o.y)*2,o.z+(g-o.z)*2),p=l.x+(i.x-l.x)*.5,A=l.y+(i.y-l.y)*.5,g=l.z+(i.z-l.z)*.5,r(4,s.x+(p-s.x)*2,s.y+(A-s.y)*2,s.z+(g-s.z)*2),p=h.x+(u.x-h.x)*.5,A=h.y+(u.y-h.y)*.5,g=h.z+(u.z-h.z)*.5,r(20,c.x+(p-c.x)*2,c.y+(A-c.y)*2,c.z+(g-c.z)*2),p=m.x+(f.x-m.x)*.5,A=m.y+(f.y-m.y)*.5,g=m.z+(f.z-m.z)*.5,r(24,d.x+(p-d.x)*2,d.y+(A-d.y)*2,d.z+(g-d.z)*2)}(a);let u=function(e,t){let r=new Float32Array(25);for(let n=0;n<25;n++){let i=e[3*n],a=e[3*n+2],o=1.3-Math.sqrt(i*i+a*a)/t;o<.4?o=0:o>.8&&(o=1),r[n]=o}return r}(a,e),c=[];for(let e=0;e<4;e++)for(let t=0;t<4;t++){let r=5*e+t,n=r+1,i=r+5,a=i+1;c.push(r,i,a),c.push(r,a,n)}return i.setIndex(c),i.setAttribute("position",new ef.Float32BufferAttribute(a,3)),i.setAttribute("uv",new ef.Float32BufferAttribute(o,2)),i.setAttribute("alpha",new ef.Float32BufferAttribute(u,1)),i.computeBoundingSphere(),i}(r,n,e,0)},[r,n]),h=(0,el.useMemo)(()=>new ef.ShaderMaterial({uniforms:{cloudTexture:{value:d},uvOffset:{value:new ef.Vector2(0,0)},debugMode:{value:+!!s},layerIndex:{value:o}},vertexShader:"\n attribute float alpha;\n\n uniform vec2 uvOffset;\n\n varying vec2 vUv;\n varying float vAlpha;\n\n void main() {\n // Apply UV offset for scrolling\n vUv = uv + uvOffset;\n vAlpha = alpha;\n\n vec4 pos = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n // Set depth to far plane so clouds are always visible and behind other geometry\n gl_Position = pos.xyww;\n }\n",fragmentShader:"\n uniform sampler2D cloudTexture;\n uniform float debugMode;\n uniform int layerIndex;\n\n varying vec2 vUv;\n varying float vAlpha;\n\n void main() {\n vec4 texColor = texture2D(cloudTexture, vUv);\n\n // Debug mode: show layer-colored clouds (red, green, blue for layers 0, 1, 2)\n if (debugMode > 0.5) {\n vec3 debugColor;\n if (layerIndex == 0) {\n debugColor = vec3(1.0, 0.3, 0.3); // Red\n } else if (layerIndex == 1) {\n debugColor = vec3(0.3, 1.0, 0.3); // Green\n } else {\n debugColor = vec3(0.3, 0.3, 1.0); // Blue\n }\n // Use same alpha calculation as normal mode\n gl_FragColor = vec4(debugColor, texColor.a * vAlpha);\n return;\n }\n\n // Tribes 2 uses GL_MODULATE: final = texture × vertex color\n // Vertex color is white with varying alpha, so:\n // Final RGB = Texture RGB × 1.0 = Texture RGB\n // Final Alpha = Texture Alpha × Vertex Alpha\n float finalAlpha = texColor.a * vAlpha;\n\n // Output clouds with texture color and combined alpha\n gl_FragColor = vec4(texColor.rgb, finalAlpha);\n }\n",transparent:!0,depthWrite:!1,side:ef.DoubleSide}),[d,s,o]);return(0,tE.useFrame)((e,t)=>{if(!u.current||!l)return;let r=1e3*t/32;c.current.x+=a.x*i*r,c.current.y+=a.y*i*r,c.current.x=c.current.x-Math.floor(c.current.x),c.current.y=c.current.y-Math.floor(c.current.y),u.current.uniforms.uvOffset.value.copy(c.current)}),(0,el.useEffect)(()=>()=>{f.dispose(),h.dispose()},[f,h]),(0,es.jsx)("mesh",{geometry:f,frustumCulled:!1,renderOrder:10,children:(0,es.jsx)("primitive",{ref:u,object:h,attach:"material"})})}function r5(e){var t,r;let{object:n}=e,{debugMode:i}=(0,tD.useDebug)(),{animationEnabled:a}=(0,tD.useSettings)(),{data:o}=ty({queryKey:["detailMapList",r=(0,tF.getProperty)(n,"materialList")],queryFn:()=>(0,tM.loadDetailMapList)(r),enabled:!!r},tt,void 0),s=.95*(null!=(t=(0,tF.getFloat)(n,"visibleDistance"))?t:500),l=(0,el.useMemo)(()=>{var e,t,r;return[null!=(e=(0,tF.getFloat)(n,"cloudSpeed1"))?e:1e-4,null!=(t=(0,tF.getFloat)(n,"cloudSpeed2"))?t:2e-4,null!=(r=(0,tF.getFloat)(n,"cloudSpeed3"))?r:3e-4]},[n]),u=(0,el.useMemo)(()=>{let e=[.35,.25,.2],t=[];for(let i=0;i<3;i++){var r;let a=null!=(r=(0,tF.getFloat)(n,"cloudHeightPer".concat(i)))?r:e[i];t.push(a)}return t},[n]),c=(0,el.useMemo)(()=>{let e=(0,tF.getProperty)(n,"windVelocity");if(e){let[t,r]=e.split(" ").map(e=>parseFloat(e));if(0!==t||0!==r)return new ef.Vector2(r,-t).normalize()}return new ef.Vector2(1,0)},[n]),d=(0,el.useMemo)(()=>{if(!o)return[];let e=[];for(let n=7;n{let{camera:t}=e;f.current&&f.current.position.copy(t.position)}),d&&0!==d.length)?(0,es.jsx)("group",{ref:f,children:d.map((e,t)=>{let r=(0,tM.textureToUrl)(e.texture);return(0,es.jsx)(el.Suspense,{fallback:null,children:(0,es.jsx)(r3,{textureUrl:r,radius:s,heightPercent:e.height,speed:e.speed,windDirection:c,layerIndex:t,debugMode:i,animationEnabled:a})},t)})}):null}tM.BASE_URL;let r6=!1;function r4(e){if(!e)return;let[t,r,n]=e.split(" ").map(e=>parseFloat(e));return[new ef.Color().setRGB(t,r,n),new ef.Color().setRGB(t,r,n).convertSRGBToLinear()]}function r7(e){let{skyBoxFiles:t,fogColor:r,fogState:n}=e,{camera:i}=(0,tx.useThree)(),a=r2(t,{path:""}),o=(0,el.useMemo)(()=>i.projectionMatrixInverse,[i]),s=(0,el.useMemo)(()=>n?(0,tL.packFogVolumeData)(n.fogVolumes):new Float32Array(12),[n]),l=(0,el.useMemo)(()=>{if(!n)return .18;let e=.95*n.visibleDistance/Math.sqrt(3);return 60/Math.sqrt(e*e+3600)},[n]);return(0,es.jsxs)("mesh",{renderOrder:-1e3,frustumCulled:!1,children:[(0,es.jsxs)("bufferGeometry",{children:[(0,es.jsx)("bufferAttribute",{attach:"attributes-position",array:new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),count:3,itemSize:3}),(0,es.jsx)("bufferAttribute",{attach:"attributes-uv",array:new Float32Array([0,0,2,0,0,2]),count:3,itemSize:2})]}),(0,es.jsx)("shaderMaterial",{uniforms:{skybox:{value:a},fogColor:{value:null!=r?r:new ef.Color(0,0,0)},enableFog:{value:!!r},inverseProjectionMatrix:{value:o},cameraMatrixWorld:{value:i.matrixWorld},cameraHeight:tL.globalFogUniforms.cameraHeight,fogVolumeData:{value:s},horizonFogHeight:{value:l}},vertexShader:"\n varying vec2 vUv;\n\n void main() {\n vUv = uv;\n gl_Position = vec4(position.xy, 0.9999, 1.0);\n }\n ",fragmentShader:'\n uniform samplerCube skybox;\n uniform vec3 fogColor;\n uniform bool enableFog;\n uniform mat4 inverseProjectionMatrix;\n uniform mat4 cameraMatrixWorld;\n uniform float cameraHeight;\n uniform float fogVolumeData[12];\n uniform float horizonFogHeight;\n\n varying vec2 vUv;\n\n // Convert linear to sRGB for display\n // shaderMaterial does NOT get automatic linear->sRGB output conversion\n // Use proper sRGB transfer function (not simplified gamma 2.2) to match Three.js\n vec3 linearToSRGB(vec3 linear) {\n vec3 low = linear * 12.92;\n vec3 high = 1.055 * pow(linear, vec3(1.0 / 2.4)) - 0.055;\n return mix(low, high, step(vec3(0.0031308), linear));\n }\n\n void main() {\n vec2 ndc = vUv * 2.0 - 1.0;\n vec4 viewPos = inverseProjectionMatrix * vec4(ndc, 1.0, 1.0);\n viewPos.xyz /= viewPos.w;\n vec3 direction = normalize((cameraMatrixWorld * vec4(viewPos.xyz, 0.0)).xyz);\n direction = vec3(direction.z, direction.y, -direction.x);\n // Sample skybox - Three.js CubeTexture with SRGBColorSpace auto-converts to linear\n vec4 skyColor = textureCube(skybox, direction);\n vec3 finalColor;\n\n if (enableFog) {\n vec3 effectiveFogColor = fogColor;\n\n // Calculate how much fog volume the ray passes through\n // For skybox at "infinite" distance, the relevant height is how much\n // of the volume is above/below camera depending on view direction\n float volumeFogInfluence = 0.0;\n\n for (int i = 0; i < 3; i++) {\n int offset = i * 4;\n float volVisDist = fogVolumeData[offset + 0];\n float volMinH = fogVolumeData[offset + 1];\n float volMaxH = fogVolumeData[offset + 2];\n float volPct = fogVolumeData[offset + 3];\n\n if (volVisDist <= 0.0) continue;\n\n // Check if camera is inside this volume\n if (cameraHeight >= volMinH && cameraHeight <= volMaxH) {\n // Camera is inside the fog volume\n // Looking horizontally or up at shallow angles means ray travels\n // through more fog before exiting the volume\n float heightAboveCamera = volMaxH - cameraHeight;\n float heightBelowCamera = cameraHeight - volMinH;\n float volumeHeight = volMaxH - volMinH;\n\n // For horizontal rays (direction.y ≈ 0), maximum fog influence\n // For rays going up steeply, less fog (exits volume quickly)\n // For rays going down, more fog (travels through volume below)\n float rayInfluence;\n if (direction.y >= 0.0) {\n // Looking up: influence based on how steep we\'re looking\n // Shallow angles = long path through fog = high influence\n rayInfluence = 1.0 - smoothstep(0.0, 0.3, direction.y);\n } else {\n // Looking down: always high fog (into the volume)\n rayInfluence = 1.0;\n }\n\n // Scale by percentage and volume depth factor\n volumeFogInfluence += rayInfluence * volPct;\n }\n }\n\n // Base fog factor from view direction (for haze at horizon)\n // In Torque, the fog "bans" (bands) are rendered as geometry from\n // height 0 (HORIZON) to height 60 (OFFSET_HEIGHT) on the skybox.\n // The skybox corner is at mSkyBoxPt.x = mRadius / sqrt(3).\n //\n // horizonFogHeight is the direction.y value where the fog band ends:\n // horizonFogHeight = 60 / sqrt(skyBoxPt.x^2 + 60^2)\n //\n // For Firestorm (visDist=600): mRadius=570, skyBoxPt.x=329, horizonFogHeight≈0.18\n //\n // Torque renders the fog bands as geometry with linear vertex alpha\n // interpolation. We use a squared curve (t^2) to create a gentler\n // falloff at the top of the gradient, matching Tribes 2\'s appearance.\n float baseFogFactor;\n if (direction.y <= 0.0) {\n // Looking at or below horizon: full fog\n baseFogFactor = 1.0;\n } else if (direction.y >= horizonFogHeight) {\n // Above fog band: no fog\n baseFogFactor = 0.0;\n } else {\n // Within fog band: squared curve for gentler falloff at top\n float t = direction.y / horizonFogHeight;\n baseFogFactor = (1.0 - t) * (1.0 - t);\n }\n\n // Combine base fog with volume fog influence\n // When inside a volume, increase fog intensity\n float finalFogFactor = min(1.0, baseFogFactor + volumeFogInfluence * 0.5);\n\n finalColor = mix(skyColor.rgb, effectiveFogColor, finalFogFactor);\n } else {\n finalColor = skyColor.rgb;\n }\n // Convert linear result to sRGB for display\n gl_FragColor = vec4(linearToSRGB(finalColor), 1.0);\n }\n ',depthWrite:!1,depthTest:!1})]})}function ne(e){let{materialList:t,fogColor:r,fogState:n}=e,{data:i}=ty({queryKey:["detailMapList",t],queryFn:()=>(0,tM.loadDetailMapList)(t)},tt,void 0),a=(0,el.useMemo)(()=>i?[(0,tM.textureToUrl)(i[1]),(0,tM.textureToUrl)(i[3]),(0,tM.textureToUrl)(i[4]),(0,tM.textureToUrl)(i[5]),(0,tM.textureToUrl)(i[0]),(0,tM.textureToUrl)(i[2])]:null,[i]);return a?(0,es.jsx)(r7,{skyBoxFiles:a,fogColor:r,fogState:n}):null}function nt(e,t){let{fogDistance:r,visibleDistance:n}=e;return[r,n]}function nr(e){let{fogState:t}=e,{scene:r,camera:n}=(0,tx.useThree)(),i=(0,el.useRef)(null),a=(0,el.useMemo)(()=>(0,tL.packFogVolumeData)(t.fogVolumes),[t.fogVolumes]);return(0,el.useEffect)(()=>{r6||((0,tG.installCustomFogShader)(),r6=!0)},[]),(0,el.useEffect)(()=>{(0,tL.resetGlobalFogUniforms)();let[e,o]=nt(t,n.position.y),s=new ef.Fog(t.fogColor,e,o);return r.fog=s,i.current=s,(0,tL.updateGlobalFogUniforms)(n.position.y,a),()=>{r.fog=null,i.current=null,(0,tL.resetGlobalFogUniforms)()}},[r,n,t,a]),(0,tE.useFrame)(()=>{let e=i.current;if(!e)return;let r=n.position.y,[o,s]=nt(t,r);e.near=o,e.far=s,e.color.copy(t.fogColor),(0,tL.updateGlobalFogUniforms)(r,a)}),null}let nn=/borg|xorg|porg|dorg|plant|tree|bush|fern|vine|grass|leaf|flower|frond|palm|foliage/i;function ni(e){return nn.test(e)}let na=(0,el.createContext)(null);function no(e){let{children:t,shapeName:r,type:n}=e,i=(0,el.useMemo)(()=>ni(r),[r]),a=(0,el.useMemo)(()=>({shapeName:r,type:n,isOrganic:i}),[r,n,i]);return(0,es.jsx)(na.Provider,{value:a,children:t})}var ns=e.i(51475);let nl=new Map;function nu(e){e.onBeforeCompile=t=>{(0,tG.injectCustomFog)(t,tL.globalFogUniforms),e instanceof ef.MeshLambertMaterial&&(t.uniforms.shapeDirectionalFactor={value:tI.directional},t.uniforms.shapeAmbientFactor={value:tI.ambient},t.fragmentShader=t.fragmentShader.replace("#include ","#include \nuniform float shapeDirectionalFactor;\nuniform float shapeAmbientFactor;\n"),t.fragmentShader=t.fragmentShader.replace("#include ","#include \n // Apply shape-specific lighting multipliers\n reflectedLight.directDiffuse *= shapeDirectionalFactor;\n reflectedLight.indirectDiffuse *= shapeAmbientFactor;\n"))}}function nc(e,t,r,n){let i=r.has("Translucent"),a=r.has("Additive"),o=r.has("SelfIlluminating");if(r.has("NeverEnvMap"),o){let e=new ef.MeshBasicMaterial({map:t,side:2,transparent:a,alphaTest:.5*!a,blending:a?ef.AdditiveBlending:void 0,fog:!0});return nu(e),e}if(n||i){let e={map:t,transparent:!1,alphaTest:.5,reflectivity:0},r=new ef.MeshLambertMaterial({...e,side:1,polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}),n=new ef.MeshLambertMaterial({...e,side:0});return nu(r),nu(n),[r,n]}let s=new ef.MeshLambertMaterial({map:t,side:2,reflectivity:0});return nu(s),s}let nd=(0,el.memo)(function(e){var t;let{material:r,shapeName:n,geometry:i,backGeometry:a,castShadow:o=!1,receiveShadow:s=!1}=e,l=r.userData.resource_path,u=new Set(null!=(t=r.userData.flag_names)?t:[]),c=function(e){let{animationEnabled:t}=(0,tD.useSettings)(),{data:r}=ty({queryKey:["ifl",e],queryFn:()=>(0,tM.loadImageFrameList)(e),enabled:!0,suspense:!0,throwOnError:tB,placeholderData:void 0},tt,void 0),n=(0,el.useMemo)(()=>r.map(t=>(0,tM.iflTextureToUrl)(t.name,e)),[r,e]),i=(0,tT.useTexture)(n),a=(0,el.useMemo)(()=>{var t;let n,a=nl.get(e);return a||(a=function(e){let t=e[0].image.width,r=e[0].image.height,n=e.length,i=Math.ceil(Math.sqrt(n)),a=Math.ceil(n/i),o=document.createElement("canvas");o.width=t*i,o.height=r*a;let s=o.getContext("2d");e.forEach((e,n)=>{let a=Math.floor(n/i);s.drawImage(e.image,n%i*t,a*r)});let l=new ef.CanvasTexture(o);return l.colorSpace=ef.SRGBColorSpace,l.generateMipmaps=!1,l.minFilter=ef.NearestFilter,l.magFilter=ef.NearestFilter,l.wrapS=ef.ClampToEdgeWrapping,l.wrapT=ef.ClampToEdgeWrapping,l.repeat.set(1/i,1/a),{texture:l,columns:i,rows:a,frameCount:n,frameStartTicks:[],totalTicks:0,lastFrame:-1}}(i),nl.set(e,a)),n=0,(t=a).frameStartTicks=r.map(e=>{let t=n;return n+=e.frameCount,t}),t.totalTicks=n,a},[e,i,r]);return(0,ns.useTick)(e=>{let r=t?function(e,t){if(0===e.totalTicks)return 0;let r=t%e.totalTicks,{frameStartTicks:n}=e;for(let e=n.length-1;e>=0;e--)if(r>=n[e])return e;return 0}(a,e):0;!function(e,t){if(t===e.lastFrame)return;e.lastFrame=t;let r=t%e.columns,n=e.rows-1-Math.floor(t/e.columns);e.texture.offset.set(r/e.columns,n/e.rows)}(a,r)}),a.texture}("textures/".concat(l,".ifl")),d=n&&ni(n),f=(0,el.useMemo)(()=>nc(r,c,u,d),[r,c,u,d]);return Array.isArray(f)?(0,es.jsxs)(es.Fragment,{children:[(0,es.jsx)("mesh",{geometry:a||i,castShadow:o,receiveShadow:s,children:(0,es.jsx)("primitive",{object:f[0],attach:"material"})}),(0,es.jsx)("mesh",{geometry:i,castShadow:o,receiveShadow:s,children:(0,es.jsx)("primitive",{object:f[1],attach:"material"})})]}):(0,es.jsx)("mesh",{geometry:i,castShadow:o,receiveShadow:s,children:(0,es.jsx)("primitive",{object:f,attach:"material"})})}),nf=(0,el.memo)(function(e){var t;let{material:r,shapeName:n,geometry:i,backGeometry:a,castShadow:o=!1,receiveShadow:s=!1}=e,l=r.userData.resource_path,u=new Set(null!=(t=r.userData.flag_names)?t:[]),c=(0,el.useMemo)(()=>(l||console.warn('No resource_path was found on "'.concat(n,'" - rendering fallback.')),l?(0,tM.textureToUrl)(l):tM.FALLBACK_TEXTURE_URL),[l,n]),d=n&&ni(n),f=u.has("Translucent"),h=(0,tT.useTexture)(c,e=>d||f?(0,tS.setupAlphaTestedTexture)(e):(0,tS.setupColor)(e)),m=(0,el.useMemo)(()=>nc(r,h,u,d),[r,h,u,d]);return Array.isArray(m)?(0,es.jsxs)(es.Fragment,{children:[(0,es.jsx)("mesh",{geometry:a||i,castShadow:o,receiveShadow:s,children:(0,es.jsx)("primitive",{object:m[0],attach:"material"})}),(0,es.jsx)("mesh",{geometry:i,castShadow:o,receiveShadow:s,children:(0,es.jsx)("primitive",{object:m[1],attach:"material"})})]}):(0,es.jsx)("mesh",{geometry:i,castShadow:o,receiveShadow:s,children:(0,es.jsx)("primitive",{object:m,attach:"material"})})}),nh=(0,el.memo)(function(e){var t;let{material:r,shapeName:n,geometry:i,backGeometry:a,castShadow:o=!1,receiveShadow:s=!1}=e,l=new Set(null!=(t=r.userData.flag_names)?t:[]).has("IflMaterial"),u=r.userData.resource_path;return l&&u?(0,es.jsx)(nd,{material:r,shapeName:n,geometry:i,backGeometry:a,castShadow:o,receiveShadow:s}):r.name?(0,es.jsx)(nf,{material:r,shapeName:n,geometry:i,backGeometry:a,castShadow:o,receiveShadow:s}):null});function nm(e){let{color:t,label:r}=e;return(0,es.jsxs)("mesh",{children:[(0,es.jsx)("boxGeometry",{args:[10,10,10]}),(0,es.jsx)("meshStandardMaterial",{color:t,wireframe:!0}),r?(0,es.jsx)(rq.FloatingLabel,{color:t,children:r}):null]})}function np(e){let{color:t,label:r}=e,{debugMode:n}=(0,tD.useDebug)();return n?(0,es.jsx)(nm,{color:t,label:r}):null}function nA(e){let{shapeName:t,loadingColor:r="yellow",children:n}=e;return t?(0,es.jsx)(tX,{fallback:(0,es.jsx)(np,{color:"red",label:t}),children:(0,es.jsxs)(el.Suspense,{fallback:(0,es.jsx)(nm,{color:r}),children:[(0,es.jsx)(ng,{}),n]})}):(0,es.jsx)(np,{color:"orange"})}let ng=(0,el.memo)(function(){let{shapeName:e,isOrganic:t}=(0,el.useContext)(na),{debugMode:r}=(0,tD.useDebug)(),{nodes:n}=rX((0,tM.shapeToUrl)(e)),i=(0,el.useMemo)(()=>{let e=Object.values(n).filter(e=>e.skeleton);if(e.length>0){var t=e[0].skeleton;let r=new Set;return t.bones.forEach((e,t)=>{e.name.match(/^Hulk/i)&&r.add(t)}),r}return new Set},[n]),a=(0,el.useMemo)(()=>Object.entries(n).filter(e=>{let[t,r]=e;return r.material&&"Unassigned"!==r.material.name&&!r.name.match(/^Hulk/i)}).map(e=>{let[r,n]=e,a=function(e,t){if(0===t.size||!e.attributes.skinIndex)return e;let r=e.attributes.skinIndex,n=e.attributes.skinWeight,i=e.index,a=Array(r.count).fill(!1);for(let e=0;e.01&&t.has(o)){a[e]=!0;break}}if(i){let t=[],r=i.array;for(let e=0;e1){let t=0,r=0,n=0;for(let a of e)t+=i[3*a],r+=i[3*a+1],n+=i[3*a+2];let a=Math.sqrt(t*t+r*r+n*n);for(let o of(a>0&&(t/=a,r/=a,n/=a),e))i[3*o]=t,i[3*o+1]=r,i[3*o+2]=n}if(r.needsUpdate=!0,t){let e=(o=a.clone()).attributes.normal,t=e.array;for(let e=0;e{let{node:r,geometry:n,backGeometry:i}=t;return(0,es.jsx)(el.Suspense,{fallback:(0,es.jsx)("mesh",{geometry:n,children:(0,es.jsx)("meshStandardMaterial",{color:"gray",wireframe:!0})}),children:r.material?Array.isArray(r.material)?r.material.map((t,r)=>(0,es.jsx)(nh,{material:t,shapeName:e,geometry:n,backGeometry:i,castShadow:o,receiveShadow:o},r)):(0,es.jsx)(nh,{material:r.material,shapeName:e,geometry:n,backGeometry:i,castShadow:o,receiveShadow:o}):null},r.id)}),r?(0,es.jsx)(rq.FloatingLabel,{children:e}):null]})});var nv=e.i(6112);let nB={1:"Storm",2:"Inferno"},nC=(0,el.createContext)(null);function ny(){let e=(0,el.useContext)(nC);if(!e)throw Error("useCameras must be used within CamerasProvider");return e}function nb(e){let{children:t}=e,{camera:r}=(0,tx.useThree)(),[n,i]=(0,el.useState)(0),[a,o]=(0,el.useState)({}),s=(0,el.useCallback)(e=>{o(t=>({...t,[e.id]:e}))},[]),l=(0,el.useCallback)(e=>{o(t=>{let{[e.id]:r,...n}=t;return n})},[]),u=Object.keys(a).length,c=(0,el.useCallback)(()=>{i(e=>0===u?0:(e+1)%u)},[u]),d=(0,el.useCallback)(e=>{e>=0&&e{if(n({registerCamera:s,unregisterCamera:l,nextCamera:c,setCameraIndex:d,cameraCount:u}),[s,l,c,d,u]);return(0,es.jsx)(nC.Provider,{value:f,children:t})}let nM=(0,el.lazy)(()=>e.A(61921).then(e=>({default:e.AudioEmitter}))),nE={AudioEmitter:function(e){let{audioEnabled:t}=(0,tD.useSettings)();return t?(0,es.jsx)(nM,{...e}):null},Camera:function(e){let{object:t}=e,{registerCamera:r,unregisterCamera:n}=ny(),i=(0,el.useId)(),a=(0,tF.getProperty)(t,"dataBlock"),o=(0,el.useMemo)(()=>(0,tF.getPosition)(t),[t]),s=(0,el.useMemo)(()=>(0,tF.getRotation)(t),[t]);return(0,el.useEffect)(()=>{if("Observer"===a){let e={id:i,position:new ef.Vector3(...o),rotation:s};return r(e),()=>{n(e)}}},[i,a,r,n,o,s]),null},ForceFieldBare:(0,el.lazy)(()=>e.A(25147).then(e=>({default:e.ForceFieldBare}))),InteriorInstance:r9,Item:function(e){var t,r;let{object:n}=e,i=tK(),a=null!=(t=(0,tF.getProperty)(n,"dataBlock"))?t:"",o=(0,nv.useDatablock)(a),s=(0,el.useMemo)(()=>(0,tF.getPosition)(n),[n]),l=(0,el.useMemo)(()=>(0,tF.getScale)(n),[n]),u=(0,el.useMemo)(()=>(0,tF.getRotation)(n),[n]),c=(0,tF.getProperty)(o,"shapeFile");c||console.error(" missing shape for datablock: ".concat(a));let d=(null==a?void 0:a.toLowerCase())==="flag",f=null!=(r=null==i?void 0:i.team)?r:null,h=f&&f>0?nB[f]:null,m=d&&h?"".concat(h," Flag"):null;return(0,es.jsx)(no,{shapeName:c,type:"Item",children:(0,es.jsx)("group",{position:s,quaternion:u,scale:l,children:(0,es.jsx)(nA,{shapeName:c,loadingColor:"pink",children:m?(0,es.jsx)(rq.FloatingLabel,{opacity:.6,children:m}):null})})})},SimGroup:function(e){var t;let{object:r}=e,n=tK(),i=(0,el.useMemo)(()=>{let e=null,t=!1;if(n&&n.hasTeams){if(t=!0,null!=n.team)e=n.team;else if(r._name){let t=r._name.match(/^team(\d+)$/i);t&&(e=parseInt(t[1],10))}}else r._name&&(t="teams"===r._name.toLowerCase());return{object:r,parent:n,hasTeams:t,team:e}},[r,n]);return(0,es.jsx)(tN.Provider,{value:i,children:(null!=(t=r._children)?t:[]).map((e,t)=>nx(e,t))})},Sky:function(e){var t;let{object:r}=e,{fogEnabled:n,highQualityFog:i}=(0,tD.useSettings)(),a=(0,tF.getProperty)(r,"materialList"),o=(0,el.useMemo)(()=>r4((0,tF.getProperty)(r,"SkySolidColor")),[r]),s=null!=(t=(0,tF.getInt)(r,"useSkyTextures"))?t:1,l=(0,el.useMemo)(()=>(function(e){var t,r;let n=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=null!=(t=(0,tF.getFloat)(e,"fogDistance"))?t:0,a=null!=(r=(0,tF.getFloat)(e,"visibleDistance"))?r:1e3,o=(0,tF.getFloat)(e,"high_fogDistance"),s=(0,tF.getFloat)(e,"high_visibleDistance"),l=n&&null!=o&&o>0?o:i,u=n&&null!=s&&s>0?s:a,c=function(e){if(!e)return new ef.Color(.5,.5,.5);let[t,r,n]=e.split(" ").map(e=>parseFloat(e));return new ef.Color().setRGB(t,r,n).convertSRGBToLinear()}((0,tF.getProperty)(e,"fogColor")),d=[];for(let t=1;t<=3;t++){let r=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(!e)return null;let r=e.split(" ").map(e=>parseFloat(e));if(r.length<3)return null;let[n,i,a]=r;return n<=0||a<=i?null:{visibleDistance:n,minHeight:i,maxHeight:a,percentage:Math.max(0,Math.min(1,t))}}((0,tF.getProperty)(e,"fogVolume".concat(t)),1);r&&d.push(r)}let f=d.reduce((e,t)=>Math.max(e,t.maxHeight),0);return{fogDistance:l,visibleDistance:u,fogColor:c,fogVolumes:d,fogLine:f,enabled:u>l}})(r,i),[r,i]),u=(0,el.useMemo)(()=>r4((0,tF.getProperty)(r,"fogColor")),[r]),c=o||u,d=l.enabled&&n,f=l.fogColor,{scene:h,gl:m}=(0,tx.useThree)();return(0,el.useEffect)(()=>{if(d){let e=f.clone();h.background=e,m.setClearColor(e)}else if(c){let e=c[0].clone();h.background=e,m.setClearColor(e)}else h.background=null;return()=>{h.background=null}},[h,m,d,f,c]),(0,es.jsxs)(es.Fragment,{children:[a&&s?(0,es.jsx)(el.Suspense,{fallback:null,children:(0,es.jsx)(ne,{materialList:a,fogColor:d?f:void 0,fogState:d?l:void 0},a)}):null,(0,es.jsx)(el.Suspense,{children:(0,es.jsx)(r5,{object:r})}),d?(0,es.jsx)(nr,{fogState:l}):null]})},StaticShape:function(e){var t;let{object:r}=e,n=null!=(t=(0,tF.getProperty)(r,"dataBlock"))?t:"",i=(0,nv.useDatablock)(n),a=(0,el.useMemo)(()=>(0,tF.getPosition)(r),[r]),o=(0,el.useMemo)(()=>(0,tF.getRotation)(r),[r]),s=(0,el.useMemo)(()=>(0,tF.getScale)(r),[r]),l=(0,tF.getProperty)(i,"shapeFile");return l||console.error(" missing shape for datablock: ".concat(n)),(0,es.jsx)(no,{shapeName:l,type:"StaticShape",children:(0,es.jsx)("group",{position:a,quaternion:o,scale:s,children:(0,es.jsx)(nA,{shapeName:l})})})},Sun:function(e){let{object:t}=e,r=(0,el.useMemo)(()=>{var e;let[r,n,i]=(null!=(e=(0,tF.getProperty)(t,"direction"))?e:"0.57735 0.57735 -0.57735").split(" ").map(e=>parseFloat(e)),a=Math.sqrt(r*r+i*i+n*n);return new ef.Vector3(r/a,i/a,n/a)},[t]),n=(0,el.useMemo)(()=>new ef.Vector3(-(5e3*r.x),-(5e3*r.y),-(5e3*r.z)),[r]),i=(0,el.useMemo)(()=>{var e;let[r,n,i]=(null!=(e=(0,tF.getProperty)(t,"color"))?e:"0.7 0.7 0.7 1").split(" ").map(e=>parseFloat(e));return new ef.Color(r,n,i)},[t]),a=(0,el.useMemo)(()=>{var e;let[r,n,i]=(null!=(e=(0,tF.getProperty)(t,"ambient"))?e:"0.5 0.5 0.5 1").split(" ").map(e=>parseFloat(e));return new ef.Color(r,n,i)},[t]);return(0,es.jsxs)(es.Fragment,{children:[(0,es.jsx)("directionalLight",{position:n,color:i,intensity:1,castShadow:!0,"shadow-mapSize-width":8192,"shadow-mapSize-height":8192,"shadow-camera-left":-4096,"shadow-camera-right":4096,"shadow-camera-top":4096,"shadow-camera-bottom":-4096,"shadow-camera-near":100,"shadow-camera-far":12e3,"shadow-bias":-3e-4,"shadow-normalBias":.5}),(0,es.jsx)("ambientLight",{color:a,intensity:1})]})},TerrainBlock:tJ,TSStatic:function(e){let{object:t}=e,r=(0,tF.getProperty)(t,"shapeName"),n=(0,el.useMemo)(()=>(0,tF.getPosition)(t),[t]),i=(0,el.useMemo)(()=>(0,tF.getRotation)(t),[t]),a=(0,el.useMemo)(()=>(0,tF.getScale)(t),[t]);return r||console.error(" missing shapeName for object",t),(0,es.jsx)(no,{shapeName:r,type:"TSStatic",children:(0,es.jsx)("group",{position:n,quaternion:i,scale:a,children:(0,es.jsx)(nA,{shapeName:r})})})},Turret:function(e){var t;let{object:r}=e,n=null!=(t=(0,tF.getProperty)(r,"dataBlock"))?t:"",i=(0,tF.getProperty)(r,"initialBarrel"),a=(0,nv.useDatablock)(n),o=(0,nv.useDatablock)(i),s=(0,el.useMemo)(()=>(0,tF.getPosition)(r),[r]),l=(0,el.useMemo)(()=>(0,tF.getRotation)(r),[r]),u=(0,el.useMemo)(()=>(0,tF.getScale)(r),[r]),c=(0,tF.getProperty)(a,"shapeFile"),d=(0,tF.getProperty)(o,"shapeFile");return c||console.error(" missing shape for datablock: ".concat(n)),i&&!d&&console.error(" missing shape for barrel datablock: ".concat(i)),(0,es.jsx)(no,{shapeName:c,type:"Turret",children:(0,es.jsxs)("group",{position:s,quaternion:l,scale:u,children:[(0,es.jsx)(nA,{shapeName:c}),d?(0,es.jsx)(no,{shapeName:d,type:"Turret",children:(0,es.jsx)("group",{position:[0,1.5,0],children:(0,es.jsx)(nA,{shapeName:d})})}):null]})})},WaterBlock:(0,el.lazy)(()=>e.A(18599).then(e=>({default:e.WaterBlock}))),WayPoint:function(e){let{object:t}=e;tK();let r=(0,el.useMemo)(()=>(0,tF.getPosition)(t),[t]),n=(0,tF.getProperty)(t,"name");return n?(0,es.jsx)(rq.FloatingLabel,{position:r,opacity:.6,children:n}):null}};function nx(e,t){let r=nE[e._className];return r?(0,es.jsx)(el.Suspense,{children:(0,es.jsx)(r,{object:e})},t):null}var nF=e.i(86608),nS=e.i(38433),nT=e.i(33870),nw=e.i(91996);let nR=async e=>{let t;try{t=(0,tM.getUrlForPath)(e)}catch(t){return console.warn("Script not in manifest: ".concat(e," (").concat(t,")")),null}try{let r=await fetch(t);if(!r.ok)return console.error("Script fetch failed: ".concat(e," (").concat(r.status,")")),null;return await r.text()}catch(t){return console.error("Script fetch error: ".concat(e)),console.error(t),null}},nI=(0,nT.createScriptCache)(),nD={findFiles:e=>{let t=(0,tb.default)(e,{nocase:!0});return(0,nw.getResourceList)().filter(e=>t(e)).map(e=>{let[t,r]=(0,nw.getSourceAndPath)(e);return r})},isFile:e=>null!=(0,nw.getResourceMap)()[(0,nw.getResourceKey)(e)]},nG=(0,el.memo)(function(e){let{name:t,onLoadingChange:r}=e,{data:n}=ty({queryKey:["parsedMission",t],queryFn:()=>(0,tM.loadMission)(t)},tt,void 0),{missionGroup:i,runtime:a,progress:o}=function(e,t){let[r,n]=(0,el.useState)({missionGroup:void 0,runtime:void 0,progress:0});return(0,el.useEffect)(()=>{if(!t)return;let r=new AbortController,i=t.missionTypes[0],a=(0,nS.createProgressTracker)(),o=()=>{n(e=>({...e,progress:a.progress}))};a.on("update",o);let{runtime:s}=(0,nF.runServer)({missionName:e,missionType:i,runtimeOptions:{loadScript:nR,fileSystem:nD,cache:nI,signal:r.signal,progress:a,ignoreScripts:["scripts/admin.cs","scripts/ai.cs","scripts/aiBotProfiles.cs","scripts/aiBountyGame.cs","scripts/aiChat.cs","scripts/aiCnH.cs","scripts/aiCTF.cs","scripts/aiDeathMatch.cs","scripts/aiDebug.cs","scripts/aiDefaultTasks.cs","scripts/aiDnD.cs","scripts/aiHumanTasks.cs","scripts/aiHunters.cs","scripts/aiInventory.cs","scripts/aiObjectiveBuilder.cs","scripts/aiObjectives.cs","scripts/aiRabbit.cs","scripts/aiSiege.cs","scripts/aiTDM.cs","scripts/aiTeamHunters.cs","scripts/deathMessages.cs","scripts/graphBuild.cs","scripts/navGraph.cs","scripts/serverTasks.cs","scripts/spdialog.cs"]},onMissionLoadDone:()=>{n({missionGroup:s.getObjectByName("MissionGroup"),runtime:s,progress:1})}});return()=>{a.off("update",o),r.abort(),s.destroy()}},[e,t]),r}(t,n),s=!i||!a;return((0,el.useEffect)(()=>{null==r||r(s,o)},[s,o,r]),s)?null:(0,es.jsx)(t_.RuntimeProvider,{runtime:a,children:nx(i)})});function nL(e,t){var r=eB(e,t,"update");if(r.set){if(!r.get)throw TypeError("attempted to read set only private field");return"__destrWrapper"in r||(r.__destrWrapper={set value(v){r.set.call(e,v)},get value(){return r.get.call(e)}}),r.__destrWrapper}if(!r.writable)throw TypeError("attempted to set read only private field");return r}var nP=(K=new WeakMap,class extends eF{build(e,t,r){var n;let i=t.queryKey,a=null!=(n=t.queryHash)?n:eO(i,t),o=this.get(a);return o||(o=new e5({client:e,queryKey:i,queryHash:a,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(o)),o}add(e){eC(this,K).has(e.queryHash)||(eC(this,K).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=eC(this,K).get(e.queryHash);t&&(e.destroy(),t===e&&eC(this,K).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){ez.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return eC(this,K).get(e)}getAll(){return[...eC(this,K).values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>eP(t,e))}findAll(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.getAll();return Object.keys(e).length>0?t.filter(t=>eP(e,t)):t}notify(e){ez.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){ez.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){ez.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}constructor(e={}){super(),eb(this,K,{writable:!0,value:void 0}),this.config=e,eM(this,K,new Map)}}),nH=(Q=new WeakMap,W=new WeakMap,V=new WeakMap,X=new WeakMap,q=new WeakSet,class extends e3{setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){eC(this,W).includes(e)||(eC(this,W).push(e),this.clearGcTimeout(),eC(this,V).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){eM(this,W,eC(this,W).filter(t=>t!==e)),this.scheduleGc(),eC(this,V).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){eC(this,W).length||("pending"===this.state.status?this.scheduleGc():eC(this,V).remove(this))}continue(){var e,t;return null!=(t=null==(e=eC(this,X))?void 0:e.continue())?t:this.execute(this.state.variables)}async execute(e){var t,r,n,i,a,o,s,l,u,c,d,f,h,m,p,A,g,B,C,y,b;let M=()=>{eE(this,q,nO).call(this,{type:"continue"})},E={client:eC(this,Q),meta:this.options.meta,mutationKey:this.options.mutationKey};eM(this,X,e8({fn:()=>this.options.mutationFn?this.options.mutationFn(e,E):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{eE(this,q,nO).call(this,{type:"failed",failureCount:e,error:t})},onPause:()=>{eE(this,q,nO).call(this,{type:"pause"})},onContinue:M,retry:null!=(t=this.options.retry)?t:0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>eC(this,V).canRun(this)}));let x="pending"===this.state.status,F=!eC(this,X).canStart();try{if(x)M();else{eE(this,q,nO).call(this,{type:"pending",variables:e,isPaused:F}),await (null==(c=(d=eC(this,V).config).onMutate)?void 0:c.call(d,e,this,E));let t=await (null==(f=(h=this.options).onMutate)?void 0:f.call(h,e,E));t!==this.state.context&&eE(this,q,nO).call(this,{type:"pending",context:t,variables:e,isPaused:F})}let t=await eC(this,X).start();return await (null==(r=(n=eC(this,V).config).onSuccess)?void 0:r.call(n,t,e,this.state.context,this,E)),await (null==(i=(a=this.options).onSuccess)?void 0:i.call(a,t,e,this.state.context,E)),await (null==(o=(s=eC(this,V).config).onSettled)?void 0:o.call(s,t,null,this.state.variables,this.state.context,this,E)),await (null==(l=(u=this.options).onSettled)?void 0:l.call(u,t,null,e,this.state.context,E)),eE(this,q,nO).call(this,{type:"success",data:t}),t}catch(t){try{throw await (null==(m=(p=eC(this,V).config).onError)?void 0:m.call(p,t,e,this.state.context,this,E)),await (null==(A=(g=this.options).onError)?void 0:A.call(g,t,e,this.state.context,E)),await (null==(B=(C=eC(this,V).config).onSettled)?void 0:B.call(C,void 0,t,this.state.variables,this.state.context,this,E)),await (null==(y=(b=this.options).onSettled)?void 0:y.call(b,void 0,t,e,this.state.context,E)),t}finally{eE(this,q,nO).call(this,{type:"error",error:t})}}finally{eC(this,V).runNext(this)}}constructor(e){super(),ex(this,q),eb(this,Q,{writable:!0,value:void 0}),eb(this,W,{writable:!0,value:void 0}),eb(this,V,{writable:!0,value:void 0}),eb(this,X,{writable:!0,value:void 0}),eM(this,Q,e.client),this.mutationId=e.mutationId,eM(this,V,e.mutationCache),eM(this,W,[]),this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0},this.setOptions(e.options),this.scheduleGc()}});function nO(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),ez.batch(()=>{eC(this,W).forEach(t=>{t.onMutationUpdate(e)}),eC(this,V).notify({mutation:this,type:"updated",action:e})})}var nk=(Y=new WeakMap,Z=new WeakMap,z=new WeakMap,class extends eF{build(e,t,r){let n=new nH({client:e,mutationCache:this,mutationId:++nL(this,z).value,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){eC(this,Y).add(e);let t=n_(e);if("string"==typeof t){let r=eC(this,Z).get(t);r?r.push(e):eC(this,Z).set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(eC(this,Y).delete(e)){let t=n_(e);if("string"==typeof t){let r=eC(this,Z).get(t);if(r)if(r.length>1){let t=r.indexOf(e);-1!==t&&r.splice(t,1)}else r[0]===e&&eC(this,Z).delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){let t=n_(e);if("string"!=typeof t)return!0;{let r=eC(this,Z).get(t),n=null==r?void 0:r.find(e=>"pending"===e.state.status);return!n||n===e}}runNext(e){let t=n_(e);if("string"!=typeof t)return Promise.resolve();{var r,n;let i=null==(r=eC(this,Z).get(t))?void 0:r.find(t=>t!==e&&t.state.isPaused);return null!=(n=null==i?void 0:i.continue())?n:Promise.resolve()}}clear(){ez.batch(()=>{eC(this,Y).forEach(e=>{this.notify({type:"removed",mutation:e})}),eC(this,Y).clear(),eC(this,Z).clear()})}getAll(){return Array.from(eC(this,Y))}find(e){let t={exact:!0,...e};return this.getAll().find(e=>eH(t,e))}findAll(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.getAll().filter(t=>eH(e,t))}notify(e){ez.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return ez.batch(()=>Promise.all(e.map(e=>e.continue().catch(eR))))}constructor(e={}){super(),eb(this,Y,{writable:!0,value:void 0}),eb(this,Z,{writable:!0,value:void 0}),eb(this,z,{writable:!0,value:void 0}),this.config=e,eM(this,Y,new Set),eM(this,Z,new Map),eM(this,z,0)}});function n_(e){var t;return null==(t=e.options.scope)?void 0:t.id}function nU(e){return{onFetch:(t,r)=>{var n,i,a,o,s;let l=t.options,u=null==(a=t.fetchOptions)||null==(i=a.meta)||null==(n=i.fetchMore)?void 0:n.direction,c=(null==(o=t.state.data)?void 0:o.pages)||[],d=(null==(s=t.state.data)?void 0:s.pageParams)||[],f={pages:[],pageParams:[]},h=0,m=async()=>{let r=!1,n=eq(t.options,t.fetchOptions),i=async(e,i,a)=>{if(r)return Promise.reject();if(null==i&&e.pages.length)return Promise.resolve(e);let o=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:i,direction:a?"backward":"forward",meta:t.options.meta};return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(t.signal.aborted?r=!0:t.signal.addEventListener("abort",()=>{r=!0}),t.signal)}),e})(),s=await n(o),{maxPages:l}=t.options,u=a?eV:eW;return{pages:u(e.pages,s,l),pageParams:u(e.pageParams,i,l)}};if(u&&c.length){let e="backward"===u,t={pages:c,pageParams:d},r=(e?function(e,t){var r;let{pages:n,pageParams:i}=t;return n.length>0?null==(r=e.getPreviousPageParam)?void 0:r.call(e,n[0],n,i[0],i):void 0}:nj)(l,t);f=await i(t,r,e)}else{let t=null!=e?e:c.length;do{var a;let e=0===h?null!=(a=d[0])?a:l.initialPageParam:nj(l,f);if(h>0&&null==e)break;f=await i(f,e),h++}while(h{var e,n;return null==(e=(n=t.options).persister)?void 0:e.call(n,m,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r)}:t.fetchFn=m}}}function nj(e,t){let{pages:r,pageParams:n}=t,i=r.length-1;return r.length>0?e.getNextPageParam(r[i],r,n[i],n):void 0}var nJ=($=new WeakMap,ee=new WeakMap,et=new WeakMap,er=new WeakMap,en=new WeakMap,ei=new WeakMap,ea=new WeakMap,eo=new WeakMap,class{mount(){nL(this,ei).value++,1===eC(this,ei)&&(eM(this,ea,eY.subscribe(async e=>{e&&(await this.resumePausedMutations(),eC(this,$).onFocus())})),eM(this,eo,e$.subscribe(async e=>{e&&(await this.resumePausedMutations(),eC(this,$).onOnline())})))}unmount(){var e,t;nL(this,ei).value--,0===eC(this,ei)&&(null==(e=eC(this,ea))||e.call(this),eM(this,ea,void 0),null==(t=eC(this,eo))||t.call(this),eM(this,eo,void 0))}isFetching(e){return eC(this,$).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return eC(this,ee).findAll({...e,status:"pending"}).length}getQueryData(e){var t;let r=this.defaultQueryOptions({queryKey:e});return null==(t=eC(this,$).get(r.queryHash))?void 0:t.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=eC(this,$).build(this,t),n=r.state.data;return void 0===n?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(eG(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return eC(this,$).findAll(e).map(e=>{let{queryKey:t,state:r}=e;return[t,r.data]})}setQueryData(e,t,r){let n=this.defaultQueryOptions({queryKey:e}),i=eC(this,$).get(n.queryHash),a=null==i?void 0:i.state.data,o="function"==typeof t?t(a):t;if(void 0!==o)return eC(this,$).build(this,n).setData(o,{...r,manual:!0})}setQueriesData(e,t,r){return ez.batch(()=>eC(this,$).findAll(e).map(e=>{let{queryKey:n}=e;return[n,this.setQueryData(n,t,r)]}))}getQueryState(e){var t;let r=this.defaultQueryOptions({queryKey:e});return null==(t=eC(this,$).get(r.queryHash))?void 0:t.state}removeQueries(e){let t=eC(this,$);ez.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let r=eC(this,$);return ez.batch(()=>(r.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={revert:!0,...t};return Promise.all(ez.batch(()=>eC(this,$).findAll(e).map(e=>e.cancel(r)))).then(eR).catch(eR)}invalidateQueries(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ez.batch(()=>{var r,n;return(eC(this,$).findAll(e).forEach(e=>{e.invalidate()}),(null==e?void 0:e.refetchType)==="none")?Promise.resolve():this.refetchQueries({...e,type:null!=(n=null!=(r=null==e?void 0:e.refetchType)?r:null==e?void 0:e.type)?n:"active"},t)})}refetchQueries(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={...r,cancelRefetch:null==(t=r.cancelRefetch)||t};return Promise.all(ez.batch(()=>eC(this,$).findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(eR)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(eR)}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let r=eC(this,$).build(this,t);return r.isStaleByTime(eG(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(eR).catch(eR)}fetchInfiniteQuery(e){return e.behavior=nU(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(eR).catch(eR)}ensureInfiniteQueryData(e){return e.behavior=nU(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return e$.isOnline()?eC(this,ee).resumePausedMutations():Promise.resolve()}getQueryCache(){return eC(this,$)}getMutationCache(){return eC(this,ee)}getDefaultOptions(){return eC(this,et)}setDefaultOptions(e){eM(this,et,e)}setQueryDefaults(e,t){eC(this,er).set(ek(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...eC(this,er).values()],r={};return t.forEach(t=>{e_(e,t.queryKey)&&Object.assign(r,t.defaultOptions)}),r}setMutationDefaults(e,t){eC(this,en).set(ek(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...eC(this,en).values()],r={};return t.forEach(t=>{e_(e,t.mutationKey)&&Object.assign(r,t.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...eC(this,et).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=eO(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===eX&&(t.enabled=!1),t}defaultMutationOptions(e){return(null==e?void 0:e._defaulted)?e:{...eC(this,et).mutations,...(null==e?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){eC(this,$).clear(),eC(this,ee).clear()}constructor(e={}){eb(this,$,{writable:!0,value:void 0}),eb(this,ee,{writable:!0,value:void 0}),eb(this,et,{writable:!0,value:void 0}),eb(this,er,{writable:!0,value:void 0}),eb(this,en,{writable:!0,value:void 0}),eb(this,ei,{writable:!0,value:void 0}),eb(this,ea,{writable:!0,value:void 0}),eb(this,eo,{writable:!0,value:void 0}),eM(this,$,e.queryCache||new nP),eM(this,ee,e.mutationCache||new nk),eM(this,et,e.defaultOptions||{}),eM(this,er,new Map),eM(this,en,new Map),eM(this,ei,0)}}),nN=e.i(8155);let nK=e=>e,nQ=e=>{let t=(0,nN.createStore)(e),r=e=>(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:nK,r=el.default.useSyncExternalStore(e.subscribe,el.default.useCallback(()=>t(e.getState()),[e,t]),el.default.useCallback(()=>t(e.getInitialState()),[e,t]));return el.default.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},nW=el.createContext(null);function nV(e){let{map:t,children:r,onChange:n,domElement:i}=e,a=t.map(e=>e.name+e.keys).join("-"),o=el.useMemo(()=>{let e,r;return e=()=>t.reduce((e,t)=>({...e,[t.name]:!1}),{}),(r=(t,r,n)=>{let i=n.subscribe;return n.subscribe=(e,t,r)=>{let a=e;if(t){let i=(null==r?void 0:r.equalityFn)||Object.is,o=e(n.getState());a=r=>{let n=e(r);if(!i(o,n)){let e=o;t(o=n,e)}},(null==r?void 0:r.fireImmediately)&&t(o,o)}return i(a)},e(t,r,n)})?nQ(r):nQ},[a]),s=el.useMemo(()=>[o.subscribe,o.getState,o],[a]),l=o.setState;return el.useEffect(()=>{let e=t.map(e=>{let{name:t,keys:r,up:i}=e;return{keys:r,up:i,fn:e=>{l({[t]:e}),n&&n(t,e,s[1]())}}}).reduce((e,t)=>{let{keys:r,fn:n,up:i=!0}=t;return r.forEach(t=>e[t]={fn:n,pressed:!1,up:i}),e},{}),r=t=>{let{key:r,code:n}=t,i=e[r]||e[n];if(!i)return;let{fn:a,pressed:o,up:s}=i;i.pressed=!0,(s||!o)&&a(!0)},a=t=>{let{key:r,code:n}=t,i=e[r]||e[n];if(!i)return;let{fn:a,up:o}=i;i.pressed=!1,o&&a(!1)},o=i||window;return o.addEventListener("keydown",r,{passive:!0}),o.addEventListener("keyup",a,{passive:!0}),()=>{o.removeEventListener("keydown",r),o.removeEventListener("keyup",a)}},[i,a]),el.createElement(nW.Provider,{value:s,children:r})}var nX=Object.defineProperty;class nq{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});let r=this._listeners;void 0===r[e]&&(r[e]=[]),-1===r[e].indexOf(t)&&r[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;let r=this._listeners;return void 0!==r[e]&&-1!==r[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;let r=this._listeners[e];if(void 0!==r){let e=r.indexOf(t);-1!==e&&r.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;let t=this._listeners[e.type];if(void 0!==t){e.target=this;let r=t.slice(0);for(let t=0,n=r.length;t((e,t,r)=>t in e?nX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r))(this,"_listeners")}}var nY=Object.defineProperty,nZ=(e,t,r)=>(((e,t,r)=>t in e?nY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r),r);let nz=new ef.Euler(0,0,0,"YXZ"),n$=new ef.Vector3,n0={type:"change"},n1={type:"lock"},n9={type:"unlock"},n2=Math.PI/2;class n8 extends nq{constructor(e,t){super(),nZ(this,"camera"),nZ(this,"domElement"),nZ(this,"isLocked"),nZ(this,"minPolarAngle"),nZ(this,"maxPolarAngle"),nZ(this,"pointerSpeed"),nZ(this,"onMouseMove",e=>{this.domElement&&!1!==this.isLocked&&(nz.setFromQuaternion(this.camera.quaternion),nz.y-=.002*e.movementX*this.pointerSpeed,nz.x-=.002*e.movementY*this.pointerSpeed,nz.x=Math.max(n2-this.maxPolarAngle,Math.min(n2-this.minPolarAngle,nz.x)),this.camera.quaternion.setFromEuler(nz),this.dispatchEvent(n0))}),nZ(this,"onPointerlockChange",()=>{this.domElement&&(this.domElement.ownerDocument.pointerLockElement===this.domElement?(this.dispatchEvent(n1),this.isLocked=!0):(this.dispatchEvent(n9),this.isLocked=!1))}),nZ(this,"onPointerlockError",()=>{console.error("THREE.PointerLockControls: Unable to use Pointer Lock API")}),nZ(this,"connect",e=>{this.domElement=e||this.domElement,this.domElement&&(this.domElement.ownerDocument.addEventListener("mousemove",this.onMouseMove),this.domElement.ownerDocument.addEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.addEventListener("pointerlockerror",this.onPointerlockError))}),nZ(this,"disconnect",()=>{this.domElement&&(this.domElement.ownerDocument.removeEventListener("mousemove",this.onMouseMove),this.domElement.ownerDocument.removeEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.removeEventListener("pointerlockerror",this.onPointerlockError))}),nZ(this,"dispose",()=>{this.disconnect()}),nZ(this,"getObject",()=>this.camera),nZ(this,"direction",new ef.Vector3(0,0,-1)),nZ(this,"getDirection",e=>e.copy(this.direction).applyQuaternion(this.camera.quaternion)),nZ(this,"moveForward",e=>{n$.setFromMatrixColumn(this.camera.matrix,0),n$.crossVectors(this.camera.up,n$),this.camera.position.addScaledVector(n$,e)}),nZ(this,"moveRight",e=>{n$.setFromMatrixColumn(this.camera.matrix,0),this.camera.position.addScaledVector(n$,e)}),nZ(this,"lock",()=>{this.domElement&&this.domElement.requestPointerLock()}),nZ(this,"unlock",()=>{this.domElement&&this.domElement.ownerDocument.exitPointerLock()}),this.camera=e,this.domElement=t,this.isLocked=!1,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.pointerSpeed=1,t&&this.connect(t)}}var n3=function(e){return e.forward="forward",e.backward="backward",e.left="left",e.right="right",e.up="up",e.down="down",e.camera1="camera1",e.camera2="camera2",e.camera3="camera3",e.camera4="camera4",e.camera5="camera5",e.camera6="camera6",e.camera7="camera7",e.camera8="camera8",e.camera9="camera9",e}(n3||{});function n5(){let{speedMultiplier:e,setSpeedMultiplier:t}=(0,tD.useControls)(),[r,n]=function(e){let[t,r,n]=el.useContext(nW);return[t,r]}(),{camera:i,gl:a}=(0,tx.useThree)(),{nextCamera:o,setCameraIndex:s,cameraCount:l}=ny(),u=(0,el.useRef)(null),c=(0,el.useRef)(new ef.Vector3),d=(0,el.useRef)(new ef.Vector3),f=(0,el.useRef)(new ef.Vector3);return(0,el.useEffect)(()=>{let e=new n8(i,a.domElement);u.current=e;let t=t=>{e.isLocked?o():t.target===a.domElement&&e.lock()};return document.addEventListener("click",t),()=>{document.removeEventListener("click",t),e.dispose()}},[i,a,o]),(0,el.useEffect)(()=>{let e=["camera1","camera2","camera3","camera4","camera5","camera6","camera7","camera8","camera9"];return r(t=>{for(let r=0;r{let e=e=>{e.preventDefault();let r=e.deltaY>0?-1:1,n=Math.max(.05,Math.min(.5,Math.abs(.01*e.deltaY)))*r;t(e=>Math.max(.1,Math.min(5,Math.round((e+n)*20)/20)))},r=a.domElement;return r.addEventListener("wheel",e,{passive:!1}),()=>{r.removeEventListener("wheel",e)}},[a]),(0,tE.useFrame)((t,r)=>{let{forward:a,backward:o,left:s,right:l,up:u,down:h}=n();(a||o||s||l||u||h)&&(i.getWorldDirection(c.current),c.current.normalize(),d.current.crossVectors(i.up,c.current).normalize(),f.current.set(0,0,0),a&&f.current.add(c.current),o&&f.current.sub(c.current),s&&f.current.add(d.current),l&&f.current.sub(d.current),u&&(f.current.y+=1),h&&(f.current.y-=1),f.current.lengthSq()>0&&(f.current.normalize().multiplyScalar(80*e*r),i.position.add(f.current)))}),null}let n6=[{name:"forward",keys:["KeyW"]},{name:"backward",keys:["KeyS"]},{name:"left",keys:["KeyA"]},{name:"right",keys:["KeyD"]},{name:"up",keys:["Space"]},{name:"down",keys:["ShiftLeft","ShiftRight"]},{name:"camera1",keys:["Digit1"]},{name:"camera2",keys:["Digit2"]},{name:"camera3",keys:["Digit3"]},{name:"camera4",keys:["Digit4"]},{name:"camera5",keys:["Digit5"]},{name:"camera6",keys:["Digit6"]},{name:"camera7",keys:["Digit7"]},{name:"camera8",keys:["Digit8"]},{name:"camera9",keys:["Digit9"]}];function n4(){return(0,el.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"k"===e.key||e.metaKey&&e.stopImmediatePropagation()};return window.addEventListener("keydown",e,{capture:!0}),window.addEventListener("keyup",e,{capture:!0}),()=>{window.removeEventListener("keydown",e,{capture:!0}),window.removeEventListener("keyup",e,{capture:!0})}},[]),(0,es.jsx)(nV,{map:n6,children:(0,es.jsx)(n5,{})})}var n7=function(){var e;return"undefined"!=typeof window&&!!(null==(e=window.document)?void 0:e.createElement)}();function ie(e){return e?"self"in e?e.document:e.ownerDocument||document:document}function it(e){return e?"self"in e?e.self:ie(e).defaultView||window:self}function ir(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],{activeElement:r}=ie(e);if(!(null==r?void 0:r.nodeName))return null;if(ia(r)&&r.contentDocument)return ir(r.contentDocument.body,t);if(t){let e=r.getAttribute("aria-activedescendant");if(e){let t=ie(r).getElementById(e);if(t)return t}}return r}function ii(e,t){return e===t||e.contains(t)}function ia(e){return"IFRAME"===e.tagName}function io(e){let t=e.tagName.toLowerCase();return"button"===t||"input"===t&&!!e.type&&-1!==is.indexOf(e.type)}var is=["button","color","file","image","reset","submit"];function il(e){return"function"==typeof e.checkVisibility?e.checkVisibility():e.offsetWidth>0||e.offsetHeight>0||e.getClientRects().length>0}function iu(e){try{let t=e instanceof HTMLInputElement&&null!==e.selectionStart,r="TEXTAREA"===e.tagName;return t||r||!1}catch(e){return!1}}function ic(e){return e.isContentEditable||iu(e)}function id(e){let t=0,r=0;if(iu(e))t=e.selectionStart||0,r=e.selectionEnd||0;else if(e.isContentEditable){let n=ie(e).getSelection();if((null==n?void 0:n.rangeCount)&&n.anchorNode&&ii(e,n.anchorNode)&&n.focusNode&&ii(e,n.focusNode)){let i=n.getRangeAt(0),a=i.cloneRange();a.selectNodeContents(e),a.setEnd(i.startContainer,i.startOffset),t=a.toString().length,a.setEnd(i.endContainer,i.endOffset),r=a.toString().length}}return{start:t,end:r}}function ih(e,t){let r=null==e?void 0:e.getAttribute("role");return r&&-1!==["dialog","menu","listbox","tree","grid"].indexOf(r)?r:t}function im(e){if(!e)return null;let t=e=>"auto"===e||"scroll"===e;if(e.clientHeight&&e.scrollHeight>e.clientHeight){let{overflowY:r}=getComputedStyle(e);if(t(r))return e}else if(e.clientWidth&&e.scrollWidth>e.clientWidth){let{overflowX:r}=getComputedStyle(e);if(t(r))return e}return im(e.parentElement)||document.scrollingElement||document.body}function ip(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n1?t-1:0),n=1;n{if(n){let t=setTimeout(e,n);return()=>clearTimeout(t)}let t=requestAnimationFrame(e);return()=>cancelAnimationFrame(t)})(()=>{e.removeEventListener(t,a,!0),r()}),a=()=>{i(),r()};return e.addEventListener(t,a,{once:!0,capture:!0}),i}function ik(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:window,i=[];try{for(let a of(n.document.addEventListener(e,t,r),Array.from(n.frames)))i.push(ik(e,t,r,a))}catch(e){}return()=>{try{n.document.removeEventListener(e,t,r)}catch(e){}for(let e of i)e()}}var i_={...el},iU=i_.useId;i_.useDeferredValue;var ij=i_.useInsertionEffect,iJ=n7?el.useLayoutEffect:el.useEffect;function iN(e){let t=(0,el.useRef)(()=>{throw Error("Cannot call an event handler while rendering.")});return ij?ij(()=>{t.current=e}):t.current=e,(0,el.useCallback)(function(){for(var e,r=arguments.length,n=Array(r),i=0;i{if(t.some(Boolean))return e=>{for(let r of t)iT(r,e)}},t)}function iQ(e){if(iU){let t=iU();return e||t}let[t,r]=(0,el.useState)(e);return iJ(()=>{if(e||t)return;let n=Math.random().toString(36).slice(2,8);r("id-".concat(n))},[e,t]),e||t}function iW(e,t){let r=(0,el.useRef)(!1);(0,el.useEffect)(()=>{if(r.current)return e();r.current=!0},t),(0,el.useEffect)(()=>()=>{r.current=!1},[])}function iV(){return(0,el.useReducer)(()=>[],[])}function iX(e){return iN("function"==typeof e?e:()=>e)}function iq(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=(0,el.useCallback)(r=>(e.wrapElement&&(r=e.wrapElement(r)),t(r)),[...r,e.wrapElement]);return{...e,wrapElement:n}}function iY(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1?arguments[1]:void 0,[r,n]=(0,el.useState)(null);return{portalRef:iK(n,t),portalNode:r,domReady:!e||r}}var iZ=!1,iz=!1,i$=0,i0=0;function i1(e){(function(e){let t=e.movementX||e.screenX-i$,r=e.movementY||e.screenY-i0;return i$=e.screenX,i0=e.screenY,t||r||!1})(e)&&(iz=!0)}function i9(){iz=!1}function i2(e){let t=el.forwardRef((t,r)=>e({...t,ref:r}));return t.displayName=e.displayName||e.name,t}function i8(e,t){return el.memo(e,t)}function i3(e,t){let r,{wrapElement:n,render:i,...a}=t,o=iK(t.ref,i&&(0,el.isValidElement)(i)&&("ref"in i.props||"ref"in i)?({...i.props}).ref||i.ref:null);if(el.isValidElement(i)){let e={...i.props,ref:o};r=el.cloneElement(i,function(e,t){let r={...e};for(let n in t){if(!iC(t,n))continue;if("className"===n){let n="className";r[n]=e[n]?"".concat(e[n]," ").concat(t[n]):t[n];continue}if("style"===n){let n="style";r[n]=e[n]?{...e[n],...t[n]}:t[n];continue}let i=t[n];if("function"==typeof i&&n.startsWith("on")){let t=e[n];if("function"==typeof t){r[n]=function(){for(var e=arguments.length,r=Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:{};return e(t)};return t.displayName=e.name,t}function i6(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=el.createContext(void 0),n=el.createContext(void 0),i=()=>el.useContext(r),a=t=>e.reduceRight((e,r)=>(0,es.jsx)(r,{...t,children:e}),(0,es.jsx)(r.Provider,{...t}));return{context:r,scopedContext:n,useContext:i,useScopedContext:function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=el.useContext(n),r=i();return e?t:t||r},useProviderContext:()=>{let e=el.useContext(n),t=i();if(!e||e!==t)return t},ContextProvider:a,ScopedContextProvider:e=>(0,es.jsx)(a,{...e,children:t.reduceRight((t,r)=>(0,es.jsx)(r,{...e,children:t}),(0,es.jsx)(n.Provider,{...e}))})}}var i4=i6(),i7=i4.useContext;i4.useScopedContext,i4.useProviderContext;var ae=i6([i4.ContextProvider],[i4.ScopedContextProvider]),at=ae.useContext;ae.useScopedContext;var ar=ae.useProviderContext,an=ae.ContextProvider,ai=ae.ScopedContextProvider,aa=(0,el.createContext)(void 0),ao=(0,el.createContext)(void 0),as=(0,el.createContext)(!0),al="input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], summary, iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])";function au(e){return!(!e.matches(al)||!il(e)||e.closest("[inert]"))}function ac(e){if(!au(e)||0>Number.parseInt(e.getAttribute("tabindex")||"0",10))return!1;if(!("form"in e)||!e.form||e.checked||"radio"!==e.type)return!0;let t=e.form.elements.namedItem(e.name);if(!t||!("length"in t))return!0;let r=ir(e);return!r||r===e||!("form"in r)||r.form!==e.form||r.name!==e.name}function ad(e,t){let r=Array.from(e.querySelectorAll(al));t&&r.unshift(e);let n=r.filter(au);return n.forEach((e,t)=>{if(ia(e)&&e.contentDocument){let r=e.contentDocument.body;n.splice(t,1,...ad(r))}}),n}function af(e,t,r){let n=Array.from(e.querySelectorAll(al)),i=n.filter(ac);return(t&&ac(e)&&i.unshift(e),i.forEach((e,t)=>{if(ia(e)&&e.contentDocument){let n=af(e.contentDocument.body,!1,r);i.splice(t,1,...n)}}),!i.length&&r)?n:i}function ah(e,t){return function(e,t,r,n){let i=ir(e),a=ad(e,t),o=a.indexOf(i),s=a.slice(o+1);return s.find(ac)||(r?a.find(ac):null)||(n?s[0]:null)||null}(document.body,!1,e,t)}function am(e,t){return function(e,t,r,n){let i=ir(e),a=ad(e,t).reverse(),o=a.indexOf(i),s=a.slice(o+1);return s.find(ac)||(r?a.find(ac):null)||(n?s[0]:null)||null}(document.body,!1,e,t)}function ap(e){let t=ir(e);if(!t)return!1;if(t===e)return!0;let r=t.getAttribute("aria-activedescendant");return!!r&&r===e.id}function aA(e){let t=ir(e);if(!t)return!1;if(ii(e,t))return!0;let r=t.getAttribute("aria-activedescendant");return!!r&&"id"in e&&(r===e.id||!!e.querySelector("#".concat(CSS.escape(r))))}function ag(e){!aA(e)&&au(e)&&e.focus()}var av=iI(),aB=["text","search","url","tel","email","password","number","date","month","week","time","datetime","datetime-local"],aC=Symbol("safariFocusAncestor");function ay(e){return"input"===e.tagName.toLowerCase()&&!!e.type&&("radio"===e.type||"checkbox"===e.type)}function ab(e,t){return iN(r=>{null==e||e(r),!r.defaultPrevented&&t&&(r.stopPropagation(),r.preventDefault())})}var aM=!1,aE=!0;function ax(e){let t=e.target;t&&"hasAttribute"in t&&!t.hasAttribute("data-focus-visible")&&(aE=!1)}function aF(e){e.metaKey||e.ctrlKey||e.altKey||(aE=!0)}var aS=i5(function(e){var t,r,n,i,a;let{focusable:o=!0,accessibleWhenDisabled:s,autoFocus:l,onFocusVisible:u,...c}=e,d=(0,el.useRef)(null);(0,el.useEffect)(()=>{o&&(aM||(ik("mousedown",ax,!0),ik("keydown",aF,!0),aM=!0))},[o]),av&&(0,el.useEffect)(()=>{if(!o)return;let e=d.current;if(!e||!ay(e))return;let t="labels"in e?e.labels:null;if(!t)return;let r=()=>queueMicrotask(()=>e.focus());for(let e of t)e.addEventListener("mouseup",r);return()=>{for(let e of t)e.removeEventListener("mouseup",r)}},[o]);let f=o&&ix(c),h=!!f&&!s,[m,p]=(0,el.useState)(!1);(0,el.useEffect)(()=>{o&&h&&m&&p(!1)},[o,h,m]),(0,el.useEffect)(()=>{if(!o||!m)return;let e=d.current;if(!e||"undefined"==typeof IntersectionObserver)return;let t=new IntersectionObserver(()=>{au(e)||p(!1)});return t.observe(e),()=>t.disconnect()},[o,m]);let A=ab(c.onKeyPressCapture,f),g=ab(c.onMouseDownCapture,f),B=ab(c.onClickCapture,f),C=c.onMouseDown,y=iN(e=>{if(null==C||C(e),e.defaultPrevented||!o)return;let t=e.currentTarget;if(!av||iD(e)||!io(t)&&!ay(t))return;let r=!1,n=()=>{r=!0};t.addEventListener("focusin",n,{capture:!0,once:!0});let i=function(e){for(;e&&!au(e);)e=e.closest(al);return e||null}(t.parentElement);i&&(i[aC]=!0),iO(t,"mouseup",()=>{t.removeEventListener("focusin",n,!0),i&&(i[aC]=!1),r||ag(t)})}),b=(e,t)=>{if(t&&(e.currentTarget=t),!o)return;let r=e.currentTarget;r&&ap(r)&&(null==u||u(e),e.defaultPrevented||(r.dataset.focusVisible="true",p(!0)))},M=c.onKeyDownCapture,E=iN(e=>{if(null==M||M(e),e.defaultPrevented||!o||m||e.metaKey||e.altKey||e.ctrlKey||!iG(e))return;let t=e.currentTarget;iO(t,"focusout",()=>b(e,t))}),x=c.onFocusCapture,F=iN(e=>{if(null==x||x(e),e.defaultPrevented||!o)return;if(!iG(e))return void p(!1);let t=e.currentTarget;aE||function(e){let{tagName:t,readOnly:r,type:n}=e;return"TEXTAREA"===t&&!r||"SELECT"===t&&!r||("INPUT"!==t||r?!!e.isContentEditable||"combobox"===e.getAttribute("role")&&!!e.dataset.name:aB.includes(n))}(e.target)?iO(e.target,"focusout",()=>b(e,t)):p(!1)}),S=c.onBlur,T=iN(e=>{null==S||S(e),o&&iH(e)&&(e.currentTarget.removeAttribute("data-focus-visible"),p(!1))}),w=(0,el.useContext)(as),R=iN(e=>{o&&l&&e&&w&&queueMicrotask(()=>{!ap(e)&&au(e)&&e.focus()})}),I=function(e,t){let r=e=>{if("string"==typeof e)return e},[n,i]=(0,el.useState)(()=>r(void 0));return iJ(()=>{let t=e&&"current"in e?e.current:e;i((null==t?void 0:t.tagName.toLowerCase())||r(void 0))},[e,t]),n}(d),D=o&&(!I||"button"===I||"summary"===I||"input"===I||"select"===I||"textarea"===I||"a"===I),G=o&&(!I||"button"===I||"input"===I||"select"===I||"textarea"===I),L=c.style,P=(0,el.useMemo)(()=>h?{pointerEvents:"none",...L}:L,[h,L]);return c={"data-focus-visible":o&&m||void 0,"data-autofocus":l||void 0,"aria-disabled":f||void 0,...c,ref:iK(d,R,c.ref),style:P,tabIndex:(t=o,r=h,n=D,i=G,a=c.tabIndex,t?r?n&&!i?-1:void 0:n?a:a||0:a),disabled:!!G&&!!h||void 0,contentEditable:f?void 0:c.contentEditable,onKeyPressCapture:A,onClickCapture:B,onMouseDownCapture:g,onMouseDown:y,onKeyDownCapture:E,onFocusCapture:F,onBlur:T},iF(c)});function aT(e){let t=[];for(let r of e)t.push(...r);return t}function aw(e){return e.slice().reverse()}function aR(e,t,r){return iN(n=>{var i;if(null==t||t(n),n.defaultPrevented||n.isPropagationStopped()||!iG(n)||"Shift"===n.key||"Control"===n.key||"Alt"===n.key||"Meta"===n.key||function(e){let t=e.target;return(!t||!!iu(t))&&1===e.key.length&&!e.ctrlKey&&!e.metaKey}(n))return;let a=e.getState(),o=null==(i=iA(e,a.activeId))?void 0:i.element;if(!o)return;let{view:s,...l}=n;o!==(null==r?void 0:r.current)&&o.focus(),!function(e,t,r){let n=new KeyboardEvent(t,r);return e.dispatchEvent(n)}(o,n.type,l)&&n.preventDefault(),n.currentTarget.contains(o)&&n.stopPropagation()})}i2(function(e){return i3("div",aS(e))});var aI=i5(function(e){let{store:t,composite:r=!0,focusOnMove:n=r,moveOnKeyPress:i=!0,...a}=e,o=ar();iM(t=t||o,!1);let s=(0,el.useRef)(null),l=(0,el.useRef)(null),u=function(e){let[t,r]=(0,el.useState)(!1),n=(0,el.useCallback)(()=>r(!0),[]),i=e.useState(t=>iA(e,t.activeId));return(0,el.useEffect)(()=>{let e=null==i?void 0:i.element;t&&e&&(r(!1),e.focus({preventScroll:!0}))},[i,t]),n}(t),c=t.useState("moves"),[,d]=function(e){let[t,r]=(0,el.useState)(null);return iJ(()=>{if(null==t||!e)return;let r=null;return e(e=>(r=e,t)),()=>{e(r)}},[t,e]),[t,r]}(r?t.setBaseElement:null);(0,el.useEffect)(()=>{var e;if(!t||!c||!r||!n)return;let{activeId:i}=t.getState(),a=null==(e=iA(t,i))?void 0:e.element;a&&("scrollIntoView"in a?(a.focus({preventScroll:!0}),a.scrollIntoView({block:"nearest",inline:"nearest",...void 0})):a.focus())},[t,c,r,n]),iJ(()=>{if(!t||!c||!r)return;let{baseElement:e,activeId:n}=t.getState();if(null!==n||!e)return;let i=l.current;l.current=null,i&&iL(i,{relatedTarget:e}),ap(e)||e.focus()},[t,c,r]);let f=t.useState("activeId"),h=t.useState("virtualFocus");iJ(()=>{var e;if(!t||!r||!h)return;let n=l.current;if(l.current=null,!n)return;let i=(null==(e=iA(t,f))?void 0:e.element)||ir(n);i!==n&&iL(n,{relatedTarget:i})},[t,f,h,r]);let m=aR(t,a.onKeyDownCapture,l),p=aR(t,a.onKeyUpCapture,l),A=a.onFocusCapture,g=iN(e=>{if(null==A||A(e),e.defaultPrevented||!t)return;let{virtualFocus:r}=t.getState();if(!r)return;let n=e.relatedTarget,i=function(e){let t=e[ig];return delete e[ig],t}(e.currentTarget);iG(e)&&i&&(e.stopPropagation(),l.current=n)}),B=a.onFocus,C=iN(e=>{if(null==B||B(e),e.defaultPrevented||!r||!t)return;let{relatedTarget:n}=e,{virtualFocus:i}=t.getState();i?iG(e)&&!iv(t,n)&&queueMicrotask(u):iG(e)&&t.setActiveId(null)}),y=a.onBlurCapture,b=iN(e=>{var r;if(null==y||y(e),e.defaultPrevented||!t)return;let{virtualFocus:n,activeId:i}=t.getState();if(!n)return;let a=null==(r=iA(t,i))?void 0:r.element,o=e.relatedTarget,s=iv(t,o),u=l.current;l.current=null,iG(e)&&s?(o===a?u&&u!==o&&iL(u,e):a?iL(a,e):u&&iL(u,e),e.stopPropagation()):!iv(t,e.target)&&a&&iL(a,e)}),M=a.onKeyDown,E=iX(i),x=iN(e=>{var r;if(null==M||M(e),e.nativeEvent.isComposing||e.defaultPrevented||!t||!iG(e))return;let{orientation:n,renderedItems:i,activeId:a}=t.getState(),o=iA(t,a);if(null==(r=null==o?void 0:o.element)?void 0:r.isConnected)return;let s="horizontal"!==n,l="vertical"!==n,u=i.some(e=>!!e.rowId);if(("ArrowLeft"===e.key||"ArrowRight"===e.key||"Home"===e.key||"End"===e.key)&&iu(e.currentTarget))return;let c={ArrowUp:(u||s)&&(()=>{if(u){let e=aT(aw(function(e){let t=[];for(let r of e){let e=t.find(e=>{var t;return(null==(t=e[0])?void 0:t.rowId)===r.rowId});e?e.push(r):t.push([r])}return t}(i))).find(e=>!e.disabled);return null==e?void 0:e.id}return null==t?void 0:t.last()}),ArrowRight:(u||l)&&t.first,ArrowDown:(u||s)&&t.first,ArrowLeft:(u||l)&&t.last,Home:t.first,End:t.last,PageUp:t.first,PageDown:t.last}[e.key];if(c){let r=c();if(void 0!==r){if(!E(e))return;e.preventDefault(),t.move(r)}}});return a=iq(a,e=>(0,es.jsx)(an,{value:t,children:e}),[t]),a={"aria-activedescendant":t.useState(e=>{var n;if(t&&r&&e.virtualFocus)return null==(n=iA(t,e.activeId))?void 0:n.id}),...a,ref:iK(s,d,a.ref),onKeyDownCapture:m,onKeyUpCapture:p,onFocusCapture:g,onFocus:C,onBlurCapture:b,onKeyDown:x},a=aS({focusable:t.useState(e=>r&&(e.virtualFocus||null===e.activeId)),...a})});i2(function(e){return i3("div",aI(e))});var aD=i6();aD.useContext,aD.useScopedContext;var aG=aD.useProviderContext,aL=i6([aD.ContextProvider],[aD.ScopedContextProvider]);aL.useContext,aL.useScopedContext;var aP=aL.useProviderContext,aH=aL.ContextProvider,aO=aL.ScopedContextProvider,ak=(0,el.createContext)(void 0),a_=(0,el.createContext)(void 0),aU=i6([aH],[aO]);aU.useContext,aU.useScopedContext;var aj=aU.useProviderContext,aJ=aU.ContextProvider,aN=aU.ScopedContextProvider,aK=i5(function(e){let{store:t,...r}=e,n=aj();return t=t||n,r={...r,ref:iK(null==t?void 0:t.setAnchorElement,r.ref)}});i2(function(e){return i3("div",aK(e))});var aQ=(0,el.createContext)(void 0),aW=i6([aJ,an],[aN,ai]),aV=aW.useContext,aX=aW.useScopedContext,aq=aW.useProviderContext,aY=aW.ContextProvider,aZ=aW.ScopedContextProvider,az=(0,el.createContext)(void 0),a$=(0,el.createContext)(!1);function a0(e,t){let r=e.__unstableInternals;return iM(r,"Invalid store"),r[t]}function a1(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n2&&void 0!==arguments[2]?arguments[2]:d;return r.add(t),m.set(t,e),()=>{var e;null==(e=h.get(t))||e(),h.delete(t),m.delete(t),r.delete(t)}},A=function(e,t){var n,s;let l=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!iC(i,e))return;let c=(s=i[e],"function"==typeof t?t("function"==typeof s?s():s):t);if(c===i[e])return;if(!l)for(let t of r)null==(n=null==t?void 0:t.setState)||n.call(t,e,c);let p=i;i={...i,[e]:c};let A=Symbol();o=A,u.add(e);let g=(t,r,n)=>{var a;let o=m.get(t);(!o||o.some(t=>n?n.has(t):t===e))&&(null==(a=h.get(t))||a(),h.set(t,t(i,r)))};for(let e of d)g(e,p);queueMicrotask(()=>{if(o!==A)return;let e=i;for(let e of f)g(e,a,u);a=e,u.clear()})},g={getState:()=>i,setState:A,__unstableInternals:{setup:e=>(c.add(e),()=>c.delete(e)),init:()=>{let e=l.size,t=Symbol();l.add(t);let n=()=>{l.delete(t),l.size||s()};if(e)return n;let a=Object.keys(i).map(e=>iy(...r.map(t=>{var r;let n=null==(r=null==t?void 0:t.getState)?void 0:r.call(t);if(n&&iC(n,e))return a3(t,[e],t=>{A(e,t[e],!0)})}))),o=[];for(let e of c)o.push(e());return s=iy(...a,...o,...r.map(a2)),n},subscribe:(e,t)=>p(e,t),sync:(e,t)=>(h.set(t,t(i,i)),p(e,t)),batch:(e,t)=>(h.set(t,t(i,a)),p(e,t,f)),pick:e=>a1(function(e,t){let r={};for(let n of t)iC(e,n)&&(r[n]=e[n]);return r}(i,e),g),omit:e=>a1(function(e,t){let r={...e};for(let e of t)iC(r,e)&&delete r[e];return r}(i,e),g)}};return g}function a9(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n1?t-1:0),n=1;n1?t-1:0),n=1;n1?t-1:0),n=1;n1?t-1:0),n=1;n1?t-1:0),n=1;n!e.disabled&&e.value);return(null==n?void 0:n.value)===t}function ot(e,t){return!!t&&null!=e&&(e=e.normalize("NFD").replace(/[\u0300-\u036f]/g,""),t.length>e.length&&0===t.toLowerCase().indexOf(e.toLowerCase()))}var or=i5(function(e){let{store:t,focusable:r=!0,autoSelect:n=!1,getAutoSelectId:i,setValueOnChange:a,showMinLength:o=0,showOnChange:s,showOnMouseDown:l,showOnClick:u=l,showOnKeyDown:c,showOnKeyPress:d=c,blurActiveItemOnClick:f,setValueOnClick:h=!0,moveOnKeyPress:m=!0,autoComplete:p="list",...A}=e,g=aq();iM(t=t||g,!1);let B=(0,el.useRef)(null),[C,y]=iV(),b=(0,el.useRef)(!1),M=(0,el.useRef)(!1),E=t.useState(e=>e.virtualFocus&&n),x="inline"===p||"both"===p,[F,S]=(0,el.useState)(x);!function(e,t){let r=(0,el.useRef)(!1);iJ(()=>{if(r.current)return e();r.current=!0},t),iJ(()=>()=>{r.current=!1},[])}(()=>{x&&S(!0)},[x]);let T=t.useState("value"),w=(0,el.useRef)();(0,el.useEffect)(()=>a3(t,["selectedValue","activeId"],(e,t)=>{w.current=t.selectedValue}),[]);let R=t.useState(e=>{var t;if(x&&F){if(e.activeValue&&Array.isArray(e.selectedValue)&&(e.selectedValue.includes(e.activeValue)||(null==(t=w.current)?void 0:t.includes(e.activeValue))))return;return e.activeValue}}),I=t.useState("renderedItems"),D=t.useState("open"),G=t.useState("contentElement"),L=(0,el.useMemo)(()=>{if(!x||!F)return T;if(oe(I,R,E)){if(ot(T,R)){let e=(null==R?void 0:R.slice(T.length))||"";return T+e}return T}return R||T},[x,F,I,R,E,T]);(0,el.useEffect)(()=>{let e=B.current;if(!e)return;let t=()=>S(!0);return e.addEventListener("combobox-item-move",t),()=>{e.removeEventListener("combobox-item-move",t)}},[]),(0,el.useEffect)(()=>{if(!x||!F||!R||!oe(I,R,E)||!ot(T,R))return;let e=iB;return queueMicrotask(()=>{let t=B.current;if(!t)return;let{start:r,end:n}=id(t),i=T.length,a=R.length;ip(t,i,a),e=()=>{if(!ap(t))return;let{start:e,end:o}=id(t);e===i&&o===a&&ip(t,r,n)}}),()=>e()},[C,x,F,R,I,E,T]);let P=(0,el.useRef)(null),H=iN(i),O=(0,el.useRef)(null);(0,el.useEffect)(()=>{if(!D||!G)return;let e=im(G);if(!e)return;P.current=e;let r=()=>{b.current=!1},n=()=>{if(!t||!b.current)return;let{activeId:e}=t.getState();null!==e&&e!==O.current&&(b.current=!1)},i={passive:!0,capture:!0};return e.addEventListener("wheel",r,i),e.addEventListener("touchmove",r,i),e.addEventListener("scroll",n,i),()=>{e.removeEventListener("wheel",r,!0),e.removeEventListener("touchmove",r,!0),e.removeEventListener("scroll",n,!0)}},[D,G,t]),iJ(()=>{T&&(M.current||(b.current=!0))},[T]),iJ(()=>{"always"!==E&&D||(b.current=D)},[E,D]);let k=t.useState("resetValueOnSelect");iW(()=>{var e,r;let n=b.current;if(!t||!D||!n&&!k)return;let{baseElement:i,contentElement:a,activeId:o}=t.getState();if(!i||ap(i)){if(null==a?void 0:a.hasAttribute("data-placing")){let e=new MutationObserver(y);return e.observe(a,{attributeFilter:["data-placing"]}),()=>e.disconnect()}if(E&&n){let r=H(I),n=void 0!==r?r:null!=(e=function(e){let t=e.find(e=>{var t;return!e.disabled&&(null==(t=e.element)?void 0:t.getAttribute("role"))!=="tab"});return null==t?void 0:t.id}(I))?e:t.first();O.current=n,t.move(null!=n?n:null)}else{let e=null==(r=t.item(o||t.first()))?void 0:r.element;e&&"scrollIntoView"in e&&e.scrollIntoView({block:"nearest",inline:"nearest"})}}},[t,D,C,T,E,k,H,I]),(0,el.useEffect)(()=>{if(!x)return;let e=B.current;if(!e)return;let r=[e,G].filter(e=>!!e),n=e=>{r.every(t=>iH(e,t))&&(null==t||t.setValue(L))};for(let e of r)e.addEventListener("focusout",n);return()=>{for(let e of r)e.removeEventListener("focusout",n)}},[x,G,t,L]);let _=e=>e.currentTarget.value.length>=o,U=A.onChange,j=iX(null!=s?s:_),J=iX(null!=a?a:!t.tag),N=iN(e=>{if(null==U||U(e),e.defaultPrevented||!t)return;let r=e.currentTarget,{value:n,selectionStart:i,selectionEnd:a}=r,o=e.nativeEvent;if(b.current=!0,"input"===o.type&&(o.isComposing&&(b.current=!1,M.current=!0),x)){let e="insertText"===o.inputType||"insertCompositionText"===o.inputType,t=i===n.length;S(e&&t)}if(J(e)){let e=n===t.getState().value;t.setValue(n),queueMicrotask(()=>{ip(r,i,a)}),x&&E&&e&&y()}j(e)&&t.show(),E&&b.current||t.setActiveId(null)}),K=A.onCompositionEnd,Q=iN(e=>{b.current=!0,M.current=!1,null==K||K(e),!e.defaultPrevented&&E&&y()}),W=A.onMouseDown,V=iX(null!=f?f:()=>!!(null==t?void 0:t.getState().includesBaseElement)),X=iX(h),q=iX(null!=u?u:_),Y=iN(e=>{null==W||W(e),e.defaultPrevented||e.button||e.ctrlKey||t&&(V(e)&&t.setActiveId(null),X(e)&&t.setValue(L),q(e)&&iO(e.currentTarget,"mouseup",t.show))}),Z=A.onKeyDown,z=iX(null!=d?d:_),$=iN(e=>{if(null==Z||Z(e),e.repeat||(b.current=!1),e.defaultPrevented||e.ctrlKey||e.altKey||e.shiftKey||e.metaKey||!t)return;let{open:r}=t.getState();!r&&("ArrowUp"===e.key||"ArrowDown"===e.key)&&z(e)&&(e.preventDefault(),t.show())}),ee=A.onBlur,et=iN(e=>{if(b.current=!1,null==ee||ee(e),e.defaultPrevented)return}),er=iQ(A.id),en=t.useState(e=>null===e.activeId);return A={id:er,role:"combobox","aria-autocomplete":"inline"===p||"list"===p||"both"===p||"none"===p?p:void 0,"aria-haspopup":ih(G,"listbox"),"aria-expanded":D,"aria-controls":null==G?void 0:G.id,"data-active-item":en||void 0,value:L,...A,ref:iK(B,A.ref),onChange:N,onCompositionEnd:Q,onMouseDown:Y,onKeyDown:$,onBlur:et},A=aI({store:t,focusable:r,...A,moveOnKeyPress:e=>!iE(m,e)&&(x&&S(!0),!0)}),{autoComplete:"off",...A=aK({store:t,...A})}}),on=i2(function(e){return i3("input",or(e))});function oi(e){let t=e.relatedTarget;return(null==t?void 0:t.nodeType)===Node.ELEMENT_NODE?t:null}var oa=Symbol("composite-hover"),oo=i5(function(e){let{store:t,focusOnHover:r=!0,blurOnHoverEnd:n=!!r,...i}=e,a=at();iM(t=t||a,!1);let o=((0,el.useEffect)(()=>{iZ||(ik("mousemove",i1,!0),ik("mousedown",i9,!0),ik("mouseup",i9,!0),ik("keydown",i9,!0),ik("scroll",i9,!0),iZ=!0)},[]),iN(()=>iz)),s=i.onMouseMove,l=iX(r),u=iN(e=>{if((null==s||s(e),!e.defaultPrevented&&o())&&l(e)){if(!aA(e.currentTarget)){let e=null==t?void 0:t.getState().baseElement;e&&!ap(e)&&e.focus()}null==t||t.setActiveId(e.currentTarget.id)}}),c=i.onMouseLeave,d=iX(n),f=iN(e=>{var r;null==c||c(e),!(e.defaultPrevented||!o()||function(e){let t=oi(e);return!!t&&ii(e.currentTarget,t)}(e)||function(e){let t=oi(e);if(!t)return!1;do{if(iC(t,oa)&&t[oa])return!0;t=t.parentElement}while(t)return!1}(e))&&l(e)&&d(e)&&(null==t||t.setActiveId(null),null==(r=null==t?void 0:t.getState().baseElement)||r.focus())}),h=(0,el.useCallback)(e=>{e&&(e[oa]=!0)},[]);return iF(i={...i,ref:iK(h,i.ref),onMouseMove:u,onMouseLeave:f})});i8(i2(function(e){return i3("div",oo(e))}));var os=i5(function(e){let{store:t,shouldRegisterItem:r=!0,getItem:n=ib,element:i,...a}=e,o=i7();t=t||o;let s=iQ(a.id),l=(0,el.useRef)(i);return(0,el.useEffect)(()=>{let e=l.current;if(!s||!e||!r)return;let i=n({id:s,element:e});return null==t?void 0:t.renderItem(i)},[s,r,n,t]),iF(a={...a,ref:iK(l,a.ref)})});function ol(e){if(!e.isTrusted)return!1;let t=e.currentTarget;return"Enter"===e.key?io(t)||"SUMMARY"===t.tagName||"A"===t.tagName:" "===e.key&&(io(t)||"SUMMARY"===t.tagName||"INPUT"===t.tagName||"SELECT"===t.tagName)}i2(function(e){return i3("div",os(e))});var ou=Symbol("command"),oc=i5(function(e){let{clickOnEnter:t=!0,clickOnSpace:r=!0,...n}=e,i=(0,el.useRef)(null),[a,o]=(0,el.useState)(!1);(0,el.useEffect)(()=>{i.current&&o(io(i.current))},[]);let[s,l]=(0,el.useState)(!1),u=(0,el.useRef)(!1),c=ix(n),[d,f]=function(e,t,r){let n=e.onLoadedMetadataCapture,i=(0,el.useMemo)(()=>Object.assign(()=>{},{...n,[t]:r}),[n,t,r]);return[null==n?void 0:n[t],{onLoadedMetadataCapture:i}]}(n,ou,!0),h=n.onKeyDown,m=iN(e=>{null==h||h(e);let n=e.currentTarget;if(e.defaultPrevented||d||c||!iG(e)||iu(n)||n.isContentEditable)return;let i=t&&"Enter"===e.key,a=r&&" "===e.key,o="Enter"===e.key&&!t,s=" "===e.key&&!r;if(o||s)return void e.preventDefault();if(i||a){let t=ol(e);if(i){if(!t){e.preventDefault();let{view:t,...r}=e,i=()=>iP(n,r);n7&&/firefox\//i.test(navigator.userAgent)?iO(n,"keyup",i):queueMicrotask(i)}}else a&&(u.current=!0,t||(e.preventDefault(),l(!0)))}}),p=n.onKeyUp,A=iN(e=>{if(null==p||p(e),e.defaultPrevented||d||c||e.metaKey)return;let t=r&&" "===e.key;if(u.current&&t&&(u.current=!1,!ol(e))){e.preventDefault(),l(!1);let t=e.currentTarget,{view:r,...n}=e;queueMicrotask(()=>iP(t,n))}});return aS(n={"data-active":s||void 0,type:a?"button":void 0,...f,...n,ref:iK(i,n.ref),onKeyDown:m,onKeyUp:A})});i2(function(e){return i3("button",oc(e))});var{useSyncExternalStore:od}=e.i(2239).default,of=()=>()=>{};function oh(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ib,r=el.useCallback(t=>e?a8(e,null,t):of(),[e]),n=()=>{let r="string"==typeof t?t:null,n="function"==typeof t?t:null,i=null==e?void 0:e.getState();return n?n(i):i&&r&&iC(i,r)?i[r]:void 0};return od(r,n,n)}function om(e,t){let r=el.useRef({}),n=el.useCallback(t=>e?a8(e,null,t):of(),[e]),i=()=>{let n=null==e?void 0:e.getState(),i=!1,a=r.current;for(let e in t){let r=t[e];if("function"==typeof r){let t=r(n);t!==a[e]&&(a[e]=t,i=!0)}if("string"==typeof r){if(!n||!iC(n,r))continue;let t=n[r];t!==a[e]&&(a[e]=t,i=!0)}}return i&&(r.current={...a}),r.current};return od(n,i,i)}function op(e,t,r,n){let i=iC(t,r)?t[r]:void 0,a=function(e){let t=(0,el.useRef)(e);return iJ(()=>{t.current=e}),t}({value:i,setValue:n?t[n]:void 0});iJ(()=>a3(e,[r],(e,t)=>{let{value:n,setValue:i}=a.current;i&&e[r]!==t[r]&&e[r]!==n&&i(e[r])}),[e,r]),iJ(()=>{if(void 0!==i)return e.setState(r,i),a5(e,[r],()=>{void 0!==i&&e.setState(r,i)})})}function oA(e,t){let[r,n]=el.useState(()=>e(t));iJ(()=>a2(r),[r]);let i=el.useCallback(e=>oh(r,e),[r]);return[el.useMemo(()=>({...r,useState:i}),[r,i]),iN(()=>{n(r=>e({...t,...r.getState()}))})]}function og(e,t,r){var n;let i,a,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!t||!r)return;let{renderedItems:s}=t.getState(),l=im(e);if(!l)return;let u=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.clientHeight,{top:n}=e.getBoundingClientRect(),i=1.5*Math.max(.875*r,r-40),a=t?r-i+n:i+n;return"HTML"===e.tagName?a+e.scrollTop:a}(l,o);for(let e=0;e1&&void 0!==arguments[1]&&arguments[1],{top:r}=e.getBoundingClientRect();return t?r+e.clientHeight:r}(l,o)-u,d=Math.abs(c);if(o&&c<=0||!o&&c>=0){void 0!==a&&ar||(e&&(null==h?void 0:h.baseElement)&&h.baseElement===e.baseElement?h.id:void 0),baseElement:e=>(null==e?void 0:e.baseElement)||void 0,isActiveItem:e=>!!e&&e.activeId===d,ariaSetSize:e=>null!=s?s:e&&(null==h?void 0:h.ariaSetSize)&&h.baseElement===e.baseElement?h.ariaSetSize:void 0,ariaPosInSet(e){if(null!=l)return l;if(!e||!(null==h?void 0:h.ariaPosInSet)||h.baseElement!==e.baseElement)return;let t=e.renderedItems.filter(e=>e.rowId===p);return h.ariaPosInSet+t.findIndex(e=>e.id===d)},isTabbable(e){if(!(null==e?void 0:e.renderedItems.length))return!0;if(e.virtualFocus)return!1;if(a)return!0;if(null===e.activeId)return!1;let r=null==t?void 0:t.item(e.activeId);return null!=r&&!!r.disabled||null==r||!r.element||e.activeId===d}}),b=(0,el.useCallback)(e=>{var t;let r={...e,id:d||e.id,rowId:p,disabled:!!m,children:null==(t=e.element)?void 0:t.textContent};return o?o(r):r},[d,p,m,o]),M=u.onFocus,E=(0,el.useRef)(!1),x=iN(e=>{var r,n;if(null==M||M(e),e.defaultPrevented||iD(e)||!d||!t||(r=t,!iG(e)&&iv(r,e.target)))return;let{virtualFocus:i,baseElement:a}=t.getState();if(t.setActiveId(d),ic(e.currentTarget)&&function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(iu(e))e.setSelectionRange(t?e.value.length:0,e.value.length);else if(e.isContentEditable){let r=ie(e).getSelection();null==r||r.selectAllChildren(e),t&&(null==r||r.collapseToEnd())}}(e.currentTarget),i&&iG(e))!ic(n=e.currentTarget)&&("INPUT"!==n.tagName||io(n))&&(null==a?void 0:a.isConnected)&&((iI()&&e.currentTarget.hasAttribute("data-autofocus")&&e.currentTarget.scrollIntoView({block:"nearest",inline:"nearest"}),E.current=!0,e.relatedTarget===a||iv(t,e.relatedTarget))?(a[ig]=!0,a.focus({preventScroll:!0})):a.focus())}),F=u.onBlurCapture,S=iN(e=>{if(null==F||F(e),e.defaultPrevented)return;let r=null==t?void 0:t.getState();(null==r?void 0:r.virtualFocus)&&E.current&&(E.current=!1,e.preventDefault(),e.stopPropagation())}),T=u.onKeyDown,w=iX(n),R=iX(i),I=iN(e=>{if(null==T||T(e),e.defaultPrevented||!iG(e)||!t)return;let{currentTarget:r}=e,n=t.getState(),i=t.item(d),a=!!(null==i?void 0:i.rowId),o="horizontal"!==n.orientation,s="vertical"!==n.orientation,l=()=>!(!a&&!s&&n.baseElement&&iu(n.baseElement)),u={ArrowUp:(a||o)&&t.up,ArrowRight:(a||s)&&t.next,ArrowDown:(a||o)&&t.down,ArrowLeft:(a||s)&&t.previous,Home:()=>{if(l())return!a||e.ctrlKey?null==t?void 0:t.first():null==t?void 0:t.previous(-1)},End:()=>{if(l())return!a||e.ctrlKey?null==t?void 0:t.last():null==t?void 0:t.next(-1)},PageUp:()=>og(r,t,null==t?void 0:t.up,!0),PageDown:()=>og(r,t,null==t?void 0:t.down)}[e.key];if(u){if(ic(r)){let t=id(r),n=s&&"ArrowLeft"===e.key,i=s&&"ArrowRight"===e.key,a=o&&"ArrowUp"===e.key,l=o&&"ArrowDown"===e.key;if(i||l){let{length:e}=function(e){if(iu(e))return e.value;if(e.isContentEditable){let t=ie(e).createRange();return t.selectNodeContents(e),t.toString()}return""}(r);if(t.end!==e)return}else if((n||a)&&0!==t.start)return}let n=u();if(w(e)||void 0!==n){if(!R(e))return;e.preventDefault(),t.move(n)}}}),D=(0,el.useMemo)(()=>({id:d,baseElement:A}),[d,A]);return u={id:d,"data-active-item":g||void 0,...u=iq(u,e=>(0,es.jsx)(aa.Provider,{value:D,children:e}),[D]),ref:iK(f,u.ref),tabIndex:y?u.tabIndex:-1,onFocus:x,onBlurCapture:S,onKeyDown:I},u=oc(u),iF({...u=os({store:t,...u,getItem:b,shouldRegisterItem:!!d&&u.shouldRegisterItem}),"aria-setsize":B,"aria-posinset":C})});i8(i2(function(e){return i3("button",ov(e))}));var oB=i5(function(e){var t,r;let{store:n,value:i,hideOnClick:a,setValueOnClick:o,selectValueOnClick:s=!0,resetValueOnSelect:l,focusOnHover:u=!1,moveOnKeyPress:c=!0,getItem:d,...f}=e,h=aX();iM(n=n||h,!1);let{resetValueOnSelectState:m,multiSelectable:p,selected:A}=om(n,{resetValueOnSelectState:"resetValueOnSelect",multiSelectable:e=>Array.isArray(e.selectedValue),selected:e=>(function(e,t){if(null!=t)return null!=e&&(Array.isArray(e)?e.includes(t):e===t)})(e.selectedValue,i)}),g=(0,el.useCallback)(e=>{let t={...e,value:i};return d?d(t):t},[i,d]);o=null!=o?o:!p,a=null!=a?a:null!=i&&!p;let B=f.onClick,C=iX(o),y=iX(s),b=iX(null!=(t=null!=l?l:m)?t:p),M=iX(a),E=iN(e=>{null==B||B(e),!(e.defaultPrevented||function(e){let t=e.currentTarget;if(!t)return!1;let r=t.tagName.toLowerCase();return!!e.altKey&&("a"===r||"button"===r&&"submit"===t.type||"input"===r&&"submit"===t.type)}(e))&&!function(e){let t=e.currentTarget;if(!t)return!1;let r=iR();if(r&&!e.metaKey||!r&&!e.ctrlKey)return!1;let n=t.tagName.toLowerCase();return"a"===n||"button"===n&&"submit"===t.type||"input"===n&&"submit"===t.type}(e)&&(null!=i&&(y(e)&&(b(e)&&(null==n||n.resetValue()),null==n||n.setSelectedValue(e=>Array.isArray(e)?e.includes(i)?e.filter(e=>e!==i):[...e,i]:i)),C(e)&&(null==n||n.setValue(i))),M(e)&&(null==n||n.hide()))}),x=f.onKeyDown,F=iN(e=>{if(null==x||x(e),e.defaultPrevented)return;let t=null==n?void 0:n.getState().baseElement;!(!t||ap(t))&&(1===e.key.length||"Backspace"===e.key||"Delete"===e.key)&&(queueMicrotask(()=>t.focus()),iu(t)&&(null==n||n.setValue(t.value)))});p&&null!=A&&(f={"aria-selected":A,...f}),f=iq(f,e=>(0,es.jsx)(az.Provider,{value:i,children:(0,es.jsx)(a$.Provider,{value:null!=A&&A,children:e})}),[i,A]),f={role:null!=(r=({menu:"menuitem",listbox:"option",tree:"treeitem"})[(0,el.useContext)(aQ)])?r:"option",children:i,...f,onClick:E,onKeyDown:F};let S=iX(c);return f=ov({store:n,...f,getItem:g,moveOnKeyPress:e=>{if(!S(e))return!1;let t=new Event("combobox-item-move"),r=null==n?void 0:n.getState().baseElement;return null==r||r.dispatchEvent(t),!0}}),f=oo({store:n,focusOnHover:u,...f})}),oC=i8(i2(function(e){return i3("div",oB(e))})),oy=e.i(74080);function ob(e,t){let r=setTimeout(t,e);return()=>clearTimeout(r)}function oM(){for(var e=arguments.length,t=Array(e),r=0;r{let r=t.endsWith("ms")?1:1e3,n=Number.parseFloat(t||"0s")*r;return n>e?n:e},0)}function oE(e,t,r){return!r&&!1!==t&&(!e||!!t)}var ox=i5(function(e){let{store:t,alwaysVisible:r,...n}=e,i=aG();iM(t=t||i,!1);let a=(0,el.useRef)(null),o=iQ(n.id),[s,l]=(0,el.useState)(null),u=t.useState("open"),c=t.useState("mounted"),d=t.useState("animated"),f=t.useState("contentElement"),h=oh(t.disclosure,"contentElement");iJ(()=>{a.current&&(null==t||t.setContentElement(a.current))},[t]),iJ(()=>{let e;return null==t||t.setState("animated",t=>(e=t,!0)),()=>{void 0!==e&&(null==t||t.setState("animated",e))}},[t]),iJ(()=>{if(d){var e;let t;return(null==f?void 0:f.isConnected)?(e=()=>{l(u?"enter":c?"leave":null)},t=requestAnimationFrame(()=>{t=requestAnimationFrame(e)}),()=>cancelAnimationFrame(t)):void l(null)}},[d,f,u,c]),iJ(()=>{if(!t||!d||!s||!f)return;let e=()=>null==t?void 0:t.setState("animating",!1),r=()=>(0,oy.flushSync)(e);if("leave"===s&&u||"enter"===s&&!u)return;if("number"==typeof d)return ob(d,r);let{transitionDuration:n,animationDuration:i,transitionDelay:a,animationDelay:o}=getComputedStyle(f),{transitionDuration:l="0",animationDuration:c="0",transitionDelay:m="0",animationDelay:p="0"}=h?getComputedStyle(h):{},A=oM(a,o,m,p)+oM(n,i,l,c);if(!A){"enter"===s&&t.setState("animated",!1),e();return}return ob(Math.max(A-1e3/60,0),r)},[t,d,f,h,u,s]);let m=oE(c,(n=iq(n,e=>(0,es.jsx)(aO,{value:t,children:e}),[t])).hidden,r),p=n.style,A=(0,el.useMemo)(()=>m?{...p,display:"none"}:p,[m,p]);return iF(n={id:o,"data-open":u||void 0,"data-enter":"enter"===s||void 0,"data-leave":"leave"===s||void 0,hidden:m,...n,ref:iK(o?t.setContentElement:null,a,n.ref),style:A})}),oF=i2(function(e){return i3("div",ox(e))});i2(function(e){let{unmountOnHide:t,...r}=e,n=aG();return!1===oh(r.store||n,e=>!t||(null==e?void 0:e.mounted))?null:(0,es.jsx)(oF,{...r})});var oS=i5(function(e){let{store:t,alwaysVisible:r,...n}=e,i=aX(!0),a=aV(),o=!!(t=t||a)&&t===i;iM(t,!1);let s=(0,el.useRef)(null),l=iQ(n.id),u=t.useState("mounted"),c=oE(u,n.hidden,r),d=c?{...n.style,display:"none"}:n.style,f=t.useState(e=>Array.isArray(e.selectedValue)),h=function(e,t,r){let n=function(e){let[t]=(0,el.useState)(e);return t}(r),[i,a]=(0,el.useState)(n);return(0,el.useEffect)(()=>{let r=e&&"current"in e?e.current:e;if(!r)return;let i=()=>{let e=r.getAttribute(t);a(null==e?n:e)},o=new MutationObserver(i);return o.observe(r,{attributeFilter:[t]}),i(),()=>o.disconnect()},[e,t,n]),i}(s,"role",n.role),m="listbox"===h||"tree"===h||"grid"===h,[p,A]=(0,el.useState)(!1),g=t.useState("contentElement");iJ(()=>{if(!u)return;let e=s.current;if(!e||g!==e)return;let t=()=>{A(!!e.querySelector("[role='listbox']"))},r=new MutationObserver(t);return r.observe(e,{subtree:!0,childList:!0,attributeFilter:["role"]}),t(),()=>r.disconnect()},[u,g]),p||(n={role:"listbox","aria-multiselectable":m&&f||void 0,...n}),n=iq(n,e=>(0,es.jsx)(aZ,{value:t,children:(0,es.jsx)(aQ.Provider,{value:h,children:e})}),[t,h]);let B=!l||i&&o?null:t.setContentElement;return iF(n={id:l,hidden:c,...n,ref:iK(B,s,n.ref),style:d})}),oT=i2(function(e){return i3("div",oS(e))}),ow=(0,el.createContext)(null),oR=i5(function(e){return{...e,style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px",...e.style}}});i2(function(e){return i3("span",oR(e))});var oI=i5(function(e){return oR(e={"data-focus-trap":"",tabIndex:0,"aria-hidden":!0,...e,style:{position:"fixed",top:0,left:0,...e.style}})}),oD=i2(function(e){return i3("span",oI(e))});function oG(e){queueMicrotask(()=>{null==e||e.focus()})}var oL=i5(function(e){let{preserveTabOrder:t,preserveTabOrderAnchor:r,portalElement:n,portalRef:i,portal:a=!0,...o}=e,s=(0,el.useRef)(null),l=iK(s,o.ref),u=(0,el.useContext)(ow),[c,d]=(0,el.useState)(null),[f,h]=(0,el.useState)(null),m=(0,el.useRef)(null),p=(0,el.useRef)(null),A=(0,el.useRef)(null),g=(0,el.useRef)(null);return iJ(()=>{let e=s.current;if(!e||!a)return void d(null);let t=n?"function"==typeof n?n(e):n:ie(e).createElement("div");if(!t)return void d(null);let r=t.isConnected;if(r||(u||ie(e).body).appendChild(t),t.id||(t.id=e.id?"portal/".concat(e.id):function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"id";return"".concat(e?"".concat(e,"-"):"").concat(Math.random().toString(36).slice(2,8))}()),d(t),iT(i,t),!r)return()=>{t.remove(),iT(i,null)}},[a,n,u,i]),iJ(()=>{if(!a||!t||!r)return;let e=ie(r).createElement("span");return e.style.position="fixed",r.insertAdjacentElement("afterend",e),h(e),()=>{e.remove(),h(null)}},[a,t,r]),(0,el.useEffect)(()=>{if(!c||!t)return;let e=0,r=t=>{if(!iH(t))return;let r="focusin"===t.type;if(cancelAnimationFrame(e),r){let e=c.querySelectorAll("[data-tabindex]"),t=e=>{let t=e.getAttribute("data-tabindex");e.removeAttribute("data-tabindex"),t?e.setAttribute("tabindex",t):e.removeAttribute("tabindex")};for(let r of(c.hasAttribute("data-tabindex")&&t(c),e))t(r);return}e=requestAnimationFrame(()=>{for(let e of af(c,!0))!function(e){var t;let r=null!=(t=e.getAttribute("tabindex"))?t:"";e.setAttribute("data-tabindex",r),e.setAttribute("tabindex","-1")}(e)})};return c.addEventListener("focusin",r,!0),c.addEventListener("focusout",r,!0),()=>{cancelAnimationFrame(e),c.removeEventListener("focusin",r,!0),c.removeEventListener("focusout",r,!0)}},[c,t]),o={...o=iq(o,e=>{if(e=(0,es.jsx)(ow.Provider,{value:c||u,children:e}),!a)return e;if(!c)return(0,es.jsx)("span",{ref:l,id:o.id,style:{position:"fixed"},hidden:!0});e=(0,es.jsxs)(es.Fragment,{children:[t&&c&&(0,es.jsx)(oD,{ref:p,"data-focus-trap":o.id,className:"__focus-trap-inner-before",onFocus:e=>{iH(e,c)?oG(ah()):oG(m.current)}}),e,t&&c&&(0,es.jsx)(oD,{ref:A,"data-focus-trap":o.id,className:"__focus-trap-inner-after",onFocus:e=>{iH(e,c)?oG(am()):oG(g.current)}})]}),c&&(e=(0,oy.createPortal)(e,c));let r=(0,es.jsxs)(es.Fragment,{children:[t&&c&&(0,es.jsx)(oD,{ref:m,"data-focus-trap":o.id,className:"__focus-trap-outer-before",onFocus:e=>{e.relatedTarget!==g.current&&iH(e,c)?oG(p.current):oG(am())}}),t&&(0,es.jsx)("span",{"aria-owns":null==c?void 0:c.id,style:{position:"fixed"}}),t&&c&&(0,es.jsx)(oD,{ref:g,"data-focus-trap":o.id,className:"__focus-trap-outer-after",onFocus:e=>{if(iH(e,c))oG(A.current);else{let e=ah();if(e===p.current)return void requestAnimationFrame(()=>{var e;return null==(e=ah())?void 0:e.focus()});oG(e)}}})]});return f&&t&&(r=(0,oy.createPortal)(r,f)),(0,es.jsxs)(es.Fragment,{children:[r,e]})},[c,u,a,o.id,t,f]),ref:l}});i2(function(e){return i3("div",oL(e))});var oP=(0,el.createContext)(0);function oH(e){let{level:t,children:r}=e,n=(0,el.useContext)(oP),i=Math.max(Math.min(t||n+1,6),1);return(0,es.jsx)(oP.Provider,{value:i,children:r})}var oO=i5(function(e){let{autoFocusOnShow:t=!0,...r}=e;return iq(r,e=>(0,es.jsx)(as.Provider,{value:t,children:e}),[t])});i2(function(e){return i3("div",oO(e))});var ok=new WeakMap;function o_(e,t,r){ok.has(e)||ok.set(e,new Map);let n=ok.get(e),i=n.get(t);if(!i)return n.set(t,r()),()=>{var e;null==(e=n.get(t))||e(),n.delete(t)};let a=r(),o=()=>{a(),i(),n.delete(t)};return n.set(t,o),()=>{n.get(t)===o&&(a(),n.set(t,i))}}function oU(e,t,r){return o_(e,t,()=>{let n=e.getAttribute(t);return e.setAttribute(t,r),()=>{null==n?e.removeAttribute(t):e.setAttribute(t,n)}})}function oj(e,t,r){return o_(e,t,()=>{let n=t in e,i=e[t];return e[t]=r,()=>{n?e[t]=i:delete e[t]}})}function oJ(e,t){return e?o_(e,"style",()=>{let r=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=r}}):()=>{}}var oN=["SCRIPT","STYLE"];function oK(e){return"__ariakit-dialog-snapshot-".concat(e)}function oQ(e,t,r,n){for(let i of t){if(!(null==i?void 0:i.isConnected))continue;let a=t.some(e=>!!e&&e!==i&&e.contains(i)),o=ie(i),s=i;for(;i.parentElement&&i!==o.body;){if(null==n||n(i.parentElement,s),!a)for(let n of i.parentElement.children)(function(e,t,r){return!oN.includes(t.tagName)&&!!function(e,t){let r=ie(t),n=oK(e);if(!r.body[n])return!0;for(;;){if(t===r.body)return!1;if(t[n])return!0;if(!t.parentElement)return!1;t=t.parentElement}}(e,t)&&!r.some(e=>e&&ii(t,e))})(e,n,t)&&r(n,s);i=i.parentElement}}}function oW(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;ni===e))}function oV(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return"__ariakit-dialog-".concat(t?"ancestor":"outside").concat(e?"-".concat(e):"")}function oX(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return iy(oj(e,oV("",!0),!0),oj(e,oV(t,!0),!0))}function oq(e,t){if(e[oV(t,!0)])return!0;let r=oV(t);for(;;){if(e[r])return!0;if(!e.parentElement)return!1;e=e.parentElement}}function oY(e,t){let r=[],n=t.map(e=>null==e?void 0:e.id);return oQ(e,t,t=>{oW(t,...n)||r.unshift(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return iy(oj(e,oV(),!0),oj(e,oV(t),!0))}(t,e))},(t,n)=>{n.hasAttribute("data-dialog")&&n.id!==e||r.unshift(oX(t,e))}),()=>{for(let e of r)e()}}function oZ(e){let{store:t,type:r,listener:n,capture:i,domReady:a}=e,o=iN(n),s=oh(t,"open"),l=(0,el.useRef)(!1);iJ(()=>{if(!s||!a)return;let{contentElement:e}=t.getState();if(!e)return;let r=()=>{l.current=!0};return e.addEventListener("focusin",r,!0),()=>e.removeEventListener("focusin",r,!0)},[t,s,a]),(0,el.useEffect)(()=>{if(s)return ik(r,e=>{let{contentElement:r,disclosureElement:n}=t.getState(),i=e.target;if(r&&i)!(!("HTML"===i.tagName||ii(ie(i).body,i))||ii(r,i)||function(e,t){if(!e)return!1;if(ii(e,t))return!0;let r=t.getAttribute("aria-activedescendant");if(r){let t=ie(e).getElementById(r);if(t)return ii(e,t)}return!1}(n,i)||i.hasAttribute("data-focus-trap")||function(e,t){if(!("clientY"in e))return!1;let r=t.getBoundingClientRect();return 0!==r.width&&0!==r.height&&r.top<=e.clientY&&e.clientY<=r.top+r.height&&r.left<=e.clientX&&e.clientX<=r.left+r.width}(e,r))&&(!l.current||oq(i,r.id))&&(i&&i[aC]||o(e))},i)},[s,i])}function oz(e,t){return"function"==typeof e?e(t):!!e}var o$=(0,el.createContext)({});function o0(){return"inert"in HTMLElement.prototype}function o1(e,t){if(!("style"in e))return iB;if(o0())return oj(e,"inert",!0);let r=af(e,!0).map(e=>{if(null==t?void 0:t.some(t=>t&&ii(t,e)))return iB;let r=o_(e,"focus",()=>(e.focus=iB,()=>{delete e.focus}));return iy(oU(e,"tabindex","-1"),r)});return iy(...r,oU(e,"aria-hidden","true"),oJ(e,{pointerEvents:"none",userSelect:"none",cursor:"default"}))}function o9(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=a4(e.store,a6(e.disclosure,["contentElement","disclosureElement"]));a7(e,t);let r=null==t?void 0:t.getState(),n=iS(e.open,null==r?void 0:r.open,e.defaultOpen,!1),i=iS(e.animated,null==r?void 0:r.animated,!1),a=a1({open:n,animated:i,animating:!!i&&n,mounted:n,contentElement:iS(null==r?void 0:r.contentElement,null),disclosureElement:iS(null==r?void 0:r.disclosureElement,null)},t);return a9(a,()=>a3(a,["animated","animating"],e=>{e.animated||a.setState("animating",!1)})),a9(a,()=>a8(a,["open"],()=>{a.getState().animated&&a.setState("animating",!0)})),a9(a,()=>a3(a,["open","animating"],e=>{a.setState("mounted",e.open||e.animating)})),{...a,disclosure:e.disclosure,setOpen:e=>a.setState("open",e),show:()=>a.setState("open",!0),hide:()=>a.setState("open",!1),toggle:()=>a.setState("open",e=>!e),stopAnimation:()=>a.setState("animating",!1),setContentElement:e=>a.setState("contentElement",e),setDisclosureElement:e=>a.setState("disclosureElement",e)}}function o2(e,t,r){return iW(t,[r.store,r.disclosure]),op(e,r,"open","setOpen"),op(e,r,"mounted","setMounted"),op(e,r,"animated"),Object.assign(e,{disclosure:r.disclosure})}i5(function(e){return e});var o8=i2(function(e){return i3("div",e)});function o3(e){let{store:t,backdrop:r,alwaysVisible:n,hidden:i}=e,a=(0,el.useRef)(null),o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[t,r]=oA(o9,e);return o2(t,r,e)}({disclosure:t}),s=oh(t,"contentElement");(0,el.useEffect)(()=>{let e=a.current;e&&s&&(e.style.zIndex=getComputedStyle(s).zIndex)},[s]),iJ(()=>{let e=null==s?void 0:s.id;if(!e)return;let t=a.current;if(t)return oX(t,e)},[s]);let l=ox({ref:a,store:o,role:"presentation","data-backdrop":(null==s?void 0:s.id)||"",alwaysVisible:n,hidden:null!=i?i:void 0,style:{position:"fixed",top:0,right:0,bottom:0,left:0}});if(!r)return null;if((0,el.isValidElement)(r))return(0,es.jsx)(o8,{...l,render:r});let u="boolean"!=typeof r?r:"div";return(0,es.jsx)(o8,{...l,render:(0,es.jsx)(u,{})})}function o5(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o9(e)}Object.assign(o8,["a","button","details","dialog","div","form","h1","h2","h3","h4","h5","h6","header","img","input","label","li","nav","ol","p","section","select","span","summary","textarea","ul","svg"].reduce((e,t)=>(e[t]=i2(function(e){return i3(t,e)}),e),{}));var o6=iI();function o4(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return null;let r="current"in e?e.current:e;return r?t?au(r)?r:null:r:null}var o7=i5(function(e){let{store:t,open:r,onClose:n,focusable:i=!0,modal:a=!0,portal:o=!!a,backdrop:s=!!a,hideOnEscape:l=!0,hideOnInteractOutside:u=!0,getPersistentElements:c,preventBodyScroll:d=!!a,autoFocusOnShow:f=!0,autoFocusOnHide:h=!0,initialFocus:m,finalFocus:p,unmountOnHide:A,unstable_treeSnapshotKey:g,...B}=e,C=aP(),y=(0,el.useRef)(null),b=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[t,r]=oA(o5,e);return o2(t,r,e)}({store:t||C,open:r,setOpen(e){if(e)return;let t=y.current;if(!t)return;let r=new Event("close",{bubbles:!1,cancelable:!0});n&&t.addEventListener("close",n,{once:!0}),t.dispatchEvent(r),r.defaultPrevented&&b.setOpen(!0)}}),{portalRef:M,domReady:E}=iY(o,B.portalRef),x=B.preserveTabOrder,F=oh(b,e=>x&&!a&&e.mounted),S=iQ(B.id),T=oh(b,"open"),w=oh(b,"mounted"),R=oh(b,"contentElement"),I=oE(w,B.hidden,B.alwaysVisible),D=function(e){let{attribute:t,contentId:r,contentElement:n,enabled:i}=e,[a,o]=iV(),s=(0,el.useCallback)(()=>{if(!i||!n)return!1;let{body:e}=ie(n),a=e.getAttribute(t);return!a||a===r},[a,i,n,t,r]);return(0,el.useEffect)(()=>{if(!i||!r||!n)return;let{body:e}=ie(n);if(s())return e.setAttribute(t,r),()=>e.removeAttribute(t);let a=new MutationObserver(()=>(0,oy.flushSync)(o));return a.observe(e,{attributeFilter:[t]}),()=>a.disconnect()},[a,i,r,n,s,t]),s}({attribute:"data-dialog-prevent-body-scroll",contentElement:R,contentId:S,enabled:d&&!I});(0,el.useEffect)(()=>{var e,t;if(!D()||!R)return;let r=ie(R),n=it(R),{documentElement:i,body:a}=r,o=i.style.getPropertyValue("--scrollbar-width"),s=o?Number.parseInt(o,10):n.innerWidth-i.clientWidth,l=Math.round(i.getBoundingClientRect().left)+i.scrollLeft?"paddingLeft":"paddingRight",u=iR()&&!(n7&&navigator.platform.startsWith("Mac")&&!iw());return iy((e="--scrollbar-width",t="".concat(s,"px"),i?o_(i,e,()=>{let r=i.style.getPropertyValue(e);return i.style.setProperty(e,t),()=>{r?i.style.setProperty(e,r):i.style.removeProperty(e)}}):()=>{}),u?(()=>{var e,t;let{scrollX:r,scrollY:i,visualViewport:o}=n,u=null!=(e=null==o?void 0:o.offsetLeft)?e:0,c=null!=(t=null==o?void 0:o.offsetTop)?t:0,d=oJ(a,{position:"fixed",overflow:"hidden",top:"".concat(-(i-Math.floor(c)),"px"),left:"".concat(-(r-Math.floor(u)),"px"),right:"0",[l]:"".concat(s,"px")});return()=>{d(),n.scrollTo({left:r,top:i,behavior:"instant"})}})():oJ(a,{overflow:"hidden",[l]:"".concat(s,"px")}))},[D,R]);let G=function(e){let t=(0,el.useRef)();return(0,el.useEffect)(()=>{if(!e){t.current=null;return}return ik("mousedown",e=>{t.current=e.target},!0)},[e]),t}(oh(b,"open")),L={store:b,domReady:E,capture:!0};oZ({...L,type:"click",listener:e=>{let{contentElement:t}=b.getState(),r=G.current;r&&il(r)&&oq(r,null==t?void 0:t.id)&&oz(u,e)&&b.hide()}}),oZ({...L,type:"focusin",listener:e=>{let{contentElement:t}=b.getState();t&&e.target!==ie(t)&&oz(u,e)&&b.hide()}}),oZ({...L,type:"contextmenu",listener:e=>{oz(u,e)&&b.hide()}});let{wrapElement:P,nestedDialogs:H}=function(e){let t=(0,el.useContext)(o$),[r,n]=(0,el.useState)([]),i=(0,el.useCallback)(e=>{var r;return n(t=>[...t,e]),iy(null==(r=t.add)?void 0:r.call(t,e),()=>{n(t=>t.filter(t=>t!==e))})},[t]);iJ(()=>a3(e,["open","contentElement"],r=>{var n;if(r.open&&r.contentElement)return null==(n=t.add)?void 0:n.call(t,e)}),[e,t]);let a=(0,el.useMemo)(()=>({store:e,add:i}),[e,i]);return{wrapElement:(0,el.useCallback)(e=>(0,es.jsx)(o$.Provider,{value:a,children:e}),[a]),nestedDialogs:r}}(b);B=iq(B,P,[P]),iJ(()=>{if(!T)return;let e=y.current,t=ir(e,!0);t&&"BODY"!==t.tagName&&(e&&ii(e,t)||b.setDisclosureElement(t))},[b,T]),o6&&(0,el.useEffect)(()=>{if(!w)return;let{disclosureElement:e}=b.getState();if(!e||!io(e))return;let t=()=>{let t=!1,r=()=>{t=!0};e.addEventListener("focusin",r,{capture:!0,once:!0}),iO(e,"mouseup",()=>{e.removeEventListener("focusin",r,!0),t||ag(e)})};return e.addEventListener("mousedown",t),()=>{e.removeEventListener("mousedown",t)}},[b,w]),(0,el.useEffect)(()=>{if(!w||!E)return;let e=y.current;if(!e)return;let t=it(e),r=t.visualViewport||t,n=()=>{var r,n;let i=null!=(n=null==(r=t.visualViewport)?void 0:r.height)?n:t.innerHeight;e.style.setProperty("--dialog-viewport-height","".concat(i,"px"))};return n(),r.addEventListener("resize",n),()=>{r.removeEventListener("resize",n)}},[w,E]),(0,el.useEffect)(()=>{if(!a||!w||!E)return;let e=y.current;if(e&&!e.querySelector("[data-dialog-dismiss]")){var t=b.hide;let r=ie(e).createElement("button");return r.type="button",r.tabIndex=-1,r.textContent="Dismiss popup",Object.assign(r.style,{border:"0px",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0px",position:"absolute",whiteSpace:"nowrap",width:"1px"}),r.addEventListener("click",t),e.prepend(r),()=>{r.removeEventListener("click",t),r.remove()}}},[b,a,w,E]),iJ(()=>{if(!o0()||T||!w||!E)return;let e=y.current;if(e)return o1(e)},[T,w,E]);let O=T&&E;iJ(()=>{if(!S||!O)return;var e=[y.current];let{body:t}=ie(e[0]),r=[];return oQ(S,e,e=>{r.push(oj(e,oK(S),!0))}),iy(oj(t,oK(S),!0),()=>{for(let e of r)e()})},[S,O,g]);let k=iN(c);iJ(()=>{if(!S||!O)return;let{disclosureElement:e}=b.getState(),t=[y.current,...k()||[],...H.map(e=>e.getState().contentElement)];return a?iy(oY(S,t),function(e,t){let r=[],n=t.map(e=>null==e?void 0:e.id);return oQ(e,t,e=>{oW(e,...n)||!function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;ni===e))}(e,...n)&&r.unshift(o1(e,t))},e=>{e.hasAttribute("role")&&(t.some(t=>t&&ii(t,e))||r.unshift(oU(e,"role","none")))}),()=>{for(let e of r)e()}}(S,t)):oY(S,[e,...t])},[S,b,O,k,H,a,g]);let _=!!f,U=iX(f),[j,J]=(0,el.useState)(!1);(0,el.useEffect)(()=>{if(!T||!_||!E||!(null==R?void 0:R.isConnected))return;let e=o4(m,!0)||R.querySelector("[data-autofocus=true],[autofocus]")||function(e,t,r){let[n]=af(e,t,r);return n||null}(R,!0,o&&F)||R,t=au(e);U(t?e:null)&&(J(!0),queueMicrotask(()=>{e.focus(),o6&&t&&e.scrollIntoView({block:"nearest",inline:"nearest"})}))},[T,_,E,R,m,o,F,U]);let N=!!h,K=iX(h),[Q,W]=(0,el.useState)(!1);(0,el.useEffect)(()=>{if(T)return W(!0),()=>W(!1)},[T]);let V=(0,el.useCallback)(function(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],{disclosureElement:r}=b.getState();if(function(e){let t=ir();return!(!t||e&&ii(e,t))&&!!au(t)}(e))return;let n=o4(p)||r;if(null==n?void 0:n.id){let e=ie(n),t='[aria-activedescendant="'.concat(n.id,'"]'),r=e.querySelector(t);r&&(n=r)}if(n&&!au(n)){let e=n.closest("[data-dialog]");if(null==e?void 0:e.id){let t=ie(e),r='[aria-controls~="'.concat(e.id,'"]'),i=t.querySelector(r);i&&(n=i)}}let i=n&&au(n);if(!i&&t)return void requestAnimationFrame(()=>V(e,!1));K(i?n:null)&&i&&(null==n||n.focus({preventScroll:!0}))},[b,p,K]),X=(0,el.useRef)(!1);iJ(()=>{if(T||!Q||!N)return;let e=y.current;X.current=!0,V(e)},[T,Q,E,N,V]),(0,el.useEffect)(()=>{if(!Q||!N)return;let e=y.current;return()=>{if(X.current){X.current=!1;return}V(e)}},[Q,N,V]);let q=iX(l);(0,el.useEffect)(()=>{if(E&&w)return ik("keydown",e=>{if("Escape"!==e.key||e.defaultPrevented)return;let t=y.current;if(!t||oq(t))return;let r=e.target;if(!r)return;let{disclosureElement:n}=b.getState();("BODY"===r.tagName||ii(t,r)||!n||ii(n,r))&&q(e)&&b.hide()},!0)},[b,E,w,q]);let Y=(B=iq(B,e=>(0,es.jsx)(oH,{level:a?1:void 0,children:e}),[a])).hidden,Z=B.alwaysVisible;B=iq(B,e=>s?(0,es.jsxs)(es.Fragment,{children:[(0,es.jsx)(o3,{store:b,backdrop:s,hidden:Y,alwaysVisible:Z}),e]}):e,[b,s,Y,Z]);let[z,$]=(0,el.useState)(),[ee,et]=(0,el.useState)();return B=oO({...B={id:S,"data-dialog":"",role:"dialog",tabIndex:i?-1:void 0,"aria-labelledby":z,"aria-describedby":ee,...B=iq(B,e=>(0,es.jsx)(aO,{value:b,children:(0,es.jsx)(ak.Provider,{value:$,children:(0,es.jsx)(a_.Provider,{value:et,children:e})})}),[b]),ref:iK(y,B.ref)},autoFocusOnShow:j}),B=oL({portal:o,...B=aS({...B=ox({store:b,...B}),focusable:i}),portalRef:M,preserveTabOrder:F})});function se(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:aP;return i2(function(r){let n=t();return oh(r.store||n,e=>!r.unmountOnHide||(null==e?void 0:e.mounted)||!!r.open)?(0,es.jsx)(e,{...r}):null})}se(i2(function(e){return i3("div",o7(e))}),aP);let st=Math.min,sr=Math.max,sn=Math.round,si=Math.floor,sa=e=>({x:e,y:e}),so={left:"right",right:"left",bottom:"top",top:"bottom"},ss={start:"end",end:"start"};function sl(e,t){return"function"==typeof e?e(t):e}function su(e){return e.split("-")[0]}function sc(e){return e.split("-")[1]}function sd(e){return"x"===e?"y":"x"}function sf(e){return"y"===e?"height":"width"}let sh=new Set(["top","bottom"]);function sm(e){return sh.has(su(e))?"y":"x"}function sp(e){return e.replace(/start|end/g,e=>ss[e])}let sA=["left","right"],sg=["right","left"],sv=["top","bottom"],sB=["bottom","top"];function sC(e){return e.replace(/left|right|bottom|top/g,e=>so[e])}function sy(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function sb(e){let{x:t,y:r,width:n,height:i}=e;return{width:n,height:i,top:r,left:t,right:t+n,bottom:r+i,x:t,y:r}}function sM(e,t,r){let n,{reference:i,floating:a}=e,o=sm(t),s=sd(sm(t)),l=sf(s),u=su(t),c="y"===o,d=i.x+i.width/2-a.width/2,f=i.y+i.height/2-a.height/2,h=i[l]/2-a[l]/2;switch(u){case"top":n={x:d,y:i.y-a.height};break;case"bottom":n={x:d,y:i.y+i.height};break;case"right":n={x:i.x+i.width,y:f};break;case"left":n={x:i.x-a.width,y:f};break;default:n={x:i.x,y:i.y}}switch(sc(t)){case"start":n[s]-=h*(r&&c?-1:1);break;case"end":n[s]+=h*(r&&c?-1:1)}return n}let sE=async(e,t,r)=>{let{placement:n="bottom",strategy:i="absolute",middleware:a=[],platform:o}=r,s=a.filter(Boolean),l=await (null==o.isRTL?void 0:o.isRTL(t)),u=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:c,y:d}=sM(u,n,l),f=n,h={},m=0;for(let r=0;r{try{return e.matches(t)}catch(e){return!1}})}let sj=["transform","translate","scale","rotate","perspective"],sJ=["transform","translate","scale","rotate","perspective","filter"],sN=["paint","layout","strict","content"];function sK(e){let t=sQ(),r=sG(e)?sX(e):e;return sj.some(e=>!!r[e]&&"none"!==r[e])||!!r.containerType&&"normal"!==r.containerType||!t&&!!r.backdropFilter&&"none"!==r.backdropFilter||!t&&!!r.filter&&"none"!==r.filter||sJ.some(e=>(r.willChange||"").includes(e))||sN.some(e=>(r.contain||"").includes(e))}function sQ(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let sW=new Set(["html","body","#document"]);function sV(e){return sW.has(sw(e))}function sX(e){return sR(e).getComputedStyle(e)}function sq(e){return sG(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function sY(e){if("html"===sw(e))return e;let t=e.assignedSlot||e.parentNode||sP(e)&&e.host||sI(e);return sP(t)?t.host:t}function sZ(e,t,r){var n;void 0===t&&(t=[]),void 0===r&&(r=!0);let i=function e(t){let r=sY(t);return sV(r)?t.ownerDocument?t.ownerDocument.body:t.body:sL(r)&&sO(r)?r:e(r)}(e),a=i===(null==(n=e.ownerDocument)?void 0:n.body),o=sR(i);if(a){let e=sz(o);return t.concat(o,o.visualViewport||[],sO(i)?i:[],e&&r?sZ(e):[])}return t.concat(i,sZ(i,[],r))}function sz(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function s$(e){let t=sX(e),r=parseFloat(t.width)||0,n=parseFloat(t.height)||0,i=sL(e),a=i?e.offsetWidth:r,o=i?e.offsetHeight:n,s=sn(r)!==a||sn(n)!==o;return s&&(r=a,n=o),{width:r,height:n,$:s}}function s0(e){return sG(e)?e:e.contextElement}function s1(e){let t=s0(e);if(!sL(t))return sa(1);let r=t.getBoundingClientRect(),{width:n,height:i,$:a}=s$(t),o=(a?sn(r.width):r.width)/n,s=(a?sn(r.height):r.height)/i;return o&&Number.isFinite(o)||(o=1),s&&Number.isFinite(s)||(s=1),{x:o,y:s}}let s9=sa(0);function s2(e){let t=sR(e);return sQ()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:s9}function s8(e,t,r,n){var i;void 0===t&&(t=!1),void 0===r&&(r=!1);let a=e.getBoundingClientRect(),o=s0(e),s=sa(1);t&&(n?sG(n)&&(s=s1(n)):s=s1(e));let l=(void 0===(i=r)&&(i=!1),n&&(!i||n===sR(o))&&i)?s2(o):sa(0),u=(a.left+l.x)/s.x,c=(a.top+l.y)/s.y,d=a.width/s.x,f=a.height/s.y;if(o){let e=sR(o),t=n&&sG(n)?sR(n):n,r=e,i=sz(r);for(;i&&n&&t!==r;){let e=s1(i),t=i.getBoundingClientRect(),n=sX(i),a=t.left+(i.clientLeft+parseFloat(n.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(n.paddingTop))*e.y;u*=e.x,c*=e.y,d*=e.x,f*=e.y,u+=a,c+=o,i=sz(r=sR(i))}}return sb({width:d,height:f,x:u,y:c})}function s3(e,t){let r=sq(e).scrollLeft;return t?t.left+r:s8(sI(e)).left+r}function s5(e,t){let r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-s3(e,r),y:r.top+t.scrollTop}}let s6=new Set(["absolute","fixed"]);function s4(e,t,r){let n;if("viewport"===t)n=function(e,t){let r=sR(e),n=sI(e),i=r.visualViewport,a=n.clientWidth,o=n.clientHeight,s=0,l=0;if(i){a=i.width,o=i.height;let e=sQ();(!e||e&&"fixed"===t)&&(s=i.offsetLeft,l=i.offsetTop)}let u=s3(n);if(u<=0){let e=n.ownerDocument,t=e.body,r=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(r.marginLeft)+parseFloat(r.marginRight)||0,o=Math.abs(n.clientWidth-t.clientWidth-i);o<=25&&(a-=o)}else u<=25&&(a+=u);return{width:a,height:o,x:s,y:l}}(e,r);else if("document"===t)n=function(e){let t=sI(e),r=sq(e),n=e.ownerDocument.body,i=sr(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),a=sr(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),o=-r.scrollLeft+s3(e),s=-r.scrollTop;return"rtl"===sX(n).direction&&(o+=sr(t.clientWidth,n.clientWidth)-i),{width:i,height:a,x:o,y:s}}(sI(e));else if(sG(t))n=function(e,t){let r=s8(e,!0,"fixed"===t),n=r.top+e.clientTop,i=r.left+e.clientLeft,a=sL(e)?s1(e):sa(1),o=e.clientWidth*a.x,s=e.clientHeight*a.y;return{width:o,height:s,x:i*a.x,y:n*a.y}}(t,r);else{let r=s2(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return sb(n)}function s7(e){return"static"===sX(e).position}function le(e,t){if(!sL(e)||"fixed"===sX(e).position)return null;if(t)return t(e);let r=e.offsetParent;return sI(e)===r&&(r=r.ownerDocument.body),r}function lt(e,t){var r;let n=sR(e);if(sU(e))return n;if(!sL(e)){let t=sY(e);for(;t&&!sV(t);){if(sG(t)&&!s7(t))return t;t=sY(t)}return n}let i=le(e,t);for(;i&&(r=i,sk.has(sw(r)))&&s7(i);)i=le(i,t);return i&&sV(i)&&s7(i)&&!sK(i)?n:i||function(e){let t=sY(e);for(;sL(t)&&!sV(t);){if(sK(t))return t;if(sU(t))break;t=sY(t)}return null}(e)||n}let lr=async function(e){let t=this.getOffsetParent||lt,r=this.getDimensions,n=await r(e.floating);return{reference:function(e,t,r){let n=sL(t),i=sI(t),a="fixed"===r,o=s8(e,!0,a,t),s={scrollLeft:0,scrollTop:0},l=sa(0);if(n||!n&&!a)if(("body"!==sw(t)||sO(i))&&(s=sq(t)),n){let e=s8(t,!0,a,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else i&&(l.x=s3(i));a&&!n&&i&&(l.x=s3(i));let u=!i||n||a?sa(0):s5(i,s);return{x:o.left+s.scrollLeft-l.x-u.x,y:o.top+s.scrollTop-l.y-u.y,width:o.width,height:o.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}},ln={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:r,offsetParent:n,strategy:i}=e,a="fixed"===i,o=sI(n),s=!!t&&sU(t.floating);if(n===o||s&&a)return r;let l={scrollLeft:0,scrollTop:0},u=sa(1),c=sa(0),d=sL(n);if((d||!d&&!a)&&(("body"!==sw(n)||sO(o))&&(l=sq(n)),sL(n))){let e=s8(n);u=s1(n),c.x=e.x+n.clientLeft,c.y=e.y+n.clientTop}let f=!o||d||a?sa(0):s5(o,l);return{width:r.width*u.x,height:r.height*u.y,x:r.x*u.x-l.scrollLeft*u.x+c.x+f.x,y:r.y*u.y-l.scrollTop*u.y+c.y+f.y}},getDocumentElement:sI,getClippingRect:function(e){let{element:t,boundary:r,rootBoundary:n,strategy:i}=e,a=[..."clippingAncestors"===r?sU(t)?[]:function(e,t){let r=t.get(e);if(r)return r;let n=sZ(e,[],!1).filter(e=>sG(e)&&"body"!==sw(e)),i=null,a="fixed"===sX(e).position,o=a?sY(e):e;for(;sG(o)&&!sV(o);){let t=sX(o),r=sK(o);r||"fixed"!==t.position||(i=null),(a?!r&&!i:!r&&"static"===t.position&&!!i&&s6.has(i.position)||sO(o)&&!r&&function e(t,r){let n=sY(t);return!(n===r||!sG(n)||sV(n))&&("fixed"===sX(n).position||e(n,r))}(e,o))?n=n.filter(e=>e!==o):i=t,o=sY(o)}return t.set(e,n),n}(t,this._c):[].concat(r),n],o=a[0],s=a.reduce((e,r)=>{let n=s4(t,r,i);return e.top=sr(n.top,e.top),e.right=st(n.right,e.right),e.bottom=st(n.bottom,e.bottom),e.left=sr(n.left,e.left),e},s4(t,o,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:lt,getElementRects:lr,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:r}=s$(e);return{width:t,height:r}},getScale:s1,isElement:sG,isRTL:function(e){return"rtl"===sX(e).direction}};function li(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function la(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if("function"==typeof DOMRect)return new DOMRect(e,t,r,n);let i={x:e,y:t,width:r,height:n,top:t,right:e+r,bottom:t+n,left:e};return{...i,toJSON:()=>i}}function lo(e){return/^(?:top|bottom|left|right)(?:-(?:start|end))?$/.test(e)}function ls(e){let t=window.devicePixelRatio||1;return Math.round(e*t)/t}var ll=i5(function(e){let{store:t,modal:r=!1,portal:n=!!r,preserveTabOrder:i=!0,autoFocusOnShow:a=!0,wrapperProps:o,fixed:s=!1,flip:l=!0,shift:u=0,slide:c=!0,overlap:d=!1,sameWidth:f=!1,fitViewport:h=!1,gutter:m,arrowPadding:p=4,overflowPadding:A=8,getAnchorRect:g,updatePosition:B,...C}=e,y=aj();iM(t=t||y,!1);let b=t.useState("arrowElement"),M=t.useState("anchorElement"),E=t.useState("disclosureElement"),x=t.useState("popoverElement"),F=t.useState("contentElement"),S=t.useState("placement"),T=t.useState("mounted"),w=t.useState("rendered"),R=(0,el.useRef)(null),[I,D]=(0,el.useState)(!1),{portalRef:G,domReady:L}=iY(n,C.portalRef),P=iN(g),H=iN(B),O=!!B;iJ(()=>{if(!(null==x?void 0:x.isConnected))return;x.style.setProperty("--popover-overflow-padding","".concat(A,"px"));let e={contextElement:M||void 0,getBoundingClientRect:()=>{let e=null==P?void 0:P(M);if(e||!M){if(!e)return la();let{x:t,y:r,width:n,height:i}=e;return la(t,r,n,i)}return M.getBoundingClientRect()}},r=async()=>{var r,n,i,a;if(!T)return;b||(R.current=R.current||document.createElement("div"));let o=b||R.current,g=[(r={gutter:m,shift:u},void 0===(n=e=>{var t;let{placement:n}=e,i=((null==o?void 0:o.clientHeight)||0)/2,a="number"==typeof r.gutter?r.gutter+i:null!=(t=r.gutter)?t:i;return{crossAxis:n.split("-")[1]?void 0:r.shift,mainAxis:a,alignmentAxis:r.shift}})&&(n=0),{name:"offset",options:n,async fn(e){var t,r;let{x:i,y:a,placement:o,middlewareData:s}=e,l=await sS(e,n);return o===(null==(t=s.offset)?void 0:t.placement)&&null!=(r=s.arrow)&&r.alignmentOffset?{}:{x:i+l.x,y:a+l.y,data:{...l,placement:o}}}}),function(e){var t;if(!1===e.flip)return;let r="string"==typeof e.flip?e.flip.split(" "):void 0;return iM(!r||r.every(lo),!1),{name:"flip",options:t={padding:e.overflowPadding,fallbackPlacements:r},async fn(e){var r,n,i,a,o;let{placement:s,middlewareData:l,rects:u,initialPlacement:c,platform:d,elements:f}=e,{mainAxis:h=!0,crossAxis:m=!0,fallbackPlacements:p,fallbackStrategy:A="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:B=!0,...C}=sl(t,e);if(null!=(r=l.arrow)&&r.alignmentOffset)return{};let y=su(s),b=sm(c),M=su(c)===c,E=await (null==d.isRTL?void 0:d.isRTL(f.floating)),x=p||(M||!B?[sC(c)]:function(e){let t=sC(e);return[sp(e),t,sp(t)]}(c)),F="none"!==g;!p&&F&&x.push(...function(e,t,r,n){let i=sc(e),a=function(e,t,r){switch(e){case"top":case"bottom":if(r)return t?sg:sA;return t?sA:sg;case"left":case"right":return t?sv:sB;default:return[]}}(su(e),"start"===r,n);return i&&(a=a.map(e=>e+"-"+i),t&&(a=a.concat(a.map(sp)))),a}(c,B,g,E));let S=[c,...x],T=await sx(e,C),w=[],R=(null==(n=l.flip)?void 0:n.overflows)||[];if(h&&w.push(T[y]),m){let e=function(e,t,r){void 0===r&&(r=!1);let n=sc(e),i=sd(sm(e)),a=sf(i),o="x"===i?n===(r?"end":"start")?"right":"left":"start"===n?"bottom":"top";return t.reference[a]>t.floating[a]&&(o=sC(o)),[o,sC(o)]}(s,u,E);w.push(T[e[0]],T[e[1]])}if(R=[...R,{placement:s,overflows:w}],!w.every(e=>e<=0)){let e=((null==(i=l.flip)?void 0:i.index)||0)+1,t=S[e];if(t&&("alignment"!==m||b===sm(t)||R.every(e=>sm(e.placement)!==b||e.overflows[0]>0)))return{data:{index:e,overflows:R},reset:{placement:t}};let r=null==(a=R.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:a.placement;if(!r)switch(A){case"bestFit":{let e=null==(o=R.filter(e=>{if(F){let t=sm(e.placement);return t===b||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:o[0];e&&(r=e);break}case"initialPlacement":r=c}if(s!==r)return{reset:{placement:r}}}return{}}}}({flip:l,overflowPadding:A}),function(e){if(e.slide||e.overlap){var t,r;return{name:"shift",options:r={mainAxis:e.slide,crossAxis:e.overlap,padding:e.overflowPadding,limiter:(void 0===t&&(t={}),{options:t,fn(e){let{x:r,y:n,placement:i,rects:a,middlewareData:o}=e,{offset:s=0,mainAxis:l=!0,crossAxis:u=!0}=sl(t,e),c={x:r,y:n},d=sm(i),f=sd(d),h=c[f],m=c[d],p=sl(s,e),A="number"==typeof p?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(l){let e="y"===f?"height":"width",t=a.reference[f]-a.floating[e]+A.mainAxis,r=a.reference[f]+a.reference[e]-A.mainAxis;hr&&(h=r)}if(u){var g,B;let e="y"===f?"width":"height",t=sF.has(su(i)),r=a.reference[d]-a.floating[e]+(t&&(null==(g=o.offset)?void 0:g[d])||0)+(t?0:A.crossAxis),n=a.reference[d]+a.reference[e]+(t?0:(null==(B=o.offset)?void 0:B[d])||0)-(t?A.crossAxis:0);mn&&(m=n)}return{[f]:h,[d]:m}}})},async fn(e){let{x:t,y:n,placement:i}=e,{mainAxis:a=!0,crossAxis:o=!1,limiter:s={fn:e=>{let{x:t,y:r}=e;return{x:t,y:r}}},...l}=sl(r,e),u={x:t,y:n},c=await sx(e,l),d=sm(su(i)),f=sd(d),h=u[f],m=u[d];if(a){let e="y"===f?"top":"left",t="y"===f?"bottom":"right",r=h+c[e],n=h-c[t];h=sr(r,st(h,n))}if(o){let e="y"===d?"top":"left",t="y"===d?"bottom":"right",r=m+c[e],n=m-c[t];m=sr(r,st(m,n))}let p=s.fn({...e,[f]:h,[d]:m});return{...p,data:{x:p.x-t,y:p.y-n,enabled:{[f]:a,[d]:o}}}}}}}({slide:c,shift:u,overlap:d,overflowPadding:A}),function(e,t){if(e){let r;return{name:"arrow",options:r={element:e,padding:t.arrowPadding},async fn(e){let{x:t,y:n,placement:i,rects:a,platform:o,elements:s,middlewareData:l}=e,{element:u,padding:c=0}=sl(r,e)||{};if(null==u)return{};let d=sy(c),f={x:t,y:n},h=sd(sm(i)),m=sf(h),p=await o.getDimensions(u),A="y"===h,g=A?"clientHeight":"clientWidth",B=a.reference[m]+a.reference[h]-f[h]-a.floating[m],C=f[h]-a.reference[h],y=await (null==o.getOffsetParent?void 0:o.getOffsetParent(u)),b=y?y[g]:0;b&&await (null==o.isElement?void 0:o.isElement(y))||(b=s.floating[g]||a.floating[m]);let M=b/2-p[m]/2-1,E=st(d[A?"top":"left"],M),x=st(d[A?"bottom":"right"],M),F=b-p[m]-x,S=b/2-p[m]/2+(B/2-C/2),T=sr(E,st(S,F)),w=!l.arrow&&null!=sc(i)&&S!==T&&a.reference[m]/2-(S{},...d}=sl(a,e),f=await sx(e,d),h=su(o),m=sc(o),p="y"===sm(o),{width:A,height:g}=s.floating;"top"===h||"bottom"===h?(n=h,i=m===(await (null==l.isRTL?void 0:l.isRTL(u.floating))?"start":"end")?"left":"right"):(i=h,n="end"===m?"top":"bottom");let B=g-f.top-f.bottom,C=A-f.left-f.right,y=st(g-f[n],B),b=st(A-f[i],C),M=!e.middlewareData.shift,E=y,x=b;if(null!=(t=e.middlewareData.shift)&&t.enabled.x&&(x=C),null!=(r=e.middlewareData.shift)&&r.enabled.y&&(E=B),M&&!m){let e=sr(f.left,0),t=sr(f.right,0),r=sr(f.top,0),n=sr(f.bottom,0);p?x=A-2*(0!==e||0!==t?e+t:sr(f.left,f.right)):E=g-2*(0!==r||0!==n?r+n:sr(f.top,f.bottom))}await c({...e,availableWidth:x,availableHeight:E});let F=await l.getDimensions(u.floating);return A!==F.width||g!==F.height?{reset:{rects:!0}}:{}}}],B=await ((e,t,r)=>{let n=new Map,i={platform:ln,...r},a={...i.platform,_c:n};return sE(e,t,{...i,platform:a})})(e,x,{placement:S,strategy:s?"fixed":"absolute",middleware:g});null==t||t.setState("currentPlacement",B.placement),D(!0);let C=ls(B.x),y=ls(B.y);if(Object.assign(x.style,{top:"0",left:"0",transform:"translate3d(".concat(C,"px,").concat(y,"px,0)")}),o&&B.middlewareData.arrow){let{x:e,y:t}=B.middlewareData.arrow,r=B.placement.split("-")[0],n=o.clientWidth/2,i=o.clientHeight/2,a=null!=e?e+n:-n,s=null!=t?t+i:-i;x.style.setProperty("--popover-transform-origin",{top:"".concat(a,"px calc(100% + ").concat(i,"px)"),bottom:"".concat(a,"px ").concat(-i,"px"),left:"calc(100% + ".concat(n,"px) ").concat(s,"px"),right:"".concat(-n,"px ").concat(s,"px")}[r]),Object.assign(o.style,{left:null!=e?"".concat(e,"px"):"",top:null!=t?"".concat(t,"px"):"",[r]:"100%"})}},n=function(e,t,r,n){let i;void 0===n&&(n={});let{ancestorScroll:a=!0,ancestorResize:o=!0,elementResize:s="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:u=!1}=n,c=s0(e),d=a||o?[...c?sZ(c):[],...sZ(t)]:[];d.forEach(e=>{a&&e.addEventListener("scroll",r,{passive:!0}),o&&e.addEventListener("resize",r)});let f=c&&l?function(e,t){let r,n=null,i=sI(e);function a(){var e;clearTimeout(r),null==(e=n)||e.disconnect(),n=null}return!function o(s,l){void 0===s&&(s=!1),void 0===l&&(l=1),a();let u=e.getBoundingClientRect(),{left:c,top:d,width:f,height:h}=u;if(s||t(),!f||!h)return;let m=si(d),p=si(i.clientWidth-(c+f)),A={rootMargin:-m+"px "+-p+"px "+-si(i.clientHeight-(d+h))+"px "+-si(c)+"px",threshold:sr(0,st(1,l))||1},g=!0;function B(t){let n=t[0].intersectionRatio;if(n!==l){if(!g)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}1!==n||li(u,e.getBoundingClientRect())||o(),g=!1}try{n=new IntersectionObserver(B,{...A,root:i.ownerDocument})}catch(e){n=new IntersectionObserver(B,A)}n.observe(e)}(!0),a}(c,r):null,h=-1,m=null;s&&(m=new ResizeObserver(e=>{let[n]=e;n&&n.target===c&&m&&(m.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var e;null==(e=m)||e.observe(t)})),r()}),c&&!u&&m.observe(c),m.observe(t));let p=u?s8(e):null;return u&&function t(){let n=s8(e);p&&!li(p,n)&&r(),p=n,i=requestAnimationFrame(t)}(),r(),()=>{var e;d.forEach(e=>{a&&e.removeEventListener("scroll",r),o&&e.removeEventListener("resize",r)}),null==f||f(),null==(e=m)||e.disconnect(),m=null,u&&cancelAnimationFrame(i)}}(e,x,async()=>{O?(await H({updatePosition:r}),D(!0)):await r()},{elementResize:"function"==typeof ResizeObserver});return()=>{D(!1),n()}},[t,w,x,b,M,x,S,T,L,s,l,u,c,d,f,h,m,p,A,P,O,H]),iJ(()=>{if(!T||!L||!(null==x?void 0:x.isConnected)||!(null==F?void 0:F.isConnected))return;let e=()=>{x.style.zIndex=getComputedStyle(F).zIndex};e();let t=requestAnimationFrame(()=>{t=requestAnimationFrame(e)});return()=>cancelAnimationFrame(t)},[T,L,x,F]);let k=s?"fixed":"absolute";return C=iq(C,e=>(0,es.jsx)("div",{...o,style:{position:k,top:0,left:0,width:"max-content",...null==o?void 0:o.style},ref:null==t?void 0:t.setPopoverElement,children:e}),[t,k,o]),C={"data-placing":!I||void 0,...C=iq(C,e=>(0,es.jsx)(aN,{value:t,children:e}),[t]),style:{position:"relative",...C.style}},C=o7({store:t,modal:r,portal:n,preserveTabOrder:i,preserveTabOrderAnchor:E||M,autoFocusOnShow:I&&a,...C,portalRef:G})});se(i2(function(e){return i3("div",ll(e))}),aj);var lu=i5(function(e){let{store:t,modal:r,tabIndex:n,alwaysVisible:i,autoFocusOnHide:a=!0,hideOnInteractOutside:o=!0,...s}=e,l=aq();iM(t=t||l,!1);let u=t.useState("baseElement"),c=(0,el.useRef)(!1),d=oh(t.tag,e=>null==e?void 0:e.renderedItems.length);return s=oS({store:t,alwaysVisible:i,...s}),s=ll({store:t,modal:r,alwaysVisible:i,backdrop:!1,autoFocusOnShow:!1,finalFocus:u,preserveTabOrderAnchor:null,unstable_treeSnapshotKey:d,...s,getPersistentElements(){var e;let n=(null==(e=s.getPersistentElements)?void 0:e.call(s))||[];if(!r||!t)return n;let{contentElement:i,baseElement:a}=t.getState();if(!a)return n;let o=ie(a),l=[];if((null==i?void 0:i.id)&&l.push('[aria-controls~="'.concat(i.id,'"]')),(null==a?void 0:a.id)&&l.push('[aria-controls~="'.concat(a.id,'"]')),!l.length)return[...n,a];let u=l.join(",");return[...n,...o.querySelectorAll(u)]},autoFocusOnHide:e=>!iE(a,e)&&(!c.current||(c.current=!1,!1)),hideOnInteractOutside(e){var r,n;let i=null==t?void 0:t.getState(),a=null==(r=null==i?void 0:i.contentElement)?void 0:r.id,s=null==(n=null==i?void 0:i.baseElement)?void 0:n.id;if(function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n'[aria-controls~="'.concat(e,'"]')).join(", ");return!!t&&e.matches(t)}return!1}(e.target,a,s))return!1;let l="function"==typeof o?o(e):o;return l&&(c.current="click"===e.type),l}})}),lc=se(i2(function(e){return i3("div",lu(e))}),aq);(0,el.createContext)(null),(0,el.createContext)(null);var ld=i6([an],[ai]),lf=ld.useContext;ld.useScopedContext,ld.useProviderContext,ld.ContextProvider,ld.ScopedContextProvider;var lh={id:null};function lm(e,t){return e.find(e=>t?!e.disabled&&e.id!==t:!e.disabled)}function lp(e,t){return e.filter(e=>e.rowId===t)}function lA(e){let t=[];for(let r of e){let e=t.find(e=>{var t;return(null==(t=e[0])?void 0:t.rowId)===r.rowId});e?e.push(r):t.push([r])}return t}function lg(e){let t=0;for(let{length:r}of e)r>t&&(t=r);return t}var lv=iI()&&iw();function lB(){let{tag:e,...t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=a4(t.store,function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n0&&void 0!==arguments[0]?arguments[0]:{},r=null==(e=t.store)?void 0:e.getState(),n=function(){var e,t;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a7(r,r.store);let n=null==(e=r.store)?void 0:e.getState(),i=iS(r.items,null==n?void 0:n.items,r.defaultItems,[]),a=new Map(i.map(e=>[e.id,e])),o={items:i,renderedItems:iS(null==n?void 0:n.renderedItems,[])},s=null==(t=r.store)?void 0:t.__unstablePrivateStore,l=a1({items:i,renderedItems:o.renderedItems},s),u=a1(o,r.store),c=e=>{let t=function(e,t){let r=e.map((e,t)=>[t,e]),n=!1;return(r.sort((e,r)=>{var i;let[a,o]=e,[s,l]=r,u=t(o),c=t(l);return u!==c&&u&&c?(i=u,c.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_PRECEDING)?(a>s&&(n=!0),-1):(a{let[t,r]=e;return r}):e}(e,e=>e.element);l.setState("renderedItems",t),u.setState("renderedItems",t)};a9(u,()=>a2(l)),a9(l,()=>a5(l,["items"],e=>{u.setState("items",e.items)})),a9(l,()=>a5(l,["renderedItems"],e=>{let t=!0,r=requestAnimationFrame(()=>{let{renderedItems:t}=u.getState();e.renderedItems!==t&&c(e.renderedItems)});if("function"!=typeof IntersectionObserver)return()=>cancelAnimationFrame(r);let n=new IntersectionObserver(()=>{if(t){t=!1;return}cancelAnimationFrame(r),r=requestAnimationFrame(()=>c(e.renderedItems))},{root:function(e){var t;let r=e.find(e=>!!e.element),n=[...e].reverse().find(e=>!!e.element),i=null==(t=null==r?void 0:r.element)?void 0:t.parentElement;for(;i&&(null==n?void 0:n.element);){let e=i;if(n&&e.contains(n.element))return i;i=i.parentElement}return ie(i).body}(e.renderedItems)});for(let t of e.renderedItems)t.element&&n.observe(t.element);return()=>{cancelAnimationFrame(r),n.disconnect()}}));let d=function(e,t){let r,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t(t=>{let n=t.findIndex(t=>{let{id:r}=t;return r===e.id}),i=t.slice();if(-1!==n){let o={...r=t[n],...e};i[n]=o,a.set(e.id,o)}else i.push(e),a.set(e.id,e);return i}),()=>{t(t=>{if(!r)return n&&a.delete(e.id),t.filter(t=>{let{id:r}=t;return r!==e.id});let i=t.findIndex(t=>{let{id:r}=t;return r===e.id});if(-1===i)return t;let o=t.slice();return o[i]=r,a.set(e.id,r),o})}},f=e=>d(e,e=>l.setState("items",e),!0);return{...u,registerItem:f,renderItem:e=>iy(f(e),d(e,e=>l.setState("renderedItems",e))),item:e=>{if(!e)return null;let t=a.get(e);if(!t){let{items:r}=l.getState();(t=r.find(t=>t.id===e))&&a.set(e,t)}return t||null},__unstablePrivateStore:l}}(t),i=iS(t.activeId,null==r?void 0:r.activeId,t.defaultActiveId),a=a1({...n.getState(),id:iS(t.id,null==r?void 0:r.id,"id-".concat(Math.random().toString(36).slice(2,8))),activeId:i,baseElement:iS(null==r?void 0:r.baseElement,null),includesBaseElement:iS(t.includesBaseElement,null==r?void 0:r.includesBaseElement,null===i),moves:iS(null==r?void 0:r.moves,0),orientation:iS(t.orientation,null==r?void 0:r.orientation,"both"),rtl:iS(t.rtl,null==r?void 0:r.rtl,!1),virtualFocus:iS(t.virtualFocus,null==r?void 0:r.virtualFocus,!1),focusLoop:iS(t.focusLoop,null==r?void 0:r.focusLoop,!1),focusWrap:iS(t.focusWrap,null==r?void 0:r.focusWrap,!1),focusShift:iS(t.focusShift,null==r?void 0:r.focusShift,!1)},n,t.store);a9(a,()=>a3(a,["renderedItems","activeId"],e=>{a.setState("activeId",t=>{var r;return void 0!==t?t:null==(r=lm(e.renderedItems))?void 0:r.id})}));let o=function(){var e,t;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"next",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=a.getState(),{skip:o=0,activeId:s=i.activeId,focusShift:l=i.focusShift,focusLoop:u=i.focusLoop,focusWrap:c=i.focusWrap,includesBaseElement:d=i.includesBaseElement,renderedItems:f=i.renderedItems,rtl:h=i.rtl}=n,m="up"===r||"down"===r,p="next"===r||"down"===r,A=m?aT(function(e,t,r){let n=lg(e);for(let i of e)for(let e=0;ee.id===s);if(!g)return null==(t=lm(A))?void 0:t.id;let B=A.some(e=>e.rowId),C=A.indexOf(g),y=A.slice(C+1),b=lp(y,g.rowId);if(o){let e=b.filter(e=>s?!e.disabled&&e.id!==s:!e.disabled),t=e.slice(o)[0]||e[e.length-1];return null==t?void 0:t.id}let M=u&&(m?"horizontal"!==u:"vertical"!==u),E=B&&c&&(m?"horizontal"!==c:"vertical"!==c),x=p?(!B||m)&&M&&d:!!m&&d;if(M){let e=lm(function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.findIndex(e=>e.id===t);return[...e.slice(n+1),...r?[lh]:[],...e.slice(0,n)]}(E&&!x?A:lp(A,g.rowId),s,x),s);return null==e?void 0:e.id}if(E){let e=lm(x?b:y,s);return x?(null==e?void 0:e.id)||null:null==e?void 0:e.id}let F=lm(b,s);return!F&&x?null:null==F?void 0:F.id};return{...n,...a,setBaseElement:e=>a.setState("baseElement",e),setActiveId:e=>a.setState("activeId",e),move:e=>{void 0!==e&&(a.setState("activeId",e),a.setState("moves",e=>e+1))},first:()=>{var e;return null==(e=lm(a.getState().renderedItems))?void 0:e.id},last:()=>{var e;return null==(e=lm(aw(a.getState().renderedItems)))?void 0:e.id},next:e=>(void 0!==e&&"number"==typeof e&&(e={skip:e}),o("next",e)),previous:e=>(void 0!==e&&"number"==typeof e&&(e={skip:e}),o("previous",e)),down:e=>(void 0!==e&&"number"==typeof e&&(e={skip:e}),o("down",e)),up:e=>(void 0!==e&&"number"==typeof e&&(e={skip:e}),o("up",e))}}({...t,activeId:a,includesBaseElement:iS(t.includesBaseElement,null==i?void 0:i.includesBaseElement,!0),orientation:iS(t.orientation,null==i?void 0:i.orientation,"vertical"),focusLoop:iS(t.focusLoop,null==i?void 0:i.focusLoop,!0),focusWrap:iS(t.focusWrap,null==i?void 0:i.focusWrap,!0),virtualFocus:iS(t.virtualFocus,null==i?void 0:i.virtualFocus,!0)}),s=function(){let{popover:e,...t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=a4(t.store,a6(e,["arrowElement","anchorElement","contentElement","popoverElement","disclosureElement"]));a7(t,r);let n=null==r?void 0:r.getState(),i=o5({...t,store:r}),a=iS(t.placement,null==n?void 0:n.placement,"bottom"),o=a1({...i.getState(),placement:a,currentPlacement:a,anchorElement:iS(null==n?void 0:n.anchorElement,null),popoverElement:iS(null==n?void 0:n.popoverElement,null),arrowElement:iS(null==n?void 0:n.arrowElement,null),rendered:Symbol("rendered")},i,r);return{...i,...o,setAnchorElement:e=>o.setState("anchorElement",e),setPopoverElement:e=>o.setState("popoverElement",e),setArrowElement:e=>o.setState("arrowElement",e),render:()=>o.setState("rendered",Symbol("rendered"))}}({...t,placement:iS(t.placement,null==i?void 0:i.placement,"bottom-start")}),l=iS(t.value,null==i?void 0:i.value,t.defaultValue,""),u=iS(t.selectedValue,null==i?void 0:i.selectedValue,null==n?void 0:n.values,t.defaultSelectedValue,""),c=Array.isArray(u),d={...o.getState(),...s.getState(),value:l,selectedValue:u,resetValueOnSelect:iS(t.resetValueOnSelect,null==i?void 0:i.resetValueOnSelect,c),resetValueOnHide:iS(t.resetValueOnHide,null==i?void 0:i.resetValueOnHide,c&&!e),activeValue:null==i?void 0:i.activeValue},f=a1(d,o,s,r);return lv&&a9(f,()=>a3(f,["virtualFocus"],()=>{f.setState("virtualFocus",!1)})),a9(f,()=>{if(e)return iy(a3(f,["selectedValue"],t=>{Array.isArray(t.selectedValue)&&e.setValues(t.selectedValue)}),a3(e,["values"],e=>{f.setState("selectedValue",e.values)}))}),a9(f,()=>a3(f,["resetValueOnHide","mounted"],e=>{e.resetValueOnHide&&(e.mounted||f.setState("value",l))})),a9(f,()=>a3(f,["open"],e=>{e.open||(f.setState("activeId",a),f.setState("moves",0))})),a9(f,()=>a3(f,["moves","activeId"],(e,t)=>{e.moves===t.moves&&f.setState("activeValue",void 0)})),a9(f,()=>a5(f,["moves","renderedItems"],(e,t)=>{if(e.moves===t.moves)return;let{activeId:r}=f.getState(),n=o.item(r);f.setState("activeValue",null==n?void 0:n.value)})),{...s,...o,...f,tag:e,setValue:e=>f.setState("value",e),resetValue:()=>f.setState("value",d.value),setSelectedValue:e=>f.setState("selectedValue",e)}}function lC(){var e,t,r,n,i,a;let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[s,l]=oA(lB,o=function(e){var t;let r=lf();return{id:iQ((t=e={...e,tag:void 0!==e.tag?e.tag:r}).id),...t}}(o));return iW(l,[(e=o).tag]),op(s,e,"value","setValue"),op(s,e,"selectedValue","setSelectedValue"),op(s,e,"resetValueOnHide"),op(s,e,"resetValueOnSelect"),Object.assign((n=s,iW(i=l,[(a=e).popover]),op(n,a,"placement"),t=o2(n,i,a),r=t,iW(l,[e.store]),op(r,e,"items","setItems"),op(t=r,e,"activeId","setActiveId"),op(t,e,"includesBaseElement"),op(t,e,"virtualFocus"),op(t,e,"orientation"),op(t,e,"rtl"),op(t,e,"focusLoop"),op(t,e,"focusWrap"),op(t,e,"focusShift"),t),{tag:e.tag})}function ly(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=lC(e);return(0,es.jsx)(aY,{value:t,children:e.children})}var lb=(0,el.createContext)(void 0),lM=i5(function(e){let[t,r]=(0,el.useState)();return iF(e={role:"group","aria-labelledby":t,...e=iq(e,e=>(0,es.jsx)(lb.Provider,{value:r,children:e}),[])})});i2(function(e){return i3("div",lM(e))});var lE=i5(function(e){let{store:t,...r}=e;return lM(r)});i2(function(e){return i3("div",lE(e))});var lx=i5(function(e){let{store:t,...r}=e,n=aX();return iM(t=t||n,!1),"grid"===ih(t.useState("contentElement"))&&(r={role:"rowgroup",...r}),r=lE({store:t,...r})}),lF=i2(function(e){return i3("div",lx(e))}),lS=i5(function(e){let t=(0,el.useContext)(lb),r=iQ(e.id);return iJ(()=>(null==t||t(r),()=>null==t?void 0:t(void 0)),[t,r]),iF(e={id:r,"aria-hidden":!0,...e})});i2(function(e){return i3("div",lS(e))});var lT=i5(function(e){let{store:t,...r}=e;return lS(r)});i2(function(e){return i3("div",lT(e))});var lw=i5(function(e){return lT(e)}),lR=i2(function(e){return i3("div",lw(e))}),lI=e.i(38360);let lD={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},lG=(e,t)=>String(e.rankedValue).localeCompare(String(t.rankedValue));function lL(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{keys:n,threshold:i=lD.MATCHES,baseSort:a=lG,sorter:o=e=>e.sort((e,t)=>(function(e,t,r){let{rank:n,keyIndex:i}=e,{rank:a,keyIndex:o}=t;return n!==a?n>a?-1:1:i===o?r(e,t):i{let{rank:n,rankedValue:i,keyIndex:a,keyThreshold:o}=e,{itemValue:s,attributes:l}=t,d=lP(s,u,c),f=i,{minRanking:h,maxRanking:m,threshold:p}=l;return d=lD.MATCHES?d=h:d>m&&(d=m),d>n&&(n=d,a=r,o=p,f=s),{rankedValue:f,rank:n,keyIndex:a,keyThreshold:o}},{rankedValue:s,rank:lD.NO_MATCH,keyIndex:-1,keyThreshold:c.threshold}):{rankedValue:s,rank:lP(s,u,c),keyIndex:-1,keyThreshold:c.threshold}),{rank:f,keyThreshold:h=i}=d;return f>=h&&e.push({...d,item:a,index:o}),e},[])).map(e=>{let{item:t}=e;return t})}function lP(e,t,r){if(e=lH(e,r),(t=lH(t,r)).length>e.length)return lD.NO_MATCH;if(e===t)return lD.CASE_SENSITIVE_EQUAL;let n=function*(e,t){let r=-1;for(;(r=e.indexOf(t,r+1))>-1;)yield r;return -1}(e=e.toLowerCase(),t=t.toLowerCase()),i=n.next(),a=i.value;if(e.length===t.length&&0===a)return lD.EQUAL;if(0===a)return lD.STARTS_WITH;let o=i;for(;!o.done;){if(o.value>0&&" "===e[o.value-1])return lD.WORD_STARTS_WITH;o=n.next()}return a>0?lD.CONTAINS:1===t.length?lD.NO_MATCH:(function(e){let t="",r=" ";for(let n=0;n-1))return lD.NO_MATCH;var o=n-a;let s=r/t.length;return lD.MATCHES+1/o*s}(e,t)}function lH(e,t){let{keepDiacritics:r}=t;return e="".concat(e),r||(e=(0,lI.default)(e)),e}lL.rankings=lD;let lO={maxRanking:1/0,minRanking:-1/0};var lk=e.i(29402);let l_=new Set(["SkiFree","SkiFree_Daily","SkiFree_Randomizer"]),lU={"missions.vl2":"Official","TR2final105-client.vl2":"Team Rabbit 2","z_mappacks/CTF/Classic_maps_v1.vl2":"Classic","z_mappacks/CTF/DynamixFinalPack.vl2":"Official","z_mappacks/CTF/KryMapPack_b3EDIT.vl2":"KryMapPack","z_mappacks/CTF/S5maps.vl2":"S5","z_mappacks/CTF/S8maps.vl2":"S8","z_mappacks/CTF/TWL-MapPack.vl2":"TWL","z_mappacks/CTF/TWL-MapPackEDIT.vl2":"TWL","z_mappacks/CTF/TWL2-MapPack.vl2":"TWL2","z_mappacks/CTF/TWL2-MapPackEDIT.vl2":"TWL2","z_mappacks/TWL_T2arenaOfficialMaps.vl2":"Arena","z_mappacks/z_DMP2-V0.6.vl2":"DMP2 (Discord Map Pack)","z_mappacks/zDMP-4.7.3DX.vl2":"DMP (Discord Map Pack)"},lj={"z_mappacks/DM":"DM","z_mappacks/LCTF":"LCTF","z_mappacks/Lak":"LakRabbit"},lJ=(0,nw.getMissionList)().filter(e=>!l_.has(e)).map(e=>{var t,r;let n=(0,nw.getMissionInfo)(e),[i]=(0,nw.getSourceAndPath)(n.resourcePath),a=(e=>{let t=e.match(/^(.*)(\/[^/]+)$/);return t?t[1]:""})(i),o=null!=(r=null!=(t=lU[i])?t:lj[a])?r:null;return{resourcePath:n.resourcePath,missionName:e,displayName:n.displayName,sourcePath:i,groupName:o,missionTypes:n.missionTypes}}),lN=new Map(lJ.map(e=>[e.missionName,e])),lK=function(e){let t=new Map;for(let n of e){var r;let e=null!=(r=t.get(n.groupName))?r:[];e.push(n),t.set(n.groupName,e)}return t.forEach((e,r)=>{t.set(r,(0,lk.default)(e,[e=>(e.displayName||e.missionName).toLowerCase()],["asc"]))}),(0,lk.default)(Array.from(t.entries()),[e=>{let[t]=e;return"Official"===t?0:null==t?2:1},e=>{let[t]=e;return t?t.toLowerCase():""}],["asc","asc"])}(lJ),lQ="undefined"!=typeof navigator&&/Mac|iPhone|iPad|iPod/.test(navigator.platform);function lW(e){let{mission:t}=e;return(0,es.jsxs)(es.Fragment,{children:[(0,es.jsxs)("span",{className:"MissionSelect-itemHeader",children:[(0,es.jsx)("span",{className:"MissionSelect-itemName",children:t.displayName||t.missionName}),t.missionTypes.length>0&&(0,es.jsx)("span",{className:"MissionSelect-itemTypes",children:t.missionTypes.map(e=>(0,es.jsx)("span",{className:"MissionSelect-itemType",children:e},e))})]}),(0,es.jsx)("span",{className:"MissionSelect-itemMissionName",children:t.missionName})]})}function lV(e){let{value:t,onChange:r}=e,[n,i]=(0,el.useState)(""),a=(0,el.useRef)(null),o=lC({resetValueOnHide:!0,selectedValue:t,setSelectedValue:e=>{e&&r(e)},setValue:e=>{(0,el.startTransition)(()=>i(e))}});(0,el.useEffect)(()=>{let e=e=>{if("k"===e.key&&(e.metaKey||e.ctrlKey)){var t;e.preventDefault(),null==(t=a.current)||t.focus(),o.show()}};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o]);let s=lN.get(t),l=(0,el.useMemo)(()=>n?{type:"flat",missions:lL(lJ,n,{keys:["displayName","missionName"]})}:{type:"grouped",groups:lK},[n]),u=s?s.displayName||s.missionName:t,c="flat"===l.type?0===l.missions.length:0===l.groups.length;return(0,es.jsxs)(ly,{store:o,children:[(0,es.jsxs)("div",{className:"MissionSelect-inputWrapper",children:[(0,es.jsx)(on,{ref:a,autoSelect:!0,placeholder:u,className:"MissionSelect-input",onFocus:()=>{document.exitPointerLock(),o.show()}}),(0,es.jsx)("kbd",{className:"MissionSelect-shortcut",children:lQ?"⌘K":"^K"})]}),(0,es.jsx)(lc,{gutter:4,fitViewport:!0,className:"MissionSelect-popover",children:(0,es.jsxs)(oT,{className:"MissionSelect-list",children:["flat"===l.type?l.missions.map(e=>(0,es.jsx)(oC,{value:e.missionName,className:"MissionSelect-item",focusOnHover:!0,children:(0,es.jsx)(lW,{mission:e})},e.missionName)):l.groups.map(e=>{let[t,r]=e;return t?(0,es.jsxs)(lF,{className:"MissionSelect-group",children:[(0,es.jsx)(lR,{className:"MissionSelect-groupLabel",children:t}),r.map(e=>(0,es.jsx)(oC,{value:e.missionName,className:"MissionSelect-item",focusOnHover:!0,children:(0,es.jsx)(lW,{mission:e})},e.missionName))]},t):(0,es.jsx)(el.Fragment,{children:r.map(e=>(0,es.jsx)(oC,{value:e.missionName,className:"MissionSelect-item",focusOnHover:!0,children:(0,es.jsx)(lW,{mission:e})},e.missionName))},"ungrouped")}),c&&(0,es.jsx)("div",{className:"MissionSelect-noResults",children:"No missions found"})]})})]})}function lX(e){let{missionName:t,onChangeMission:r}=e,{fogEnabled:n,setFogEnabled:i,fov:a,setFov:o,audioEnabled:s,setAudioEnabled:l,animationEnabled:u,setAnimationEnabled:c}=(0,tD.useSettings)(),{speedMultiplier:d,setSpeedMultiplier:f}=(0,tD.useControls)(),{debugMode:h,setDebugMode:m}=(0,tD.useDebug)();return(0,es.jsxs)("div",{id:"controls",onKeyDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:[(0,es.jsx)(lV,{value:t,onChange:r}),(0,es.jsxs)("div",{className:"CheckboxField",children:[(0,es.jsx)("input",{id:"fogInput",type:"checkbox",checked:n,onChange:e=>{i(e.target.checked)}}),(0,es.jsx)("label",{htmlFor:"fogInput",children:"Fog?"})]}),(0,es.jsxs)("div",{className:"CheckboxField",children:[(0,es.jsx)("input",{id:"audioInput",type:"checkbox",checked:s,onChange:e=>{l(e.target.checked)}}),(0,es.jsx)("label",{htmlFor:"audioInput",children:"Audio?"})]}),(0,es.jsxs)("div",{className:"CheckboxField",children:[(0,es.jsx)("input",{id:"animationInput",type:"checkbox",checked:u,onChange:e=>{c(e.target.checked)}}),(0,es.jsx)("label",{htmlFor:"animationInput",children:"Animation?"})]}),(0,es.jsxs)("div",{className:"CheckboxField",children:[(0,es.jsx)("input",{id:"debugInput",type:"checkbox",checked:h,onChange:e=>{m(e.target.checked)}}),(0,es.jsx)("label",{htmlFor:"debugInput",children:"Debug?"})]}),(0,es.jsxs)("div",{className:"Field",children:[(0,es.jsx)("label",{htmlFor:"fovInput",children:"FOV"}),(0,es.jsx)("input",{id:"fovInput",type:"range",min:75,max:120,step:5,value:a,onChange:e=>o(parseInt(e.target.value))}),(0,es.jsx)("output",{htmlFor:"speedInput",children:a})]}),(0,es.jsxs)("div",{className:"Field",children:[(0,es.jsx)("label",{htmlFor:"speedInput",children:"Speed"}),(0,es.jsx)("input",{id:"speedInput",type:"range",min:.1,max:5,step:.05,value:d,onChange:e=>f(parseFloat(e.target.value))})]})]})}let lq=el.forwardRef((e,t)=>{let{envMap:r,resolution:n=256,frames:i=1/0,makeDefault:a,children:o,...s}=e,l=(0,tx.useThree)(e=>{let{set:t}=e;return t}),u=(0,tx.useThree)(e=>{let{camera:t}=e;return t}),c=(0,tx.useThree)(e=>{let{size:t}=e;return t}),d=el.useRef(null);el.useImperativeHandle(t,()=>d.current,[]);let f=el.useRef(null),h=function(e,t,r){let n=(0,tx.useThree)(e=>e.size),i=(0,tx.useThree)(e=>e.viewport),a="number"==typeof e?e:n.width*i.dpr,o=n.height*i.dpr,s=("number"==typeof e?void 0:e)||{},{samples:l=0,depth:u,...c}=s,d=null!=u?u:s.depthBuffer,f=el.useMemo(()=>{let e=new ef.WebGLRenderTarget(a,o,{minFilter:ef.LinearFilter,magFilter:ef.LinearFilter,type:ef.HalfFloatType,...c});return d&&(e.depthTexture=new ef.DepthTexture(a,o,ef.FloatType)),e.samples=l,e},[]);return el.useLayoutEffect(()=>{f.setSize(a,o),l&&(f.samples=l)},[l,f,a,o]),el.useEffect(()=>()=>f.dispose(),[]),f}(n);el.useLayoutEffect(()=>{s.manual||(d.current.aspect=c.width/c.height)},[c,s]),el.useLayoutEffect(()=>{d.current.updateProjectionMatrix()});let m=0,p=null,A="function"==typeof o;return(0,tE.useFrame)(e=>{A&&(i===1/0||m{if(a)return l(()=>({camera:d.current})),()=>l(()=>({camera:u}))},[d,a,l]),el.createElement(el.Fragment,null,el.createElement("perspectiveCamera",(0,tq.default)({ref:d},s),!A&&o),el.createElement("group",{ref:f},A&&o(h.texture)))});function lY(){let{fov:e}=(0,tD.useSettings)();return(0,es.jsx)(lq,{makeDefault:!0,position:[0,256,0],fov:e})}var lZ=e.i(51434),lz=e.i(81405);function l$(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}function l0(e){let{showPanel:t=0,className:r,parent:n}=e,i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,[n,i]=el.useState();return el.useLayoutEffect(()=>{let t=e();return i(t),l$(r,t),()=>l$(r,null)},t),n}(()=>new lz.default,[]);return el.useEffect(()=>{if(i){let e=n&&n.current||document.body;i.showPanel(t),null==e||e.appendChild(i.dom);let a=(null!=r?r:"").split(" ").filter(e=>e);a.length&&i.dom.classList.add(...a);let o=(0,ec.j)(()=>i.begin()),s=(0,ec.k)(()=>i.end());return()=>{a.length&&i.dom.classList.remove(...a),null==e||e.removeChild(i.dom),o(),s()}}},[n,i,r,t]),null}var l1=e.i(60099);function l9(){let{debugMode:e}=(0,tD.useDebug)(),t=(0,el.useRef)(null);return(0,el.useEffect)(()=>{let e=t.current;e&&e.setColors("rgb(153, 255, 0)","rgb(0, 153, 255)","rgb(255, 153, 0)")}),e?(0,es.jsxs)(es.Fragment,{children:[(0,es.jsx)(l0,{className:"StatsPanel"}),(0,es.jsx)("axesHelper",{ref:t,args:[70],renderOrder:999,children:(0,es.jsx)("lineBasicMaterial",{depthTest:!1,depthWrite:!1,fog:!1,vertexColors:!0})}),(0,es.jsx)(l1.Html,{position:[80,0,0],center:!0,children:(0,es.jsx)("span",{className:"AxisLabel","data-axis":"y",children:"Y"})}),(0,es.jsx)(l1.Html,{position:[0,80,0],center:!0,children:(0,es.jsx)("span",{className:"AxisLabel","data-axis":"z",children:"Z"})}),(0,es.jsx)(l1.Html,{position:[0,0,80],center:!0,children:(0,es.jsx)("span",{className:"AxisLabel","data-axis":"x",children:"X"})})]}):null}let l2=new nJ,l8={toneMapping:ef.NoToneMapping,outputColorSpace:ef.SRGBColorSpace};function l3(){let e=(0,eu.useSearchParams)(),t=(0,eu.useRouter)(),[r,n]=(0,el.useState)(e.get("mission")||"TWL2_WoodyMyrk"),[i,a]=(0,el.useState)(0),[o,s]=(0,el.useState)(!0),l=i<1;(0,el.useEffect)(()=>{if(l)s(!0);else{let e=setTimeout(()=>s(!1),500);return()=>clearTimeout(e)}},[l]),(0,el.useEffect)(()=>(window.setMissionName=n,window.getMissionList=nw.getMissionList,window.getMissionInfo=nw.getMissionInfo,()=>{delete window.setMissionName,delete window.getMissionList,delete window.getMissionInfo}),[]),(0,el.useEffect)(()=>{let e=new URLSearchParams;e.set("mission",r),t.replace("?".concat(e.toString()),{scroll:!1})},[r,t]);let u=(0,el.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;a(t)},[]);return(0,es.jsx)(tA,{client:l2,children:(0,es.jsx)("main",{children:(0,es.jsxs)(tD.SettingsProvider,{children:[(0,es.jsxs)("div",{id:"canvasContainer",children:[o&&(0,es.jsxs)("div",{id:"loadingIndicator","data-complete":!l,children:[(0,es.jsx)("div",{className:"LoadingSpinner"}),(0,es.jsx)("div",{className:"LoadingProgress",children:(0,es.jsx)("div",{className:"LoadingProgress-bar",style:{width:"".concat(100*i,"%")}})}),(0,es.jsxs)("div",{className:"LoadingProgress-text",children:[Math.round(100*i),"%"]})]}),(0,es.jsx)(ev,{shadows:!0,frameloop:"always",gl:l8,children:(0,es.jsx)(nb,{children:(0,es.jsxs)(lZ.AudioProvider,{children:[(0,es.jsx)(nG,{name:r,onLoadingChange:u},r),(0,es.jsx)(lY,{}),(0,es.jsx)(l9,{}),(0,es.jsx)(n4,{})]})})})]}),(0,es.jsx)(lX,{missionName:r,onChangeMission:n})]})})})}function l5(){return(0,es.jsx)(el.Suspense,{children:(0,es.jsx)(l3,{})})}}]); \ No newline at end of file diff --git a/docs/_next/static/Z2orC9Oxj30KOCL7Wakqt/_buildManifest.js b/docs/_next/static/nCiBD1gBZD0BBktWqKGDD/_buildManifest.js similarity index 100% rename from docs/_next/static/Z2orC9Oxj30KOCL7Wakqt/_buildManifest.js rename to docs/_next/static/nCiBD1gBZD0BBktWqKGDD/_buildManifest.js diff --git a/docs/_next/static/Z2orC9Oxj30KOCL7Wakqt/_clientMiddlewareManifest.json b/docs/_next/static/nCiBD1gBZD0BBktWqKGDD/_clientMiddlewareManifest.json similarity index 100% rename from docs/_next/static/Z2orC9Oxj30KOCL7Wakqt/_clientMiddlewareManifest.json rename to docs/_next/static/nCiBD1gBZD0BBktWqKGDD/_clientMiddlewareManifest.json diff --git a/docs/_next/static/Z2orC9Oxj30KOCL7Wakqt/_ssgManifest.js b/docs/_next/static/nCiBD1gBZD0BBktWqKGDD/_ssgManifest.js similarity index 100% rename from docs/_next/static/Z2orC9Oxj30KOCL7Wakqt/_ssgManifest.js rename to docs/_next/static/nCiBD1gBZD0BBktWqKGDD/_ssgManifest.js diff --git a/docs/index.html b/docs/index.html index 28766509..b1be3556 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ -MapGenius – Explore maps for Tribes 2 \ No newline at end of file +MapGenius – Explore maps for Tribes 2 \ No newline at end of file diff --git a/docs/index.txt b/docs/index.txt index da85293c..09a2f76b 100644 --- a/docs/index.txt +++ b/docs/index.txt @@ -2,7 +2,7 @@ 2:I[39756,["/t2-mapper/_next/static/chunks/060f9a97930f3d04.js"],"default"] 3:I[37457,["/t2-mapper/_next/static/chunks/060f9a97930f3d04.js"],"default"] 4:I[47257,["/t2-mapper/_next/static/chunks/060f9a97930f3d04.js"],"ClientPageRoot"] -5:I[31713,["/t2-mapper/_next/static/chunks/a99c02adf7563d85.js","/t2-mapper/_next/static/chunks/bce28defe6a29ff5.js","/t2-mapper/_next/static/chunks/32ef0c8650712240.js","/t2-mapper/_next/static/chunks/49f75d30e4f6ac74.js"],"default"] +5:I[31713,["/t2-mapper/_next/static/chunks/a99c02adf7563d85.js","/t2-mapper/_next/static/chunks/9df2d46c5eaa77d2.js","/t2-mapper/_next/static/chunks/32ef0c8650712240.js","/t2-mapper/_next/static/chunks/49f75d30e4f6ac74.js"],"default"] 8:I[97367,["/t2-mapper/_next/static/chunks/060f9a97930f3d04.js"],"OutletBoundary"] a:I[11533,["/t2-mapper/_next/static/chunks/060f9a97930f3d04.js"],"AsyncMetadataOutlet"] c:I[97367,["/t2-mapper/_next/static/chunks/060f9a97930f3d04.js"],"ViewportBoundary"] @@ -10,7 +10,7 @@ e:I[97367,["/t2-mapper/_next/static/chunks/060f9a97930f3d04.js"],"MetadataBounda f:"$Sreact.suspense" 11:I[68027,[],"default"] :HL["/t2-mapper/_next/static/chunks/15b04c9d2ba2c4cf.css","style"] -0:{"P":null,"b":"Z2orC9Oxj30KOCL7Wakqt","p":"/t2-mapper","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-mapper/_next/static/chunks/15b04c9d2ba2c4cf.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","searchParams":{},"params":{},"promises":["$@6","$@7"]}],[["$","script","script-0",{"src":"/t2-mapper/_next/static/chunks/a99c02adf7563d85.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/t2-mapper/_next/static/chunks/bce28defe6a29ff5.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/t2-mapper/_next/static/chunks/32ef0c8650712240.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/t2-mapper/_next/static/chunks/49f75d30e4f6ac74.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$L9",["$","$La",null,{"promise":"$@b"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lc",null,{"children":"$Ld"}],null],["$","$Le",null,{"children":["$","div",null,{"hidden":true,"children":["$","$f",null,{"fallback":null,"children":"$L10"}]}]}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/t2-mapper/_next/static/chunks/15b04c9d2ba2c4cf.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"s":false,"S":true} +0:{"P":null,"b":"nCiBD1gBZD0BBktWqKGDD","p":"/t2-mapper","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-mapper/_next/static/chunks/15b04c9d2ba2c4cf.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","searchParams":{},"params":{},"promises":["$@6","$@7"]}],[["$","script","script-0",{"src":"/t2-mapper/_next/static/chunks/a99c02adf7563d85.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/t2-mapper/_next/static/chunks/9df2d46c5eaa77d2.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/t2-mapper/_next/static/chunks/32ef0c8650712240.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/t2-mapper/_next/static/chunks/49f75d30e4f6ac74.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$L9",["$","$La",null,{"promise":"$@b"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lc",null,{"children":"$Ld"}],null],["$","$Le",null,{"children":["$","div",null,{"hidden":true,"children":["$","$f",null,{"fallback":null,"children":"$L10"}]}]}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/t2-mapper/_next/static/chunks/15b04c9d2ba2c4cf.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"s":false,"S":true} 6:{} 7:"$0:f:0:1:2:children:1:props:children:0:props:params" d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] diff --git a/src/components/InteriorInstance.tsx b/src/components/InteriorInstance.tsx index 4fa41b65..002fc2a2 100644 --- a/src/components/InteriorInstance.tsx +++ b/src/components/InteriorInstance.tsx @@ -1,6 +1,12 @@ import { memo, Suspense, useMemo, useCallback } from "react"; import { ErrorBoundary } from "react-error-boundary"; -import { Mesh, Material, MeshStandardMaterial, Texture } from "three"; +import { + Mesh, + Material, + MeshStandardMaterial, + Texture, + SRGBColorSpace, +} from "three"; import { useGLTF, useTexture } from "@react-three/drei"; import { textureToUrl, interiorToUrl } from "../loaders"; import type { TorqueObject } from "../torqueScript"; @@ -16,8 +22,12 @@ import { injectInteriorLighting } from "../interiorMaterial"; * Lightmap intensity multiplier. * Lightmaps contain baked lighting from interior-specific lights only * (not scene sun/ambient - that's applied in real-time). + * + * Three.js's BRDF_Lambert divides by PI for energy conservation, but Torque + * (2001) used simple multiplication: base_texture * lightmap in gamma space. + * We multiply by PI to cancel out Three.js's division. */ -const LIGHTMAP_INTENSITY = 2.5; +const LIGHTMAP_INTENSITY = Math.PI; /** * Load a .gltf file that was converted from a .dif, used for "interior" models. @@ -81,9 +91,10 @@ function InteriorTexture({ * Extract lightmap texture from a glTF material. * The io_dif Blender addon stores lightmaps in the emissive channel for transport. * - * Note: Torque used lightmaps directly as linear data (no gamma correction in - * the engine). The glTF loader preserves the original PNG data. We explicitly - * set colorSpace to linear to match Torque's behavior. + * Torque (2001) multiplied base_texture * lightmap directly in gamma/sRGB space + * with no gamma correction. The lightmap PNGs contain sRGB-encoded values. + * By setting colorSpace to SRGBColorSpace, Three.js correctly decodes the sRGB + * values to linear for its lighting calculations. */ function getLightMap(material: Material | null): Texture | null { if (!material) return null; @@ -92,8 +103,8 @@ function getLightMap(material: Material | null): Texture | null { // Lightmap is stored in emissiveMap with 0 strength (just for glTF transport) const lightMap = stdMat.emissiveMap; if (lightMap) { - // Use linear color space to match Torque's direct multiply behavior - lightMap.colorSpace = "srgb-linear"; + // Lightmaps are sRGB-encoded PNGs - decode to linear for correct lighting + lightMap.colorSpace = SRGBColorSpace; } return lightMap ?? null; }