1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31713,e=>{"use strict";var t=e.i(43476),r=e.i(71645),a=e.i(18566),n=e.i(70703),o=e.i(94848),i=e.i(8560),s=e.i(90072);e.s(["ACESFilmicToneMapping",()=>s.ACESFilmicToneMapping,"AddEquation",()=>s.AddEquation,"AddOperation",()=>s.AddOperation,"AdditiveAnimationBlendMode",()=>s.AdditiveAnimationBlendMode,"AdditiveBlending",()=>s.AdditiveBlending,"AgXToneMapping",()=>s.AgXToneMapping,"AlphaFormat",()=>s.AlphaFormat,"AlwaysCompare",()=>s.AlwaysCompare,"AlwaysDepth",()=>s.AlwaysDepth,"AlwaysStencilFunc",()=>s.AlwaysStencilFunc,"AmbientLight",()=>s.AmbientLight,"AnimationAction",()=>s.AnimationAction,"AnimationClip",()=>s.AnimationClip,"AnimationLoader",()=>s.AnimationLoader,"AnimationMixer",()=>s.AnimationMixer,"AnimationObjectGroup",()=>s.AnimationObjectGroup,"AnimationUtils",()=>s.AnimationUtils,"ArcCurve",()=>s.ArcCurve,"ArrayCamera",()=>s.ArrayCamera,"ArrowHelper",()=>s.ArrowHelper,"AttachedBindMode",()=>s.AttachedBindMode,"Audio",()=>s.Audio,"AudioAnalyser",()=>s.AudioAnalyser,"AudioContext",()=>s.AudioContext,"AudioListener",()=>s.AudioListener,"AudioLoader",()=>s.AudioLoader,"AxesHelper",()=>s.AxesHelper,"BackSide",()=>s.BackSide,"BasicDepthPacking",()=>s.BasicDepthPacking,"BasicShadowMap",()=>s.BasicShadowMap,"BatchedMesh",()=>s.BatchedMesh,"Bone",()=>s.Bone,"BooleanKeyframeTrack",()=>s.BooleanKeyframeTrack,"Box2",()=>s.Box2,"Box3",()=>s.Box3,"Box3Helper",()=>s.Box3Helper,"BoxGeometry",()=>s.BoxGeometry,"BoxHelper",()=>s.BoxHelper,"BufferAttribute",()=>s.BufferAttribute,"BufferGeometry",()=>s.BufferGeometry,"BufferGeometryLoader",()=>s.BufferGeometryLoader,"ByteType",()=>s.ByteType,"Cache",()=>s.Cache,"Camera",()=>s.Camera,"CameraHelper",()=>s.CameraHelper,"CanvasTexture",()=>s.CanvasTexture,"CapsuleGeometry",()=>s.CapsuleGeometry,"CatmullRomCurve3",()=>s.CatmullRomCurve3,"CineonToneMapping",()=>s.CineonToneMapping,"CircleGeometry",()=>s.CircleGeometry,"ClampToEdgeWrapping",()=>s.ClampToEdgeWrapping,"Clock",()=>s.Clock,"Color",()=>s.Color,"ColorKeyframeTrack",()=>s.ColorKeyframeTrack,"ColorManagement",()=>s.ColorManagement,"CompressedArrayTexture",()=>s.CompressedArrayTexture,"CompressedCubeTexture",()=>s.CompressedCubeTexture,"CompressedTexture",()=>s.CompressedTexture,"CompressedTextureLoader",()=>s.CompressedTextureLoader,"ConeGeometry",()=>s.ConeGeometry,"ConstantAlphaFactor",()=>s.ConstantAlphaFactor,"ConstantColorFactor",()=>s.ConstantColorFactor,"Controls",()=>s.Controls,"CubeCamera",()=>s.CubeCamera,"CubeReflectionMapping",()=>s.CubeReflectionMapping,"CubeRefractionMapping",()=>s.CubeRefractionMapping,"CubeTexture",()=>s.CubeTexture,"CubeTextureLoader",()=>s.CubeTextureLoader,"CubeUVReflectionMapping",()=>s.CubeUVReflectionMapping,"CubicBezierCurve",()=>s.CubicBezierCurve,"CubicBezierCurve3",()=>s.CubicBezierCurve3,"CubicInterpolant",()=>s.CubicInterpolant,"CullFaceBack",()=>s.CullFaceBack,"CullFaceFront",()=>s.CullFaceFront,"CullFaceFrontBack",()=>s.CullFaceFrontBack,"CullFaceNone",()=>s.CullFaceNone,"Curve",()=>s.Curve,"CurvePath",()=>s.CurvePath,"CustomBlending",()=>s.CustomBlending,"CustomToneMapping",()=>s.CustomToneMapping,"CylinderGeometry",()=>s.CylinderGeometry,"Cylindrical",()=>s.Cylindrical,"Data3DTexture",()=>s.Data3DTexture,"DataArrayTexture",()=>s.DataArrayTexture,"DataTexture",()=>s.DataTexture,"DataTextureLoader",()=>s.DataTextureLoader,"DataUtils",()=>s.DataUtils,"DecrementStencilOp",()=>s.DecrementStencilOp,"DecrementWrapStencilOp",()=>s.DecrementWrapStencilOp,"DefaultLoadingManager",()=>s.DefaultLoadingManager,"DepthFormat",()=>s.DepthFormat,"DepthStencilFormat",()=>s.DepthStencilFormat,"DepthTexture",()=>s.DepthTexture,"DetachedBindMode",()=>s.DetachedBindMode,"DirectionalLight",()=>s.DirectionalLight,"DirectionalLightHelper",()=>s.DirectionalLightHelper,"DiscreteInterpolant",()=>s.DiscreteInterpolant,"DodecahedronGeometry",()=>s.DodecahedronGeometry,"DoubleSide",()=>s.DoubleSide,"DstAlphaFactor",()=>s.DstAlphaFactor,"DstColorFactor",()=>s.DstColorFactor,"DynamicCopyUsage",()=>s.DynamicCopyUsage,"DynamicDrawUsage",()=>s.DynamicDrawUsage,"DynamicReadUsage",()=>s.DynamicReadUsage,"EdgesGeometry",()=>s.EdgesGeometry,"EllipseCurve",()=>s.EllipseCurve,"EqualCompare",()=>s.EqualCompare,"EqualDepth",()=>s.EqualDepth,"EqualStencilFunc",()=>s.EqualStencilFunc,"EquirectangularReflectionMapping",()=>s.EquirectangularReflectionMapping,"EquirectangularRefractionMapping",()=>s.EquirectangularRefractionMapping,"Euler",()=>s.Euler,"EventDispatcher",()=>s.EventDispatcher,"ExternalTexture",()=>s.ExternalTexture,"ExtrudeGeometry",()=>s.ExtrudeGeometry,"FileLoader",()=>s.FileLoader,"Float16BufferAttribute",()=>s.Float16BufferAttribute,"Float32BufferAttribute",()=>s.Float32BufferAttribute,"FloatType",()=>s.FloatType,"Fog",()=>s.Fog,"FogExp2",()=>s.FogExp2,"FramebufferTexture",()=>s.FramebufferTexture,"FrontSide",()=>s.FrontSide,"Frustum",()=>s.Frustum,"FrustumArray",()=>s.FrustumArray,"GLBufferAttribute",()=>s.GLBufferAttribute,"GLSL1",()=>s.GLSL1,"GLSL3",()=>s.GLSL3,"GreaterCompare",()=>s.GreaterCompare,"GreaterDepth",()=>s.GreaterDepth,"GreaterEqualCompare",()=>s.GreaterEqualCompare,"GreaterEqualDepth",()=>s.GreaterEqualDepth,"GreaterEqualStencilFunc",()=>s.GreaterEqualStencilFunc,"GreaterStencilFunc",()=>s.GreaterStencilFunc,"GridHelper",()=>s.GridHelper,"Group",()=>s.Group,"HalfFloatType",()=>s.HalfFloatType,"HemisphereLight",()=>s.HemisphereLight,"HemisphereLightHelper",()=>s.HemisphereLightHelper,"IcosahedronGeometry",()=>s.IcosahedronGeometry,"ImageBitmapLoader",()=>s.ImageBitmapLoader,"ImageLoader",()=>s.ImageLoader,"ImageUtils",()=>s.ImageUtils,"IncrementStencilOp",()=>s.IncrementStencilOp,"IncrementWrapStencilOp",()=>s.IncrementWrapStencilOp,"InstancedBufferAttribute",()=>s.InstancedBufferAttribute,"InstancedBufferGeometry",()=>s.InstancedBufferGeometry,"InstancedInterleavedBuffer",()=>s.InstancedInterleavedBuffer,"InstancedMesh",()=>s.InstancedMesh,"Int16BufferAttribute",()=>s.Int16BufferAttribute,"Int32BufferAttribute",()=>s.Int32BufferAttribute,"Int8BufferAttribute",()=>s.Int8BufferAttribute,"IntType",()=>s.IntType,"InterleavedBuffer",()=>s.InterleavedBuffer,"InterleavedBufferAttribute",()=>s.InterleavedBufferAttribute,"Interpolant",()=>s.Interpolant,"InterpolateDiscrete",()=>s.InterpolateDiscrete,"InterpolateLinear",()=>s.InterpolateLinear,"InterpolateSmooth",()=>s.InterpolateSmooth,"InterpolationSamplingMode",()=>s.InterpolationSamplingMode,"InterpolationSamplingType",()=>s.InterpolationSamplingType,"InvertStencilOp",()=>s.InvertStencilOp,"KeepStencilOp",()=>s.KeepStencilOp,"KeyframeTrack",()=>
1s.KeyframeTrack,"LOD",()=>s.LOD,"LatheGeometry",()=>s.LatheGeometry,"Layers",()=>s.Layers,"LessCompare",()=>s.LessCompare,"LessDepth",()=>s.LessDepth,"LessEqualCompare",()=>s.LessEqualCompare,"LessEqualDepth",()=>s.LessEqualDepth,"LessEqualStencilFunc",()=>s.LessEqualStencilFunc,"LessStencilFunc",()=>s.LessStencilFunc,"Light",()=>s.Light,"LightProbe",()=>s.LightProbe,"Line",()=>s.Line,"Line3",()=>s.Line3,"LineBasicMaterial",()=>s.LineBasicMaterial,"LineCurve",()=>s.LineCurve,"LineCurve3",()=>s.LineCurve3,"LineDashedMaterial",()=>s.LineDashedMaterial,"LineLoop",()=>s.LineLoop,"LineSegments",()=>s.LineSegments,"LinearFilter",()=>s.LinearFilter,"LinearInterpolant",()=>s.LinearInterpolant,"LinearMipMapLinearFilter",()=>s.LinearMipMapLinearFilter,"LinearMipMapNearestFilter",()=>s.LinearMipMapNearestFilter,"LinearMipmapLinearFilter",()=>s.LinearMipmapLinearFilter,"LinearMipmapNearestFilter",()=>s.LinearMipmapNearestFilter,"LinearSRGBColorSpace",()=>s.LinearSRGBColorSpace,"LinearToneMapping",()=>s.LinearToneMapping,"LinearTransfer",()=>s.LinearTransfer,"Loader",()=>s.Loader,"LoaderUtils",()=>s.LoaderUtils,"LoadingManager",()=>s.LoadingManager,"LoopOnce",()=>s.LoopOnce,"LoopPingPong",()=>s.LoopPingPong,"LoopRepeat",()=>s.LoopRepeat,"MOUSE",()=>s.MOUSE,"Material",()=>s.Material,"MaterialLoader",()=>s.MaterialLoader,"MathUtils",()=>s.MathUtils,"Matrix2",()=>s.Matrix2,"Matrix3",()=>s.Matrix3,"Matrix4",()=>s.Matrix4,"MaxEquation",()=>s.MaxEquation,"Mesh",()=>s.Mesh,"MeshBasicMaterial",()=>s.MeshBasicMaterial,"MeshDepthMaterial",()=>s.MeshDepthMaterial,"MeshDistanceMaterial",()=>s.MeshDistanceMaterial,"MeshLambertMaterial",()=>s.MeshLambertMaterial,"MeshMatcapMaterial",()=>s.MeshMatcapMaterial,"MeshNormalMaterial",()=>s.MeshNormalMaterial,"MeshPhongMaterial",()=>s.MeshPhongMaterial,"MeshPhysicalMaterial",()=>s.MeshPhysicalMaterial,"MeshStandardMaterial",()=>s.MeshStandardMaterial,"MeshToonMaterial",()=>s.MeshToonMaterial,"MinEquation",()=>s.MinEquation,"MirroredRepeatWrapping",()=>s.MirroredRepeatWrapping,"MixOperation",()=>s.MixOperation,"MultiplyBlending",()=>s.MultiplyBlending,"MultiplyOperation",()=>s.MultiplyOperation,"NearestFilter",()=>s.NearestFilter,"NearestMipMapLinearFilter",()=>s.NearestMipMapLinearFilter,"NearestMipMapNearestFilter",()=>s.NearestMipMapNearestFilter,"NearestMipmapLinearFilter",()=>s.NearestMipmapLinearFilter,"NearestMipmapNearestFilter",()=>s.NearestMipmapNearestFilter,"NeutralToneMapping",()=>s.NeutralToneMapping,"NeverCompare",()=>s.NeverCompare,"NeverDepth",()=>s.NeverDepth,"NeverStencilFunc",()=>s.NeverStencilFunc,"NoBlending",()=>s.NoBlending,"NoColorSpace",()=>s.NoColorSpace,"NoToneMapping",()=>s.NoToneMapping,"NormalAnimationBlendMode",()=>s.NormalAnimationBlendMode,"NormalBlending",()=>s.NormalBlending,"NotEqualCompare",()=>s.NotEqualCompare,"NotEqualDepth",()=>s.NotEqualDepth,"NotEqualStencilFunc",()=>s.NotEqualStencilFunc,"NumberKeyframeTrack",()=>s.NumberKeyframeTrack,"Object3D",()=>s.Object3D,"ObjectLoader",()=>s.ObjectLoader,"ObjectSpaceNormalMap",()=>s.ObjectSpaceNormalMap,"OctahedronGeometry",()=>s.OctahedronGeometry,"OneFactor",()=>s.OneFactor,"OneMinusConstantAlphaFactor",()=>s.OneMinusConstantAlphaFactor,"OneMinusConstantColorFactor",()=>s.OneMinusConstantColorFactor,"OneMinusDstAlphaFactor",()=>s.OneMinusDstAlphaFactor,"OneMinusDstColorFactor",()=>s.OneMinusDstColorFactor,"OneMinusSrcAlphaFactor",()=>s.OneMinusSrcAlphaFactor,"OneMinusSrcColorFactor",()=>s.OneMinusSrcColorFactor,"OrthographicCamera",()=>s.OrthographicCamera,"PCFShadowMap",()=>s.PCFShadowMap,"PCFSoftShadowMap",()=>s.PCFSoftShadowMap,"PMREMGenerator",()=>i.PMREMGenerator,"Path",()=>s.Path,"PerspectiveCamera",()=>s.PerspectiveCamera,"Plane",()=>s.Plane,"PlaneGeometry",()=>s.PlaneGeometry,"PlaneHelper",()=>s.PlaneHelper,"PointLight",()=>s.PointLight,"PointLightHelper",()=>s.PointLightHelper,"Points",()=>s.Points,"PointsMaterial",()=>s.PointsMaterial,"PolarGridHelper",()=>s.PolarGridHelper,"PolyhedronGeometry",()=>s.PolyhedronGeometry,"PositionalAudio",()=>s.PositionalAudio,"PropertyBinding",()=>s.PropertyBinding,"PropertyMixer",()=>s.PropertyMixer,"QuadraticBezierCurve",()=>s.QuadraticBezierCurve,"QuadraticBezierCurve3",()=>s.QuadraticBezierCurve3,"Quaternion",()=>s.Quaternion,"QuaternionKeyframeTrack",()=>s.QuaternionKeyframeTrack,"QuaternionLinearInterpolant",()=>s.QuaternionLinearInterpolant,"RED_GREEN_RGTC2_Format",()=>
1s.RED_GREEN_RGTC2_Format,"RED_RGTC1_Format",()=>s.RED_RGTC1_Format,"REVISION",()=>s.REVISION,"RGBADepthPacking",()=>s.RGBADepthPacking,"RGBAFormat",()=>s.RGBAFormat,"RGBAIntegerFormat",()=>s.RGBAIntegerFormat,"RGBA_ASTC_10x10_Format",()=>s.RGBA_ASTC_10x10_Format,"RGBA_ASTC_10x5_Format",()=>s.RGBA_ASTC_10x5_Format,"RGBA_ASTC_10x6_Format",()=>s.RGBA_ASTC_10x6_Format,"RGBA_ASTC_10x8_Format",()=>s.RGBA_ASTC_10x8_Format,"RGBA_ASTC_12x10_Format",()=>s.RGBA_ASTC_12x10_Format,"RGBA_ASTC_12x12_Format",()=>s.RGBA_ASTC_12x12_Format,"RGBA_ASTC_4x4_Format",()=>s.RGBA_ASTC_4x4_Format,"RGBA_ASTC_5x4_Format",()=>s.RGBA_ASTC_5x4_Format,"RGBA_ASTC_5x5_Format",()=>s.RGBA_ASTC_5x5_Format,"RGBA_ASTC_6x5_Format",()=>s.RGBA_ASTC_6x5_Format,"RGBA_ASTC_6x6_Format",()=>s.RGBA_ASTC_6x6_Format,"RGBA_ASTC_8x5_Format",()=>s.RGBA_ASTC_8x5_Format,"RGBA_ASTC_8x6_Format",()=>s.RGBA_ASTC_8x6_Format,"RGBA_ASTC_8x8_Format",()=>s.RGBA_ASTC_8x8_Format,"RGBA_BPTC_Format",()=>s.RGBA_BPTC_Format,"RGBA_ETC2_EAC_Format",()=>s.RGBA_ETC2_EAC_Format,"RGBA_PVRTC_2BPPV1_Format",()=>s.RGBA_PVRTC_2BPPV1_Format,"RGBA_PVRTC_4BPPV1_Format",()=>s.RGBA_PVRTC_4BPPV1_Format,"RGBA_S3TC_DXT1_Format",()=>s.RGBA_S3TC_DXT1_Format,"RGBA_S3TC_DXT3_Format",()=>s.RGBA_S3TC_DXT3_Format,"RGBA_S3TC_DXT5_Format",()=>s.RGBA_S3TC_DXT5_Format,"RGBDepthPacking",()=>s.RGBDepthPacking,"RGBFormat",()=>s.RGBFormat,"RGBIntegerFormat",()=>s.RGBIntegerFormat,"RGB_BPTC_SIGNED_Format",()=>s.RGB_BPTC_SIGNED_Format,"RGB_BPTC_UNSIGNED_Format",()=>s.RGB_BPTC_UNSIGNED_Format,"RGB_ETC1_Format",()=>s.RGB_ETC1_Format,"RGB_ETC2_Format",()=>s.RGB_ETC2_Format,"RGB_PVRTC_2BPPV1_Format",()=>s.RGB_PVRTC_2BPPV1_Format,"RGB_PVRTC_4BPPV1_Format",()=>s.RGB_PVRTC_4BPPV1_Format,"RGB_S3TC_DXT1_Format",()=>s.RGB_S3TC_DXT1_Format,"RGDepthPacking",()=>s.RGDepthPacking,"RGFormat",()=>s.RGFormat,"RGIntegerFormat",()=>s.RGIntegerFormat,"RawShaderMaterial",()=>s.RawShaderMaterial,"Ray",()=>s.Ray,"Raycaster",()=>s.Raycaster,"RectAreaLight",()=>s.RectAreaLight,"RedFormat",()=>s.RedFormat,"RedIntegerFormat",()=>s.RedIntegerFormat,"ReinhardToneMapping",()=>s.ReinhardToneMapping,"RenderTarget",()=>s.RenderTarget,"RenderTarget3D",()=>s.RenderTarget3D,"RepeatWrapping",()=>s.RepeatWrapping,"ReplaceStencilOp",()=>s.ReplaceStencilOp,"ReverseSubtractEquation",()=>s.ReverseSubtractEquation,"RingGeometry",()=>s.RingGeometry,"SIGNED_RED_GREEN_RGTC2_Format",()=>s.SIGNED_RED_GREEN_RGTC2_Format,"SIGNED_RED_RGTC1_Format",()=>s.SIGNED_RED_RGTC1_Format,"SRGBColorSpace",()=>s.SRGBColorSpace,"SRGBTransfer",()=>s.SRGBTransfer,"Scene",()=>s.Scene,"ShaderChunk",()=>i.ShaderChunk,"ShaderLib",()=>i.ShaderLib,"ShaderMaterial",()=>s.ShaderMaterial,"ShadowMaterial",()=>s.ShadowMaterial,"Shape",()=>s.Shape,"ShapeGeometry",()=>s.ShapeGeometry,"ShapePath",()=>s.ShapePath,"ShapeUtils",()=>s.ShapeUtils,"ShortType",()=>s.ShortType,"Skeleton",()=>s.Skeleton,"SkeletonHelper",()=>s.SkeletonHelper,"SkinnedMesh",()=>s.SkinnedMesh,"Source",()=>s.Source,"Sphere",()=>s.Sphere,"SphereGeometry",()=>s.SphereGeometry,"Spherical",()=>s.Spherical,"SphericalHarmonics3",()=>s.SphericalHarmonics3,"SplineCurve",()=>s.SplineCurve,"SpotLight",()=>s.SpotLight,"SpotLightHelper",()=>s.SpotLightHelper,"Sprite",()=>s.Sprite,"SpriteMaterial",()=>s.SpriteMaterial,"SrcAlphaFactor",()=>s.SrcAlphaFactor,"SrcAlphaSaturateFactor",()=>s.SrcAlphaSaturateFactor,"SrcColorFactor",()=>s.SrcColorFactor,"StaticCopyUsage",()=>s.StaticCopyUsage,"StaticDrawUsage",()=>s.StaticDrawUsage,"StaticReadUsage",()=>s.StaticReadUsage,"StereoCamera",()=>s.StereoCamera,"StreamCopyUsage",()=>s.StreamCopyUsage,"StreamDrawUsage",()=>s.StreamDrawUsage,"StreamReadUsage",()=>s.StreamReadUsage,"StringKeyframeTrack",()=>s.StringKeyframeTrack,"SubtractEquation",()=>s.SubtractEquation,"SubtractiveBlending",()=>s.SubtractiveBlending,"TOUCH",()=>s.TOUCH,"TangentSpaceNormalMap",()=>s.TangentSpaceNormalMap,"TetrahedronGeometry",()=>s.TetrahedronGeometry,"Texture",()=>s.Texture,"TextureLoader",()=>s.TextureLoader,"TextureUtils",()=>s.TextureUtils,"Timer",()=>s.Timer,"TimestampQuery",()=>s.TimestampQuery,"TorusGeometry",()=>s.TorusGeometry,"TorusKnotGeometry",()=>
1s.TorusKnotGeometry,"Triangle",()=>s.Triangle,"TriangleFanDrawMode",()=>s.TriangleFanDrawMode,"TriangleStripDrawMode",()=>s.TriangleStripDrawMode,"TrianglesDrawMode",()=>s.TrianglesDrawMode,"TubeGeometry",()=>s.TubeGeometry,"UVMapping",()=>s.UVMapping,"Uint16BufferAttribute",()=>s.Uint16BufferAttribute,"Uint32BufferAttribute",()=>s.Uint32BufferAttribute,"Uint8BufferAttribute",()=>s.Uint8BufferAttribute,"Uint8ClampedBufferAttribute",()=>s.Uint8ClampedBufferAttribute,"Uniform",()=>s.Uniform,"UniformsGroup",()=>s.UniformsGroup,"UniformsLib",()=>i.UniformsLib,"UniformsUtils",()=>s.UniformsUtils,"UnsignedByteType",()=>s.UnsignedByteType,"UnsignedInt101111Type",()=>s.UnsignedInt101111Type,"UnsignedInt248Type",()=>s.UnsignedInt248Type,"UnsignedInt5999Type",()=>s.UnsignedInt5999Type,"UnsignedIntType",()=>s.UnsignedIntType,"UnsignedShort4444Type",()=>s.UnsignedShort4444Type,"UnsignedShort5551Type",()=>s.UnsignedShort5551Type,"UnsignedShortType",()=>s.UnsignedShortType,"VSMShadowMap",()=>s.VSMShadowMap,"Vector2",()=>s.Vector2,"Vector3",()=>s.Vector3,"Vector4",()=>s.Vector4,"VectorKeyframeTrack",()=>s.VectorKeyframeTrack,"VideoFrameTexture",()=>s.VideoFrameTexture,"VideoTexture",()=>s.VideoTexture,"WebGL3DRenderTarget",()=>s.WebGL3DRenderTarget,"WebGLArrayRenderTarget",()=>s.WebGLArrayRenderTarget,"WebGLCoordinateSystem",()=>s.WebGLCoordinateSystem,"WebGLCubeRenderTarget",()=>s.WebGLCubeRenderTarget,"WebGLRenderTarget",()=>s.WebGLRenderTarget,"WebGLRenderer",()=>i.WebGLRenderer,"WebGLUtils",()=>i.WebGLUtils,"WebGPUCoordinateSystem",()=>s.WebGPUCoordinateSystem,"WebXRController",()=>s.WebXRController,"WireframeGeometry",()=>s.WireframeGeometry,"WrapAroundEnding",()=>s.WrapAroundEnding,"ZeroCurvatureEnding",()=>s.ZeroCurvatureEnding,"ZeroFactor",()=>s.ZeroFactor,"ZeroSlopeEnding",()=>s.ZeroSlopeEnding,"ZeroStencilOp",()=>s.ZeroStencilOp,"createCanvasElement",()=>s.createCanvasElement,"error",()=>s.error,"getConsoleFunction",()=>s.getConsoleFunction,"log",()=>s.log,"setConsoleFunction",()=>s.setConsoleFunction,"warn",()=>s.warn,"warnOnce",()=>s.warnOnce],32009);var l=e.i(32009);function c(e,t){let r;return(...a)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...a),t)}}let m=["x","y","top","bottom","left","right","width","height"];var d=e.i(46791);function u({ref:e,children:a,fallback:n,resize:i,style:s,gl:d,events:u=o.f,eventSource:p,eventPrefix:h,shadows:x,linear:g,flat:f,legacy:b,orthographic:y,frameloop:v,dpr:w,performance:C,raycaster:M,camera:j,scene:S,onPointerMissed:T,onCreated:A,...L}){r.useMemo(()=>(0,o.e)(l),[]);let N=(0,o.u)(),[E,_]=function({debounce:e,scroll:t,polyfill:a,offsetSize:n}={debounce:0,scroll:!1,offsetSize:!1}){var o,i,s;let l=a||("undefined"==typeof window?class{}:window.ResizeObserver);if(!l)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[d,u]=(0,r.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),p=(0,r.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:d,orientationHandler:null}),h=e?"number"==typeof e?e:e.scroll:null,x=e?"number"==typeof e?e:e.resize:null,g=(0,r.useRef)(!1);(0,r.useEffect)(()=>(g.current=!0,()=>void(g.current=!1)));let[f,b,y]=(0,r.useMemo)(()=>{let e=()=>{let e,t;if(!p.current.element)return;let{left:r,top:a,width:o,height:i,bottom:s,right:l,x:c,y:d}=p.current.element.getBoundingClientRect(),h={left:r,top:a,width:o,height:i,bottom:s,right:l,x:c,y:d};p.current.element instanceof HTMLElement&&n&&(h.height=p.current.element.offsetHeight,h.width=p.current.element.offsetWidth),Object.freeze(h),g.current&&(e=p.current.lastBounds,t=h,!m.every(r=>e[r]===t[r]))&&u(p.current.lastBounds=h)};return[e,x?c(e,x):e,h?c(e,h):e]},[u,n,h,x]);function v(){p.current.scrollContainers&&(p.current.scrollContainers.forEach(e=>e.removeEventListener("scroll",y,!0)),p.current.scrollContainers=null),p.current.resizeObserver&&(p.current.resizeObserver.disconnect(),p.current.resizeObserver=null),p.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",p.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",p.current.orientationHandler))}function w(){p.current.element&&(p.current.resizeObserver=new l(y),p.current.resizeObserver.observe(p.current.element),t&&p.current.scrollC
1ontainers&&p.current.scrollContainers.forEach(e=>e.addEventListener("scroll",y,{capture:!0,passive:!0})),p.current.orientationHandler=()=>{y()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",p.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",p.current.orientationHandler))}return o=y,i=!!t,(0,r.useEffect)(()=>{if(i)return window.addEventListener("scroll",o,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",o,!0)},[o,i]),s=b,(0,r.useEffect)(()=>(window.addEventListener("resize",s),()=>void window.removeEventListener("resize",s)),[s]),(0,r.useEffect)(()=>{v(),w()},[t,y,b]),(0,r.useEffect)(()=>v,[]),[e=>{e&&e!==p.current.element&&(v(),p.current.element=e,p.current.scrollContainers=function e(t){let r=[];if(!t||t===document.body)return r;let{overflow:a,overflowX:n,overflowY:o}=window.getComputedStyle(t);return[a,n,o].some(e=>"auto"===e||"scroll"===e)&&r.push(t),[...r,...e(t.parentElement)]}(e),w())},d,f]}({scroll:!0,debounce:{scroll:50,resize:0},...i}),P=r.useRef(null),R=r.useRef(null);r.useImperativeHandle(e,()=>P.current);let F=(0,o.a)(T),[G,B]=r.useState(!1),[I,O]=r.useState(!1);if(G)throw G;if(I)throw I;let D=r.useRef(null);(0,o.b)(()=>{let e=P.current;_.width>0&&_.height>0&&e&&(D.current||(D.current=(0,o.c)(e)),async function(){await D.current.configure({gl:d,scene:S,events:u,shadows:x,linear:g,flat:f,legacy:b,orthographic:y,frameloop:v,dpr:w,performance:C,raycaster:M,camera:j,size:_,onPointerMissed:(...e)=>null==F.current?void 0:F.current(...e),onCreated:e=>{null==e.events.connect||e.events.connect(p?(0,o.i)(p)?p.current:p:R.current),h&&e.setEvents({compute:(e,t)=>{let r=e[h+"X"],a=e[h+"Y"];t.pointer.set(r/t.size.width*2-1,-(2*(a/t.size.height))+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),null==A||A(e)}}),D.current.render((0,t.jsx)(N,{children:(0,t.jsx)(o.E,{set:O,children:(0,t.jsx)(r.Suspense,{fallback:(0,t.jsx)(o.B,{set:B}),children:null!=a?a:null})})}))}())}),r.useEffect(()=>{let e=P.current;if(e)return()=>(0,o.d)(e)},[]);let k=p?"none":"auto";return(0,t.jsx)("div",{ref:R,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:k,...s},...L,children:(0,t.jsx)("div",{ref:E,style:{width:"100%",height:"100%"},children:(0,t.jsx)("canvas",{ref:P,style:{display:"block"},children:n})})})}function p(e){return(0,t.jsx)(d.FiberProvider,{children:(0,t.jsx)(u,{...e})})}e.i(39695),e.i(98133),e.i(95087);var h=e.i(31067),x=e.i(1899),g=Object.defineProperty;class f{constructor(){((e,t,r)=>{let a,n;n=void 0,(a="symbol"!=typeof t?t+"":t)in e?g(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n})(this,"_listeners")}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,a=r.length;t<a;t++)r[t].call(this,e);e.target=null}}}var b=Object.defineProperty,y=(e,t,r)=>{let a;return(a="symbol"!=typeof t?t+"":t)in e?b(e,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[a]=r,r};let v=new s.Ray,w=new s.Plane,C=Math.cos(Math.PI/180*70),M=(e,t)=>(e%t+t)%t;class j extends f{constructor(e,t){super(),y(this,"object"),y(this,"domElement"),y(this,"enabled",!0),y(this,"target",new s.Vector3),y(this,"minDistance",0),y(this,"maxDistance",1/0),y(this,"minZoom",0),y(this,"maxZoom",1/0),y(this,"minPolarAngle",0),y(this,"maxPolarAngle",Math.PI),y(this,"minAzimuthAngle",-1/0),y(this,"maxAzimuthAngle",1/0),y(this,"enableDamping",!1),y(this,"dampingFactor",.05),y(this,"enableZoom",!0),y(this,"zoomSpeed",1),y(this,"enableRotate",!0),y(this,"rotateSpeed",1),y(this,"enablePan",!0),y(this,"panSpeed",1),y(this,"screenSpacePanning",!0),y(this,"keyPanSpeed",7),y(this,"zoomToCursor",!1),y(this,"autoRotate",!1),y(this,"autoRotateSpeed",2),y(this,"reverseOrbit",!1),y(this,"reverseHorizontalOrbit",!1),y(this,"reverseVerticalOrbit",!1),y(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),y(this,"mouseButtons",{LEFT:s.MOUSE.ROTATE,MIDDLE:s.MOUSE.DOLLY,RIGHT:s.MOUSE.PAN}),y(this,"touches",{ONE:s.TOUCH.ROTATE,TWO:s.TOUCH.DOLLY_PAN}),y(this,"target0"),y(this,"position0"),y(this,"zoom0"),y(this,"_domElementKeyEvents",null),y(this,"getPolarAngle"),y(this,"getAzimuthalAngle"),y(this,"setPolarAngle"),y(this,"setAzimuthalAngle"),y(this,"getDistance"),y(this,"getZoomScale"),y(this,"listenToKeyEvents"),y(this,"stopListenToKeyEvents"),y(this,"saveState"),y(this,"reset"),y(this,"update"),y(this,"connect"),y(this,"dispose"),y(this,"dollyIn"),y(this,"dollyOut"),y(this,"getScale"),y(this,"setScale"),this.object=e,this.domElement=t,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>m.phi,this.getAzimuthalAngle=()=>m.theta,this.setPolarAngle=e=>{let t=M(e,2*Math.PI),a=m.phi;a<0&&(a+=2*Math.PI),t<0&&(t+=2*Math.PI);let n=Math.abs(t-a);
12*Math.PI-n<n&&(t<a?t+=2*Math.PI:a+=2*Math.PI),d.phi=t-a,r.update()},this.setAzimuthalAngle=e=>{let t=M(e,2*Math.PI),a=m.theta;a<0&&(a+=2*Math.PI),t<0&&(t+=2*Math.PI);let n=Math.abs(t-a);2*Math.PI-n<n&&(t<a?t+=2*Math.PI:a+=2*Math.PI),d.theta=t-a,r.update()},this.getDistance=()=>r.object.position.distanceTo(r.target),this.listenToKeyEvents=e=>{e.addEventListener("keydown",ee),this._domElementKeyEvents=e},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",ee),this._domElementKeyEvents=null},this.saveState=()=>{r.target0.copy(r.target),r.position0.copy(r.object.position),r.zoom0=r.object.zoom},this.reset=()=>{r.target.copy(r.target0),r.object.position.copy(r.position0),r.object.zoom=r.zoom0,r.object.updateProjectionMatrix(),r.dispatchEvent(a),r.update(),l=i.NONE},this.update=(()=>{let t=new s.Vector3,n=new s.Vector3(0,1,0),o=new s.Quaternion().setFromUnitVectors(e.up,n),h=o.clone().invert(),x=new s.Vector3,g=new s.Quaternion,f=2*Math.PI;return function(){let b=r.object.position;o.setFromUnitVectors(e.up,n),h.copy(o).invert(),t.copy(b).sub(r.target),t.applyQuaternion(o),m.setFromVector3(t),r.autoRotate&&l===i.NONE&&F(2*Math.PI/60/60*r.autoRotateSpeed),r.enableDamping?(m.theta+=d.theta*r.dampingFactor,m.phi+=d.phi*r.dampingFactor):(m.theta+=d.theta,m.phi+=d.phi);let y=r.minAzimuthAngle,M=r.maxAzimuthAngle;isFinite(y)&&isFinite(M)&&(y<-Math.PI?y+=f:y>Math.PI&&(y-=f),M<-Math.PI?M+=f:M>Math.PI&&(M-=f),y<=M?m.theta=Math.max(y,Math.min(M,m.theta)):m.theta=m.theta>(y+M)/2?Math.max(y,m.theta):Math.min(M,m.theta)),m.phi=Math.max(r.minPolarAngle,Math.min(r.maxPolarAngle,m.phi)),m.makeSafe(),!0===r.enableDamping?r.target.addScaledVector(p,r.dampingFactor):r.target.add(p),r.zoomToCursor&&E||r.object.isOrthographicCamera?m.radius=U(m.radius):m.radius=U(m.radius*u),t.setFromSpherical(m),t.applyQuaternion(h),b.copy(r.target).add(t),r.object.matrixAutoUpdate||r.object.updateMatrix(),r.object.lookAt(r.target),!0===r.enableDamping?(d.theta*=1-r.dampingFactor,d.phi*=1-r.dampingFactor,p.multiplyScalar(1-r.dampingFactor)):(d.set(0,0,0),p.set(0,0,0));let j=!1;if(r.zoomToCursor&&E){let a=null;if(r.object instanceof s.PerspectiveCamera&&r.object.isPerspectiveCamera){let e=t.length();a=U(e*u);let n=e-a;r.object.position.addScaledVector(L,n),r.object.updateMatrixWorld()}else if(r.object.isOrthographicCamera){let e=new s.Vector3(N.x,N.y,0);e.unproject(r.object),r.object.zoom=Math.max(r.minZoom,Math.min(r.maxZoom,r.object.zoom/u)),r.object.updateProjectionMatrix(),j=!0;let n=new s.Vector3(N.x,N.y,0);n.unproject(r.object),r.object.position.sub(n).add(e),r.object.updateMatrixWorld(),a=t.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),r.zoomToCursor=!1;null!==a&&(r.screenSpacePanning?r.target.set(0,0,-1).transformDirection(r.object.matrix).multiplyScalar(a).add(r.object.position):(v.origin.copy(r.object.position),v.direction.set(0,0,-1).transformDirection(r.object.matrix),Math.abs(r.object.up.dot(v.direction))<C?e.lookAt(r.target):(w.setFromNormalAndCoplanarPoint(r.object.up,r.target),v.intersectPlane(w,r.target))))}
1else r.object instanceof s.OrthographicCamera&&r.object.isOrthographicCamera&&(j=1!==u)&&(r.object.zoom=Math.max(r.minZoom,Math.min(r.maxZoom,r.object.zoom/u)),r.object.updateProjectionMatrix());return u=1,E=!1,!!(j||x.distanceToSquared(r.object.position)>c||8*(1-g.dot(r.object.quaternion))>c)&&(r.dispatchEvent(a),x.copy(r.object.position),g.copy(r.object.quaternion),j=!1,!0)}})(),this.connect=e=>{r.domElement=e,r.domElement.style.touchAction="none",r.domElement.addEventListener("contextmenu",et),r.domElement.addEventListener("pointerdown",Z),r.domElement.addEventListener("pointercancel",$),r.domElement.addEventListener("wheel",J)},this.dispose=()=>{var e,t,a,n,o,i;r.domElement&&(r.domElement.style.touchAction="auto"),null==(e=r.domElement)||e.removeEventListener("contextmenu",et),null==(t=r.domElement)||t.removeEventListener("pointerdown",Z),null==(a=r.domElement)||a.removeEventListener("pointercancel",$),null==(n=r.domElement)||n.removeEventListener("wheel",J),null==(o=r.domElement)||o.ownerDocument.removeEventListener("pointermove",Q),null==(i=r.domElement)||i.ownerDocument.removeEventListener("pointerup",$),null!==r._domElementKeyEvents&&r._domElementKeyEvents.removeEventListener("keydown",ee)};const r=this,a={type:"change"},n={type:"start"},o={type:"end"},i={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let l=i.NONE;const c=1e-6,m=new s.Spherical,d=new s.Spherical;let u=1;const p=new s.Vector3,h=new s.Vector2,x=new s.Vector2,g=new s.Vector2,f=new s.Vector2,b=new s.Vector2,j=new s.Vector2,S=new s.Vector2,T=new s.Vector2,A=new s.Vector2,L=new s.Vector3,N=new s.Vector2;let E=!1;const _=[],P={};function R(){return Math.pow(.95,r.zoomSpeed)}function F(e){r.reverseOrbit||r.reverseHorizontalOrbit?d.theta+=e:d.theta-=e}function G(e){r.reverseOrbit||r.reverseVerticalOrbit?d.phi+=e:d.phi-=e}const B=(()=>{let e=new s.Vector3;return function(t,r){e.setFromMatrixColumn(r,0),e.multiplyScalar(-t),p.add(e)}})(),I=(()=>{let e=new s.Vector3;return function(t,a){!0===r.screenSpacePanning?e.setFromMatrixColumn(a,1):(e.setFromMatrixColumn(a,0),e.crossVectors(r.object.up,e)),e.multiplyScalar(t),p.add(e)}})(),O=(()=>{let e=new s.Vector3;return function(t,a){let n=r.domElement;if(n&&r.object instanceof s.PerspectiveCamera&&r.object.isPerspectiveCamera){let o=r.object.position;e.copy(o).sub(r.target);let i=e.length();B(2*t*(i*=Math.tan(r.object.fov/2*Math.PI/180))/n.clientHeight,r.object.matrix),I(2*a*i/n.clientHeight,r.object.matrix)}
1else n&&r.object instanceof s.OrthographicCamera&&r.object.isOrthographicCamera?(B(t*(r.object.right-r.object.left)/r.object.zoom/n.clientWidth,r.object.matrix),I(a*(r.object.top-r.object.bottom)/r.object.zoom/n.clientHeight,r.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),r.enablePan=!1)}})();function D(e){r.object instanceof s.PerspectiveCamera&&r.object.isPerspectiveCamera||r.object instanceof s.OrthographicCamera&&r.object.isOrthographicCamera?u=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),r.enableZoom=!1)}function k(e){if(!r.zoomToCursor||!r.domElement)return;E=!0;let t=r.domElement.getBoundingClientRect(),a=e.clientX-t.left,n=e.clientY-t.top,o=t.width,i=t.height;N.x=a/o*2-1,N.y=-(n/i*2)+1,L.set(N.x,N.y,1).unproject(r.object).sub(r.object.position).normalize()}function U(e){return Math.max(r.minDistance,Math.min(r.maxDistance,e))}function z(e){h.set(e.clientX,e.clientY)}function H(e){f.set(e.clientX,e.clientY)}function V(){if(1==_.length)h.set(_[0].pageX,_[0].pageY);else{let e=.5*(_[0].pageX+_[1].pageX),t=.5*(_[0].pageY+_[1].pageY);h.set(e,t)}}function W(){if(1==_.length)f.set(_[0].pageX,_[0].pageY);else{let e=.5*(_[0].pageX+_[1].pageX),t=.5*(_[0].pageY+_[1].pageY);f.set(e,t)}}function Y(){let e=_[0].pageX-_[1].pageX,t=_[0].pageY-_[1].pageY,r=Math.sqrt(e*e+t*t);S.set(0,r)}function q(e){if(1==_.length)x.set(e.pageX,e.pageY);else{let t=ea(e),r=.5*(e.pageX+t.x),a=.5*(e.pageY+t.y);x.set(r,a)}g.subVectors(x,h).multiplyScalar(r.rotateSpeed);let t=r.domElement;t&&(F(2*Math.PI*g.x/t.clientHeight),G(2*Math.PI*g.y/t.clientHeight)),h.copy(x)}function X(e){if(1==_.length)b.set(e.pageX,e.pageY);else{let t=ea(e),r=.5*(e.pageX+t.x),a=.5*(e.pageY+t.y);b.set(r,a)}j.subVectors(b,f).multiplyScalar(r.panSpeed),O(j.x,j.y),f.copy(b)}function K(e){var t;let a=ea(e),n=e.pageX-a.x,o=e.pageY-a.y,i=Math.sqrt(n*n+o*o);T.set(0,i),A.set(0,Math.pow(T.y/S.y,r.zoomSpeed)),t=A.y,D(u/t),S.copy(T)}function Z(e){var t,a,o;!1!==r.enabled&&(0===_.length&&(null==(t=r.domElement)||t.ownerDocument.addEventListener("pointermove",Q),null==(a=r.domElement)||a.ownerDocument.addEventListener("pointerup",$)),o=e,_.push(o),"touch"===e.pointerType?function(e){switch(er(e),_.length){case 1:switch(r.touches.ONE){case s.TOUCH.ROTATE:if(!1===r.enableRotate)return;V(),l=i.TOUCH_ROTATE;break;case s.TOUCH.PAN:if(!1===r.enablePan)return;W(),l=i.TOUCH_PAN;break;default:l=i.NONE}break;case 2:switch(r.touches.TWO){case s.TOUCH.DOLLY_PAN:if(!1===r.enableZoom&&!1===r.enablePan)return;r.enableZoom&&Y(),r.enablePan&&W(),l=i.TOUCH_DOLLY_PAN;break;case s.TOUCH.DOLLY_ROTATE:if(!1===r.enableZoom&&!1===r.enableRotate)return;r.enableZoom&&Y(),r.enableRotate&&V(),l=i.TOUCH_DOLLY_ROTATE;break;default:l=i.NONE}break;default:l=i.NONE}l!==i.NONE&&r.dispatchEvent(n)}(e):function(e){let t;switch(e.button){case 0:t=r.mouseButtons.LEFT;break;case 1:t=r.mouseButtons.MIDDLE;break;case 2:t=r.mouseButtons.RIGHT;break;default:t=-1}switch(t){case s.MOUSE.DOLLY:if(!1===r.enableZoom)return;k(e),S.set(e.clientX,e.clientY),l=i.DOLLY;break;case s.MOUSE.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===r.enablePan)return;H(e),l=i.PAN}else{if(!1===r.enableRotate)return;z(e),l=i.ROTATE}break;case s.MOUSE.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===r.enableRotate)return;z(e),l=i.ROTATE}else{if(!1===r.enablePan)return;H(e),l=i.PAN}break;default:l=i.NONE}l!==i.NONE&&r.dispatchEvent(n)}(e))}function Q(e){!1!==r.enabled&&("touch"===e.pointerType?function(e){switch(er(e),l){case i.TOUCH_ROTATE:if(!1===r.enableRotate)return;q(e),r.update();break;case i.TOUCH_PAN:if(!1===r.enablePan)return;X(e),r.update();break;case i.TOUCH_DOLLY_PAN:if(!1===r.enableZoom&&!1===r.enablePan)return;r.enableZoom&&K(e),r.enablePan&&X(e),r.update();break;case i.TOUCH_DOLLY_ROTATE:if(!1===r.enableZoom&&!1===r.enableRotate)return;r.enableZoom&&K(e),r.enableRotate&&q(e),r.update();break;default:l=i.NONE}}(e):function(e){if(!1!==r.enabled)switch(l){case i.ROTATE:let t;if(!1===r.enableRotate)return;x.set(e.clientX,e.clientY),g.subVectors(x,h).multiplyScalar(r.rotateSpeed),(t=r.domElement)&&(F(2*Math.PI*g.x/t.clientHeight),G(2*Math.PI*g.y/t.clientHeight)),h.copy(x),r.update(
1);break;case i.DOLLY:var a,n;if(!1===r.enableZoom)return;(T.set(e.clientX,e.clientY),A.subVectors(T,S),A.y>0)?(a=R(),D(u/a)):A.y<0&&(n=R(),D(u*n)),S.copy(T),r.update();break;case i.PAN:if(!1===r.enablePan)return;b.set(e.clientX,e.clientY),j.subVectors(b,f).multiplyScalar(r.panSpeed),O(j.x,j.y),f.copy(b),r.update()}}(e))}function $(e){var t,a,n;(function(e){delete P[e.pointerId];for(let t=0;t<_.length;t++)if(_[t].pointerId==e.pointerId)return void _.splice(t,1)})(e),0===_.length&&(null==(t=r.domElement)||t.releasePointerCapture(e.pointerId),null==(a=r.domElement)||a.ownerDocument.removeEventListener("pointermove",Q),null==(n=r.domElement)||n.ownerDocument.removeEventListener("pointerup",$)),r.dispatchEvent(o),l=i.NONE}function J(e){if(!1!==r.enabled&&!1!==r.enableZoom&&(l===i.NONE||l===i.ROTATE)){var t,a;e.preventDefault(),r.dispatchEvent(n),(k(e),e.deltaY<0)?(t=R(),D(u*t)):e.deltaY>0&&(a=R(),D(u/a)),r.update(),r.dispatchEvent(o)}}function ee(e){if(!1!==r.enabled&&!1!==r.enablePan){let t=!1;switch(e.code){case r.keys.UP:O(0,r.keyPanSpeed),t=!0;break;case r.keys.BOTTOM:O(0,-r.keyPanSpeed),t=!0;break;case r.keys.LEFT:O(r.keyPanSpeed,0),t=!0;break;case r.keys.RIGHT:O(-r.keyPanSpeed,0),t=!0}t&&(e.preventDefault(),r.update())}}function et(e){!1!==r.enabled&&e.preventDefault()}function er(e){let t=P[e.pointerId];void 0===t&&(t=new s.Vector2,P[e.pointerId]=t),t.set(e.pageX,e.pageY)}function ea(e){return P[(e.pointerId===_[0].pointerId?_[1]:_[0]).pointerId]}this.dollyIn=(e=R())=>{D(u*e),r.update()},this.dollyOut=(e=R())=>{D(u/e),r.update()},this.getScale=()=>u,this.setScale=e=>{D(e),r.update()},this.getZoomScale=()=>R(),void 0!==t&&this.connect(t),this.update()}}let S=r.forwardRef(({makeDefault:e,camera:t,regress:a,domElement:n,enableDamping:i=!0,keyEvents:s=!1,onChange:l,onStart:c,onEnd:m,...d},u)=>{let p=(0,o.C)(e=>e.invalidate),g=(0,o.C)(e=>e.camera),f=(0,o.C)(e=>e.gl),b=(0,o.C)(e=>e.events),y=(0,o.C)(e=>e.setEvents),v=(0,o.C)(e=>e.set),w=(0,o.C)(e=>e.get),C=(0,o.C)(e=>e.performance),M=t||g,S=n||b.connected||f.domElement,T=r.useMemo(()=>new j(M),[M]);return(0,x.useFrame)(()=>{T.enabled&&T.update()},-1),r.useEffect(()=>(s&&T.connect(!0===s?S:s),T.connect(S),()=>void T.dispose()),[s,S,a,T,p]),r.useEffect(()=>{let e=e=>{p(),a&&C.regress(),l&&l(e)},t=e=>{c&&c(e)},r=e=>{m&&m(e)};return T.addEventListener("change",e),T.addEventListener("start",t),T.addEventListener("end",r),()=>{T.removeEventListener("start",t),T.removeEventListener("end",r),T.removeEventListener("change",e)}},[l,c,m,T,p,y]),r.useEffect(()=>{if(e){let e=w().controls;return v({controls:T}),()=>v({controls:e})}},[e,T]),r.createElement("primitive",(0,h.default)({ref:u,object:T,enableDamping:i},d))});var T=e.i(46932);let A={orange:new s.MeshPhongMaterial({color:0xd96846,flatShading:!0}),green:new s.MeshPhongMaterial({color:4368469,flatShading:!0}),brown:new s.MeshPhongMaterial({color:7156776,flatShading:!0}),pink:new s.MeshPhongMaterial({color:0xc94872,flatShading:!0}),gray:new s.MeshPhongMaterial({color:7829367,flatShading:!0}),rabbit:new s.MeshPhongMaterial({color:0xbbbbbb,flatShading:!0})};function L(){let e=(0,r.useRef)(null),a=(0,r.useRef)(null),n=(0,r.useRef)(null),o=(0,r.useRef)(null);(0,x.useFrame)(t=>{let r=t.clock.elapsedTime;e.current&&(e.current.rotation.x=.1*Math.sin(-(10*r))-Math.PI/2.25),a.current&&(a.current.rotation.x=-Math.PI/2.25+.1*Math.sin(-(10*r)),e.current.rotation.x=-Math.PI/2.25+.1*Math.sin(10*r),a.current.rotation.x=-Math.PI/3+.1*Math.cos(10*r));let i=Math.sin(5*r)>.95?.1:1;n.current&&(n.current.scale.y=i),o.current&&(o.current.scale.y=i)});let i=(0,r.useMemo)(()=>{let e=new s.BoxGeometry(5,5,5),t=e.attributes.position;for(let e=0;e<t.count;e++)t.getY(e)>0&&0>t.getZ(e)&&t.setY(e,t.getY(e)+.5);return e.computeVertexNormals(),e},[]),l=(0,r.useMemo)(()=>{let e=new s.BoxGeometry(2,6,.5),t=e.attributes.position;for(let e=0;e<t.count;e++){let r=t.getY(e),a=t.getX(e);r<0&&(a>0&&t.setX(e,a-.5),a<0&&t.setX(e,a+.5))}return e.computeVertexNormals(),e},[]),c=(0,r.useMemo)(()=>{let e=new s.BoxGeometry(.5,.5,.5),t=e.attributes.position;for(let e=0;e<t.count;e++)t.getZ(e)>0&&t.setX(e,0);return e.computeVertexNormals(),e},[]);return(0,t.jsx)("group",{"rotation-x":1.5,position:[0,7,5],children:(0,t.jsxs)("group",{children:[(0,t.jsx)("mesh",{position:[0,1,4],material:A.rabbit,geometry:i,receiveShadow:!0,children:(0,t.jsx)("group",{position:[0,-2.5,0],rotation:[.25,0,0],children:(0,t.jsx)("mesh",{material:A.brown,children:(0,t.jsx)("boxGeometry",{args:[6,1,6]})})})}),(0,t.jsx)("group",{ref:e,position:[0,3.5,4],"rotation-x":-Math.PI/2.25,children:(0,t.jsxs)("group",{position:[-1.5,2.5,0],children:[(0,t.jsx)("mesh",{material:A.rabbit,geometry:l}),(0,t.jsx)("mesh",{position:[0,0,.25],scale:[.5,.7,.5],material:A.pink,geometry:l})]})}),(0,t.jsx)("group",{ref:a,position:[0,3.5,4],"rotation-x":-Math.PI/3,children:(0,t.jsxs)("group",{position:[1.5,2.5,
10],children:[(0,t.jsx)("mesh",{material:A.rabbit,geometry:l}),(0,t.jsx)("mesh",{position:[0,0,.25],scale:[.5,.7,.5],material:A.pink,geometry:l})]})}),(0,t.jsx)("mesh",{ref:n,position:[1,1.5,6.5],material:A.gray,children:(0,t.jsx)("boxGeometry",{args:[.5,1,.5]})}),(0,t.jsx)("mesh",{ref:o,position:[-1,1.5,6.5],material:A.gray,children:(0,t.jsx)("boxGeometry",{args:[.5,1,.5]})}),(0,t.jsx)("mesh",{position:[0,.5,6.5],material:A.pink,geometry:c}),(0,t.jsx)("mesh",{position:[0,-.5,6.5],material:A.gray,children:(0,t.jsx)("boxGeometry",{args:[.25,.25,.5]})})]})})}function N(){let e=(0,r.useRef)(null),a=(0,r.useRef)(null),n=(0,r.useRef)(0),o=(0,r.useRef)(!1);(0,x.useFrame)((t,r)=>{r=Math.min(r,.1);let i=t.clock.elapsedTime;if(!o.current&&n.current<1){n.current=Math.min(n.current+r/4,1);let t=1-Math.pow(1-n.current,3);if(e.current){let r=80*Math.sin(n.current*Math.PI*4)*(1-t);e.current.position.x=-300+299*t+r,e.current.position.z=150+-150*t;let a=-15*Math.sin(n.current*Math.PI*2)*(1-t);e.current.position.y=40+-38*t+a;let o=.6*Math.cos(n.current*Math.PI*4)*(1-t);e.current.rotation.z=Math.PI/2+o;let i=.2*Math.cos(n.current*Math.PI*2)*(1-t);e.current.rotation.x=-Math.PI/2+i,e.current.scale.setScalar(.2+.8*t)}n.current>=1&&(o.current=!0);return}a.current&&(a.current.rotation.y+=15*r),e.current&&o.current&&(e.current.position.y=2*Math.sin(1.5*i)+2,e.current.position.x=Math.sin(+i)-1,e.current.rotation.x=-Math.PI/2+.1*Math.sin(1.5*i),e.current.rotation.z=Math.PI/2+.05*Math.cos(+i),e.current.scale.setScalar(1))});let i=(0,r.useMemo)(()=>{let e=new s.CylinderGeometry(5,2,25,8,1),t=e.attributes.position;for(let e=0;e<t.count;e++){let r=t.getX(e),a=t.getZ(e),n=t.getY(e);.01>Math.abs(r)&&.01>Math.abs(a)&&(n>0&&t.setY(e,n+3),n<0&&t.setY(e,n-2))}return e.computeVertexNormals(),e},[]),l=(0,r.useMemo)(()=>{let e=new s.BoxGeometry(7,7,.5),t=e.attributes.position;for(let e=0;e<t.count;e++)t.getX(e)>0&&t.getY(e)>0&&(t.setY(e,t.getY(e)+2),t.setX(e,t.getX(e)-1));return e.computeVertexNormals(),e},[]),c=(0,r.useMemo)(()=>{let e=new s.CylinderGeometry(1.5,1,5,4),t=e.attributes.position;for(let e=0;e<t.count;e++).01>Math.abs(t.getX(e))&&.01>Math.abs(t.getZ(e))&&t.getY(e)>0&&t.setY(e,t.getY(e)+.5);return e.computeVertexNormals(),e},[]);return(0,t.jsxs)("group",{ref:e,rotation:[-Math.PI/2,0,Math.PI/2],children:[(0,t.jsx)("mesh",{material:A.orange,geometry:i,receiveShadow:!0}),(0,t.jsxs)("group",{children:[(0,t.jsx)("mesh",{position:[6,2,1],material:A.brown,geometry:l,receiveShadow:!0}),(0,t.jsx)("mesh",{position:[-6,2,1],rotation:[0,Math.PI,0],material:A.brown,geometry:l,receiveShadow:!0})]}),(0,t.jsxs)("group",{ref:a,children:[(0,t.jsx)("mesh",{position:[0,16,0],material:A.green,geometry:c,receiveShadow:!0}),(0,t.jsx)("mesh",{position:[-1.75,15,0],rotation:[0,0,.4],material:A.green,geometry:c,receiveShadow:!0}),(0,t.jsx)("mesh",{position:[1.75,15,0],rotation:[0,0,-.4],material:A.green,geometry:c,receiveShadow:!0})]}),(0,t.jsx)(L,{})]})}function E({yPos:e=0,zPos:a=0,xPos:n=200}){let o=(0,r.useRef)(null);(0,x.useFrame)((e,t)=>{if(t=Math.min(t,.1),o.current){let e=40*t;o.current.position.x-=e,o.current.position.x<-200&&(o.current.position.x=200,o.current.position.y=30*Math.random()-10)}});let i=(0,r.useMemo)(()=>new s.MeshPhongMaterial({color:0xeeeeee,flatShading:!0}),[]);return(0,t.jsxs)("group",{ref:o,position:[n,e,a],children:[(0,t.jsx)("mesh",{material:i,scale:[1,.8,1],castShadow:!0,receiveShadow:!0,children:(0,t.jsx)("sphereGeometry",{args:[5,16,16]})}),(0,t.jsx)("mesh",{position:[5,-1.5,2],scale:[.55,.35,1],material:i,castShadow:!0,children:(0,t.jsx)("sphereGeometry",{args:[5,16,16]})}),(0,t.jsx)("mesh",{position:[-5.5,-2,-1],scale:[.75,.5,1],material:i,castShadow:!0,children:(0,t.jsx)("sphereGeometry",{args:[5,16,16]})})]})}var _=e.i(70182);let P=(0,n.default)(()=>e.A(88351),{loadableGenerated:{modules:[93380]},ssr:!1});function R(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("color",{attach:"background",args:["#ffffff"]}),(0,t.jsx)("fog",{attach:"fog",args:["#ffffff",100,300]}),(0,t.jsx)("ambientLight",{color:"#ffffff",intensity:2}),(0,t.jsx)("directionalLight",{position:[50,200,50],intensity:1.5,castShadow:!0,color:"#ffffff","shadow-mapSize-width":2048,"shadow-mapSize-height":2048,"shadow-camera-far":500,"shadow-camera-left":-200,"shadow-camera-right":200,"shadow-camera-top":200,"shadow-camera-bottom":-200}),(0,t.jsx)(N,{}),(0,t.jsx)(P,{}),Array.from({length:10}).map((e,r)=>(0,t.jsx)(E,{xPos:400*Math.random()-200,yPos:40*Math.random()+30,zPos:80*Math.random()-40},r))]})}function F(){return(0,t.jsxs)("div",{className:"relative w-full h-screen overflow-hidden",children:[(0,t.jsx)("div",{className:"absolute top-0 left-0 right-0 z-50",children:(0,t.jsx)(_.default,{})}),(0,t.jsxs)(p,{camera:{position:[60,30,40],fov:45,near:1,far:1e3},shadows:!0,dpr:window.devicePixelRatio,gl:{antialias:!0,alpha:!0},children:[(0,t.jsx)(S,{minDistance:50,maxDistance:250,enableZoom:!1}),(0,t.jsx)(R,{})]}),(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none z-10",children:(0,t.jsxs)("div",{className:"flex flex-col justify-center items-center gap-5 px-4 max-w-4xl",children:[(0,t.jsx)(T.motion.h1,{initial:{y:60,opacity:0}
1,animate:{y:0,opacity:1},transition:{duration:.8,delay:1.5,ease:"easeOut"},className:"text-center text-zinc-900/25 text-5xl md:text-7xl lg:text-8xl xl:text-[155px] font-medium font-['Space_Grotesk'] leading-tight whitespace-normal md:whitespace-nowrap",children:"Unified AI Cloud"}),(0,t.jsx)(T.motion.p,{initial:{y:40,opacity:0},animate:{y:0,opacity:1},transition:{duration:.8,delay:2,ease:"easeOut"},className:"w-full max-w-[658px] text-center text-zinc-900/50 text-base md:text-lg lg:text-xl font-medium font-['Space_Grotesk'] leading-7",children:"Store, organize, and sync your AI conversations in one place. Pluro connects your chats across different models so every AI you use can follow your flow and personalize your experience"})]})}),(0,t.jsxs)(T.motion.div,{initial:{opacity:0,y:-20},animate:{opacity:1,y:0},transition:{duration:.8,delay:2.5,ease:"easeOut"},className:"absolute bottom-12 left-1/2 -translate-x-1/2 flex flex-col items-center gap-2 z-30 cursor-pointer pointer-events-auto",onClick:()=>window.scrollTo({top:window.innerHeight,behavior:"smooth"}),children:[(0,t.jsx)("span",{className:"text-zinc-900/40 text-sm font-medium font-['Space_Grotesk'] uppercase tracking-wider",children:"Scroll Down"}),(0,t.jsx)(T.motion.div,{animate:{y:[0,8,0]},transition:{duration:1.5,repeat:1/0,ease:"easeInOut"},className:"text-zinc-900/40",children:(0,t.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("polyline",{points:"6 9 12 15 18 9"})})})]}),(0,t.jsx)("div",{className:"absolute bottom-0 left-0 w-full h-96 bg-linear-to-t from-white via-white/80 to-transparent pointer-events-none z-20"})]})}var G=e.i(57688);function B(){let e=(0,a.useRouter)();(0,a.usePathname)();let r={hidden:{opacity:0,y:30},visible:{opacity:1,y:0}},n={hidden:{opacity:0},visible:{opacity:1,transition:{staggerChildren:.2}}};return(0,t.jsxs)("div",{className:"w-full bg-white text-zinc-900",children:[(0,t.jsxs)("section",{className:"max-w-[1360px] mx-auto px-4 py-20 md:py-32",children:[(0,t.jsxs)(T.motion.div,{initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-100px"},transition:{duration:.6},variants:r,className:"text-center mb-16",children:[(0,t.jsx)("h2",{className:"text-5xl md:text-7xl font-medium font-(family-name:--font-space-grotesk) mb-6",children:"How Pluro's AI Memory Works"}),(0,t.jsx)("p",{className:"text-gray-500 text-lg max-w-2xl mx-auto",children:"Transform your AI conversations into a unified, intelligent memory system in three simple steps"})]}),(0,t.jsxs)(T.motion.div,{initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-100px"},variants:n,className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-10",children:[(0,t.jsxs)(T.motion.div,{variants:r,whileHover:{y:-5,transition:{duration:.2}},className:"bg-white rounded-[20px] p-8 border border-gray-100 shadow-sm hover:shadow-md transition-shadow duration-200 w-full",children:[(0,t.jsx)("div",{className:"flex items-center gap-3 mb-4",children:(0,t.jsx)(G.default,{src:"/hero/Box.png",alt:"Data Import Visualization - Pluro AI Memory",width:80,height:80})}),(0,t.jsx)("h3",{className:"text-2xl font-semibold mb-3 text-black font-(family-name:--font-space-grotesk)",children:"Data Import and Analysis"}),(0,t.jsxs)("p",{className:"text-gray-600 leading-relaxed text-sm font-sans",children:["Pluro pulls your"," ",(0,t.jsx)("a",{href:"/blog",className:"text-purple-600 hover:underline",children:"conversations"})," ","from different AI tools and organizes them into a single, structured timeline. It removes noise, identifies topics, and prepares clean context that any model can understand."]})]}),(0,t.jsxs)(T.motion.div,{variants:r,whileHover:{y:-5,transition:{duration:.2}},className:"bg-white rounded-[20px] p-8 border border-gray-100 shadow-sm hover:shadow-md transition-shadow duration-200 w-full",children:[(0,t.jsx)("div",{className:"flex items-center gap-3 mb-4",children:(0,t.jsx)(G.default,{src:"/hero/sailboat.png",alt:"Contextual Syncing Icon - AI Memory Layer",width:80,height:80})}),(0,t.jsx)("h3",{className:"text-2xl font-semibold mb-3 text-black font-(family-name:--font-space-grotesk)",children:"Contextual Data Sync"}),(0,t.jsxs)("p",{className:"text-gray-600 leading-relaxed text-sm font-sans",children:["Your unified memory connects directly to AIs like"," ",(0,t.jsx)("a",{href:"https://openai.com/chatgpt",target:"_blank",rel:"noopener noreferrer",className:"text-purple-600 hover:underline",children:"ChatGPT"}),","," ",(0,t.jsx)("a",{href:"https://www.anthropic.com/claude",target:"_blank",rel:"noopener noreferrer",className:"text-purple-600 hover:underline",children:"Claude"}),", and"," ",(0,t.jsx)("a",{href:"https://gemini.google.com",target:"_blank",rel:"noopener noreferrer",className:"text-purple-600 hover:underline",children:"Gemini"})," ","through simple integrations. Pluro keeps everything updated automatically."]})]}),(0,t.jsxs)(T.motion.div,{variants:r,whileHover:{y:-5,transition:{duration:.2}},className:"bg-white rounded-[20px] p-8 border border-gray-100 shadow-sm hover:shadow-md transition-shadow duration-200 w-full",children:[(0,t.jsx)("div",{className:"flex items-center gap-3 mb-4",children:(0,t.jsx)(G.default,{src:"/hero/file.png",alt:"Centralized Memory Cloud Interface",width:80,height:80})}),(0,t.jsx)("h3",{className:"text-2xl font-semibold mb-3 text-black font-(family-name:--font-space-grotesk)",children:"Centralizing your shared memory"}),(0,t.jsx)("p",{className:"text-gray-600 leading-relaxed text-sm font-sans",children:"See where your time goes across different AI platforms. Pluro gives you topic breakdowns, recurring themes, and quick summaries so you can follow your thinking without digging through chats."})]})]}
1),(0,t.jsxs)(T.motion.div,{initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-100px"},transition:{delay:.4,duration:.6},variants:r,className:"mt-16 max-w-4xl mx-auto bg-neutral-50 rounded-[24px] p-8 md:p-10 border border-neutral-100 text-center",children:[(0,t.jsx)("div",{className:"inline-flex items-center justify-center w-12 h-12 rounded-full bg-white border border-neutral-200 mb-6 shadow-sm",children:(0,t.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",className:"text-neutral-600",children:[(0,t.jsx)("path",{d:"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",strokeLinecap:"round",strokeLinejoin:"round"}),(0,t.jsx)("path",{d:"M2 12H22",strokeLinecap:"round",strokeLinejoin:"round"}),(0,t.jsx)("path",{d:"M12 2C14.5013 4.73835 15.9228 8.29203 16 12C15.9228 15.708 14.5013 19.2616 12 22C9.49872 19.2616 8.07725 15.708 8 12C8.07725 8.29203 9.49872 4.73835 12 2Z",strokeLinecap:"round",strokeLinejoin:"round"})]})}),(0,t.jsx)("h3",{className:"text-2xl font-medium font-(family-name:--font-space-grotesk) mb-4 text-zinc-900",children:"Built on a Privacy-First Vector Engine"}),(0,t.jsxs)("p",{className:"text-gray-500 leading-relaxed font-sans max-w-2xl mx-auto",children:["We don't just store your chats; we index them using advanced vector embeddings. This means Pluro understands the ",(0,t.jsx)("em",{children:"context"})," and"," ",(0,t.jsx)("em",{children:"intent"})," behind your conversations, not just keywords. All data is encrypted locally before syncing, ensuring your second brain remains exclusively yours."]})]})]}),(0,t.jsx)("section",{className:"w-full bg-white py-20 md:py-32 overflow-hidden",children:(0,t.jsxs)("div",{className:"max-w-[1440px] mx-auto px-4",children:[(0,t.jsx)("div",{className:"w-full h-px bg-linear-to-r from-transparent via-neutral-200 to-transparent mb-20 -mt-30"}),(0,t.jsx)(T.motion.div,{initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-100px"},transition:{duration:.6},variants:r,className:"text-center mb-16",children:(0,t.jsx)("h2",{className:"text-5xl md:text-7xl font-medium font-(family-name:--font-space-grotesk) text-zinc-900",children:"Unified AI Dashboard Overview"})}),(0,t.jsxs)(T.motion.div,{initial:{opacity:0,scale:.95},whileInView:{opacity:1,scale:1},viewport:{once:!0,margin:"-100px"},transition:{duration:.7},className:"relative max-w-[1370px] mx-auto",children:[(0,t.jsx)("div",{className:"absolute left-0 top-8 w-[95%] h-[90%] bg-neutral-100 rounded-tl-[30px] rounded-bl-[30px] -z-10"}),(0,t.jsxs)("div",{className:"relative mb-20",children:[(0,t.jsx)(G.default,{src:"/over.png",alt:"AI Chat Interface Overlay",className:" hidden lg:block absolute left-5 /* shift slightly to the left */ -bottom-20 /* keep it near the bottom */ opacity-80 pointer-events-none z-0 ",width:600,height:400}),(0,t.jsx)(G.default,{className:"w-full md:w-[1000px] lg:w-[1100px] xl:w-[1200px] h-auto rounded-[28px] relative z-10 mx-auto md:left-10",src:"/preview.png",alt:"Pluro Dashboard - Unified AI Memory Interface",width:1200,height:800,priority:!0})]})]}),(0,t.jsxs)(T.motion.div,{initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-150px"},variants:n,className:"flex flex-row justify-center gap-3 mt-8 md:-mt-32 relative z-10",children:[(0,t.jsx)(T.motion.div,{variants:r,whileHover:{y:-8,scale:1.02,transition:{duration:.2}},className:"bg-white p-3 md:p-5 rounded-[20px] shadow-[10px_14px_84px_0px_rgba(161,165,172,0.25)] border border-gray-100 flex items-center gap-3 md:gap-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-3 md:gap-6",children:[(0,t.jsx)("div",{className:"flex items-center gap-3",children:(0,t.jsx)("div",{className:"text-neutral-800 text-xs md:text-sm font-medium font-(family-name:--font-space-grotesk) leading-5",children:"Personality"})}),(0,t.jsx)("div",{className:"flex items-center gap-3",children:(0,t.jsx)(G.default,{src:"/hero/pre.png",alt:"AI Personality Settings Icon",width:40,height:40})})]})}),(0,t.jsx)(T.motion.div,{variants:r,whileHover:{y:-8,scale:1.02,transition:{duration:.2}},className:"bg-white p-3 md:p-5 rounded-[20px] shadow-[10px_14px_84px_0px_rgba(161,165,172,0.25)] border border-gray-100 flex items-center gap-3 md:gap-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-3 md:gap-6",children:[(0,t.jsx)("div",{className:"flex items-center gap-3",children:(0,t.jsx)("div",{className:"text-neutral-800 text-xs md:text-sm font-medium font-(family-name:--font-space-grotesk) leading-5",children:"Shared Cloud"})}),(0,t.jsx)("div",{className:"flex items-center gap-3",children:(0,t.jsx)(G.default,{src:"/hero/clo.png",alt:"Shared AI Cloud Icon",width:40,height:40})})]})})]})]})}),(0,t.jsx)("section",{className:"w-full bg-white py-20 md:py-32",children:(0,t.jsxs)("div",{className:"max-w-7xl mx-auto px-4",children:[(0,t.jsxs)("div",{className:"text-center mb-16",children:[(0,t.jsx)("h2",{className:"text-5xl md:text-7xl font-medium font-(family-name:--font-space-grotesk) mb-4",children:"Choose Your Plan"}),(0,t.jsxs)("p",{className:"text-gray-500 max-w-2xl mx-auto text-lg font-sans",children:["Start organizing your AI conversations today. Free forever plan available.",(0,t.jsx)("br",{}),"No credit card required to get started."]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8 max-w-5xl mx-auto",children:[(0,t.jsxs)("div",{className:"bg-white rounded-3xl shadow-xl p-8 flex flex-col border border-gray-100",children:[(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsx)("h3",{className:"text-2xl font-medium font-(family-name:--font-space-grotesk) mb-4",children:"Free"}),(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:"text-5xl font-medium font-(family-name:--font-space-grotesk)",children:"$0"}),(0,t.jsx)("span",{className:"text-xl text-gray-500",children:"/month"})]}),(0,t.jsxs)("div",{className:"mt-2 text-sm text-gray-600",children:[(0,t.jsx)("span",{className:"font-semibold text-indigo-600",children:"1.5K"})," ","neurons/mo",(0,t.jsx)("span",{className:"mx-2",children:"â¢"}),(0,t.jsx)("span",{className:"font-semibold",children:"15"})," memories"]})]}),(0,t.jsx)("div",{className:"flex-1 space-y-4 mb-8",children:["15 memories stored","Basic AI sources","Web dashboard"].map((e,r)=>(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"w-6 h-6 bg-emerald-100 rounded-xl flex items-center justify-center shrink-0",children:(0,t.jsx)("svg",{className:"w-3 h-3 text-emerald-500",fill:"currentColor",viewBox:"0 0 12 12",children:(0,t.jsx)("path",{d:"M10 3L4.5 8.5L2 6",stroke:"currentColor",strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsx)("span",{className:"font-medium text-sm",children:e})]},r))}),(0,t.jsx)("div",{className:"border-t pt-6 mt-auto",children:(0,t.jsx)("button",{onClick:()=>e.push("/register"),className:"w-full px-6 py-3 bg-zinc-900 text-white rounded-full font-medium font-(family-name:--font-space-grotesk) hover:bg-zinc-800 transition-colors",children:"Get Started"})})]}),(0,t.jsxs)("div",{className:"bg-white rounded-3xl shadow-xl p-8 flex flex-col border border-gray-100",children:[(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsx)("h3",{className:"text-2xl font-medium font-(family-name:--font-space-grotesk) mb-4",children:"Starter"}),(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:"text-5xl font-medium font-(family-name:--font-space-grotesk)",children:"$4.99"}),(0,t.jsx)("span",{className:"text-xl text-gray-500",children:"/month"})]}),(0,t.jsxs)("div",{className:"mt-2 text-sm text-gray-600",children:[(0,t.jsx)("span",{className:"font-semibold text-indigo-600",children:"10K"})," ","neurons/mo",(0,t.jsx)("span",{className:"mx-2",children:"â¢"}),(0,t.jsx)("span",{className:"font-semibold",children:"100"})," memories"]})]}),(0,t.jsx)("div",{className:"flex-1 space-y-4 mb-8",children:["100 memories/month","All AI sources","Web dashboard","Email support"].map((e,r)=>(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"w-6 h-6 bg-emerald-100 rounded-xl flex items-center justify-center shrink-0",children:(0,t.jsx)("svg",{className:"w-3 h-3 text-emerald-500",fill:"currentColor",viewBox:"0 0 12 12",children:(0,t.jsx)("path",{d:"M10 3L4.5 8.5L2 6",stroke:"currentColor",strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsx)("span",{className:"font-medium text-sm",children:e})]},r))}),(0,t.jsx)("div",{className:"border-t pt-6 mt-auto",children:(0,t.jsx)("button",{onClick:()=>e.push("/register"),className:"w-full px-6 py-3 bg-zinc-900 text-white rounded-full font-medium font-(family-name:--font-space-grotesk) hover:bg-zinc-800 transition-colors",children:"Upgrade to Starter"})})]}),(0,t.jsxs)("div",{className:"bg-white rounded-3xl shadow-xl overflow-hidden flex flex-col border-2 border-purple-100 relative",children:[(0,t.jsx)("div",{className:"absolute top-0 left-0 w-full h-1 bg-purple-600"}),(0,t.jsxs)("div",{className:"p-8 flex flex-col h-full",children:[(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsxs)("div",{className:"flex justify-between items-start mb-4",children:[(0,t.jsx)("h3",{className:"text-2xl font-medium font-(family-name:--font-space-grotesk)",children:"Pro"}),(0,t.jsx)("span",{className:"px-3 py-1 bg-purple-600 text-white text-xs font-medium rounded-full",children:"Most Popular"})]}),(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:"text-5xl font-medium font-(family-name:--font-space-grotesk)",children:"$12.99"}),(0,t.jsx)("span",{className:"text-xl text-gray-500",children:"/month"})]}),(0,t.jsxs)("div",{className:"mt-2 text-sm text-gray-600",children:[(0,t.jsx)("span",{className:"font-semibold text-indigo-600",children:"30K"})," ","neurons/mo",(0,t.jsx)("span",{className:"mx-2",children:"â¢"}),(0,t.jsx)("span",{className:"font-semibold",children:"300"})," memories"]})]}),(0,t.jsx)("div",{className:"flex-1 space-y-4 mb-8",children:["300 memories/month","All AI sources","Team sharing (2 members)","Priority support","API access"].map((e,r)=>(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"w-6 h-6 bg-emerald-100 rounded-xl flex items-center justify-center shrink-0",children:(0,t.jsx)("svg",{className:"w-3 h-3 text-emerald-500",fill:"currentColor",viewBox:"0 0 12 12",children:(0,t.jsx)("path",{d:"M10 3L4.5 8.5L2 6",stroke:"currentColor",strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsx)("span",{className:"font-medium text-sm",children:e})]},r))}),(0,t.jsx)("div",{className:"border-t pt-6 mt-auto",children:(0,t.jsx)("button",{onClick:()=>e.push("/register"),className:"w-full px-6 py-3 bg-purple-600 text-white rounded-full font-medium font-(family-name:--font-space-grotesk) hover:bg-purple-700 transition-colors shadow-lg shadow-purple-500/25",children:"Upgrade to Pro"})})]})]})]})]})}),(0,t.jsx)("section",{className:"w-full bg-white py-20 md:py-32",children:(0,t.jsx)("div",{className:"max-w-[1360px] mx-auto px-4",children:(0,t.jsxs)("div",{className:"bg-neutral-100 rounded-4xl p-12 md:p-24 text-center relative overflow-hidden min-h-[420px] md:min-
1h-[560px] flex items-center justify-center",children:[(0,t.jsx)("div",{className:"absolute top-1/2 left-1/4 transform -translate-x-1/2 -translate-y-1/2 w-80 h-80 bg-fuchsia-600/30 rounded-full blur-[120px] pointer-events-none"}),(0,t.jsx)("div",{className:"absolute bottom-0 right-1/4 transform translate-x-1/2 translate-y-1/4 w-64 h-64 bg-blue-500/20 rounded-full blur-[100px] pointer-events-none"}),(0,t.jsxs)("div",{className:"relative z-10 flex flex-col items-center justify-center gap-6 max-w-3xl mx-auto",children:[(0,t.jsx)("h2",{className:"text-3xl md:text-5xl lg:text-6xl font-medium font-(family-name:--font-space-grotesk) leading-tight text-zinc-900",children:"Ready to unify your digital mind?"}),(0,t.jsx)("p",{className:"text-gray-500 text-lg font-sans max-w-2xl",children:"Stop losing context between chats. Pluro connects your conversations across all platforms into one intelligent, searchable memory."}),(0,t.jsx)("div",{className:"flex flex-col sm:flex-row gap-4 mt-4",children:(0,t.jsxs)("button",{type:"button",onClick:()=>e.push("/login"),className:"px-8 py-4 bg-zinc-900 text-white rounded-full font-medium font-(family-name:--font-space-grotesk) hover:bg-zinc-800 transition-colors flex items-center justify-center gap-2",children:["Start Free Today",(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})})]})]})})})]})}var I=e.i(2355);let O=[{question:"What is Pluro?",answer:"Pluro is a universal memory layer for your AI interactions. It connects different AI models (like ChatGPT, Claude, and Gemini) so they can share context. This means you don't have to repeat yourself when switching between tools."},{question:"Is my data secure?",answer:"Yes. Pluro uses a privacy-first ar
1chitecture. Your data is encrypted locally on your device before being synced to our secure enclave. We use zero-knowledge encryption, meaning even we cannot read your memories."},{question:"Which AI models does Pluro support?",answer:"Pluro currently supports OpenAI's ChatGPT, Anthropic's Claude, and Google's Gemini. We are constantly adding support for new models and local LLMs."},{question:"Do I need a paid subscription?",answer:(0,t.jsxs)("span",{children:["Pluro offers a generous"," ",(0,t.jsx)("a",{href:"/register",className:"text-purple-600 hover:underline",children:"Free tier"})," ","that is perfect for individual users. For power users and teams who need extensive memory history and collaboration features, we offer Pro and Enterprise plans."]})}];function D(){let e={"@context":"https://schema.org","@type":"FAQPage",mainEntity:O.map(e=>({"@type":"Question",name:e.question,acceptedAnswer:{"@type":"Answer",text:e.answer}}))};return(0,t.jsxs)("section",{className:"w-full bg-neutral-50 py-24 px-6",children:[(0,t.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(e)}}),(0,t.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,t.jsx)("h2",{className:"text-4xl md:text-5xl font-medium font-[family-name:var(--font-space-grotesk)] text-center mb-12 text-zinc-900",children:"Frequently Asked Questions"}),(0,t.jsx)("div",{className:"space-y-4",children:O.map((e,r)=>(0,t.jsxs)("details",{className:"group border border-gray-200 bg-white rounded-2xl overflow-hidden transition-all duration-300 hover:shadow-md open:pb-4",children:[(0,t.jsxs)("summary",{className:"flex cursor-pointer items-center justify-between gap-4 p-6 font-medium text-lg text-zinc-900 hover:text-purple-600 transition-colors list-none select-none",children:[(0,t.jsx)("span",{children:e.question}),(0,t.jsx)("span",{className:"transition duration-300 group-open:rotate-180",children:(0,t.jsx)("svg",{fill:"none",height:"24",shapeRendering:"geometricPrecision",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",viewBox:"0 0 24 24",width:"24",children:(0,t.jsx)("path",{d:"M6 9l6 6 6-6"})})})]}),(0,t.jsx)("p",{className:"px-6 text-gray-500 leading-relaxed font-['Poppins']",children:e.answer})]},r))})]})]})}var k=e.i(28129),U=e.i(68484);function z(){let e=(0,a.useRouter)(),{status:n}=(0,U.useAuth)();return(0,r.useEffect)(()=>{"authenticated"===n&&e.replace("/dashboard")},[e,n]),(0,t.jsxs)("main",{className:"bg-white",children:[(0,t.jsx)(F,{}),(0,t.jsx)(B,{}),(0,t.jsx)(D,{}),(0,t.jsx)(k.default,{}),(0,t.jsx)(I.Analytics,{})]})}e.s(["default",()=>z],31713)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.