diff --git a/server/public/assets/OrbitControls-BJ-UXxdt.js b/server/public/assets/OrbitControls-BJ-UXxdt.js deleted file mode 100644 index 6a2522d6..00000000 --- a/server/public/assets/OrbitControls-BJ-UXxdt.js +++ /dev/null @@ -1,2 +0,0 @@ -import{Controls as M,Vector3 as p,MOUSE as u,TOUCH as _,Quaternion as E,Spherical as P,Vector2 as c,Ray as w,Plane as O,MathUtils as R}from"./three.module--MGUDD-H.js";const D={type:"change"},b={type:"start"},S={type:"end"},f=new w,T=new O,L=Math.cos(70*R.DEG2RAD),n=new p,r=2*Math.PI,o={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},y=1e-6;class X extends M{constructor(t,e=null){super(t,e),this.state=o.NONE,this.target=new p,this.cursor=new p,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:u.ROTATE,MIDDLE:u.DOLLY,RIGHT:u.PAN},this.touches={ONE:_.ROTATE,TWO:_.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._cursorStyle="auto",this._domElementKeyEvents=null,this._lastPosition=new p,this._lastQuaternion=new E,this._lastTargetPosition=new p,this._quat=new E().setFromUnitVectors(t.up,new p(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new P,this._sphericalDelta=new P,this._scale=1,this._panOffset=new p,this._rotateStart=new c,this._rotateEnd=new c,this._rotateDelta=new c,this._panStart=new c,this._panEnd=new c,this._panDelta=new c,this._dollyStart=new c,this._dollyEnd=new c,this._dollyDelta=new c,this._dollyDirection=new p,this._mouse=new c,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=A.bind(this),this._onPointerDown=j.bind(this),this._onPointerUp=k.bind(this),this._onContextMenu=Z.bind(this),this._onMouseWheel=N.bind(this),this._onKeyDown=I.bind(this),this._onTouchStart=Y.bind(this),this._onTouchMove=U.bind(this),this._onMouseDown=x.bind(this),this._onMouseMove=C.bind(this),this._interceptControlDown=z.bind(this),this._interceptControlUp=K.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}set cursorStyle(t){this._cursorStyle=t,t==="grab"?this.domElement.style.cursor="grab":this.domElement.style.cursor="auto"}get cursorStyle(){return this._cursorStyle}connect(t){super.connect(t),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.ownerDocument.removeEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction=""}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(t){t.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=t}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(D),this.update(),this.state=o.NONE}pan(t,e){this._pan(t,e),this.update()}dollyIn(t){this._dollyIn(t),this.update()}dollyOut(t){this._dollyOut(t),this.update()}rotateLeft(t){this._rotateLeft(t),this.update()}rotateUp(t){this._rotateUp(t),this.update()}update(t=null){const e=this.object.position;n.copy(e).sub(this.target),n.applyQuaternion(this._quat),this._spherical.setFromVector3(n),this.autoRotate&&this.state===o.NONE&&this._rotateLeft(this._getAutoRotationAngle(t)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let s=this.minAzimuthAngle,a=this.maxAzimuthAngle;isFinite(s)&&isFinite(a)&&(s<-Math.PI?s+=r:s>Math.PI&&(s-=r),a<-Math.PI?a+=r:a>Math.PI&&(a-=r),s<=a?this._spherical.theta=Math.max(s,Math.min(a,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(s+a)/2?Math.max(s,this._spherical.theta):Math.min(a,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let h=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const l=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),h=l!=this._spherical.radius}if(n.setFromSpherical(this._spherical),n.applyQuaternion(this._quatInverse),e.copy(this.target).add(n),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let l=null;if(this.object.isPerspectiveCamera){const d=n.length();l=this._clampDistance(d*this._scale);const m=d-l;this.object.position.addScaledVector(this._dollyDirection,m),this.object.updateMatrixWorld(),h=!!m}else if(this.object.isOrthographicCamera){const d=new p(this._mouse.x,this._mouse.y,0);d.unproject(this.object);const m=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),h=m!==this.object.zoom;const g=new p(this._mouse.x,this._mouse.y,0);g.unproject(this.object),this.object.position.sub(g).add(d),this.object.updateMatrixWorld(),l=n.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;l!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(l).add(this.object.position):(f.origin.copy(this.object.position),f.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(f.direction))y||8*(1-this._lastQuaternion.dot(this.object.quaternion))>y||this._lastTargetPosition.distanceToSquared(this.target)>y?(this.dispatchEvent(D),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(t){return t!==null?r/60*this.autoRotateSpeed*t:r/60/60*this.autoRotateSpeed}_getZoomScale(t){const e=Math.abs(t*.01);return Math.pow(.95,this.zoomSpeed*e)}_rotateLeft(t){this._sphericalDelta.theta-=t}_rotateUp(t){this._sphericalDelta.phi-=t}_panLeft(t,e){n.setFromMatrixColumn(e,0),n.multiplyScalar(-t),this._panOffset.add(n)}_panUp(t,e){this.screenSpacePanning===!0?n.setFromMatrixColumn(e,1):(n.setFromMatrixColumn(e,0),n.crossVectors(this.object.up,n)),n.multiplyScalar(t),this._panOffset.add(n)}_pan(t,e){const s=this.domElement;if(this.object.isPerspectiveCamera){const a=this.object.position;n.copy(a).sub(this.target);let h=n.length();h*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*t*h/s.clientHeight,this.object.matrix),this._panUp(2*e*h/s.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(t*(this.object.right-this.object.left)/this.object.zoom/s.clientWidth,this.object.matrix),this._panUp(e*(this.object.top-this.object.bottom)/this.object.zoom/s.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(t,e){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const s=this.domElement.getBoundingClientRect(),a=t-s.left,h=e-s.top,l=s.width,d=s.height;this._mouse.x=a/l*2-1,this._mouse.y=-(h/d)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(t){return Math.max(this.minDistance,Math.min(this.maxDistance,t))}_handleMouseDownRotate(t){this._rotateStart.set(t.clientX,t.clientY)}_handleMouseDownDolly(t){this._updateZoomParameters(t.clientX,t.clientX),this._dollyStart.set(t.clientX,t.clientY)}_handleMouseDownPan(t){this._panStart.set(t.clientX,t.clientY)}_handleMouseMoveRotate(t){this._rotateEnd.set(t.clientX,t.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this._rotateLeft(r*this._rotateDelta.x/e.clientHeight),this._rotateUp(r*this._rotateDelta.y/e.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(t){this._dollyEnd.set(t.clientX,t.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(t){this._panEnd.set(t.clientX,t.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(t){this._updateZoomParameters(t.clientX,t.clientY),t.deltaY<0?this._dollyIn(this._getZoomScale(t.deltaY)):t.deltaY>0&&this._dollyOut(this._getZoomScale(t.deltaY)),this.update()}_handleKeyDown(t){let e=!1;switch(t.code){case this.keys.UP:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(r*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),e=!0;break;case this.keys.BOTTOM:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(-r*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),e=!0;break;case this.keys.LEFT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(r*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),e=!0;break;case this.keys.RIGHT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(-r*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),e=!0;break}e&&(t.preventDefault(),this.update())}_handleTouchStartRotate(t){if(this._pointers.length===1)this._rotateStart.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),s=.5*(t.pageX+e.x),a=.5*(t.pageY+e.y);this._rotateStart.set(s,a)}}_handleTouchStartPan(t){if(this._pointers.length===1)this._panStart.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),s=.5*(t.pageX+e.x),a=.5*(t.pageY+e.y);this._panStart.set(s,a)}}_handleTouchStartDolly(t){const e=this._getSecondPointerPosition(t),s=t.pageX-e.x,a=t.pageY-e.y,h=Math.sqrt(s*s+a*a);this._dollyStart.set(0,h)}_handleTouchStartDollyPan(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enablePan&&this._handleTouchStartPan(t)}_handleTouchStartDollyRotate(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enableRotate&&this._handleTouchStartRotate(t)}_handleTouchMoveRotate(t){if(this._pointers.length==1)this._rotateEnd.set(t.pageX,t.pageY);else{const s=this._getSecondPointerPosition(t),a=.5*(t.pageX+s.x),h=.5*(t.pageY+s.y);this._rotateEnd.set(a,h)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this._rotateLeft(r*this._rotateDelta.x/e.clientHeight),this._rotateUp(r*this._rotateDelta.y/e.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(t){if(this._pointers.length===1)this._panEnd.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),s=.5*(t.pageX+e.x),a=.5*(t.pageY+e.y);this._panEnd.set(s,a)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(t){const e=this._getSecondPointerPosition(t),s=t.pageX-e.x,a=t.pageY-e.y,h=Math.sqrt(s*s+a*a);this._dollyEnd.set(0,h),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const l=(t.pageX+e.x)*.5,d=(t.pageY+e.y)*.5;this._updateZoomParameters(l,d)}_handleTouchMoveDollyPan(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enablePan&&this._handleTouchMovePan(t)}_handleTouchMoveDollyRotate(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enableRotate&&this._handleTouchMoveRotate(t)}_addPointer(t){this._pointers.push(t.pointerId)}_removePointer(t){delete this._pointerPositions[t.pointerId];for(let e=0;e Math.PI ) min -= _twoPI;\n\n\t\t\tif ( max < - Math.PI ) max += _twoPI; else if ( max > Math.PI ) max -= _twoPI;\n\n\t\t\tif ( min <= max ) {\n\n\t\t\t\tthis._spherical.theta = Math.max( min, Math.min( max, this._spherical.theta ) );\n\n\t\t\t} else {\n\n\t\t\t\tthis._spherical.theta = ( this._spherical.theta > ( min + max ) / 2 ) ?\n\t\t\t\t\tMath.max( min, this._spherical.theta ) :\n\t\t\t\t\tMath.min( max, this._spherical.theta );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// restrict phi to be between desired limits\n\t\tthis._spherical.phi = Math.max( this.minPolarAngle, Math.min( this.maxPolarAngle, this._spherical.phi ) );\n\n\t\tthis._spherical.makeSafe();\n\n\n\t\t// move target to panned location\n\n\t\tif ( this.enableDamping === true ) {\n\n\t\t\tthis.target.addScaledVector( this._panOffset, this.dampingFactor );\n\n\t\t} else {\n\n\t\t\tthis.target.add( this._panOffset );\n\n\t\t}\n\n\t\t// Limit the target distance from the cursor to create a sphere around the center of interest\n\t\tthis.target.sub( this.cursor );\n\t\tthis.target.clampLength( this.minTargetRadius, this.maxTargetRadius );\n\t\tthis.target.add( this.cursor );\n\n\t\tlet zoomChanged = false;\n\t\t// adjust the camera position based on zoom only if we're not zooming to the cursor or if it's an ortho camera\n\t\t// we adjust zoom later in these cases\n\t\tif ( this.zoomToCursor && this._performCursorZoom || this.object.isOrthographicCamera ) {\n\n\t\t\tthis._spherical.radius = this._clampDistance( this._spherical.radius );\n\n\t\t} else {\n\n\t\t\tconst prevRadius = this._spherical.radius;\n\t\t\tthis._spherical.radius = this._clampDistance( this._spherical.radius * this._scale );\n\t\t\tzoomChanged = prevRadius != this._spherical.radius;\n\n\t\t}\n\n\t\t_v.setFromSpherical( this._spherical );\n\n\t\t// rotate offset back to \"camera-up-vector-is-up\" space\n\t\t_v.applyQuaternion( this._quatInverse );\n\n\t\tposition.copy( this.target ).add( _v );\n\n\t\tthis.object.lookAt( this.target );\n\n\t\tif ( this.enableDamping === true ) {\n\n\t\t\tthis._sphericalDelta.theta *= ( 1 - this.dampingFactor );\n\t\t\tthis._sphericalDelta.phi *= ( 1 - this.dampingFactor );\n\n\t\t\tthis._panOffset.multiplyScalar( 1 - this.dampingFactor );\n\n\t\t} else {\n\n\t\t\tthis._sphericalDelta.set( 0, 0, 0 );\n\n\t\t\tthis._panOffset.set( 0, 0, 0 );\n\n\t\t}\n\n\t\t// adjust camera position\n\t\tif ( this.zoomToCursor && this._performCursorZoom ) {\n\n\t\t\tlet newRadius = null;\n\t\t\tif ( this.object.isPerspectiveCamera ) {\n\n\t\t\t\t// move the camera down the pointer ray\n\t\t\t\t// this method avoids floating point error\n\t\t\t\tconst prevRadius = _v.length();\n\t\t\t\tnewRadius = this._clampDistance( prevRadius * this._scale );\n\n\t\t\t\tconst radiusDelta = prevRadius - newRadius;\n\t\t\t\tthis.object.position.addScaledVector( this._dollyDirection, radiusDelta );\n\t\t\t\tthis.object.updateMatrixWorld();\n\n\t\t\t\tzoomChanged = !! radiusDelta;\n\n\t\t\t} else if ( this.object.isOrthographicCamera ) {\n\n\t\t\t\t// adjust the ortho camera position based on zoom changes\n\t\t\t\tconst mouseBefore = new Vector3( this._mouse.x, this._mouse.y, 0 );\n\t\t\t\tmouseBefore.unproject( this.object );\n\n\t\t\t\tconst prevZoom = this.object.zoom;\n\t\t\t\tthis.object.zoom = Math.max( this.minZoom, Math.min( this.maxZoom, this.object.zoom / this._scale ) );\n\t\t\t\tthis.object.updateProjectionMatrix();\n\n\t\t\t\tzoomChanged = prevZoom !== this.object.zoom;\n\n\t\t\t\tconst mouseAfter = new Vector3( this._mouse.x, this._mouse.y, 0 );\n\t\t\t\tmouseAfter.unproject( this.object );\n\n\t\t\t\tthis.object.position.sub( mouseAfter ).add( mouseBefore );\n\t\t\t\tthis.object.updateMatrixWorld();\n\n\t\t\t\tnewRadius = _v.length();\n\n\t\t\t} else {\n\n\t\t\t\tconsole.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled.' );\n\t\t\t\tthis.zoomToCursor = false;\n\n\t\t\t}\n\n\t\t\t// handle the placement of the target\n\t\t\tif ( newRadius !== null ) {\n\n\t\t\t\tif ( this.screenSpacePanning ) {\n\n\t\t\t\t\t// position the orbit target in front of the new camera position\n\t\t\t\t\tthis.target.set( 0, 0, - 1 )\n\t\t\t\t\t\t.transformDirection( this.object.matrix )\n\t\t\t\t\t\t.multiplyScalar( newRadius )\n\t\t\t\t\t\t.add( this.object.position );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// get the ray and translation plane to compute target\n\t\t\t\t\t_ray.origin.copy( this.object.position );\n\t\t\t\t\t_ray.direction.set( 0, 0, - 1 ).transformDirection( this.object.matrix );\n\n\t\t\t\t\t// if the camera is 20 degrees above the horizon then don't adjust the focus target to avoid\n\t\t\t\t\t// extremely large values\n\t\t\t\t\tif ( Math.abs( this.object.up.dot( _ray.direction ) ) < _TILT_LIMIT ) {\n\n\t\t\t\t\t\tthis.object.lookAt( this.target );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t_plane.setFromNormalAndCoplanarPoint( this.object.up, this.target );\n\t\t\t\t\t\t_ray.intersectPlane( _plane, this.target );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else if ( this.object.isOrthographicCamera ) {\n\n\t\t\tconst prevZoom = this.object.zoom;\n\t\t\tthis.object.zoom = Math.max( this.minZoom, Math.min( this.maxZoom, this.object.zoom / this._scale ) );\n\n\t\t\tif ( prevZoom !== this.object.zoom ) {\n\n\t\t\t\tthis.object.updateProjectionMatrix();\n\t\t\t\tzoomChanged = true;\n\n\t\t\t}\n\n\t\t}\n\n\t\tthis._scale = 1;\n\t\tthis._performCursorZoom = false;\n\n\t\t// update condition is:\n\t\t// min(camera displacement, camera rotation in radians)^2 > EPS\n\t\t// using small-angle approximation cos(x/2) = 1 - x^2 / 8\n\n\t\tif ( zoomChanged ||\n\t\t\tthis._lastPosition.distanceToSquared( this.object.position ) > _EPS ||\n\t\t\t8 * ( 1 - this._lastQuaternion.dot( this.object.quaternion ) ) > _EPS ||\n\t\t\tthis._lastTargetPosition.distanceToSquared( this.target ) > _EPS ) {\n\n\t\t\tthis.dispatchEvent( _changeEvent );\n\n\t\t\tthis._lastPosition.copy( this.object.position );\n\t\t\tthis._lastQuaternion.copy( this.object.quaternion );\n\t\t\tthis._lastTargetPosition.copy( this.target );\n\n\t\t\treturn true;\n\n\t\t}\n\n\t\treturn false;\n\n\t}\n\n\t_getAutoRotationAngle( deltaTime ) {\n\n\t\tif ( deltaTime !== null ) {\n\n\t\t\treturn ( _twoPI / 60 * this.autoRotateSpeed ) * deltaTime;\n\n\t\t} else {\n\n\t\t\treturn _twoPI / 60 / 60 * this.autoRotateSpeed;\n\n\t\t}\n\n\t}\n\n\t_getZoomScale( delta ) {\n\n\t\tconst normalizedDelta = Math.abs( delta * 0.01 );\n\t\treturn Math.pow( 0.95, this.zoomSpeed * normalizedDelta );\n\n\t}\n\n\t_rotateLeft( angle ) {\n\n\t\tthis._sphericalDelta.theta -= angle;\n\n\t}\n\n\t_rotateUp( angle ) {\n\n\t\tthis._sphericalDelta.phi -= angle;\n\n\t}\n\n\t_panLeft( distance, objectMatrix ) {\n\n\t\t_v.setFromMatrixColumn( objectMatrix, 0 ); // get X column of objectMatrix\n\t\t_v.multiplyScalar( - distance );\n\n\t\tthis._panOffset.add( _v );\n\n\t}\n\n\t_panUp( distance, objectMatrix ) {\n\n\t\tif ( this.screenSpacePanning === true ) {\n\n\t\t\t_v.setFromMatrixColumn( objectMatrix, 1 );\n\n\t\t} else {\n\n\t\t\t_v.setFromMatrixColumn( objectMatrix, 0 );\n\t\t\t_v.crossVectors( this.object.up, _v );\n\n\t\t}\n\n\t\t_v.multiplyScalar( distance );\n\n\t\tthis._panOffset.add( _v );\n\n\t}\n\n\t// deltaX and deltaY are in pixels; right and down are positive\n\t_pan( deltaX, deltaY ) {\n\n\t\tconst element = this.domElement;\n\n\t\tif ( this.object.isPerspectiveCamera ) {\n\n\t\t\t// perspective\n\t\t\tconst position = this.object.position;\n\t\t\t_v.copy( position ).sub( this.target );\n\t\t\tlet targetDistance = _v.length();\n\n\t\t\t// half of the fov is center to top of screen\n\t\t\ttargetDistance *= Math.tan( ( this.object.fov / 2 ) * Math.PI / 180.0 );\n\n\t\t\t// we use only clientHeight here so aspect ratio does not distort speed\n\t\t\tthis._panLeft( 2 * deltaX * targetDistance / element.clientHeight, this.object.matrix );\n\t\t\tthis._panUp( 2 * deltaY * targetDistance / element.clientHeight, this.object.matrix );\n\n\t\t} else if ( this.object.isOrthographicCamera ) {\n\n\t\t\t// orthographic\n\t\t\tthis._panLeft( deltaX * ( this.object.right - this.object.left ) / this.object.zoom / element.clientWidth, this.object.matrix );\n\t\t\tthis._panUp( deltaY * ( this.object.top - this.object.bottom ) / this.object.zoom / element.clientHeight, this.object.matrix );\n\n\t\t} else {\n\n\t\t\t// camera neither orthographic nor perspective\n\t\t\tconsole.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' );\n\t\t\tthis.enablePan = false;\n\n\t\t}\n\n\t}\n\n\t_dollyOut( dollyScale ) {\n\n\t\tif ( this.object.isPerspectiveCamera || this.object.isOrthographicCamera ) {\n\n\t\t\tthis._scale /= dollyScale;\n\n\t\t} else {\n\n\t\t\tconsole.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' );\n\t\t\tthis.enableZoom = false;\n\n\t\t}\n\n\t}\n\n\t_dollyIn( dollyScale ) {\n\n\t\tif ( this.object.isPerspectiveCamera || this.object.isOrthographicCamera ) {\n\n\t\t\tthis._scale *= dollyScale;\n\n\t\t} else {\n\n\t\t\tconsole.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' );\n\t\t\tthis.enableZoom = false;\n\n\t\t}\n\n\t}\n\n\t_updateZoomParameters( x, y ) {\n\n\t\tif ( ! this.zoomToCursor ) {\n\n\t\t\treturn;\n\n\t\t}\n\n\t\tthis._performCursorZoom = true;\n\n\t\tconst rect = this.domElement.getBoundingClientRect();\n\t\tconst dx = x - rect.left;\n\t\tconst dy = y - rect.top;\n\t\tconst w = rect.width;\n\t\tconst h = rect.height;\n\n\t\tthis._mouse.x = ( dx / w ) * 2 - 1;\n\t\tthis._mouse.y = - ( dy / h ) * 2 + 1;\n\n\t\tthis._dollyDirection.set( this._mouse.x, this._mouse.y, 1 ).unproject( this.object ).sub( this.object.position ).normalize();\n\n\t}\n\n\t_clampDistance( dist ) {\n\n\t\treturn Math.max( this.minDistance, Math.min( this.maxDistance, dist ) );\n\n\t}\n\n\t//\n\t// event callbacks - update the object state\n\t//\n\n\t_handleMouseDownRotate( event ) {\n\n\t\tthis._rotateStart.set( event.clientX, event.clientY );\n\n\t}\n\n\t_handleMouseDownDolly( event ) {\n\n\t\tthis._updateZoomParameters( event.clientX, event.clientX );\n\t\tthis._dollyStart.set( event.clientX, event.clientY );\n\n\t}\n\n\t_handleMouseDownPan( event ) {\n\n\t\tthis._panStart.set( event.clientX, event.clientY );\n\n\t}\n\n\t_handleMouseMoveRotate( event ) {\n\n\t\tthis._rotateEnd.set( event.clientX, event.clientY );\n\n\t\tthis._rotateDelta.subVectors( this._rotateEnd, this._rotateStart ).multiplyScalar( this.rotateSpeed );\n\n\t\tconst element = this.domElement;\n\n\t\tthis._rotateLeft( _twoPI * this._rotateDelta.x / element.clientHeight ); // yes, height\n\n\t\tthis._rotateUp( _twoPI * this._rotateDelta.y / element.clientHeight );\n\n\t\tthis._rotateStart.copy( this._rotateEnd );\n\n\t\tthis.update();\n\n\t}\n\n\t_handleMouseMoveDolly( event ) {\n\n\t\tthis._dollyEnd.set( event.clientX, event.clientY );\n\n\t\tthis._dollyDelta.subVectors( this._dollyEnd, this._dollyStart );\n\n\t\tif ( this._dollyDelta.y > 0 ) {\n\n\t\t\tthis._dollyOut( this._getZoomScale( this._dollyDelta.y ) );\n\n\t\t} else if ( this._dollyDelta.y < 0 ) {\n\n\t\t\tthis._dollyIn( this._getZoomScale( this._dollyDelta.y ) );\n\n\t\t}\n\n\t\tthis._dollyStart.copy( this._dollyEnd );\n\n\t\tthis.update();\n\n\t}\n\n\t_handleMouseMovePan( event ) {\n\n\t\tthis._panEnd.set( event.clientX, event.clientY );\n\n\t\tthis._panDelta.subVectors( this._panEnd, this._panStart ).multiplyScalar( this.panSpeed );\n\n\t\tthis._pan( this._panDelta.x, this._panDelta.y );\n\n\t\tthis._panStart.copy( this._panEnd );\n\n\t\tthis.update();\n\n\t}\n\n\t_handleMouseWheel( event ) {\n\n\t\tthis._updateZoomParameters( event.clientX, event.clientY );\n\n\t\tif ( event.deltaY < 0 ) {\n\n\t\t\tthis._dollyIn( this._getZoomScale( event.deltaY ) );\n\n\t\t} else if ( event.deltaY > 0 ) {\n\n\t\t\tthis._dollyOut( this._getZoomScale( event.deltaY ) );\n\n\t\t}\n\n\t\tthis.update();\n\n\t}\n\n\t_handleKeyDown( event ) {\n\n\t\tlet needsUpdate = false;\n\n\t\tswitch ( event.code ) {\n\n\t\t\tcase this.keys.UP:\n\n\t\t\t\tif ( event.ctrlKey || event.metaKey || event.shiftKey ) {\n\n\t\t\t\t\tif ( this.enableRotate ) {\n\n\t\t\t\t\t\tthis._rotateUp( _twoPI * this.keyRotateSpeed / this.domElement.clientHeight );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( this.enablePan ) {\n\n\t\t\t\t\t\tthis._pan( 0, this.keyPanSpeed );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tneedsUpdate = true;\n\t\t\t\tbreak;\n\n\t\t\tcase this.keys.BOTTOM:\n\n\t\t\t\tif ( event.ctrlKey || event.metaKey || event.shiftKey ) {\n\n\t\t\t\t\tif ( this.enableRotate ) {\n\n\t\t\t\t\t\tthis._rotateUp( - _twoPI * this.keyRotateSpeed / this.domElement.clientHeight );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( this.enablePan ) {\n\n\t\t\t\t\t\tthis._pan( 0, - this.keyPanSpeed );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tneedsUpdate = true;\n\t\t\t\tbreak;\n\n\t\t\tcase this.keys.LEFT:\n\n\t\t\t\tif ( event.ctrlKey || event.metaKey || event.shiftKey ) {\n\n\t\t\t\t\tif ( this.enableRotate ) {\n\n\t\t\t\t\t\tthis._rotateLeft( _twoPI * this.keyRotateSpeed / this.domElement.clientHeight );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( this.enablePan ) {\n\n\t\t\t\t\t\tthis._pan( this.keyPanSpeed, 0 );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tneedsUpdate = true;\n\t\t\t\tbreak;\n\n\t\t\tcase this.keys.RIGHT:\n\n\t\t\t\tif ( event.ctrlKey || event.metaKey || event.shiftKey ) {\n\n\t\t\t\t\tif ( this.enableRotate ) {\n\n\t\t\t\t\t\tthis._rotateLeft( - _twoPI * this.keyRotateSpeed / this.domElement.clientHeight );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( this.enablePan ) {\n\n\t\t\t\t\t\tthis._pan( - this.keyPanSpeed, 0 );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tneedsUpdate = true;\n\t\t\t\tbreak;\n\n\t\t}\n\n\t\tif ( needsUpdate ) {\n\n\t\t\t// prevent the browser from scrolling on cursor keys\n\t\t\tevent.preventDefault();\n\n\t\t\tthis.update();\n\n\t\t}\n\n\n\t}\n\n\t_handleTouchStartRotate( event ) {\n\n\t\tif ( this._pointers.length === 1 ) {\n\n\t\t\tthis._rotateStart.set( event.pageX, event.pageY );\n\n\t\t} else {\n\n\t\t\tconst position = this._getSecondPointerPosition( event );\n\n\t\t\tconst x = 0.5 * ( event.pageX + position.x );\n\t\t\tconst y = 0.5 * ( event.pageY + position.y );\n\n\t\t\tthis._rotateStart.set( x, y );\n\n\t\t}\n\n\t}\n\n\t_handleTouchStartPan( event ) {\n\n\t\tif ( this._pointers.length === 1 ) {\n\n\t\t\tthis._panStart.set( event.pageX, event.pageY );\n\n\t\t} else {\n\n\t\t\tconst position = this._getSecondPointerPosition( event );\n\n\t\t\tconst x = 0.5 * ( event.pageX + position.x );\n\t\t\tconst y = 0.5 * ( event.pageY + position.y );\n\n\t\t\tthis._panStart.set( x, y );\n\n\t\t}\n\n\t}\n\n\t_handleTouchStartDolly( event ) {\n\n\t\tconst position = this._getSecondPointerPosition( event );\n\n\t\tconst dx = event.pageX - position.x;\n\t\tconst dy = event.pageY - position.y;\n\n\t\tconst distance = Math.sqrt( dx * dx + dy * dy );\n\n\t\tthis._dollyStart.set( 0, distance );\n\n\t}\n\n\t_handleTouchStartDollyPan( event ) {\n\n\t\tif ( this.enableZoom ) this._handleTouchStartDolly( event );\n\n\t\tif ( this.enablePan ) this._handleTouchStartPan( event );\n\n\t}\n\n\t_handleTouchStartDollyRotate( event ) {\n\n\t\tif ( this.enableZoom ) this._handleTouchStartDolly( event );\n\n\t\tif ( this.enableRotate ) this._handleTouchStartRotate( event );\n\n\t}\n\n\t_handleTouchMoveRotate( event ) {\n\n\t\tif ( this._pointers.length == 1 ) {\n\n\t\t\tthis._rotateEnd.set( event.pageX, event.pageY );\n\n\t\t} else {\n\n\t\t\tconst position = this._getSecondPointerPosition( event );\n\n\t\t\tconst x = 0.5 * ( event.pageX + position.x );\n\t\t\tconst y = 0.5 * ( event.pageY + position.y );\n\n\t\t\tthis._rotateEnd.set( x, y );\n\n\t\t}\n\n\t\tthis._rotateDelta.subVectors( this._rotateEnd, this._rotateStart ).multiplyScalar( this.rotateSpeed );\n\n\t\tconst element = this.domElement;\n\n\t\tthis._rotateLeft( _twoPI * this._rotateDelta.x / element.clientHeight ); // yes, height\n\n\t\tthis._rotateUp( _twoPI * this._rotateDelta.y / element.clientHeight );\n\n\t\tthis._rotateStart.copy( this._rotateEnd );\n\n\t}\n\n\t_handleTouchMovePan( event ) {\n\n\t\tif ( this._pointers.length === 1 ) {\n\n\t\t\tthis._panEnd.set( event.pageX, event.pageY );\n\n\t\t} else {\n\n\t\t\tconst position = this._getSecondPointerPosition( event );\n\n\t\t\tconst x = 0.5 * ( event.pageX + position.x );\n\t\t\tconst y = 0.5 * ( event.pageY + position.y );\n\n\t\t\tthis._panEnd.set( x, y );\n\n\t\t}\n\n\t\tthis._panDelta.subVectors( this._panEnd, this._panStart ).multiplyScalar( this.panSpeed );\n\n\t\tthis._pan( this._panDelta.x, this._panDelta.y );\n\n\t\tthis._panStart.copy( this._panEnd );\n\n\t}\n\n\t_handleTouchMoveDolly( event ) {\n\n\t\tconst position = this._getSecondPointerPosition( event );\n\n\t\tconst dx = event.pageX - position.x;\n\t\tconst dy = event.pageY - position.y;\n\n\t\tconst distance = Math.sqrt( dx * dx + dy * dy );\n\n\t\tthis._dollyEnd.set( 0, distance );\n\n\t\tthis._dollyDelta.set( 0, Math.pow( this._dollyEnd.y / this._dollyStart.y, this.zoomSpeed ) );\n\n\t\tthis._dollyOut( this._dollyDelta.y );\n\n\t\tthis._dollyStart.copy( this._dollyEnd );\n\n\t\tconst centerX = ( event.pageX + position.x ) * 0.5;\n\t\tconst centerY = ( event.pageY + position.y ) * 0.5;\n\n\t\tthis._updateZoomParameters( centerX, centerY );\n\n\t}\n\n\t_handleTouchMoveDollyPan( event ) {\n\n\t\tif ( this.enableZoom ) this._handleTouchMoveDolly( event );\n\n\t\tif ( this.enablePan ) this._handleTouchMovePan( event );\n\n\t}\n\n\t_handleTouchMoveDollyRotate( event ) {\n\n\t\tif ( this.enableZoom ) this._handleTouchMoveDolly( event );\n\n\t\tif ( this.enableRotate ) this._handleTouchMoveRotate( event );\n\n\t}\n\n\t// pointers\n\n\t_addPointer( event ) {\n\n\t\tthis._pointers.push( event.pointerId );\n\n\t}\n\n\t_removePointer( event ) {\n\n\t\tdelete this._pointerPositions[ event.pointerId ];\n\n\t\tfor ( let i = 0; i < this._pointers.length; i ++ ) {\n\n\t\t\tif ( this._pointers[ i ] == event.pointerId ) {\n\n\t\t\t\tthis._pointers.splice( i, 1 );\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t_isTrackingPointer( event ) {\n\n\t\tfor ( let i = 0; i < this._pointers.length; i ++ ) {\n\n\t\t\tif ( this._pointers[ i ] == event.pointerId ) return true;\n\n\t\t}\n\n\t\treturn false;\n\n\t}\n\n\t_trackPointer( event ) {\n\n\t\tlet position = this._pointerPositions[ event.pointerId ];\n\n\t\tif ( position === undefined ) {\n\n\t\t\tposition = new Vector2();\n\t\t\tthis._pointerPositions[ event.pointerId ] = position;\n\n\t\t}\n\n\t\tposition.set( event.pageX, event.pageY );\n\n\t}\n\n\t_getSecondPointerPosition( event ) {\n\n\t\tconst pointerId = ( event.pointerId === this._pointers[ 0 ] ) ? this._pointers[ 1 ] : this._pointers[ 0 ];\n\n\t\treturn this._pointerPositions[ pointerId ];\n\n\t}\n\n\t//\n\n\t_customWheelEvent( event ) {\n\n\t\tconst mode = event.deltaMode;\n\n\t\t// minimal wheel event altered to meet delta-zoom demand\n\t\tconst newEvent = {\n\t\t\tclientX: event.clientX,\n\t\t\tclientY: event.clientY,\n\t\t\tdeltaY: event.deltaY,\n\t\t};\n\n\t\tswitch ( mode ) {\n\n\t\t\tcase 1: // LINE_MODE\n\t\t\t\tnewEvent.deltaY *= 16;\n\t\t\t\tbreak;\n\n\t\t\tcase 2: // PAGE_MODE\n\t\t\t\tnewEvent.deltaY *= 100;\n\t\t\t\tbreak;\n\n\t\t}\n\n\t\t// detect if event was triggered by pinching\n\t\tif ( event.ctrlKey && ! this._controlActive ) {\n\n\t\t\tnewEvent.deltaY *= 10;\n\n\t\t}\n\n\t\treturn newEvent;\n\n\t}\n\n}\n\nfunction onPointerDown( event ) {\n\n\tif ( this.enabled === false ) return;\n\n\tif ( this._pointers.length === 0 ) {\n\n\t\tthis.domElement.setPointerCapture( event.pointerId );\n\n\t\tthis.domElement.ownerDocument.addEventListener( 'pointermove', this._onPointerMove );\n\t\tthis.domElement.ownerDocument.addEventListener( 'pointerup', this._onPointerUp );\n\n\t}\n\n\t//\n\n\tif ( this._isTrackingPointer( event ) ) return;\n\n\t//\n\n\tthis._addPointer( event );\n\n\tif ( event.pointerType === 'touch' ) {\n\n\t\tthis._onTouchStart( event );\n\n\t} else {\n\n\t\tthis._onMouseDown( event );\n\n\t}\n\n\tif ( this._cursorStyle === 'grab' ) {\n\n\t\tthis.domElement.style.cursor = 'grabbing';\n\n\t}\n\n}\n\nfunction onPointerMove( event ) {\n\n\tif ( this.enabled === false ) return;\n\n\tif ( event.pointerType === 'touch' ) {\n\n\t\tthis._onTouchMove( event );\n\n\t} else {\n\n\t\tthis._onMouseMove( event );\n\n\t}\n\n}\n\nfunction onPointerUp( event ) {\n\n\tthis._removePointer( event );\n\n\tswitch ( this._pointers.length ) {\n\n\t\tcase 0:\n\n\t\t\tthis.domElement.releasePointerCapture( event.pointerId );\n\n\t\t\tthis.domElement.ownerDocument.removeEventListener( 'pointermove', this._onPointerMove );\n\t\t\tthis.domElement.ownerDocument.removeEventListener( 'pointerup', this._onPointerUp );\n\n\t\t\tthis.dispatchEvent( _endEvent );\n\n\t\t\tthis.state = _STATE.NONE;\n\n\t\t\tif ( this._cursorStyle === 'grab' ) {\n\n\t\t\t\tthis.domElement.style.cursor = 'grab';\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase 1:\n\n\t\t\tconst pointerId = this._pointers[ 0 ];\n\t\t\tconst position = this._pointerPositions[ pointerId ];\n\n\t\t\t// minimal placeholder event - allows state correction on pointer-up\n\t\t\tthis._onTouchStart( { pointerId: pointerId, pageX: position.x, pageY: position.y } );\n\n\t\t\tbreak;\n\n\t}\n\n}\n\nfunction onMouseDown( event ) {\n\n\tlet mouseAction;\n\n\tswitch ( event.button ) {\n\n\t\tcase 0:\n\n\t\t\tmouseAction = this.mouseButtons.LEFT;\n\t\t\tbreak;\n\n\t\tcase 1:\n\n\t\t\tmouseAction = this.mouseButtons.MIDDLE;\n\t\t\tbreak;\n\n\t\tcase 2:\n\n\t\t\tmouseAction = this.mouseButtons.RIGHT;\n\t\t\tbreak;\n\n\t\tdefault:\n\n\t\t\tmouseAction = - 1;\n\n\t}\n\n\tswitch ( mouseAction ) {\n\n\t\tcase MOUSE.DOLLY:\n\n\t\t\tif ( this.enableZoom === false ) return;\n\n\t\t\tthis._handleMouseDownDolly( event );\n\n\t\t\tthis.state = _STATE.DOLLY;\n\n\t\t\tbreak;\n\n\t\tcase MOUSE.ROTATE:\n\n\t\t\tif ( event.ctrlKey || event.metaKey || event.shiftKey ) {\n\n\t\t\t\tif ( this.enablePan === false ) return;\n\n\t\t\t\tthis._handleMouseDownPan( event );\n\n\t\t\t\tthis.state = _STATE.PAN;\n\n\t\t\t} else {\n\n\t\t\t\tif ( this.enableRotate === false ) return;\n\n\t\t\t\tthis._handleMouseDownRotate( event );\n\n\t\t\t\tthis.state = _STATE.ROTATE;\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase MOUSE.PAN:\n\n\t\t\tif ( event.ctrlKey || event.metaKey || event.shiftKey ) {\n\n\t\t\t\tif ( this.enableRotate === false ) return;\n\n\t\t\t\tthis._handleMouseDownRotate( event );\n\n\t\t\t\tthis.state = _STATE.ROTATE;\n\n\t\t\t} else {\n\n\t\t\t\tif ( this.enablePan === false ) return;\n\n\t\t\t\tthis._handleMouseDownPan( event );\n\n\t\t\t\tthis.state = _STATE.PAN;\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tdefault:\n\n\t\t\tthis.state = _STATE.NONE;\n\n\t}\n\n\tif ( this.state !== _STATE.NONE ) {\n\n\t\tthis.dispatchEvent( _startEvent );\n\n\t}\n\n}\n\nfunction onMouseMove( event ) {\n\n\tswitch ( this.state ) {\n\n\t\tcase _STATE.ROTATE:\n\n\t\t\tif ( this.enableRotate === false ) return;\n\n\t\t\tthis._handleMouseMoveRotate( event );\n\n\t\t\tbreak;\n\n\t\tcase _STATE.DOLLY:\n\n\t\t\tif ( this.enableZoom === false ) return;\n\n\t\t\tthis._handleMouseMoveDolly( event );\n\n\t\t\tbreak;\n\n\t\tcase _STATE.PAN:\n\n\t\t\tif ( this.enablePan === false ) return;\n\n\t\t\tthis._handleMouseMovePan( event );\n\n\t\t\tbreak;\n\n\t}\n\n}\n\nfunction onMouseWheel( event ) {\n\n\tif ( this.enabled === false || this.enableZoom === false || this.state !== _STATE.NONE ) return;\n\n\tevent.preventDefault();\n\n\tthis.dispatchEvent( _startEvent );\n\n\tthis._handleMouseWheel( this._customWheelEvent( event ) );\n\n\tthis.dispatchEvent( _endEvent );\n\n}\n\nfunction onKeyDown( event ) {\n\n\tif ( this.enabled === false ) return;\n\n\tthis._handleKeyDown( event );\n\n}\n\nfunction onTouchStart( event ) {\n\n\tthis._trackPointer( event );\n\n\tswitch ( this._pointers.length ) {\n\n\t\tcase 1:\n\n\t\t\tswitch ( this.touches.ONE ) {\n\n\t\t\t\tcase TOUCH.ROTATE:\n\n\t\t\t\t\tif ( this.enableRotate === false ) return;\n\n\t\t\t\t\tthis._handleTouchStartRotate( event );\n\n\t\t\t\t\tthis.state = _STATE.TOUCH_ROTATE;\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase TOUCH.PAN:\n\n\t\t\t\t\tif ( this.enablePan === false ) return;\n\n\t\t\t\t\tthis._handleTouchStartPan( event );\n\n\t\t\t\t\tthis.state = _STATE.TOUCH_PAN;\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\n\t\t\t\t\tthis.state = _STATE.NONE;\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase 2:\n\n\t\t\tswitch ( this.touches.TWO ) {\n\n\t\t\t\tcase TOUCH.DOLLY_PAN:\n\n\t\t\t\t\tif ( this.enableZoom === false && this.enablePan === false ) return;\n\n\t\t\t\t\tthis._handleTouchStartDollyPan( event );\n\n\t\t\t\t\tthis.state = _STATE.TOUCH_DOLLY_PAN;\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase TOUCH.DOLLY_ROTATE:\n\n\t\t\t\t\tif ( this.enableZoom === false && this.enableRotate === false ) return;\n\n\t\t\t\t\tthis._handleTouchStartDollyRotate( event );\n\n\t\t\t\t\tthis.state = _STATE.TOUCH_DOLLY_ROTATE;\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\n\t\t\t\t\tthis.state = _STATE.NONE;\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tdefault:\n\n\t\t\tthis.state = _STATE.NONE;\n\n\t}\n\n\tif ( this.state !== _STATE.NONE ) {\n\n\t\tthis.dispatchEvent( _startEvent );\n\n\t}\n\n}\n\nfunction onTouchMove( event ) {\n\n\tthis._trackPointer( event );\n\n\tswitch ( this.state ) {\n\n\t\tcase _STATE.TOUCH_ROTATE:\n\n\t\t\tif ( this.enableRotate === false ) return;\n\n\t\t\tthis._handleTouchMoveRotate( event );\n\n\t\t\tthis.update();\n\n\t\t\tbreak;\n\n\t\tcase _STATE.TOUCH_PAN:\n\n\t\t\tif ( this.enablePan === false ) return;\n\n\t\t\tthis._handleTouchMovePan( event );\n\n\t\t\tthis.update();\n\n\t\t\tbreak;\n\n\t\tcase _STATE.TOUCH_DOLLY_PAN:\n\n\t\t\tif ( this.enableZoom === false && this.enablePan === false ) return;\n\n\t\t\tthis._handleTouchMoveDollyPan( event );\n\n\t\t\tthis.update();\n\n\t\t\tbreak;\n\n\t\tcase _STATE.TOUCH_DOLLY_ROTATE:\n\n\t\t\tif ( this.enableZoom === false && this.enableRotate === false ) return;\n\n\t\t\tthis._handleTouchMoveDollyRotate( event );\n\n\t\t\tthis.update();\n\n\t\t\tbreak;\n\n\t\tdefault:\n\n\t\t\tthis.state = _STATE.NONE;\n\n\t}\n\n}\n\nfunction onContextMenu( event ) {\n\n\tif ( this.enabled === false ) return;\n\n\tevent.preventDefault();\n\n}\n\nfunction interceptControlDown( event ) {\n\n\tif ( event.key === 'Control' ) {\n\n\t\tthis._controlActive = true;\n\n\t\tconst document = this.domElement.getRootNode(); // offscreen canvas compatibility\n\n\t\tdocument.addEventListener( 'keyup', this._interceptControlUp, { passive: true, capture: true } );\n\n\t}\n\n}\n\nfunction interceptControlUp( event ) {\n\n\tif ( event.key === 'Control' ) {\n\n\t\tthis._controlActive = false;\n\n\t\tconst document = this.domElement.getRootNode(); // offscreen canvas compatibility\n\n\t\tdocument.removeEventListener( 'keyup', this._interceptControlUp, { passive: true, capture: true } );\n\n\t}\n\n}\n\nexport { OrbitControls };\n"],"names":["_changeEvent","_startEvent","_endEvent","_ray","Ray","_plane","Plane","_TILT_LIMIT","MathUtils","_v","Vector3","_twoPI","_STATE","_EPS","OrbitControls","Controls","object","domElement","MOUSE","TOUCH","Quaternion","Spherical","Vector2","onPointerMove","onPointerDown","onPointerUp","onContextMenu","onMouseWheel","onKeyDown","onTouchStart","onTouchMove","onMouseDown","onMouseMove","interceptControlDown","interceptControlUp","type","element","deltaX","deltaY","dollyScale","angle","deltaTime","position","min","max","zoomChanged","prevRadius","newRadius","radiusDelta","mouseBefore","prevZoom","mouseAfter","delta","normalizedDelta","distance","objectMatrix","targetDistance","x","y","rect","dx","dy","w","h","dist","event","needsUpdate","centerX","centerY","i","pointerId","mode","newEvent","mouseAction"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/server/public/assets/index-BwjDTdpq.css b/server/public/assets/index-BwjDTdpq.css deleted file mode 100644 index 07d6cf5a..00000000 --- a/server/public/assets/index-BwjDTdpq.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.inter-instance-overlay-frame{max-width:calc(100vw - .5rem)}.inter-instance-overlay-body{max-height:82vh}@media(min-width:1024px){.inter-instance-overlay-scale{zoom:1.5}.inter-instance-overlay-frame{max-width:calc((100vw - .5rem) / 1.5)}.inter-instance-overlay-body{max-height:54.6667vh}}.\!panel,.panel{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-section{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity));padding:0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-muted{border-radius:.375rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.surface{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.surface-muted{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity))}.field-input{border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(82 82 82 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.field-input::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.field-input::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.field-input:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity))}.button-dark{border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-dark:hover{--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.button-danger{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-danger:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity))}.chat-composer{container-type:inline-size;display:flex;flex-wrap:wrap;align-items:stretch;gap:.125rem;min-width:0;overflow:hidden}.chat-composer-nickname{flex:0 0 5rem;min-width:0;order:1}.chat-composer-input{flex:1 1 0%;min-width:0;order:2}.chat-composer-send{flex:0 0 auto;align-self:stretch;order:3}.chat-composer-tts{display:flex;flex:1 1 100%;align-items:center;gap:.125rem;min-width:0;overflow:hidden;order:4}@container (min-width: 44rem){.chat-composer{flex-wrap:nowrap}.chat-composer-nickname{flex-basis:7rem;order:1}.chat-composer-input{order:2}.chat-composer-tts{flex:0 1 auto;order:3}.chat-composer-send{order:4}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-x-1{left:.25rem;right:.25rem}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.bottom-\[calc\(100\%\+0\.125rem\)\]{bottom:calc(100% + .125rem)}.left-0{left:0}.left-0\.5{left:.125rem}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-4{left:1rem}.right-0{right:0}.right-0\.5{right:.125rem}.right-1{right:.25rem}.right-2{right:.5rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-6{top:1.5rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[110\]{z-index:110}.z-\[120\]{z-index:120}.z-\[130\]{z-index:130}.z-\[2000\]{z-index:2000}.z-\[70\]{z-index:70}.order-1{order:1}.order-2{order:2}.col-span-2{grid-column:span 2 / span 2}.col-span-full{grid-column:1 / -1}.row-span-2{grid-row:span 2 / span 2}.m-0{margin:0}.-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.mx-auto{margin-left:auto;margin-right:auto}.my-\[-0\.125rem\]{margin-top:-.125rem;margin-bottom:-.125rem}.-mt-0\.5{margin-top:-.125rem}.mb-0\.5{margin-bottom:.125rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.mr-0{margin-right:0}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-\[0\.35vh\]{margin-top:.35vh}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-44{height:11rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-52{height:13rem}.h-64{height:16rem}.h-8{height:2rem}.h-\[100dvh\]{height:100dvh}.h-\[2px\]{height:2px}.h-\[3\.5rem\]{height:3.5rem}.h-\[70\%\]{height:70%}.h-\[7rem\]{height:7rem}.h-\[8vh\]{height:8vh}.h-\[calc\(100dvh-0\.25rem\)\]{height:calc(100dvh - .25rem)}.h-\[calc\(1rem\+0\.25rem\)\]{height:1.25rem}.h-\[min\(100svh\,32rem\)\]{height:min(100svh,32rem)}.h-\[min\(60svh\,24rem\)\]{height:min(60svh,24rem)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-24{max-height:6rem}.max-h-32{max-height:8rem}.max-h-36{max-height:9rem}.max-h-40{max-height:10rem}.max-h-52{max-height:13rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-\[14rem\]{max-height:14rem}.max-h-\[36rem\]{max-height:36rem}.max-h-\[70vh\]{max-height:70vh}.max-h-\[72vh\]{max-height:72vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-14{min-height:3.5rem}.min-h-5{min-height:1.25rem}.min-h-7{min-height:1.75rem}.min-h-9{min-height:2.25rem}.min-h-\[100dvh\]{min-height:100dvh}.min-h-\[10rem\]{min-height:10rem}.min-h-\[12rem\]{min-height:12rem}.min-h-\[14rem\]{min-height:14rem}.min-h-\[16rem\]{min-height:16rem}.min-h-\[18rem\]{min-height:18rem}.min-h-\[3\.5rem\]{min-height:3.5rem}.min-h-\[4rem\]{min-height:4rem}.min-h-\[5rem\]{min-height:5rem}.min-h-\[7rem\]{min-height:7rem}.min-h-\[calc\(100dvh-0\.25rem\)\]{min-height:calc(100dvh - .25rem)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-2{width:.5rem}.w-20{width:5rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/5{width:60%}.w-4{width:1rem}.w-4\/5{width:80%}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[100vw\]{width:100vw}.w-\[12\.5rem\]{width:12.5rem}.w-\[12rem\]{width:12rem}.w-\[14rem\]{width:14rem}.w-\[22rem\]{width:22rem}.w-\[2px\]{width:2px}.w-\[3\.25rem\]{width:3.25rem}.w-\[4\.5rem\]{width:4.5rem}.w-\[5\.5rem\]{width:5.5rem}.w-\[5rem\]{width:5rem}.w-\[9rem\]{width:9rem}.w-\[calc\(1rem\+0\.25rem\)\]{width:1.25rem}.w-\[min\(20rem\,calc\(100vw-1rem\)\)\]{width:min(20rem,calc(100vw - 1rem))}.w-\[min\(34vw\,34rem\)\]{width:min(34vw,34rem)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-16{min-width:4rem}.min-w-24{min-width:6rem}.min-w-28{min-width:7rem}.min-w-56{min-width:14rem}.min-w-\[0\]{min-width:0}.min-w-\[3\.7rem\]{min-width:3.7rem}.min-w-\[5\.5rem\]{min-width:5.5rem}.min-w-\[9\.5rem\]{min-width:9.5rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-40{max-width:10rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-\[24rem\]{max-width:24rem}.max-w-\[40vw\]{max-width:40vw}.max-w-\[70vw\]{max-width:70vw}.max-w-\[80vw\]{max-width:80vw}.max-w-\[92\%\]{max-width:92%}.max-w-\[92vw\]{max-width:92vw}.max-w-\[94\%\]{max-width:94%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-\[0\.72\]{flex:.72}.flex-\[1\.1\]{flex:1.1}.flex-\[1\.22\]{flex:1.22}.flex-\[1\.28\]{flex:1.28}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-\[0\.75\]{flex-grow:.75}.grow-\[0\.9\]{flex-grow:.9}.grow-\[1\]{flex-grow:1}.basis-0{flex-basis:0px}.origin-center{transform-origin:center}.origin-top-left{transform-origin:top left}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[1\.5rem_minmax\(0\,1fr\)_3rem\]{grid-template-columns:1.5rem minmax(0,1fr) 3rem}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,0\.7fr\)_minmax\(0\,2\.1fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(0,.7fr) minmax(0,2.1fr) minmax(0,.7fr)}.grid-cols-\[minmax\(0\,1\.15fr\)_minmax\(0\,0\.85fr\)_minmax\(0\,0\.85fr\)\]{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,.85fr)}.grid-cols-\[minmax\(0\,1\.2fr\)_repeat\(4\,minmax\(0\,1fr\)\)\]{grid-template-columns:minmax(0,1.2fr) repeat(4,minmax(0,1fr))}.grid-cols-\[minmax\(0\,1\.35fr\)_minmax\(0\,0\.95fr\)\]{grid-template-columns:minmax(0,1.35fr) minmax(0,.95fr)}.grid-cols-\[minmax\(0\,1\.3fr\)_minmax\(0\,0\.22fr\)\]{grid-template-columns:minmax(0,1.3fr) minmax(0,.22fr)}.grid-cols-\[minmax\(0\,1\.45fr\)_minmax\(0\,0\.85fr\)\]{grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr)}.grid-cols-\[minmax\(0\,1\.6fr\)_minmax\(16rem\,0\.7fr\)\]{grid-template-columns:minmax(0,1.6fr) minmax(16rem,.7fr)}.grid-cols-\[minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_13rem\]{grid-template-columns:minmax(0,1fr) 13rem}.grid-cols-\[minmax\(0\,1fr\)_14rem\]{grid-template-columns:minmax(0,1fr) 14rem}.grid-cols-\[minmax\(0\,1fr\)_2\.5rem\]{grid-template-columns:minmax(0,1fr) 2.5rem}.grid-cols-\[minmax\(0\,1fr\)_20rem\]{grid-template-columns:minmax(0,1fr) 20rem}.grid-cols-\[minmax\(0\,1fr\)_4\.75rem\]{grid-template-columns:minmax(0,1fr) 4.75rem}.grid-cols-\[minmax\(0\,1fr\)_8rem\]{grid-template-columns:minmax(0,1fr) 8rem}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,0\.7fr\)_minmax\(0\,1\.9fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(0,1.9fr) minmax(0,.7fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.4fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.grid-rows-\[auto_auto_1fr\]{grid-template-rows:auto auto 1fr}.grid-rows-\[auto_auto_1fr_auto\]{grid-template-rows:auto auto 1fr auto}.grid-rows-\[auto_auto_auto_1fr\]{grid-template-rows:auto auto auto 1fr}.grid-rows-\[auto_minmax\(0\,1fr\)\]{grid-template-rows:auto minmax(0,1fr)}.grid-rows-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-rows:auto minmax(0,1fr) auto}.grid-rows-\[minmax\(0\,1fr\)\]{grid-template-rows:minmax(0,1fr)}.grid-rows-\[minmax\(0\,1fr\)_auto\]{grid-template-rows:minmax(0,1fr) auto}.grid-rows-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.grid-rows-\[minmax\(0\,1fr\)_minmax\(7rem\,0\.22fr\)\]{grid-template-rows:minmax(0,1fr) minmax(7rem,.22fr)}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-\[0\.4vh\]{gap:.4vh}.gap-\[0\.55vh\]{gap:.55vh}.gap-\[0\.8vw\]{gap:.8vw}.gap-\[1vh\]{gap:1vh}.gap-\[1vw\]{gap:1vw}.gap-\[3vh\]{gap:3vh}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity))}.border-amber-200\/30{border-color:#fde68a4d}.border-amber-200\/70{border-color:#fde68ab3}.border-amber-200\/90{border-color:#fde68ae6}.border-amber-300\/60{border-color:#fcd34d99}.border-amber-300\/70{border-color:#fcd34db3}.border-amber-300\/80{border-color:#fcd34dcc}.border-amber-400\/30{border-color:#fbbf244d}.border-amber-400\/60{border-color:#fbbf2499}.border-amber-500\/50{border-color:#f59e0b80}.border-amber-600\/60{border-color:#d9770699}.border-amber-700\/60{border-color:#b4530999}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.border-cyan-200{--tw-border-opacity: 1;border-color:rgb(165 243 252 / var(--tw-border-opacity))}.border-cyan-200\/90{border-color:#a5f3fce6}.border-cyan-300{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity))}.border-cyan-300\/60{border-color:#67e8f999}.border-cyan-300\/70{border-color:#67e8f9b3}.border-cyan-300\/80{border-color:#67e8f9cc}.border-cyan-500\/40{border-color:#06b6d466}.border-emerald-100\/80{border-color:#d1fae5cc}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity))}.border-emerald-200\/70{border-color:#a7f3d0b3}.border-emerald-200\/90{border-color:#a7f3d0e6}.border-emerald-300{--tw-border-opacity: 1;border-color:rgb(110 231 183 / var(--tw-border-opacity))}.border-emerald-300\/70{border-color:#6ee7b7b3}.border-emerald-400\/60{border-color:#34d39999}.border-emerald-500\/40{border-color:#10b98166}.border-emerald-700\/60{border-color:#04785799}.border-emerald-700\/70{border-color:#047857b3}.border-emerald-950{--tw-border-opacity: 1;border-color:rgb(2 44 34 / var(--tw-border-opacity))}.border-fuchsia-300\/70{border-color:#f0abfcb3}.border-green-400{--tw-border-opacity: 1;border-color:rgb(74 222 128 / var(--tw-border-opacity))}.border-indigo-200\/70{border-color:#c7d2feb3}.border-indigo-200\/95{border-color:#c7d2fef2}.border-indigo-300\/70{border-color:#a5b4fcb3}.border-indigo-400\/30{border-color:#818cf84d}.border-indigo-700{--tw-border-opacity: 1;border-color:rgb(67 56 202 / var(--tw-border-opacity))}.border-indigo-700\/60{border-color:#4338ca99}.border-neutral-500{--tw-border-opacity: 1;border-color:rgb(115 115 115 / var(--tw-border-opacity))}.border-neutral-500\/50{border-color:#73737380}.border-neutral-500\/60{border-color:#73737399}.border-neutral-500\/70{border-color:#737373b3}.border-neutral-600{--tw-border-opacity: 1;border-color:rgb(82 82 82 / var(--tw-border-opacity))}.border-neutral-700{--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity))}.border-neutral-700\/70{border-color:#404040b3}.border-pink-200{--tw-border-opacity: 1;border-color:rgb(251 207 232 / var(--tw-border-opacity))}.border-red-100{--tw-border-opacity: 1;border-color:rgb(254 226 226 / var(--tw-border-opacity))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity))}.border-red-300\/90{border-color:#fca5a5e6}.border-red-400{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity))}.border-red-400\/60{border-color:#f8717199}.border-rose-300{--tw-border-opacity: 1;border-color:rgb(253 164 175 / var(--tw-border-opacity))}.border-sky-200{--tw-border-opacity: 1;border-color:rgb(186 230 253 / var(--tw-border-opacity))}.border-sky-300{--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity))}.border-sky-400\/50{border-color:#38bdf880}.border-sky-400\/70{border-color:#38bdf8b3}.border-slate-200\/30{border-color:#e2e8f04d}.border-slate-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.border-slate-400\/60{border-color:#94a3b899}.border-slate-500\/70{border-color:#64748bb3}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}.border-slate-600\/40{border-color:#47556966}.border-slate-600\/60{border-color:#47556999}.border-slate-600\/70{border-color:#475569b3}.border-slate-600\/80{border-color:#475569cc}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.border-slate-700\/60{border-color:#33415599}.border-slate-700\/70{border-color:#334155b3}.border-slate-700\/80{border-color:#334155cc}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.border-slate-800\/60{border-color:#1e293b99}.border-slate-800\/80{border-color:#1e293bcc}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-white\/10{border-color:#ffffff1a}.border-white\/40{border-color:#fff6}.border-white\/80{border-color:#fffc}.border-l-neutral-600{--tw-border-opacity: 1;border-left-color:rgb(82 82 82 / var(--tw-border-opacity))}.\!bg-black{--tw-bg-opacity: 1 !important;background-color:rgb(0 0 0 / var(--tw-bg-opacity))!important}.bg-amber-100\/95{background-color:#fef3c7f2}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.bg-amber-400\/80{background-color:#fbbf24cc}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity))}.bg-amber-500\/30{background-color:#f59e0b4d}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.bg-amber-600\/70{background-color:#d97706b3}.bg-amber-600\/80{background-color:#d97706cc}.bg-amber-700\/20{background-color:#b4530933}.bg-amber-700\/30{background-color:#b453094d}.bg-amber-700\/35{background-color:#b4530959}.bg-amber-700\/50{background-color:#b4530980}.bg-amber-700\/80{background-color:#b45309cc}.bg-amber-800{--tw-bg-opacity: 1;background-color:rgb(146 64 14 / var(--tw-bg-opacity))}.bg-amber-900{--tw-bg-opacity: 1;background-color:rgb(120 53 15 / var(--tw-bg-opacity))}.bg-amber-900\/40{background-color:#78350f66}.bg-amber-900\/60{background-color:#78350f99}.bg-amber-900\/90{background-color:#78350fe6}.bg-amber-950\/35{background-color:#451a0359}.bg-amber-950\/40{background-color:#451a0366}.bg-amber-950\/70{background-color:#451a03b3}.bg-amber-950\/75{background-color:#451a03bf}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/45{background-color:#00000073}.bg-black\/50{background-color:#00000080}.bg-black\/55{background-color:#0000008c}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/75{background-color:#000000bf}.bg-black\/80{background-color:#000c}.bg-black\/95{background-color:#000000f2}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-cyan-300{--tw-bg-opacity: 1;background-color:rgb(103 232 249 / var(--tw-bg-opacity))}.bg-cyan-300\/20{background-color:#67e8f933}.bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity))}.bg-cyan-500\/80{background-color:#06b6d4cc}.bg-cyan-900{--tw-bg-opacity: 1;background-color:rgb(22 78 99 / var(--tw-bg-opacity))}.bg-cyan-900\/45{background-color:#164e6373}.bg-cyan-900\/90{background-color:#164e63e6}.bg-emerald-200{--tw-bg-opacity: 1;background-color:rgb(167 243 208 / var(--tw-bg-opacity))}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.bg-emerald-500\/45{background-color:#10b98173}.bg-emerald-500\/80{background-color:#10b981cc}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity))}.bg-emerald-600\/70{background-color:#059669b3}.bg-emerald-600\/80{background-color:#059669cc}.bg-emerald-700{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.bg-emerald-700\/20{background-color:#04785733}.bg-emerald-700\/60{background-color:#04785799}.bg-emerald-700\/70{background-color:#047857b3}.bg-emerald-800{--tw-bg-opacity: 1;background-color:rgb(6 95 70 / var(--tw-bg-opacity))}.bg-emerald-900{--tw-bg-opacity: 1;background-color:rgb(6 78 59 / var(--tw-bg-opacity))}.bg-emerald-900\/60{background-color:#064e3b99}.bg-emerald-900\/90{background-color:#064e3be6}.bg-emerald-950{--tw-bg-opacity: 1;background-color:rgb(2 44 34 / var(--tw-bg-opacity))}.bg-emerald-950\/50{background-color:#022c2280}.bg-fuchsia-200{--tw-bg-opacity: 1;background-color:rgb(245 208 254 / var(--tw-bg-opacity))}.bg-fuchsia-600{--tw-bg-opacity: 1;background-color:rgb(192 38 211 / var(--tw-bg-opacity))}.bg-fuchsia-700{--tw-bg-opacity: 1;background-color:rgb(162 28 175 / var(--tw-bg-opacity))}.bg-fuchsia-800{--tw-bg-opacity: 1;background-color:rgb(134 25 143 / var(--tw-bg-opacity))}.bg-fuchsia-900\/45{background-color:#701a7573}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.bg-indigo-600\/70{background-color:#4f46e5b3}.bg-indigo-900{--tw-bg-opacity: 1;background-color:rgb(49 46 129 / var(--tw-bg-opacity))}.bg-indigo-900\/60{background-color:#312e8199}.bg-indigo-950{--tw-bg-opacity: 1;background-color:rgb(30 27 75 / var(--tw-bg-opacity))}.bg-indigo-950\/90{background-color:#1e1b4be6}.bg-neutral-600{--tw-bg-opacity: 1;background-color:rgb(82 82 82 / var(--tw-bg-opacity))}.bg-neutral-600\/80{background-color:#525252cc}.bg-neutral-700{--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity))}.bg-neutral-700\/90{background-color:#404040e6}.bg-neutral-800{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity))}.bg-neutral-800\/80{background-color:#262626cc}.bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity))}.bg-neutral-900\/100{background-color:#171717}.bg-neutral-900\/60{background-color:#17171799}.bg-neutral-900\/70{background-color:#171717b3}.bg-neutral-900\/95{background-color:#171717f2}.bg-neutral-950{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity))}.bg-neutral-950\/90{background-color:#0a0a0ae6}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-red-500\/45{background-color:#ef444473}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-red-600\/70{background-color:#dc2626b3}.bg-red-700{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity))}.bg-red-700\/20{background-color:#b91c1c33}.bg-red-700\/60{background-color:#b91c1c99}.bg-red-700\/80{background-color:#b91c1ccc}.bg-red-800{--tw-bg-opacity: 1;background-color:rgb(153 27 27 / var(--tw-bg-opacity))}.bg-red-900\/35{background-color:#7f1d1d59}.bg-red-900\/40{background-color:#7f1d1d66}.bg-red-900\/45{background-color:#7f1d1d73}.bg-red-900\/80{background-color:#7f1d1dcc}.bg-red-950\/70{background-color:#450a0ab3}.bg-rose-500{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity))}.bg-rose-600{--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity))}.bg-sky-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.bg-sky-600{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity))}.bg-sky-700{--tw-bg-opacity: 1;background-color:rgb(3 105 161 / var(--tw-bg-opacity))}.bg-sky-700\/20{background-color:#0369a133}.bg-sky-700\/70{background-color:#0369a1b3}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}.bg-slate-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.bg-slate-600\/70{background-color:#475569b3}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.bg-slate-700\/30{background-color:#3341554d}.bg-slate-700\/60{background-color:#33415599}.bg-slate-700\/70{background-color:#334155b3}.bg-slate-700\/80{background-color:#334155cc}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-slate-800\/60{background-color:#1e293b99}.bg-slate-800\/70{background-color:#1e293bb3}.bg-slate-800\/80{background-color:#1e293bcc}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-slate-900\/35{background-color:#0f172a59}.bg-slate-900\/40{background-color:#0f172a66}.bg-slate-900\/70{background-color:#0f172ab3}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity))}.bg-slate-950\/35{background-color:#02061759}.bg-slate-950\/80{background-color:#020617cc}.bg-slate-950\/85{background-color:#020617d9}.bg-slate-950\/90{background-color:#020617e6}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/10{background-color:#ffffff1a}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity))}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.bg-zinc-900\/90{background-color:#18181be6}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-lime-800{--tw-gradient-from: #3f6212 var(--tw-gradient-from-position);--tw-gradient-to: rgb(63 98 18 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-neutral-800{--tw-gradient-from: #262626 var(--tw-gradient-from-position);--tw-gradient-to: rgb(38 38 38 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-neutral-700{--tw-gradient-to: rgb(64 64 64 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #404040 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-neutral-600{--tw-gradient-to: #525252 var(--tw-gradient-to-position)}.to-teal-800{--tw-gradient-to: #115e59 var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.fill-slate-100{fill:#f1f5f9}.fill-slate-200{fill:#e2e8f0}.fill-slate-400{fill:#94a3b8}.fill-white{fill:#fff}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-\[0\.85vw\]{padding:.85vw}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[1\.2vw\]{padding-left:1.2vw;padding-right:1.2vw}.px-\[1\.6vw\]{padding-left:1.6vw;padding-right:1.6vw}.px-\[1vw\]{padding-left:1vw;padding-right:1vw}.px-\[3vw\]{padding-left:3vw;padding-right:3vw}.px-\[4vw\]{padding-left:4vw;padding-right:4vw}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-\[0\.55vh\]{padding-top:.55vh;padding-bottom:.55vh}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.py-\[2\.5vh\]{padding-top:2.5vh;padding-bottom:2.5vh}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.py-\[4vh\]{padding-top:4vh;padding-bottom:4vh}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pt-1{padding-top:.25rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-\[0\.45rem\]{font-size:.45rem}.text-\[0\.48rem\]{font-size:.48rem}.text-\[0\.52rem\]{font-size:.52rem}.text-\[0\.55em\]{font-size:.55em}.text-\[0\.55rem\]{font-size:.55rem}.text-\[0\.58rem\]{font-size:.58rem}.text-\[0\.5rem\]{font-size:.5rem}.text-\[0\.62rem\]{font-size:.62rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.82rem\]{font-size:.82rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[1\.5rem\]{font-size:1.5rem}.text-\[17vw\]{font-size:17vw}.text-\[1rem\]{font-size:1rem}.text-\[2\.5vw\]{font-size:2.5vw}.text-\[2\.6vw\]{font-size:2.6vw}.text-\[3\.1vw\]{font-size:3.1vw}.text-\[3vw\]{font-size:3vw}.text-\[4vw\]{font-size:4vw}.text-\[6vw\]{font-size:6vw}.text-\[7vw\]{font-size:7vw}.text-\[clamp\(1\.25rem\,2\.5vh\,2\.6rem\)\]{font-size:clamp(1.25rem,2.5vh,2.6rem)}.text-\[clamp\(1\.2rem\,2\.9vh\,3rem\)\]{font-size:clamp(1.2rem,2.9vh,3rem)}.text-\[clamp\(2\.1rem\,5\.1vh\,5\.6rem\)\]{font-size:clamp(2.1rem,5.1vh,5.6rem)}.text-\[clamp\(2\.5rem\,5\.3vh\,5\.8rem\)\]{font-size:clamp(2.5rem,5.3vh,5.8rem)}.text-\[clamp\(2\.5rem\,7vh\,7rem\)\]{font-size:clamp(2.5rem,7vh,7rem)}.text-\[clamp\(2\.5rem\,8vh\,8rem\)\]{font-size:clamp(2.5rem,8vh,8rem)}.text-\[clamp\(2rem\,5vh\,5\.2rem\)\]{font-size:clamp(2rem,5vh,5.2rem)}.text-\[clamp\(3\.2rem\,11vh\,11rem\)\]{font-size:clamp(3.2rem,11vh,11rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-\[0\.95\]{line-height:.95}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-100{--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity))}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity))}.text-amber-200\/80{color:#fde68acc}.text-amber-200\/85{color:#fde68ad9}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity))}.text-amber-50{--tw-text-opacity: 1;color:rgb(255 251 235 / var(--tw-text-opacity))}.text-amber-50\/90{color:#fffbebe6}.text-amber-950{--tw-text-opacity: 1;color:rgb(69 26 3 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity))}.text-cyan-100{--tw-text-opacity: 1;color:rgb(207 250 254 / var(--tw-text-opacity))}.text-cyan-200{--tw-text-opacity: 1;color:rgb(165 243 252 / var(--tw-text-opacity))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.text-cyan-50{--tw-text-opacity: 1;color:rgb(236 254 255 / var(--tw-text-opacity))}.text-cyan-950{--tw-text-opacity: 1;color:rgb(8 51 68 / var(--tw-text-opacity))}.text-emerald-100{--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity))}.text-emerald-100\/80{color:#d1fae5cc}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity))}.text-emerald-50{--tw-text-opacity: 1;color:rgb(236 253 245 / var(--tw-text-opacity))}.text-emerald-50\/90{color:#ecfdf5e6}.text-emerald-950{--tw-text-opacity: 1;color:rgb(2 44 34 / var(--tw-text-opacity))}.text-fuchsia-50{--tw-text-opacity: 1;color:rgb(253 244 255 / var(--tw-text-opacity))}.text-fuchsia-900{--tw-text-opacity: 1;color:rgb(112 26 117 / var(--tw-text-opacity))}.text-indigo-200{--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity))}.text-indigo-50{--tw-text-opacity: 1;color:rgb(238 242 255 / var(--tw-text-opacity))}.text-indigo-50\/90{color:#eef2ffe6}.text-lime-300{--tw-text-opacity: 1;color:rgb(190 242 100 / var(--tw-text-opacity))}.text-lime-400{--tw-text-opacity: 1;color:rgb(163 230 53 / var(--tw-text-opacity))}.text-neutral-100{--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity))}.text-neutral-200{--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity))}.text-neutral-300{--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity))}.text-neutral-400{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity))}.text-neutral-50{--tw-text-opacity: 1;color:rgb(250 250 250 / var(--tw-text-opacity))}.text-neutral-500{--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity))}.text-red-100{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity))}.text-red-100\/90{color:#fee2e2e6}.text-red-100\/95{color:#fee2e2f2}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-red-50{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-rose-200{--tw-text-opacity: 1;color:rgb(254 205 211 / var(--tw-text-opacity))}.text-rose-300{--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity))}.text-sky-100{--tw-text-opacity: 1;color:rgb(224 242 254 / var(--tw-text-opacity))}.text-sky-200{--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity))}.text-sky-50{--tw-text-opacity: 1;color:rgb(240 249 255 / var(--tw-text-opacity))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-400\/60{color:#94a3b899}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity))}.text-teal-400{--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\/90{color:#ffffffe6}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity))}.accent-cyan-500{accent-color:#06b6d4}.accent-emerald-400{accent-color:#34d399}.accent-emerald-500{accent-color:#10b981}.accent-red-500{accent-color:#ef4444}.accent-sky-500{accent-color:#0ea5e9}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_1px_0_rgba\(255\,255\,255\,0\.05\)_inset\,0_10px_24px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow: 0 1px 0 rgba(255,255,255,.05) inset,0 10px 24px rgba(0,0,0,.28);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 10px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/40{--tw-shadow-color: rgb(0 0 0 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-950\/50{--tw-shadow-color: rgb(8 51 68 / .5);--tw-shadow: var(--tw-shadow-colored)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-amber-200\/60{--tw-ring-color: rgb(253 230 138 / .6)}.ring-amber-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity))}.ring-amber-300\/80{--tw-ring-color: rgb(252 211 77 / .8)}.ring-emerald-300\/50{--tw-ring-color: rgb(110 231 183 / .5)}.ring-emerald-300\/70{--tw-ring-color: rgb(110 231 183 / .7)}.ring-red-300\/60{--tw-ring-color: rgb(252 165 165 / .6)}.ring-red-500\/70{--tw-ring-color: rgb(239 68 68 / .7)}.ring-red-500\/80{--tw-ring-color: rgb(239 68 68 / .8)}.ring-red-500\/90{--tw-ring-color: rgb(239 68 68 / .9)}.ring-sky-300\/50{--tw-ring-color: rgb(125 211 252 / .5)}.ring-sky-400\/80{--tw-ring-color: rgb(56 189 248 / .8)}.ring-slate-400\/40{--tw-ring-color: rgb(148 163 184 / .4)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\]{transition-property:width,height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,opacity\]{transition-property:width,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes batteryTickWarn{0%,49%{background-color:#fffffff2}50%,to{background-color:#ef4444f2}}.battery-tick-warn{animation:batteryTickWarn .4s steps(2,end) infinite}@keyframes batteryUrgentFlash{0%,49%{opacity:1}50%,to{opacity:.25}}.battery-urgent-flash{animation:batteryUrgentFlash .4s steps(2,end) infinite}.no-touch-select{-moz-user-select:none;user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.mobile-touch-control{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:contain}.mobile-drag-control{touch-action:none}.mobile-text-entry{font-size:16px;-webkit-text-size-adjust:100%;touch-action:manipulation}.\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}body{margin:0;min-height:100vh;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}html,body,*{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.55) transparent}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*::-webkit-scrollbar{width:2px;height:2px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:#94a3b88c;border-radius:9999px}@supports (scrollbar-width: thin){@media(pointer:coarse){html,body,*{scrollbar-width:none}}}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0px}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-green-100:hover{--tw-border-opacity: 1;border-color:rgb(220 252 231 / var(--tw-border-opacity))}.hover\:border-rose-500:hover{--tw-border-opacity: 1;border-color:rgb(244 63 94 / var(--tw-border-opacity))}.hover\:border-sky-500:hover{--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity))}.hover\:border-white:hover{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.hover\:border-white\/60:hover{border-color:#fff9}.hover\:bg-amber-400:hover{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.hover\:bg-amber-600:hover{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.hover\:bg-amber-800:hover{--tw-bg-opacity: 1;background-color:rgb(146 64 14 / var(--tw-bg-opacity))}.hover\:bg-cyan-400:hover{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity))}.hover\:bg-cyan-800:hover{--tw-bg-opacity: 1;background-color:rgb(21 94 117 / var(--tw-bg-opacity))}.hover\:bg-emerald-400:hover{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.hover\:bg-emerald-500:hover{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.hover\:bg-emerald-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.hover\:bg-fuchsia-500:hover{--tw-bg-opacity: 1;background-color:rgb(217 70 239 / var(--tw-bg-opacity))}.hover\:bg-green-400:hover{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity))}.hover\:bg-indigo-500:hover{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.hover\:bg-indigo-800:hover{--tw-bg-opacity: 1;background-color:rgb(55 48 163 / var(--tw-bg-opacity))}.hover\:bg-neutral-700:hover{--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity))}.hover\:bg-pink-400:hover{--tw-bg-opacity: 1;background-color:rgb(244 114 182 / var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.hover\:bg-rose-500:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity))}.hover\:bg-sky-500:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.hover\:bg-slate-600:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.hover\:bg-slate-700\/70:hover{background-color:#334155b3}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-zinc-900:hover{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:bg-white\/10:focus{background-color:#ffffff1a}.focus\:text-white:focus{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-emerald-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-slate-500:focus-visible{outline-color:#64748b}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-amber-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity))}.focus-visible\:ring-cyan-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(103 232 249 / var(--tw-ring-opacity))}.focus-visible\:ring-emerald-200:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity))}.focus-visible\:ring-emerald-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(110 231 183 / var(--tw-ring-opacity))}.focus-visible\:ring-indigo-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(165 180 252 / var(--tw-ring-opacity))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.99\]:active{--tw-scale-x: .99;--tw-scale-y: .99;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:brightness-125:active{--tw-brightness: brightness(1.25);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-70:disabled{opacity:.7}@media(max-width:520px){.max-\[520px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-\[520px\]\:justify-start{justify-content:flex-start}}@media(max-width:420px){.max-\[420px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-\[420px\]\:grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.max-\[420px\]\:justify-start{justify-content:flex-start}}@media(min-width:640px){.sm\:block{display:block}.sm\:min-h-\[18rem\]{min-height:18rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[minmax\(0\,0\.8fr\)_minmax\(0\,1\.2fr\)\]{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}}@media(min-width:768px){.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:min-h-0{min-height:0px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[0\.9fr_1fr_1\.3fr\]{grid-template-columns:.9fr 1fr 1.3fr}.md\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1\.5fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1fr\)_10rem\]{grid-template-columns:minmax(0,1fr) 10rem}.md\:grid-cols-\[minmax\(0\,1fr\)_18rem\]{grid-template-columns:minmax(0,1fr) 18rem}.md\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.md\:grid-cols-\[minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto}.md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,.7fr)}.md\:grid-cols-\[minmax\(16rem\,0\.8fr\)_minmax\(0\,1\.2fr\)\]{grid-template-columns:minmax(16rem,.8fr) minmax(0,1.2fr)}.md\:items-start{align-items:flex-start}.md\:overflow-hidden{overflow:hidden}.md\:overflow-y-auto{overflow-y:auto}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media(min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[24rem_minmax\(0\,1fr\)\]{grid-template-columns:24rem minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.25fr\)_minmax\(0\,0\.9fr\)\]{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_20rem\]{grid-template-columns:minmax(0,1fr) 20rem}.lg\:grid-cols-\[minmax\(0\,1fr\)_9rem_10rem\]{grid-template-columns:minmax(0,1fr) 9rem 10rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:text-right{text-align:right}}@media(min-width:1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.page-theme{background-color:#050505;background-attachment:fixed}.page-theme-preview{background-attachment:scroll;background-position:center}.page-theme-black{background-color:#000;background-image:none}.page-theme-pride-mix{background-image:repeating-linear-gradient(45deg,#5bcefa 0 48px,#f5a9b8 48px 96px,#fff 96px 144px,#f5a9b8 144px 192px,#5bcefa 192px 240px,#e40303 240px 288px,#ff8c00 288px 336px,#ffed00 336px 384px,#00a651 384px 432px,#06f 432px 480px,#9b2fae 480px 528px)}.page-theme-rainbow{background-image:repeating-linear-gradient(45deg,#e40303 0 48px,#ff8c00 48px 96px,#ffed00 96px 144px,#008026 144px 192px,#004dff 192px 240px,#750787 240px 288px)}.page-theme-progress-pride{background-image:repeating-linear-gradient(45deg,#000 0 48px,#784f17 48px 96px,#5bcefa 96px 144px,#f5a9b8 144px 192px,#fff 192px 240px,#e40303 240px 288px,#ff8c00 288px 336px,#ffed00 336px 384px,#008026 384px 432px,#004dff 432px 480px,#750787 480px 528px)}.page-theme-transgender{background-image:repeating-linear-gradient(45deg,#5bcefa 0 48px,#f5a9b8 48px 96px,#fff 96px 144px,#f5a9b8 144px 192px,#5bcefa 192px 240px)}.page-theme-bisexual{background-image:repeating-linear-gradient(45deg,#d60270 0 48px,#9b4f96 48px 96px,#0038a8 96px 144px)}.page-theme-lesbian{background-image:repeating-linear-gradient(45deg,#d52d00 0 48px,#ef7627 48px 96px,#ff9a56 96px 144px,#fff 144px 192px,#d162a4 192px 240px,#b55690 240px 288px,#a30262 288px 336px)}.page-theme-nonbinary{background-image:repeating-linear-gradient(45deg,#fff430 0 48px,#fff 48px 96px,#9c59d1 96px 144px,#2d2d2d 144px 192px)}.page-theme-pansexual{background-image:repeating-linear-gradient(45deg,#ff218c 0 48px,#ffd800 48px 96px,#21b1ff 96px 144px)}.page-theme-asexual{background-image:repeating-linear-gradient(45deg,#111 0 48px,#a3a3a3 48px 96px,#fff 96px 144px,purple 144px 192px)}.page-theme-aurora{background-color:#03120f;background-image:radial-gradient(circle at 18% 24%,rgba(45,212,191,.95),transparent 34%),radial-gradient(circle at 76% 18%,rgba(168,85,247,.9),transparent 38%),radial-gradient(circle at 56% 82%,rgba(34,197,94,.88),transparent 42%),linear-gradient(125deg,#020617,#0f172a 45%,#082f49);background-size:34rem 28rem,38rem 32rem,42rem 36rem,auto}.page-theme-synthwave-grid{background-color:#090018;background-image:linear-gradient(rgba(34,211,238,.7) 2px,transparent 2px),linear-gradient(90deg,rgba(236,72,153,.72) 2px,transparent 2px),radial-gradient(ellipse at 50% 100%,#7e22ce 0,#1e1b4b 38%,#090018 72%);background-size:54px 54px,54px 54px,auto}.page-theme-neon-checker{background-color:#111827;background-image:conic-gradient(from 45deg,#06b6d4 0 25%,#7c3aed 0 50%,#ec4899 0 75%,#111827 0);background-size:84px 84px}.page-theme-ocean-current{background-color:#082f49;background-image:repeating-linear-gradient(35deg,rgba(103,232,249,.72) 0 12px,transparent 12px 54px),repeating-linear-gradient(-35deg,rgba(14,116,144,.72) 0 21px,transparent 21px 72px),linear-gradient(90deg,#0c4a6e,#0891b2,#164e63)}.page-theme-ember-lattice{background-color:#1c0704;background-image:repeating-linear-gradient(45deg,transparent 0 36px,rgba(251,146,60,.9) 36px 45px),repeating-linear-gradient(-45deg,transparent 0 48px,rgba(239,68,68,.78) 48px 57px),radial-gradient(circle at center,#7c2d12,#1c0704 70%)}.page-theme-starfield{background-color:#020617;background-image:radial-gradient(circle,rgba(255,255,255,.95) 0 2px,transparent 3px),radial-gradient(circle,rgba(125,211,252,.9) 0 3px,transparent 4px),radial-gradient(circle,rgba(216,180,254,.8) 0 2px,transparent 3px),linear-gradient(135deg,#020617,#172554 55%,#3b0764);background-position:0 0,57px 81px,123px 33px,0 0;background-size:111px 111px,183px 183px,237px 237px,auto}.page-theme-vaporwave-sunset{background-color:#2e1065;background-image:repeating-linear-gradient(0deg,transparent 0 24px,rgba(103,232,249,.48) 24px 27px,transparent 27px 54px),radial-gradient(circle at 50% 78%,#fda4af 0 14%,#f97316 14% 25%,transparent 25.5%),linear-gradient(180deg,#172554,#6b21a8 48%,#db2777 72%,#f97316);background-size:auto,48rem 34rem,auto}.page-theme-electric-circuit{background-color:#020617;background-image:repeating-linear-gradient(90deg,transparent 0 48px,rgba(34,211,238,.9) 48px 52px,transparent 52px 96px),repeating-linear-gradient(0deg,transparent 0 68px,rgba(168,85,247,.86) 68px 72px,transparent 72px 124px),radial-gradient(circle at center,#312e81 0,#0f172a 45%,#020617 78%)}.page-theme-lava-flow{background-color:#180503;background-image:radial-gradient(ellipse at 18% 28%,#facc15 0 8%,#f97316 9% 18%,#991b1b 24%,transparent 39%),radial-gradient(ellipse at 76% 64%,#fb923c 0 10%,#dc2626 18%,#7f1d1d 29%,transparent 44%),radial-gradient(ellipse at 48% 92%,#fde047 0 7%,#ea580c 17%,transparent 36%),linear-gradient(135deg,#180503,#450a0a 50%,#1c0704);background-size:42rem 34rem,48rem 39rem,37rem 31rem,auto}.page-theme-deep-space-nebula{background-color:#020617;background-image:radial-gradient(ellipse at 22% 38%,rgba(217,70,239,.92),transparent 34%),radial-gradient(ellipse at 72% 24%,rgba(59,130,246,.9),transparent 38%),radial-gradient(ellipse at 58% 82%,rgba(14,165,233,.72),transparent 36%),radial-gradient(circle,rgba(255,255,255,.9) 0 2px,transparent 3px),linear-gradient(125deg,#020617,#1e1b4b 52%,#3b0764);background-position:center,center,center,17px 31px,center;background-size:42rem 34rem,48rem 38rem,39rem 35rem,173px 173px,auto}.page-theme-holographic-waves{background-color:#164e63;background-image:repeating-linear-gradient(32deg,rgba(255,255,255,.4) 0 14px,transparent 14px 82px),repeating-linear-gradient(-38deg,rgba(216,180,254,.38) 0 18px,transparent 18px 104px),linear-gradient(110deg,#67e8f9,#c4b5fd 32%,#f9a8d4 60%,#86efac)}.page-theme-hazard-stripes{background-color:#111;background-image:repeating-linear-gradient(45deg,#facc15 0 48px,#171717 48px 96px)}.page-theme-mint-mosaic{background-color:#064e3b;background-image:conic-gradient(from 45deg,#a7f3d0 0 25%,#0f766e 0 50%,#fef3c7 0 75%,#164e63 0);background-size:96px 96px}.page-theme-candy-swirl{background-color:#fdf2f8;background-image:repeating-radial-gradient(circle at 28% 34%,#f9a8d4 0 28px,#fef3c7 28px 56px,#93c5fd 56px 84px,#c4b5fd 84px 112px,#f9a8d4 112px 140px)} diff --git a/server/public/assets/index-knJk41EY.js b/server/public/assets/index-knJk41EY.js deleted file mode 100644 index d5a60714..00000000 --- a/server/public/assets/index-knJk41EY.js +++ /dev/null @@ -1,148 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/OrbitControls-BJ-UXxdt.js","assets/three.module--MGUDD-H.js"])))=>i.map(i=>d[i]); -(function(){const c=document.createElement("link").relList;if(c&&c.supports&&c.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))i(u);new MutationObserver(u=>{for(const h of u)if(h.type==="childList")for(const d of h.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&i(d)}).observe(document,{childList:!0,subtree:!0});function n(u){const h={};return u.integrity&&(h.integrity=u.integrity),u.referrerPolicy&&(h.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?h.credentials="include":u.crossOrigin==="anonymous"?h.credentials="omit":h.credentials="same-origin",h}function i(u){if(u.ep)return;u.ep=!0;const h=n(u);fetch(u.href,h)}})();function Kv(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var mc={exports:{}},_8={};var Ns;function Qv(){if(Ns)return _8;Ns=1;var t=Symbol.for("react.transitional.element"),c=Symbol.for("react.fragment");function n(i,u,h){var d=null;if(h!==void 0&&(d=""+h),u.key!==void 0&&(d=""+u.key),"key"in u){h={};for(var m in u)m!=="key"&&(h[m]=u[m])}else h=u;return u=h.ref,{$$typeof:t,type:i,key:d,ref:u!==void 0?u:null,props:h}}return _8.Fragment=c,_8.jsx=n,_8.jsxs=n,_8}var ks;function Xv(){return ks||(ks=1,mc.exports=Qv()),mc.exports}var r=Xv(),vc={exports:{}},$1={};var Fs;function Wv(){if(Fs)return $1;Fs=1;var t=Symbol.for("react.transitional.element"),c=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),h=Symbol.for("react.consumer"),d=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),x=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),y=Symbol.iterator;function M(_){return _===null||typeof _!="object"?null:(_=y&&_[y]||_["@@iterator"],typeof _=="function"?_:null)}var H={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},L=Object.assign,S={};function B(_,U,K){this.props=_,this.context=U,this.refs=S,this.updater=K||H}B.prototype.isReactComponent={},B.prototype.setState=function(_,U){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,U,"setState")},B.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function C(){}C.prototype=B.prototype;function w(_,U,K){this.props=_,this.context=U,this.refs=S,this.updater=K||H}var j=w.prototype=new C;j.constructor=w,L(j,B.prototype),j.isPureReactComponent=!0;var E=Array.isArray;function k(){}var R={H:null,A:null,T:null,S:null},V=Object.prototype.hasOwnProperty;function N(_,U,K){var Y=K.ref;return{$$typeof:t,type:_,key:U,ref:Y!==void 0?Y:null,props:K}}function I(_,U){return N(_.type,U,_.props)}function D(_){return typeof _=="object"&&_!==null&&_.$$typeof===t}function Z(_){var U={"=":"=0",":":"=2"};return"$"+_.replace(/[=:]/g,function(K){return U[K]})}var n1=/\/+/g;function Q(_,U){return typeof _=="object"&&_!==null&&_.key!=null?Z(""+_.key):U.toString(36)}function q(_){switch(_.status){case"fulfilled":return _.value;case"rejected":throw _.reason;default:switch(typeof _.status=="string"?_.then(k,k):(_.status="pending",_.then(function(U){_.status==="pending"&&(_.status="fulfilled",_.value=U)},function(U){_.status==="pending"&&(_.status="rejected",_.reason=U)})),_.status){case"fulfilled":return _.value;case"rejected":throw _.reason}}throw _}function T(_,U,K,Y,u1){var d1=typeof _;(d1==="undefined"||d1==="boolean")&&(_=null);var l1=!1;if(_===null)l1=!0;else switch(d1){case"bigint":case"string":case"number":l1=!0;break;case"object":switch(_.$$typeof){case t:case c:l1=!0;break;case g:return l1=_._init,T(l1(_._payload),U,K,Y,u1)}}if(l1)return u1=u1(_),l1=Y===""?"."+Q(_,0):Y,E(u1)?(K="",l1!=null&&(K=l1.replace(n1,"$&/")+"/"),T(u1,U,K,"",function(U1){return U1})):u1!=null&&(D(u1)&&(u1=I(u1,K+(u1.key==null||_&&_.key===u1.key?"":(""+u1.key).replace(n1,"$&/")+"/")+l1)),U.push(u1)),1;l1=0;var C1=Y===""?".":Y+":";if(E(_))for(var M1=0;M1<_.length;M1++)Y=_[M1],d1=C1+Q(Y,M1),l1+=T(Y,U,K,d1,u1);else if(M1=M(_),typeof M1=="function")for(_=M1.call(_),M1=0;!(Y=_.next()).done;)Y=Y.value,d1=C1+Q(Y,M1++),l1+=T(Y,U,K,d1,u1);else if(d1==="object"){if(typeof _.then=="function")return T(q(_),U,K,Y,u1);throw U=String(_),Error("Objects are not valid as a React child (found: "+(U==="[object Object]"?"object with keys {"+Object.keys(_).join(", ")+"}":U)+"). If you meant to render a collection of children, use an array instead.")}return l1}function G(_,U,K){if(_==null)return _;var Y=[],u1=0;return T(_,Y,"","",function(d1){return U.call(K,d1,u1++)}),Y}function P(_){if(_._status===-1){var U=_._result;U=U(),U.then(function(K){(_._status===0||_._status===-1)&&(_._status=1,_._result=K)},function(K){(_._status===0||_._status===-1)&&(_._status=2,_._result=K)}),_._status===-1&&(_._status=0,_._result=U)}if(_._status===1)return _._result.default;throw _._result}var i1=typeof reportError=="function"?reportError:function(_){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var U=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof _=="object"&&_!==null&&typeof _.message=="string"?String(_.message):String(_),error:_});if(!window.dispatchEvent(U))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",_);return}console.error(_)},v1={map:G,forEach:function(_,U,K){G(_,function(){U.apply(this,arguments)},K)},count:function(_){var U=0;return G(_,function(){U++}),U},toArray:function(_){return G(_,function(U){return U})||[]},only:function(_){if(!D(_))throw Error("React.Children.only expected to receive a single React element child.");return _}};return $1.Activity=b,$1.Children=v1,$1.Component=B,$1.Fragment=n,$1.Profiler=u,$1.PureComponent=w,$1.StrictMode=i,$1.Suspense=p,$1.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=R,$1.__COMPILER_RUNTIME={__proto__:null,c:function(_){return R.H.useMemoCache(_)}},$1.cache=function(_){return function(){return _.apply(null,arguments)}},$1.cacheSignal=function(){return null},$1.cloneElement=function(_,U,K){if(_==null)throw Error("The argument must be a React element, but you passed "+_+".");var Y=L({},_.props),u1=_.key;if(U!=null)for(d1 in U.key!==void 0&&(u1=""+U.key),U)!V.call(U,d1)||d1==="key"||d1==="__self"||d1==="__source"||d1==="ref"&&U.ref===void 0||(Y[d1]=U[d1]);var d1=arguments.length-2;if(d1===1)Y.children=K;else if(1>>1,v1=T[i1];if(0>>1;i1<_;){var U=2*(i1+1)-1,K=T[U],Y=U+1,u1=T[Y];if(0>u(K,P))Yu(u1,K)?(T[i1]=u1,T[Y]=P,i1=Y):(T[i1]=K,T[U]=P,i1=U);else if(Yu(u1,P))T[i1]=u1,T[Y]=P,i1=Y;else break t}}return G}function u(T,G){var P=T.sortIndex-G.sortIndex;return P!==0?P:T.id-G.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var h=performance;t.unstable_now=function(){return h.now()}}else{var d=Date,m=d.now();t.unstable_now=function(){return d.now()-m}}var p=[],x=[],g=1,b=null,y=3,M=!1,H=!1,L=!1,S=!1,B=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;function j(T){for(var G=n(x);G!==null;){if(G.callback===null)i(x);else if(G.startTime<=T)i(x),G.sortIndex=G.expirationTime,c(p,G);else break;G=n(x)}}function E(T){if(L=!1,j(T),!H)if(n(p)!==null)H=!0,k||(k=!0,Z());else{var G=n(x);G!==null&&q(E,G.startTime-T)}}var k=!1,R=-1,V=5,N=-1;function I(){return S?!0:!(t.unstable_now()-NT&&I());){var i1=b.callback;if(typeof i1=="function"){b.callback=null,y=b.priorityLevel;var v1=i1(b.expirationTime<=T);if(T=t.unstable_now(),typeof v1=="function"){b.callback=v1,j(T),G=!0;break e}b===n(p)&&i(p),j(T)}else i(p);b=n(p)}if(b!==null)G=!0;else{var _=n(x);_!==null&&q(E,_.startTime-T),G=!1}}break t}finally{b=null,y=P,M=!1}G=void 0}}finally{G?Z():k=!1}}}var Z;if(typeof w=="function")Z=function(){w(D)};else if(typeof MessageChannel<"u"){var n1=new MessageChannel,Q=n1.port2;n1.port1.onmessage=D,Z=function(){Q.postMessage(null)}}else Z=function(){B(D,0)};function q(T,G){R=B(function(){T(t.unstable_now())},G)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125i1?(T.sortIndex=P,c(x,T),n(p)===null&&T===n(x)&&(L?(C(R),R=-1):L=!0,q(E,P-i1))):(T.sortIndex=v1,c(p,T),H||M||(H=!0,k||(k=!0,Z()))),T},t.unstable_shouldYield=I,t.unstable_wrapCallback=function(T){var G=y;return function(){var P=y;y=G;try{return T.apply(this,arguments)}finally{y=P}}}})(xc)),xc}var Ts;function tp(){return Ts||(Ts=1,gc.exports=Jv()),gc.exports}var zc={exports:{}},W2={};var _s;function ep(){if(_s)return W2;_s=1;var t=Ua();function c(p){var x="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(c){console.error(c)}}return t(),zc.exports=ep(),zc.exports}var Ds;function cp(){if(Ds)return q8;Ds=1;var t=tp(),c=Ua(),n=Iu();function i(e){var a="https://react.dev/errors/"+e;if(1v1||(e.current=i1[v1],i1[v1]=null,v1--)}function K(e,a){v1++,i1[v1]=e.current,e.current=a}var Y=_(null),u1=_(null),d1=_(null),l1=_(null);function C1(e,a){switch(K(d1,a),K(u1,e),K(Y,null),a.nodeType){case 9:case 11:e=(e=a.documentElement)&&(e=e.namespaceURI)?es(e):0;break;default:if(e=a.tagName,a=a.namespaceURI)a=es(a),e=cs(a,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}U(Y),K(Y,e)}function M1(){U(Y),U(u1),U(d1)}function U1(e){e.memoizedState!==null&&K(l1,e);var a=Y.current,l=cs(a,e.type);a!==l&&(K(u1,e),K(Y,l))}function R1(e){u1.current===e&&(U(Y),U(u1)),l1.current===e&&(U(l1),F8._currentValue=P)}var D1,n2;function P1(e){if(D1===void 0)try{throw Error()}catch(l){var a=l.stack.trim().match(/\n( *(at )?)/);D1=a&&a[1]||"",n2=-1)":-1v||O[o]!==t1[v]){var s1=` -`+O[o].replace(" at new "," at ");return e.displayName&&s1.includes("")&&(s1=s1.replace("",e.displayName)),s1}while(1<=o&&0<=v);break}}}finally{j1=!1,Error.prepareStackTrace=l}return(l=e?e.displayName||e.name:"")?P1(l):""}function A1(e,a){switch(e.tag){case 26:case 27:case 5:return P1(e.type);case 16:return P1("Lazy");case 13:return e.child!==a&&a!==null?P1("Suspense Fallback"):P1("Suspense");case 19:return P1("SuspenseList");case 0:case 15:return z1(e.type,!1);case 11:return z1(e.type.render,!1);case 1:return z1(e.type,!0);case 31:return P1("Activity");default:return""}}function T1(e){try{var a="",l=null;do a+=A1(e,l),l=e,e=e.return;while(e);return a}catch(o){return` -Error generating stack: `+o.message+` -`+o.stack}}var Y1=Object.prototype.hasOwnProperty,V1=t.unstable_scheduleCallback,_1=t.unstable_cancelCallback,g1=t.unstable_shouldYield,B1=t.unstable_requestPaint,c1=t.unstable_now,y1=t.unstable_getCurrentPriorityLevel,x1=t.unstable_ImmediatePriority,w1=t.unstable_UserBlockingPriority,a1=t.unstable_NormalPriority,b1=t.unstable_LowPriority,p1=t.unstable_IdlePriority,X1=t.log,g2=t.unstable_setDisableYieldValue,o1=null,L1=null;function k1(e){if(typeof X1=="function"&&g2(e),L1&&typeof L1.setStrictMode=="function")try{L1.setStrictMode(o1,e)}catch{}}var H1=Math.clz32?Math.clz32:Q1,u2=Math.log,s2=Math.LN2;function Q1(e){return e>>>=0,e===0?32:31-(u2(e)/s2|0)|0}var a2=256,X2=262144,P4=4194304;function p4(e){var a=e&42;if(a!==0)return a;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function A2(e,a,l){var o=e.pendingLanes;if(o===0)return 0;var v=0,z=e.suspendedLanes,A=e.pingedLanes;e=e.warmLanes;var F=o&134217727;return F!==0?(o=F&~z,o!==0?v=p4(o):(A&=F,A!==0?v=p4(A):l||(l=F&~e,l!==0&&(v=p4(l))))):(F=o&~z,F!==0?v=p4(F):A!==0?v=p4(A):l||(l=o&~e,l!==0&&(v=p4(l)))),v===0?0:a!==0&&a!==v&&(a&z)===0&&(z=v&-v,l=a&-a,z>=l||z===32&&(l&4194048)!==0)?a:v}function F4(e,a){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&a)===0}function Ef(e,a){switch(e){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function En(){var e=P4;return P4<<=1,(P4&62914560)===0&&(P4=4194304),e}function c7(e){for(var a=[],l=0;31>l;l++)a.push(e);return a}function Y0(e,a){e.pendingLanes|=a,a!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Tf(e,a,l,o,v,z){var A=e.pendingLanes;e.pendingLanes=l,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=l,e.entangledLanes&=l,e.errorRecoveryDisabledLanes&=l,e.shellSuspendCounter=0;var F=e.entanglements,O=e.expirationTimes,t1=e.hiddenUpdates;for(l=A&~l;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var If=/[\n"\\]/g;function x4(e){return e.replace(If,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function s7(e,a,l,o,v,z,A,F){e.name="",A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"?e.type=A:e.removeAttribute("type"),a!=null?A==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+g4(a)):e.value!==""+g4(a)&&(e.value=""+g4(a)):A!=="submit"&&A!=="reset"||e.removeAttribute("value"),a!=null?o7(e,A,g4(a)):l!=null?o7(e,A,g4(l)):o!=null&&e.removeAttribute("value"),v==null&&z!=null&&(e.defaultChecked=!!z),v!=null&&(e.checked=v&&typeof v!="function"&&typeof v!="symbol"),F!=null&&typeof F!="function"&&typeof F!="symbol"&&typeof F!="boolean"?e.name=""+g4(F):e.removeAttribute("name")}function Kn(e,a,l,o,v,z,A,F){if(z!=null&&typeof z!="function"&&typeof z!="symbol"&&typeof z!="boolean"&&(e.type=z),a!=null||l!=null){if(!(z!=="submit"&&z!=="reset"||a!=null)){i7(e);return}l=l!=null?""+g4(l):"",a=a!=null?""+g4(a):l,F||a===e.value||(e.value=a),e.defaultValue=a}o=o??v,o=typeof o!="function"&&typeof o!="symbol"&&!!o,e.checked=F?e.checked:!!o,e.defaultChecked=!!o,A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"&&(e.name=A),i7(e)}function o7(e,a,l){a==="number"&&A5(e.ownerDocument)===e||e.defaultValue===""+l||(e.defaultValue=""+l)}function O6(e,a,l,o){if(e=e.options,a){a={};for(var v=0;v"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m7=!1;if(t3)try{var W0={};Object.defineProperty(W0,"passive",{get:function(){m7=!0}}),window.addEventListener("test",W0,W0),window.removeEventListener("test",W0,W0)}catch{m7=!1}var C3=null,v7=null,L5=null;function cr(){if(L5)return L5;var e,a=v7,l=a.length,o,v="value"in C3?C3.value:C3.textContent,z=v.length;for(e=0;e=e8),sr=" ",or=!1;function ur(e,a){switch(e){case"keyup":return gm.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function hr(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var $6=!1;function zm(e,a){switch(e){case"compositionend":return hr(a);case"keypress":return a.which!==32?null:(or=!0,sr);case"textInput":return e=a.data,e===sr&&or?null:e;default:return null}}function bm(e,a){if($6)return e==="compositionend"||!b7&&ur(e,a)?(e=cr(),L5=v7=C3=null,$6=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1=a)return{node:l,offset:a-e};e=o}t:{for(;l;){if(l.nextSibling){l=l.nextSibling;break t}l=l.parentNode}l=void 0}l=zr(l)}}function yr(e,a){return e&&a?e===a?!0:e&&e.nodeType===3?!1:a&&a.nodeType===3?yr(e,a.parentNode):"contains"in e?e.contains(a):e.compareDocumentPosition?!!(e.compareDocumentPosition(a)&16):!1:!1}function Mr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var a=A5(e.document);a instanceof e.HTMLIFrameElement;){try{var l=typeof a.contentWindow.location.href=="string"}catch{l=!1}if(l)e=a.contentWindow;else break;a=A5(e.document)}return a}function w7(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a&&(a==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||a==="textarea"||e.contentEditable==="true")}var Lm=t3&&"documentMode"in document&&11>=document.documentMode,Z6=null,C7=null,r8=null,S7=!1;function wr(e,a,l){var o=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;S7||Z6==null||Z6!==A5(o)||(o=Z6,"selectionStart"in o&&w7(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),r8&&n8(r8,o)||(r8=o,o=yt(C7,"onSelect"),0>=A,v-=A,$4=1<<32-H1(a)+v|l<G1?(e2=F1,F1=null):e2=F1.sibling;var l2=e1(X,F1,J[G1],h1);if(l2===null){F1===null&&(F1=e2);break}e&&F1&&l2.alternate===null&&a(X,F1),$=z(l2,$,G1),r2===null?E1=l2:r2.sibling=l2,r2=l2,F1=e2}if(G1===J.length)return l(X,F1),c2&&c3(X,G1),E1;if(F1===null){for(;G1G1?(e2=F1,F1=null):e2=F1.sibling;var Z3=e1(X,F1,l2.value,h1);if(Z3===null){F1===null&&(F1=e2);break}e&&F1&&Z3.alternate===null&&a(X,F1),$=z(Z3,$,G1),r2===null?E1=Z3:r2.sibling=Z3,r2=Z3,F1=e2}if(l2.done)return l(X,F1),c2&&c3(X,G1),E1;if(F1===null){for(;!l2.done;G1++,l2=J.next())l2=f1(X,l2.value,h1),l2!==null&&($=z(l2,$,G1),r2===null?E1=l2:r2.sibling=l2,r2=l2);return c2&&c3(X,G1),E1}for(F1=o(F1);!l2.done;G1++,l2=J.next())l2=r1(F1,X,G1,l2.value,h1),l2!==null&&(e&&l2.alternate!==null&&F1.delete(l2.key===null?G1:l2.key),$=z(l2,$,G1),r2===null?E1=l2:r2.sibling=l2,r2=l2);return e&&F1.forEach(function(Yv){return a(X,Yv)}),c2&&c3(X,G1),E1}function v2(X,$,J,h1){if(typeof J=="object"&&J!==null&&J.type===L&&J.key===null&&(J=J.props.children),typeof J=="object"&&J!==null){switch(J.$$typeof){case M:t:{for(var E1=J.key;$!==null;){if($.key===E1){if(E1=J.type,E1===L){if($.tag===7){l(X,$.sibling),h1=v($,J.props.children),h1.return=X,X=h1;break t}}else if($.elementType===E1||typeof E1=="object"&&E1!==null&&E1.$$typeof===V&&m6(E1)===$.type){l(X,$.sibling),h1=v($,J.props),h8(h1,J),h1.return=X,X=h1;break t}l(X,$);break}else a(X,$);$=$.sibling}J.type===L?(h1=o6(J.props.children,X.mode,h1,J.key),h1.return=X,X=h1):(h1=_5(J.type,J.key,J.props,null,X.mode,h1),h8(h1,J),h1.return=X,X=h1)}return A(X);case H:t:{for(E1=J.key;$!==null;){if($.key===E1)if($.tag===4&&$.stateNode.containerInfo===J.containerInfo&&$.stateNode.implementation===J.implementation){l(X,$.sibling),h1=v($,J.children||[]),h1.return=X,X=h1;break t}else{l(X,$);break}else a(X,$);$=$.sibling}h1=N7(J,X.mode,h1),h1.return=X,X=h1}return A(X);case V:return J=m6(J),v2(X,$,J,h1)}if(q(J))return N1(X,$,J,h1);if(Z(J)){if(E1=Z(J),typeof E1!="function")throw Error(i(150));return J=E1.call(J),q1(X,$,J,h1)}if(typeof J.then=="function")return v2(X,$,$5(J),h1);if(J.$$typeof===w)return v2(X,$,O5(X,J),h1);Z5(X,J)}return typeof J=="string"&&J!==""||typeof J=="number"||typeof J=="bigint"?(J=""+J,$!==null&&$.tag===6?(l(X,$.sibling),h1=v($,J),h1.return=X,X=h1):(l(X,$),h1=j7(J,X.mode,h1),h1.return=X,X=h1),A(X)):l(X,$)}return function(X,$,J,h1){try{u8=0;var E1=v2(X,$,J,h1);return a0=null,E1}catch(F1){if(F1===c0||F1===I5)throw F1;var r2=u4(29,F1,null,X.mode);return r2.lanes=h1,r2.return=X,r2}finally{}}}var p6=Zr(!0),Gr=Zr(!1),V3=!1;function P7(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function $7(e,a){e=e.updateQueue,a.updateQueue===e&&(a.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function B3(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function j3(e,a,l){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(o2&2)!==0){var v=o.pending;return v===null?a.next=a:(a.next=v.next,v.next=a),o.pending=a,a=T5(e),Br(e,null,l),a}return E5(e,o,a,l),T5(e)}function d8(e,a,l){if(a=a.updateQueue,a!==null&&(a=a.shared,(l&4194048)!==0)){var o=a.lanes;o&=e.pendingLanes,l|=o,a.lanes=l,_n(e,l)}}function Z7(e,a){var l=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,l===o)){var v=null,z=null;if(l=l.firstBaseUpdate,l!==null){do{var A={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};z===null?v=z=A:z=z.next=A,l=l.next}while(l!==null);z===null?v=z=a:z=z.next=a}else v=z=a;l={baseState:o.baseState,firstBaseUpdate:v,lastBaseUpdate:z,shared:o.shared,callbacks:o.callbacks},e.updateQueue=l;return}e=l.lastBaseUpdate,e===null?l.firstBaseUpdate=a:e.next=a,l.lastBaseUpdate=a}var G7=!1;function f8(){if(G7){var e=e0;if(e!==null)throw e}}function m8(e,a,l,o){G7=!1;var v=e.updateQueue;V3=!1;var z=v.firstBaseUpdate,A=v.lastBaseUpdate,F=v.shared.pending;if(F!==null){v.shared.pending=null;var O=F,t1=O.next;O.next=null,A===null?z=t1:A.next=t1,A=O;var s1=e.alternate;s1!==null&&(s1=s1.updateQueue,F=s1.lastBaseUpdate,F!==A&&(F===null?s1.firstBaseUpdate=t1:F.next=t1,s1.lastBaseUpdate=O))}if(z!==null){var f1=v.baseState;A=0,s1=t1=O=null,F=z;do{var e1=F.lane&-536870913,r1=e1!==F.lane;if(r1?(t2&e1)===e1:(o&e1)===e1){e1!==0&&e1===t0&&(G7=!0),s1!==null&&(s1=s1.next={lane:0,tag:F.tag,payload:F.payload,callback:null,next:null});t:{var N1=e,q1=F;e1=a;var v2=l;switch(q1.tag){case 1:if(N1=q1.payload,typeof N1=="function"){f1=N1.call(v2,f1,e1);break t}f1=N1;break t;case 3:N1.flags=N1.flags&-65537|128;case 0:if(N1=q1.payload,e1=typeof N1=="function"?N1.call(v2,f1,e1):N1,e1==null)break t;f1=b({},f1,e1);break t;case 2:V3=!0}}e1=F.callback,e1!==null&&(e.flags|=64,r1&&(e.flags|=8192),r1=v.callbacks,r1===null?v.callbacks=[e1]:r1.push(e1))}else r1={lane:e1,tag:F.tag,payload:F.payload,callback:F.callback,next:null},s1===null?(t1=s1=r1,O=f1):s1=s1.next=r1,A|=e1;if(F=F.next,F===null){if(F=v.shared.pending,F===null)break;r1=F,F=r1.next,r1.next=null,v.lastBaseUpdate=r1,v.shared.pending=null}}while(!0);s1===null&&(O=f1),v.baseState=O,v.firstBaseUpdate=t1,v.lastBaseUpdate=s1,z===null&&(v.shared.lanes=0),E3|=A,e.lanes=A,e.memoizedState=f1}}function Yr(e,a){if(typeof e!="function")throw Error(i(191,e));e.call(a)}function Kr(e,a){var l=e.callbacks;if(l!==null)for(e.callbacks=null,e=0;ez?z:8;var A=T.T,F={};T.T=F,d9(e,!1,a,l);try{var O=v(),t1=T.S;if(t1!==null&&t1(F,O),O!==null&&typeof O=="object"&&typeof O.then=="function"){var s1=Tm(O,o);g8(e,a,s1,v4(e))}else g8(e,a,o,v4(e))}catch(f1){g8(e,a,{then:function(){},status:"rejected",reason:f1},v4())}finally{G.p=z,A!==null&&F.types!==null&&(A.types=F.types),T.T=A}}function Im(){}function u9(e,a,l,o){if(e.tag!==5)throw Error(i(476));var v=Hl(e).queue;Al(e,v,a,P,l===null?Im:function(){return Ll(e),l(o)})}function Hl(e){var a=e.memoizedState;if(a!==null)return a;a={memoizedState:P,baseState:P,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:l3,lastRenderedState:P},next:null};var l={};return a.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:l3,lastRenderedState:l},next:null},e.memoizedState=a,e=e.alternate,e!==null&&(e.memoizedState=a),a}function Ll(e){var a=Hl(e);a.next===null&&(a=e.alternate.memoizedState),g8(e,a.next.queue,{},v4())}function h9(){return Y2(F8)}function Vl(){return j2().memoizedState}function Bl(){return j2().memoizedState}function Pm(e){for(var a=e.return;a!==null;){switch(a.tag){case 24:case 3:var l=v4();e=B3(l);var o=j3(a,e,l);o!==null&&(i4(o,a,l),d8(o,a,l)),a={cache:D7()},e.payload=a;return}a=a.return}}function $m(e,a,l){var o=v4();l={lane:o,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},ct(e)?Nl(a,l):(l=V7(e,a,l,o),l!==null&&(i4(l,e,o),kl(l,a,o)))}function jl(e,a,l){var o=v4();g8(e,a,l,o)}function g8(e,a,l,o){var v={lane:o,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(ct(e))Nl(a,v);else{var z=e.alternate;if(e.lanes===0&&(z===null||z.lanes===0)&&(z=a.lastRenderedReducer,z!==null))try{var A=a.lastRenderedState,F=z(A,l);if(v.hasEagerState=!0,v.eagerState=F,o4(F,A))return E5(e,a,v,0),p2===null&&R5(),!1}catch{}finally{}if(l=V7(e,a,v,o),l!==null)return i4(l,e,o),kl(l,a,o),!0}return!1}function d9(e,a,l,o){if(o={lane:2,revertLane:P9(),gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},ct(e)){if(a)throw Error(i(479))}else a=V7(e,l,o,2),a!==null&&i4(a,e,2)}function ct(e){var a=e.alternate;return e===Z1||a!==null&&a===Z1}function Nl(e,a){r0=K5=!0;var l=e.pending;l===null?a.next=a:(a.next=l.next,l.next=a),e.pending=a}function kl(e,a,l){if((l&4194048)!==0){var o=a.lanes;o&=e.pendingLanes,l|=o,a.lanes=l,_n(e,l)}}var x8={readContext:Y2,use:W5,useCallback:H2,useContext:H2,useEffect:H2,useImperativeHandle:H2,useLayoutEffect:H2,useInsertionEffect:H2,useMemo:H2,useReducer:H2,useRef:H2,useState:H2,useDebugValue:H2,useDeferredValue:H2,useTransition:H2,useSyncExternalStore:H2,useId:H2,useHostTransitionStatus:H2,useFormState:H2,useActionState:H2,useOptimistic:H2,useMemoCache:H2,useCacheRefresh:H2};x8.useEffectEvent=H2;var Fl={readContext:Y2,use:W5,useCallback:function(e,a){return t4().memoizedState=[e,a===void 0?null:a],e},useContext:Y2,useEffect:gl,useImperativeHandle:function(e,a,l){l=l!=null?l.concat([e]):null,tt(4194308,4,yl.bind(null,a,e),l)},useLayoutEffect:function(e,a){return tt(4194308,4,e,a)},useInsertionEffect:function(e,a){tt(4,2,e,a)},useMemo:function(e,a){var l=t4();a=a===void 0?null:a;var o=e();if(g6){k1(!0);try{e()}finally{k1(!1)}}return l.memoizedState=[o,a],o},useReducer:function(e,a,l){var o=t4();if(l!==void 0){var v=l(a);if(g6){k1(!0);try{l(a)}finally{k1(!1)}}}else v=a;return o.memoizedState=o.baseState=v,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:v},o.queue=e,e=e.dispatch=$m.bind(null,Z1,e),[o.memoizedState,e]},useRef:function(e){var a=t4();return e={current:e},a.memoizedState=e},useState:function(e){e=r9(e);var a=e.queue,l=jl.bind(null,Z1,a);return a.dispatch=l,[e.memoizedState,l]},useDebugValue:s9,useDeferredValue:function(e,a){var l=t4();return o9(l,e,a)},useTransition:function(){var e=r9(!1);return e=Al.bind(null,Z1,e.queue,!0,!1),t4().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,a,l){var o=Z1,v=t4();if(c2){if(l===void 0)throw Error(i(407));l=l()}else{if(l=a(),p2===null)throw Error(i(349));(t2&127)!==0||el(o,a,l)}v.memoizedState=l;var z={value:l,getSnapshot:a};return v.queue=z,gl(al.bind(null,o,z,e),[e]),o.flags|=2048,i0(9,{destroy:void 0},cl.bind(null,o,z,l,a),null),l},useId:function(){var e=t4(),a=p2.identifierPrefix;if(c2){var l=Z4,o=$4;l=(o&~(1<<32-H1(o)-1)).toString(32)+l,a="_"+a+"R_"+l,l=Q5++,0<\/script>",z=z.removeChild(z.firstChild);break;case"select":z=typeof o.is=="string"?A.createElement("select",{is:o.is}):A.createElement("select"),o.multiple?z.multiple=!0:o.size&&(z.size=o.size);break;default:z=typeof o.is=="string"?A.createElement(v,{is:o.is}):A.createElement(v)}}z[Z2]=a,z[e4]=o;t:for(A=a.child;A!==null;){if(A.tag===5||A.tag===6)z.appendChild(A.stateNode);else if(A.tag!==4&&A.tag!==27&&A.child!==null){A.child.return=A,A=A.child;continue}if(A===a)break t;for(;A.sibling===null;){if(A.return===null||A.return===a)break t;A=A.return}A.sibling.return=A.return,A=A.sibling}a.stateNode=z;t:switch(Q2(z,v,o),v){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break t;case"img":o=!0;break t;default:o=!1}o&&s3(a)}}return z2(a),A9(a,a.type,e===null?null:e.memoizedProps,a.pendingProps,l),null;case 6:if(e&&a.stateNode!=null)e.memoizedProps!==o&&s3(a);else{if(typeof o!="string"&&a.stateNode===null)throw Error(i(166));if(e=d1.current,W6(a)){if(e=a.stateNode,l=a.memoizedProps,o=null,v=G2,v!==null)switch(v.tag){case 27:case 5:o=v.memoizedProps}e[Z2]=a,e=!!(e.nodeValue===l||o!==null&&o.suppressHydrationWarning===!0||Ji(e.nodeValue,l)),e||H3(a,!0)}else e=Mt(e).createTextNode(o),e[Z2]=a,a.stateNode=e}return z2(a),null;case 31:if(l=a.memoizedState,e===null||e.memoizedState!==null){if(o=W6(a),l!==null){if(e===null){if(!o)throw Error(i(318));if(e=a.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(i(557));e[Z2]=a}else u6(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;z2(a),e=!1}else l=E7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),e=!0;if(!e)return a.flags&256?(d4(a),a):(d4(a),null);if((a.flags&128)!==0)throw Error(i(558))}return z2(a),null;case 13:if(o=a.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(v=W6(a),o!==null&&o.dehydrated!==null){if(e===null){if(!v)throw Error(i(318));if(v=a.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(i(317));v[Z2]=a}else u6(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;z2(a),v=!1}else v=E7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=v),v=!0;if(!v)return a.flags&256?(d4(a),a):(d4(a),null)}return d4(a),(a.flags&128)!==0?(a.lanes=l,a):(l=o!==null,e=e!==null&&e.memoizedState!==null,l&&(o=a.child,v=null,o.alternate!==null&&o.alternate.memoizedState!==null&&o.alternate.memoizedState.cachePool!==null&&(v=o.alternate.memoizedState.cachePool.pool),z=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(z=o.memoizedState.cachePool.pool),z!==v&&(o.flags|=2048)),l!==e&&l&&(a.child.flags|=8192),it(a,a.updateQueue),z2(a),null);case 4:return M1(),e===null&&Y9(a.stateNode.containerInfo),z2(a),null;case 10:return n3(a.type),z2(a),null;case 19:if(U(B2),o=a.memoizedState,o===null)return z2(a),null;if(v=(a.flags&128)!==0,z=o.rendering,z===null)if(v)b8(o,!1);else{if(L2!==0||e!==null&&(e.flags&128)!==0)for(e=a.child;e!==null;){if(z=Y5(e),z!==null){for(a.flags|=128,b8(o,!1),e=z.updateQueue,a.updateQueue=e,it(a,e),a.subtreeFlags=0,e=l,l=a.child;l!==null;)jr(l,e),l=l.sibling;return K(B2,B2.current&1|2),c2&&c3(a,o.treeForkCount),a.child}e=e.sibling}o.tail!==null&&c1()>dt&&(a.flags|=128,v=!0,b8(o,!1),a.lanes=4194304)}else{if(!v)if(e=Y5(z),e!==null){if(a.flags|=128,v=!0,e=e.updateQueue,a.updateQueue=e,it(a,e),b8(o,!0),o.tail===null&&o.tailMode==="hidden"&&!z.alternate&&!c2)return z2(a),null}else 2*c1()-o.renderingStartTime>dt&&l!==536870912&&(a.flags|=128,v=!0,b8(o,!1),a.lanes=4194304);o.isBackwards?(z.sibling=a.child,a.child=z):(e=o.last,e!==null?e.sibling=z:a.child=z,o.last=z)}return o.tail!==null?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=c1(),e.sibling=null,l=B2.current,K(B2,v?l&1|2:l&1),c2&&c3(a,o.treeForkCount),e):(z2(a),null);case 22:case 23:return d4(a),K7(),o=a.memoizedState!==null,e!==null?e.memoizedState!==null!==o&&(a.flags|=8192):o&&(a.flags|=8192),o?(l&536870912)!==0&&(a.flags&128)===0&&(z2(a),a.subtreeFlags&6&&(a.flags|=8192)):z2(a),l=a.updateQueue,l!==null&&it(a,l.retryQueue),l=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),o=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(o=a.memoizedState.cachePool.pool),o!==l&&(a.flags|=2048),e!==null&&U(f6),null;case 24:return l=null,e!==null&&(l=e.memoizedState.cache),a.memoizedState.cache!==l&&(a.flags|=2048),n3(k2),z2(a),null;case 25:return null;case 30:return null}throw Error(i(156,a.tag))}function Qm(e,a){switch(F7(a),a.tag){case 1:return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 3:return n3(k2),M1(),e=a.flags,(e&65536)!==0&&(e&128)===0?(a.flags=e&-65537|128,a):null;case 26:case 27:case 5:return R1(a),null;case 31:if(a.memoizedState!==null){if(d4(a),a.alternate===null)throw Error(i(340));u6()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 13:if(d4(a),e=a.memoizedState,e!==null&&e.dehydrated!==null){if(a.alternate===null)throw Error(i(340));u6()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 19:return U(B2),null;case 4:return M1(),null;case 10:return n3(a.type),null;case 22:case 23:return d4(a),K7(),e!==null&&U(f6),e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 24:return n3(k2),null;case 25:return null;default:return null}}function ni(e,a){switch(F7(a),a.tag){case 3:n3(k2),M1();break;case 26:case 27:case 5:R1(a);break;case 4:M1();break;case 31:a.memoizedState!==null&&d4(a);break;case 13:d4(a);break;case 19:U(B2);break;case 10:n3(a.type);break;case 22:case 23:d4(a),K7(),e!==null&&U(f6);break;case 24:n3(k2)}}function y8(e,a){try{var l=a.updateQueue,o=l!==null?l.lastEffect:null;if(o!==null){var v=o.next;l=v;do{if((l.tag&e)===e){o=void 0;var z=l.create,A=l.inst;o=z(),A.destroy=o}l=l.next}while(l!==v)}}catch(F){d2(a,a.return,F)}}function F3(e,a,l){try{var o=a.updateQueue,v=o!==null?o.lastEffect:null;if(v!==null){var z=v.next;o=z;do{if((o.tag&e)===e){var A=o.inst,F=A.destroy;if(F!==void 0){A.destroy=void 0,v=a;var O=l,t1=F;try{t1()}catch(s1){d2(v,O,s1)}}}o=o.next}while(o!==z)}}catch(s1){d2(a,a.return,s1)}}function ri(e){var a=e.updateQueue;if(a!==null){var l=e.stateNode;try{Kr(a,l)}catch(o){d2(e,e.return,o)}}}function li(e,a,l){l.props=x6(e.type,e.memoizedProps),l.state=e.memoizedState;try{l.componentWillUnmount()}catch(o){d2(e,a,o)}}function M8(e,a){try{var l=e.ref;if(l!==null){switch(e.tag){case 26:case 27:case 5:var o=e.stateNode;break;case 30:o=e.stateNode;break;default:o=e.stateNode}typeof l=="function"?e.refCleanup=l(o):l.current=o}}catch(v){d2(e,a,v)}}function G4(e,a){var l=e.ref,o=e.refCleanup;if(l!==null)if(typeof o=="function")try{o()}catch(v){d2(e,a,v)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(v){d2(e,a,v)}else l.current=null}function ii(e){var a=e.type,l=e.memoizedProps,o=e.stateNode;try{t:switch(a){case"button":case"input":case"select":case"textarea":l.autoFocus&&o.focus();break t;case"img":l.src?o.src=l.src:l.srcSet&&(o.srcset=l.srcSet)}}catch(v){d2(e,e.return,v)}}function H9(e,a,l){try{var o=e.stateNode;xv(o,e.type,l,a),o[e4]=a}catch(v){d2(e,e.return,v)}}function si(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&O3(e.type)||e.tag===4}function L9(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||si(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&O3(e.type)||e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function V9(e,a,l){var o=e.tag;if(o===5||o===6)e=e.stateNode,a?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(e,a):(a=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,a.appendChild(e),l=l._reactRootContainer,l!=null||a.onclick!==null||(a.onclick=J4));else if(o!==4&&(o===27&&O3(e.type)&&(l=e.stateNode,a=null),e=e.child,e!==null))for(V9(e,a,l),e=e.sibling;e!==null;)V9(e,a,l),e=e.sibling}function st(e,a,l){var o=e.tag;if(o===5||o===6)e=e.stateNode,a?l.insertBefore(e,a):l.appendChild(e);else if(o!==4&&(o===27&&O3(e.type)&&(l=e.stateNode),e=e.child,e!==null))for(st(e,a,l),e=e.sibling;e!==null;)st(e,a,l),e=e.sibling}function oi(e){var a=e.stateNode,l=e.memoizedProps;try{for(var o=e.type,v=a.attributes;v.length;)a.removeAttributeNode(v[0]);Q2(a,o,l),a[Z2]=e,a[e4]=l}catch(z){d2(e,e.return,z)}}var o3=!1,E2=!1,B9=!1,ui=typeof WeakSet=="function"?WeakSet:Set,P2=null;function Xm(e,a){if(e=e.containerInfo,X9=Vt,e=Mr(e),w7(e)){if("selectionStart"in e)var l={start:e.selectionStart,end:e.selectionEnd};else t:{l=(l=e.ownerDocument)&&l.defaultView||window;var o=l.getSelection&&l.getSelection();if(o&&o.rangeCount!==0){l=o.anchorNode;var v=o.anchorOffset,z=o.focusNode;o=o.focusOffset;try{l.nodeType,z.nodeType}catch{l=null;break t}var A=0,F=-1,O=-1,t1=0,s1=0,f1=e,e1=null;e:for(;;){for(var r1;f1!==l||v!==0&&f1.nodeType!==3||(F=A+v),f1!==z||o!==0&&f1.nodeType!==3||(O=A+o),f1.nodeType===3&&(A+=f1.nodeValue.length),(r1=f1.firstChild)!==null;)e1=f1,f1=r1;for(;;){if(f1===e)break e;if(e1===l&&++t1===v&&(F=A),e1===z&&++s1===o&&(O=A),(r1=f1.nextSibling)!==null)break;f1=e1,e1=f1.parentNode}f1=r1}l=F===-1||O===-1?null:{start:F,end:O}}else l=null}l=l||{start:0,end:0}}else l=null;for(W9={focusedElem:e,selectionRange:l},Vt=!1,P2=a;P2!==null;)if(a=P2,e=a.child,(a.subtreeFlags&1028)!==0&&e!==null)e.return=a,P2=e;else for(;P2!==null;){switch(a=P2,z=a.alternate,e=a.flags,a.tag){case 0:if((e&4)!==0&&(e=a.updateQueue,e=e!==null?e.events:null,e!==null))for(l=0;l title"))),Q2(z,o,l),z[Z2]=e,I2(z),o=z;break t;case"link":var A=ps("link","href",v).get(o+(l.href||""));if(A){for(var F=0;Fv2&&(A=v2,v2=q1,q1=A);var X=br(F,q1),$=br(F,v2);if(X&&$&&(r1.rangeCount!==1||r1.anchorNode!==X.node||r1.anchorOffset!==X.offset||r1.focusNode!==$.node||r1.focusOffset!==$.offset)){var J=f1.createRange();J.setStart(X.node,X.offset),r1.removeAllRanges(),q1>v2?(r1.addRange(J),r1.extend($.node,$.offset)):(J.setEnd($.node,$.offset),r1.addRange(J))}}}}for(f1=[],r1=F;r1=r1.parentNode;)r1.nodeType===1&&f1.push({element:r1,left:r1.scrollLeft,top:r1.scrollTop});for(typeof F.focus=="function"&&F.focus(),F=0;Fl?32:l,T.T=null,l=T9,T9=null;var z=_3,A=m3;if(D2=0,d0=_3=null,m3=0,(o2&6)!==0)throw Error(i(331));var F=o2;if(o2|=4,yi(z.current),xi(z,z.current,A,l),o2=F,L8(0,!1),L1&&typeof L1.onPostCommitFiberRoot=="function")try{L1.onPostCommitFiberRoot(o1,z)}catch{}return!0}finally{G.p=v,T.T=o,qi(e,a)}}function Oi(e,a,l){a=b4(l,a),a=p9(e.stateNode,a,2),e=j3(e,a,2),e!==null&&(Y0(e,2),Y4(e))}function d2(e,a,l){if(e.tag===3)Oi(e,e,l);else for(;a!==null;){if(a.tag===3){Oi(a,e,l);break}else if(a.tag===1){var o=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(T3===null||!T3.has(o))){e=b4(l,e),l=Ul(2),o=j3(a,l,2),o!==null&&(Il(l,o,a,e),Y0(o,2),Y4(o));break}}a=a.return}}function O9(e,a,l){var o=e.pingCache;if(o===null){o=e.pingCache=new tv;var v=new Set;o.set(a,v)}else v=o.get(a),v===void 0&&(v=new Set,o.set(a,v));v.has(l)||(k9=!0,v.add(l),e=rv.bind(null,e,a,l),a.then(e,e))}function rv(e,a,l){var o=e.pingCache;o!==null&&o.delete(a),e.pingedLanes|=e.suspendedLanes&l,e.warmLanes&=~l,p2===e&&(t2&l)===l&&(L2===4||L2===3&&(t2&62914560)===t2&&300>c1()-ht?(o2&2)===0&&f0(e,0):F9|=l,h0===t2&&(h0=0)),Y4(e)}function Ui(e,a){a===0&&(a=En()),e=s6(e,a),e!==null&&(Y0(e,a),Y4(e))}function lv(e){var a=e.memoizedState,l=0;a!==null&&(l=a.retryLane),Ui(e,l)}function iv(e,a){var l=0;switch(e.tag){case 31:case 13:var o=e.stateNode,v=e.memoizedState;v!==null&&(l=v.retryLane);break;case 19:o=e.stateNode;break;case 22:o=e.stateNode._retryCache;break;default:throw Error(i(314))}o!==null&&o.delete(a),Ui(e,l)}function sv(e,a){return V1(e,a)}var xt=null,v0=null,U9=!1,zt=!1,I9=!1,D3=0;function Y4(e){e!==v0&&e.next===null&&(v0===null?xt=v0=e:v0=v0.next=e),zt=!0,U9||(U9=!0,uv())}function L8(e,a){if(!I9&&zt){I9=!0;do for(var l=!1,o=xt;o!==null;){if(e!==0){var v=o.pendingLanes;if(v===0)var z=0;else{var A=o.suspendedLanes,F=o.pingedLanes;z=(1<<31-H1(42|e)+1)-1,z&=v&~(A&~F),z=z&201326741?z&201326741|1:z?z|2:0}z!==0&&(l=!0,Zi(o,z))}else z=t2,z=A2(o,o===p2?z:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),(z&3)===0||F4(o,z)||(l=!0,Zi(o,z));o=o.next}while(l);I9=!1}}function ov(){Ii()}function Ii(){zt=U9=!1;var e=0;D3!==0&&bv()&&(e=D3);for(var a=c1(),l=null,o=xt;o!==null;){var v=o.next,z=Pi(o,a);z===0?(o.next=null,l===null?xt=v:l.next=v,v===null&&(v0=l)):(l=o,(e!==0||(z&3)!==0)&&(zt=!0)),o=v}D2!==0&&D2!==5||L8(e),D3!==0&&(D3=0)}function Pi(e,a){for(var l=e.suspendedLanes,o=e.pingedLanes,v=e.expirationTimes,z=e.pendingLanes&-62914561;0F)break;var s1=O.transferSize,f1=O.initiatorType;s1&&ts(f1)&&(O=O.responseEnd,A+=s1*(O"u"?null:document;function ds(e,a,l){var o=p0;if(o&&typeof a=="string"&&a){var v=x4(a);v='link[rel="'+e+'"][href="'+v+'"]',typeof l=="string"&&(v+='[crossorigin="'+l+'"]'),hs.has(v)||(hs.add(v),e={rel:e,crossOrigin:l,href:a},o.querySelector(v)===null&&(a=o.createElement("link"),Q2(a,"link",e),I2(a),o.head.appendChild(a)))}}function Vv(e){v3.D(e),ds("dns-prefetch",e,null)}function Bv(e,a){v3.C(e,a),ds("preconnect",e,a)}function jv(e,a,l){v3.L(e,a,l);var o=p0;if(o&&e&&a){var v='link[rel="preload"][as="'+x4(a)+'"]';a==="image"&&l&&l.imageSrcSet?(v+='[imagesrcset="'+x4(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(v+='[imagesizes="'+x4(l.imageSizes)+'"]')):v+='[href="'+x4(e)+'"]';var z=v;switch(a){case"style":z=g0(e);break;case"script":z=x0(e)}A4.has(z)||(e=b({rel:"preload",href:a==="image"&&l&&l.imageSrcSet?void 0:e,as:a},l),A4.set(z,e),o.querySelector(v)!==null||a==="style"&&o.querySelector(N8(z))||a==="script"&&o.querySelector(k8(z))||(a=o.createElement("link"),Q2(a,"link",e),I2(a),o.head.appendChild(a)))}}function Nv(e,a){v3.m(e,a);var l=p0;if(l&&e){var o=a&&typeof a.as=="string"?a.as:"script",v='link[rel="modulepreload"][as="'+x4(o)+'"][href="'+x4(e)+'"]',z=v;switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":z=x0(e)}if(!A4.has(z)&&(e=b({rel:"modulepreload",href:e},a),A4.set(z,e),l.querySelector(v)===null)){switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(k8(z)))return}o=l.createElement("link"),Q2(o,"link",e),I2(o),l.head.appendChild(o)}}}function kv(e,a,l){v3.S(e,a,l);var o=p0;if(o&&e){var v=q6(o).hoistableStyles,z=g0(e);a=a||"default";var A=v.get(z);if(!A){var F={loading:0,preload:null};if(A=o.querySelector(N8(z)))F.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":a},l),(l=A4.get(z))&&rc(e,l);var O=A=o.createElement("link");I2(O),Q2(O,"link",e),O._p=new Promise(function(t1,s1){O.onload=t1,O.onerror=s1}),O.addEventListener("load",function(){F.loading|=1}),O.addEventListener("error",function(){F.loading|=2}),F.loading|=4,Ct(A,a,o)}A={type:"stylesheet",instance:A,count:1,state:F},v.set(z,A)}}}function Fv(e,a){v3.X(e,a);var l=p0;if(l&&e){var o=q6(l).hoistableScripts,v=x0(e),z=o.get(v);z||(z=l.querySelector(k8(v)),z||(e=b({src:e,async:!0},a),(a=A4.get(v))&&lc(e,a),z=l.createElement("script"),I2(z),Q2(z,"link",e),l.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},o.set(v,z))}}function Rv(e,a){v3.M(e,a);var l=p0;if(l&&e){var o=q6(l).hoistableScripts,v=x0(e),z=o.get(v);z||(z=l.querySelector(k8(v)),z||(e=b({src:e,async:!0,type:"module"},a),(a=A4.get(v))&&lc(e,a),z=l.createElement("script"),I2(z),Q2(z,"link",e),l.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},o.set(v,z))}}function fs(e,a,l,o){var v=(v=d1.current)?wt(v):null;if(!v)throw Error(i(446));switch(e){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(a=g0(l.href),l=q6(v).hoistableStyles,o=l.get(a),o||(o={type:"style",instance:null,count:0,state:null},l.set(a,o)),o):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){e=g0(l.href);var z=q6(v).hoistableStyles,A=z.get(e);if(A||(v=v.ownerDocument||v,A={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},z.set(e,A),(z=v.querySelector(N8(e)))&&!z._p&&(A.instance=z,A.state.loading=5),A4.has(e)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},A4.set(e,l),z||Ev(v,e,l,A.state))),a&&o===null)throw Error(i(528,""));return A}if(a&&o!==null)throw Error(i(529,""));return null;case"script":return a=l.async,l=l.src,typeof l=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=x0(l),l=q6(v).hoistableScripts,o=l.get(a),o||(o={type:"script",instance:null,count:0,state:null},l.set(a,o)),o):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,e))}}function g0(e){return'href="'+x4(e)+'"'}function N8(e){return'link[rel="stylesheet"]['+e+"]"}function ms(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function Ev(e,a,l,o){e.querySelector('link[rel="preload"][as="style"]['+a+"]")?o.loading=1:(a=e.createElement("link"),o.preload=a,a.addEventListener("load",function(){return o.loading|=1}),a.addEventListener("error",function(){return o.loading|=2}),Q2(a,"link",l),I2(a),e.head.appendChild(a))}function x0(e){return'[src="'+x4(e)+'"]'}function k8(e){return"script[async]"+e}function vs(e,a,l){if(a.count++,a.instance===null)switch(a.type){case"style":var o=e.querySelector('style[data-href~="'+x4(l.href)+'"]');if(o)return a.instance=o,I2(o),o;var v=b({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return o=(e.ownerDocument||e).createElement("style"),I2(o),Q2(o,"style",v),Ct(o,l.precedence,e),a.instance=o;case"stylesheet":v=g0(l.href);var z=e.querySelector(N8(v));if(z)return a.state.loading|=4,a.instance=z,I2(z),z;o=ms(l),(v=A4.get(v))&&rc(o,v),z=(e.ownerDocument||e).createElement("link"),I2(z);var A=z;return A._p=new Promise(function(F,O){A.onload=F,A.onerror=O}),Q2(z,"link",o),a.state.loading|=4,Ct(z,l.precedence,e),a.instance=z;case"script":return z=x0(l.src),(v=e.querySelector(k8(z)))?(a.instance=v,I2(v),v):(o=l,(v=A4.get(z))&&(o=b({},l),lc(o,v)),e=e.ownerDocument||e,v=e.createElement("script"),I2(v),Q2(v,"link",o),e.head.appendChild(v),a.instance=v);case"void":return null;default:throw Error(i(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(o=a.instance,a.state.loading|=4,Ct(o,l.precedence,e));return a.instance}function Ct(e,a,l){for(var o=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),v=o.length?o[o.length-1]:null,z=v,A=0;A title"):null)}function Tv(e,a,l){if(l===1||a.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;switch(a.rel){case"stylesheet":return e=a.disabled,typeof a.precedence=="string"&&e==null;default:return!0}case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function xs(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function _v(e,a,l,o){if(l.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var v=g0(o.href),z=a.querySelector(N8(v));if(z){a=z._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(e.count++,e=At.bind(e),a.then(e,e)),l.state.loading|=4,l.instance=z,I2(z);return}z=a.ownerDocument||a,o=ms(o),(v=A4.get(v))&&rc(o,v),z=z.createElement("link"),I2(z);var A=z;A._p=new Promise(function(F,O){A.onload=F,A.onerror=O}),Q2(z,"link",o),l.instance=z}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(l,a),(a=l.state.preload)&&(l.state.loading&3)===0&&(e.count++,l=At.bind(e),a.addEventListener("load",l),a.addEventListener("error",l))}}var ic=0;function qv(e,a){return e.stylesheets&&e.count===0&&Lt(e,e.stylesheets),0ic?50:800)+a);return e.unsuspend=l,function(){e.unsuspend=null,clearTimeout(o),clearTimeout(v)}}:null}function At(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Lt(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ht=null;function Lt(e,a){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ht=new Map,a.forEach(Dv,e),Ht=null,At.call(e))}function Dv(e,a){if(!(a.state.loading&4)){var l=Ht.get(e);if(l)var o=l.get(null);else{l=new Map,Ht.set(e,l);for(var v=e.querySelectorAll("link[data-precedence],style[data-precedence]"),z=0;z"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(c){console.error(c)}}return t(),pc.exports=cp(),pc.exports}var np=ap();var Us="popstate";function rp(t={}){function c(i,u){let{pathname:h,search:d,hash:m}=i.location;return ra("",{pathname:h,search:d,hash:m},u.state&&u.state.usr||null,u.state&&u.state.key||"default")}function n(i,u){return typeof u=="string"?u:n5(u)}return ip(c,n,null,t)}function C2(t,c){if(t===!1||t===null||typeof t>"u")throw new Error(c)}function U4(t,c){if(!t){typeof console<"u"&&console.warn(c);try{throw new Error(c)}catch{}}}function lp(){return Math.random().toString(36).substring(2,10)}function Is(t,c){return{usr:t.state,key:t.key,idx:c}}function ra(t,c,n=null,i){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof c=="string"?q0(c):c,state:n,key:c&&c.key||i||lp()}}function n5({pathname:t="/",search:c="",hash:n=""}){return c&&c!=="?"&&(t+=c.charAt(0)==="?"?c:"?"+c),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function q0(t){let c={};if(t){let n=t.indexOf("#");n>=0&&(c.hash=t.substring(n),t=t.substring(0,n));let i=t.indexOf("?");i>=0&&(c.search=t.substring(i),t=t.substring(0,i)),t&&(c.pathname=t)}return c}function ip(t,c,n,i={}){let{window:u=document.defaultView,v5Compat:h=!1}=i,d=u.history,m="POP",p=null,x=g();x==null&&(x=0,d.replaceState({...d.state,idx:x},""));function g(){return(d.state||{idx:null}).idx}function b(){m="POP";let S=g(),B=S==null?null:S-x;x=S,p&&p({action:m,location:L.location,delta:B})}function y(S,B){m="PUSH";let C=ra(L.location,S,B);x=g()+1;let w=Is(C,x),j=L.createHref(C);try{d.pushState(w,"",j)}catch(E){if(E instanceof DOMException&&E.name==="DataCloneError")throw E;u.location.assign(j)}h&&p&&p({action:m,location:L.location,delta:1})}function M(S,B){m="REPLACE";let C=ra(L.location,S,B);x=g();let w=Is(C,x),j=L.createHref(C);d.replaceState(w,"",j),h&&p&&p({action:m,location:L.location,delta:0})}function H(S){return sp(S)}let L={get action(){return m},get location(){return t(u,d)},listen(S){if(p)throw new Error("A history only accepts one active listener");return u.addEventListener(Us,b),p=S,()=>{u.removeEventListener(Us,b),p=null}},createHref(S){return c(u,S)},createURL:H,encodeLocation(S){let B=H(S);return{pathname:B.pathname,search:B.search,hash:B.hash}},push:y,replace:M,go(S){return d.go(S)}};return L}function sp(t,c=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),C2(n,"No window.location.(origin|href) available to create URL");let i=typeof t=="string"?t:n5(t);return i=i.replace(/ $/,"%20"),!c&&i.startsWith("//")&&(i=n+i),new URL(i,n)}function Pu(t,c,n="/"){return op(t,c,n,!1)}function op(t,c,n,i){let u=typeof c=="string"?q0(c):c,h=y3(u.pathname||"/",n);if(h==null)return null;let d=$u(t);up(d);let m=null;for(let p=0;m==null&&p{let g={relativePath:x===void 0?d.path||"":x,caseSensitive:d.caseSensitive===!0,childrenIndex:m,route:d};if(g.relativePath.startsWith("/")){if(!g.relativePath.startsWith(i)&&p)return;C2(g.relativePath.startsWith(i),`Absolute route path "${g.relativePath}" nested under path "${i}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),g.relativePath=g.relativePath.slice(i.length)}let b=z3([i,g.relativePath]),y=n.concat(g);d.children&&d.children.length>0&&(C2(d.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),$u(d.children,c,y,b,p)),!(d.path==null&&!d.index)&&c.push({path:b,score:gp(b,d.index),routesMeta:y})};return t.forEach((d,m)=>{if(d.path===""||!d.path?.includes("?"))h(d,m);else for(let p of Zu(d.path))h(d,m,!0,p)}),c}function Zu(t){let c=t.split("/");if(c.length===0)return[];let[n,...i]=c,u=n.endsWith("?"),h=n.replace(/\?$/,"");if(i.length===0)return u?[h,""]:[h];let d=Zu(i.join("/")),m=[];return m.push(...d.map(p=>p===""?h:[h,p].join("/"))),u&&m.push(...d),m.map(p=>t.startsWith("/")&&p===""?"/":p)}function up(t){t.sort((c,n)=>c.score!==n.score?n.score-c.score:xp(c.routesMeta.map(i=>i.childrenIndex),n.routesMeta.map(i=>i.childrenIndex)))}var hp=/^:[\w-]+$/,dp=3,fp=2,mp=1,vp=10,pp=-2,Ps=t=>t==="*";function gp(t,c){let n=t.split("/"),i=n.length;return n.some(Ps)&&(i+=pp),c&&(i+=fp),n.filter(u=>!Ps(u)).reduce((u,h)=>u+(hp.test(h)?dp:h===""?mp:vp),i)}function xp(t,c){return t.length===c.length&&t.slice(0,-1).every((i,u)=>i===c[u])?t[t.length-1]-c[c.length-1]:0}function zp(t,c,n=!1){let{routesMeta:i}=t,u={},h="/",d=[];for(let m=0;m{if(g==="*"){let H=m[y]||"";d=h.slice(0,h.length-H.length).replace(/(.)\/+$/,"$1")}const M=m[y];return b&&!M?x[g]=void 0:x[g]=(M||"").replace(/%2F/g,"/"),x},{}),pathname:h,pathnameBase:d,pattern:t}}function bp(t,c=!1,n=!0){U4(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let i=[],u="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,m,p)=>(i.push({paramName:m,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(i.push({paramName:"*"}),u+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?u+="\\/*$":t!==""&&t!=="/"&&(u+="(?:(?=\\/|$))"),[new RegExp(u,c?void 0:"i"),i]}function yp(t){try{return t.split("/").map(c=>decodeURIComponent(c).replace(/\//g,"%2F")).join("/")}catch(c){return U4(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${c}).`),t}}function y3(t,c){if(c==="/")return t;if(!t.toLowerCase().startsWith(c.toLowerCase()))return null;let n=c.endsWith("/")?c.length-1:c.length,i=t.charAt(n);return i&&i!=="/"?null:t.slice(n)||"/"}var Mp=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,wp=t=>Mp.test(t);function Cp(t,c="/"){let{pathname:n,search:i="",hash:u=""}=typeof t=="string"?q0(t):t,h;if(n)if(wp(n))h=n;else{if(n.includes("//")){let d=n;n=n.replace(/\/\/+/g,"/"),U4(!1,`Pathnames cannot have embedded double slashes - normalizing ${d} -> ${n}`)}n.startsWith("/")?h=$s(n.substring(1),"/"):h=$s(n,c)}else h=c;return{pathname:h,search:Hp(i),hash:Lp(u)}}function $s(t,c){let n=c.replace(/\/+$/,"").split("/");return t.split("/").forEach(u=>{u===".."?n.length>1&&n.pop():u!=="."&&n.push(u)}),n.length>1?n.join("/"):"/"}function bc(t,c,n,i){return`Cannot include a '${t}' character in a manually specified \`to.${c}\` field [${JSON.stringify(i)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Sp(t){return t.filter((c,n)=>n===0||c.route.path&&c.route.path.length>0)}function Gu(t){let c=Sp(t);return c.map((n,i)=>i===c.length-1?n.pathname:n.pathnameBase)}function Yu(t,c,n,i=!1){let u;typeof t=="string"?u=q0(t):(u={...t},C2(!u.pathname||!u.pathname.includes("?"),bc("?","pathname","search",u)),C2(!u.pathname||!u.pathname.includes("#"),bc("#","pathname","hash",u)),C2(!u.search||!u.search.includes("#"),bc("#","search","hash",u)));let h=t===""||u.pathname==="",d=h?"/":u.pathname,m;if(d==null)m=n;else{let b=c.length-1;if(!i&&d.startsWith("..")){let y=d.split("/");for(;y[0]==="..";)y.shift(),b-=1;u.pathname=y.join("/")}m=b>=0?c[b]:"/"}let p=Cp(u,m),x=d&&d!=="/"&&d.endsWith("/"),g=(h||d===".")&&n.endsWith("/");return!p.pathname.endsWith("/")&&(x||g)&&(p.pathname+="/"),p}var z3=t=>t.join("/").replace(/\/\/+/g,"/"),Ap=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),Hp=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,Lp=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function Vp(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Ku=["POST","PUT","PATCH","DELETE"];new Set(Ku);var Bp=["GET",...Ku];new Set(Bp);var D0=f.createContext(null);D0.displayName="DataRouter";var Te=f.createContext(null);Te.displayName="DataRouterState";f.createContext(!1);var Qu=f.createContext({isTransitioning:!1});Qu.displayName="ViewTransition";var jp=f.createContext(new Map);jp.displayName="Fetchers";var Np=f.createContext(null);Np.displayName="Await";var X4=f.createContext(null);X4.displayName="Navigation";var p5=f.createContext(null);p5.displayName="Location";var M3=f.createContext({outlet:null,matches:[],isDataRoute:!1});M3.displayName="Route";var Ia=f.createContext(null);Ia.displayName="RouteError";function kp(t,{relative:c}={}){C2(g5(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:i}=f.useContext(X4),{hash:u,pathname:h,search:d}=x5(t,{relative:c}),m=h;return n!=="/"&&(m=h==="/"?n:z3([n,h])),i.createHref({pathname:m,search:d,hash:u})}function g5(){return f.useContext(p5)!=null}function e6(){return C2(g5(),"useLocation() may be used only in the context of a component."),f.useContext(p5).location}var Xu="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Wu(t){f.useContext(X4).static||f.useLayoutEffect(t)}function Pa(){let{isDataRoute:t}=f.useContext(M3);return t?Zp():Fp()}function Fp(){C2(g5(),"useNavigate() may be used only in the context of a component.");let t=f.useContext(D0),{basename:c,navigator:n}=f.useContext(X4),{matches:i}=f.useContext(M3),{pathname:u}=e6(),h=JSON.stringify(Gu(i)),d=f.useRef(!1);return Wu(()=>{d.current=!0}),f.useCallback((p,x={})=>{if(U4(d.current,Xu),!d.current)return;if(typeof p=="number"){n.go(p);return}let g=Yu(p,JSON.parse(h),u,x.relative==="path");t==null&&c!=="/"&&(g.pathname=g.pathname==="/"?c:z3([c,g.pathname])),(x.replace?n.replace:n.push)(g,x.state,x)},[c,n,h,u,t])}f.createContext(null);function x5(t,{relative:c}={}){let{matches:n}=f.useContext(M3),{pathname:i}=e6(),u=JSON.stringify(Gu(n));return f.useMemo(()=>Yu(t,JSON.parse(u),i,c==="path"),[t,u,i,c])}function Rp(t,c){return Ju(t,c)}function Ju(t,c,n,i,u){C2(g5(),"useRoutes() may be used only in the context of a component.");let{navigator:h}=f.useContext(X4),{matches:d}=f.useContext(M3),m=d[d.length-1],p=m?m.params:{},x=m?m.pathname:"/",g=m?m.pathnameBase:"/",b=m&&m.route;{let C=b&&b.path||"";th(x,!b||C.endsWith("*")||C.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${x}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. - -Please change the parent to .`)}let y=e6(),M;if(c){let C=typeof c=="string"?q0(c):c;C2(g==="/"||C.pathname?.startsWith(g),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${g}" but pathname "${C.pathname}" was given in the \`location\` prop.`),M=C}else M=y;let H=M.pathname||"/",L=H;if(g!=="/"){let C=g.replace(/^\//,"").split("/");L="/"+H.replace(/^\//,"").split("/").slice(C.length).join("/")}let S=Pu(t,{pathname:L});U4(b||S!=null,`No routes matched location "${M.pathname}${M.search}${M.hash}" `),U4(S==null||S[S.length-1].route.element!==void 0||S[S.length-1].route.Component!==void 0||S[S.length-1].route.lazy!==void 0,`Matched leaf route at location "${M.pathname}${M.search}${M.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let B=Dp(S&&S.map(C=>Object.assign({},C,{params:Object.assign({},p,C.params),pathname:z3([g,h.encodeLocation?h.encodeLocation(C.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:C.pathname]),pathnameBase:C.pathnameBase==="/"?g:z3([g,h.encodeLocation?h.encodeLocation(C.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:C.pathnameBase])})),d,n,i,u);return c&&B?f.createElement(p5.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...M},navigationType:"POP"}},B):B}function Ep(){let t=$p(),c=Vp(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),n=t instanceof Error?t.stack:null,i="rgba(200,200,200, 0.5)",u={padding:"0.5rem",backgroundColor:i},h={padding:"2px 4px",backgroundColor:i},d=null;return console.error("Error handled by React Router default ErrorBoundary:",t),d=f.createElement(f.Fragment,null,f.createElement("p",null,"💿 Hey developer 👋"),f.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",f.createElement("code",{style:h},"ErrorBoundary")," or"," ",f.createElement("code",{style:h},"errorElement")," prop on your route.")),f.createElement(f.Fragment,null,f.createElement("h2",null,"Unexpected Application Error!"),f.createElement("h3",{style:{fontStyle:"italic"}},c),n?f.createElement("pre",{style:u},n):null,d)}var Tp=f.createElement(Ep,null),_p=class extends f.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,c){return c.location!==t.location||c.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:c.error,location:c.location,revalidation:t.revalidation||c.revalidation}}componentDidCatch(t,c){this.props.onError?this.props.onError(t,c):console.error("React Router caught the following error during render",t)}render(){return this.state.error!==void 0?f.createElement(M3.Provider,{value:this.props.routeContext},f.createElement(Ia.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function qp({routeContext:t,match:c,children:n}){let i=f.useContext(D0);return i&&i.static&&i.staticContext&&(c.route.errorElement||c.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=c.route.id),f.createElement(M3.Provider,{value:t},n)}function Dp(t,c=[],n=null,i=null,u=null){if(t==null){if(!n)return null;if(n.errors)t=n.matches;else if(c.length===0&&!n.initialized&&n.matches.length>0)t=n.matches;else return null}let h=t,d=n?.errors;if(d!=null){let g=h.findIndex(b=>b.route.id&&d?.[b.route.id]!==void 0);C2(g>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(d).join(",")}`),h=h.slice(0,Math.min(h.length,g+1))}let m=!1,p=-1;if(n)for(let g=0;g=0?h=h.slice(0,p+1):h=[h[0]];break}}}let x=n&&i?(g,b)=>{i(g,{location:n.location,params:n.matches?.[0]?.params??{},errorInfo:b})}:void 0;return h.reduceRight((g,b,y)=>{let M,H=!1,L=null,S=null;n&&(M=d&&b.route.id?d[b.route.id]:void 0,L=b.route.errorElement||Tp,m&&(p<0&&y===0?(th("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),H=!0,S=null):p===y&&(H=!0,S=b.route.hydrateFallbackElement||null)));let B=c.concat(h.slice(0,y+1)),C=()=>{let w;return M?w=L:H?w=S:b.route.Component?w=f.createElement(b.route.Component,null):b.route.element?w=b.route.element:w=g,f.createElement(qp,{match:b,routeContext:{outlet:g,matches:B,isDataRoute:n!=null},children:w})};return n&&(b.route.ErrorBoundary||b.route.errorElement||y===0)?f.createElement(_p,{location:n.location,revalidation:n.revalidation,component:L,error:M,children:C(),routeContext:{outlet:null,matches:B,isDataRoute:!0},onError:x}):C()},null)}function $a(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Op(t){let c=f.useContext(D0);return C2(c,$a(t)),c}function Up(t){let c=f.useContext(Te);return C2(c,$a(t)),c}function Ip(t){let c=f.useContext(M3);return C2(c,$a(t)),c}function Za(t){let c=Ip(t),n=c.matches[c.matches.length-1];return C2(n.route.id,`${t} can only be used on routes that contain a unique "id"`),n.route.id}function Pp(){return Za("useRouteId")}function $p(){let t=f.useContext(Ia),c=Up("useRouteError"),n=Za("useRouteError");return t!==void 0?t:c.errors?.[n]}function Zp(){let{router:t}=Op("useNavigate"),c=Za("useNavigate"),n=f.useRef(!1);return Wu(()=>{n.current=!0}),f.useCallback(async(u,h={})=>{U4(n.current,Xu),n.current&&(typeof u=="number"?t.navigate(u):await t.navigate(u,{fromRouteId:c,...h}))},[t,c])}var Zs={};function th(t,c,n){!c&&!Zs[t]&&(Zs[t]=!0,U4(!1,n))}f.memo(Gp);function Gp({routes:t,future:c,state:n,unstable_onError:i}){return Ju(t,void 0,n,i,c)}function Y3(t){C2(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function Yp({basename:t="/",children:c=null,location:n,navigationType:i="POP",navigator:u,static:h=!1}){C2(!g5(),"You cannot render a inside another . You should never have more than one in your app.");let d=t.replace(/^\/*/,"/"),m=f.useMemo(()=>({basename:d,navigator:u,static:h,future:{}}),[d,u,h]);typeof n=="string"&&(n=q0(n));let{pathname:p="/",search:x="",hash:g="",state:b=null,key:y="default"}=n,M=f.useMemo(()=>{let H=y3(p,d);return H==null?null:{location:{pathname:H,search:x,hash:g,state:b,key:y},navigationType:i}},[d,p,x,g,b,y,i]);return U4(M!=null,` is not able to match the URL "${p}${x}${g}" because it does not start with the basename, so the won't render anything.`),M==null?null:f.createElement(X4.Provider,{value:m},f.createElement(p5.Provider,{children:c,value:M}))}function Kp({children:t,location:c}){return Rp(la(t),c)}function la(t,c=[]){let n=[];return f.Children.forEach(t,(i,u)=>{if(!f.isValidElement(i))return;let h=[...c,u];if(i.type===f.Fragment){n.push.apply(n,la(i.props.children,h));return}C2(i.type===Y3,`[${typeof i.type=="string"?i.type:i.type.name}] is not a component. All component children of must be a or `),C2(!i.props.index||!i.props.children,"An index route cannot have child routes.");let d={id:i.props.id||h.join("-"),caseSensitive:i.props.caseSensitive,element:i.props.element,Component:i.props.Component,index:i.props.index,path:i.props.path,middleware:i.props.middleware,loader:i.props.loader,action:i.props.action,hydrateFallbackElement:i.props.hydrateFallbackElement,HydrateFallback:i.props.HydrateFallback,errorElement:i.props.errorElement,ErrorBoundary:i.props.ErrorBoundary,hasErrorBoundary:i.props.hasErrorBoundary===!0||i.props.ErrorBoundary!=null||i.props.errorElement!=null,shouldRevalidate:i.props.shouldRevalidate,handle:i.props.handle,lazy:i.props.lazy};i.props.children&&(d.children=la(i.props.children,h)),n.push(d)}),n}var re="get",le="application/x-www-form-urlencoded";function _e(t){return t!=null&&typeof t.tagName=="string"}function Qp(t){return _e(t)&&t.tagName.toLowerCase()==="button"}function Xp(t){return _e(t)&&t.tagName.toLowerCase()==="form"}function Wp(t){return _e(t)&&t.tagName.toLowerCase()==="input"}function Jp(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function tg(t,c){return t.button===0&&(!c||c==="_self")&&!Jp(t)}var Et=null;function eg(){if(Et===null)try{new FormData(document.createElement("form"),0),Et=!1}catch{Et=!0}return Et}var cg=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function yc(t){return t!=null&&!cg.has(t)?(U4(!1,`"${t}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${le}"`),null):t}function ag(t,c){let n,i,u,h,d;if(Xp(t)){let m=t.getAttribute("action");i=m?y3(m,c):null,n=t.getAttribute("method")||re,u=yc(t.getAttribute("enctype"))||le,h=new FormData(t)}else if(Qp(t)||Wp(t)&&(t.type==="submit"||t.type==="image")){let m=t.form;if(m==null)throw new Error('Cannot submit a