{"version":3,"file":"script_main.dVCcI-Mk.mjs","names":["useRef","useState","serializationHash","variantClassNames","React.useContext","React.useMemo","React.Fragment","getProps","useRef","React.useId","UNCRNHOUSE2","useRef","React.useId","React.createElement","Template1","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.LibraryFeaturesProvider","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","breakpoints","Framer.patchRoutesForABTesting","routeData","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder","React.Suspense","React.lazy"],"sources":["https:/framerusercontent.com/modules/lve2XJJoyOCaC70TymDQ/0XeAgqrNxHAUIrRQS2Dt/UnicornStudioFredMoon.js","https:/framerusercontent.com/modules/rcvFXI2drd1BduStC7sl/2vJvAHhDqJbV1TGUhasw/w39q4uXw2.js","https:/framerusercontent.com/modules/gfBd8AfaPj0flCDAcllW/JJl6VHsberHxWgMHYmwj/GrfBqMOCp.js","framer:toplevel/main"],"sourcesContent":["// @ts-nocheck\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicHeight 400\n * @framerIntrinsicWidth 800\n */export default function UnicornStudioEmbed(props){const{sdkVersion=\"2.0.4\",blindsAngle,blindsFrequency,debugMode=false,animationSpeed=.05,freeze=false,modelScale,modelRotationX,modelRotationY,modelRotationZ,modelSpeed,modelMetalness,modelRoughness,modelPosX,modelPosY,modelPosZ}=props;const elementRef=useRef(null);const sceneRef=useRef(null);const layersRef=useRef({});// Animation refs for smooth transitions\nconst targetAngle=useRef(null);const currentAngle=useRef(null);const targetFrequency=useRef(null);const currentFrequency=useRef(null);const animationInitialized=useRef(false);// Capture animation speed when transition starts (locked for duration)\nconst activeAnimationSpeed=useRef(animationSpeed);// Model animation refs\nconst targetModelScale=useRef(null);const currentModelScale=useRef(null);const targetModelRotationX=useRef(null);const currentModelRotationX=useRef(null);const targetModelRotationY=useRef(null);const currentModelRotationY=useRef(null);const targetModelRotationZ=useRef(null);const currentModelRotationZ=useRef(null);const targetModelSpeed=useRef(null);const currentModelSpeed=useRef(null);const targetModelMetalness=useRef(null);const currentModelMetalness=useRef(null);const targetModelRoughness=useRef(null);const currentModelRoughness=useRef(null);const targetModelPosX=useRef(null);const currentModelPosX=useRef(null);const targetModelPosY=useRef(null);const currentModelPosY=useRef(null);const targetModelPosZ=useRef(null);const currentModelPosZ=useRef(null);const scriptId=useRef(`unicorn-project-${Math.random().toString(36).substr(2,9)}`);const[versionError,setVersionError]=useState(null);// simple semver check: 1.2.3\nconst isValidVersion=v=>/^\\d+\\.\\d+\\.\\d+(-beta)?$/.test(v.trim());useEffect(()=>{const isEditingOrPreviewing=[\"CANVAS\",\"PREVIEW\"].includes(RenderTarget.current());// validate version first\nif(!isValidVersion(sdkVersion)){console.error(`[UnicornStudioEmbed] Invalid SDK version \"${sdkVersion}\". Expected format: x.y.z (e.g. 1.5.3)`);setVersionError(`Invalid SDK version \"${sdkVersion}\". Use x.y.z (e.g. 1.5.3).`);return;}else{setVersionError(null);}// Canvas rendering now enabled - scene renders in editor too\nconst initializeScript=callback=>{const cdnPrefix=\"https://cdn.jsdelivr.net/gh/hiunicornstudio/unicornstudio.js\";const scriptSrc=`${cdnPrefix}@v${sdkVersion}/dist/unicornStudio.umd.js`;// check if any unicornstudio.js script is already on the page\nconst existingScript=document.querySelector('script[src^=\"https://cdn.jsdelivr.net/gh/hiunicornstudio/unicornstudio.js\"]');// IMPORTANT:\n// If there is already a script but it's for a different version,\n// we might want to load the desired one anyway. For now, if it's\n// present AND window.UnicornStudio exists, we just use it.\nif(!existingScript){const script=document.createElement(\"script\");script.src=scriptSrc;script.onload=callback;script.onerror=()=>console.error(\"Failed to load UnicornStudio script at \"+scriptSrc);document.body.appendChild(script);}else{if(window.UnicornStudio){callback();}else{const waitForLoad=setInterval(()=>{if(window.UnicornStudio){clearInterval(waitForLoad);callback();}},100);}}};const initializeUnicornStudio=()=>{if(props.projectJSON){try{// Create script element for JSON data\nconst dataScript=document.createElement(\"script\");dataScript.id=scriptId.current;dataScript.type=\"application/json\";dataScript.textContent=props.projectJSON;document.body.appendChild(dataScript);elementRef.current?.setAttribute(\"data-us-project-src\",`${scriptId.current}`);}catch(e){console.error(\"Failed to parse project JSON:\",e);return;}}else if(props.projectId){const query=props.projectId.split(\"?\");const projectId=query[0];const production=query[1]&&query[1].includes(\"production\");const cacheBuster=isEditingOrPreviewing?\"?update=\"+Math.random():\"\";elementRef.current?.setAttribute(\"data-us-project\",projectId+cacheBuster);if(production){elementRef.current?.setAttribute(\"data-us-production\",\"1\");}}const US=window.UnicornStudio;if(!US||!elementRef.current)return;// 1) Clean up only our previous scene\nUS.scenes?.find(s=>s.element===elementRef.current)?.destroy();// 2) Prepare args\nconst args={element:elementRef.current,dpi:props.dpi,scale:props.scale,fps:props.fps,lazyLoad:!!props.lazyLoad,fixed:!!props.fixed,altText:props.altText,ariaLabel:props.ariaLabel};// If you passed JSON via a <script type=\"application/json\" id=...>\nif(props.projectJSON){// ensure script tag exists (your current code already does this)\nargs.filePath=scriptId.current;}else{args.projectId=props.projectId// your parsed id\n;}// 3) Create only this scene\nUS.addScene(args).then(scene=>{sceneRef.current=scene;// Debug mode: Log all layers with their uniforms\nif(debugMode){console.log(\"[UnicornStudio] Debug Mode: Scene initialized\");console.log(\"[UnicornStudio] All layers with uniforms:\");scene.layers.forEach(layer=>{const plane=layer.getPlane?.();const uniformKeys=plane?.uniforms?Object.keys(plane.uniforms):[];console.log(`  Layer type: \"${layer.type}\", id: \"${layer.id}\"`);// Check if this is a 3D model (models use direct properties, not uniforms)\nif(layer.isModel){console.log(`    🎨 3D Model detected - uses direct properties instead of uniforms`);console.log(`    Available properties:`,{modelRotation:layer.modelRotation,speed:layer.speed,visible:layer.visible});console.log(`    Full layer object:`,layer);}else{console.log(`    Available uniforms:`,uniformKeys);if(uniformKeys.length>0&&plane?.uniforms){console.log(`    Uniform values:`,plane.uniforms);}}});}// Cache blinds layer reference for uniform control\nconst blindsLayer=scene.layers.find(l=>l.type===\"blinds\");if(blindsLayer){layersRef.current.blinds=blindsLayer;// Disable Unicorn Studio's built-in hover states to prevent conflicts\n// (We're controlling these uniforms ourselves via Framer variants)\nif(blindsLayer.states?.hover){blindsLayer.states.hover=[];}// Initialize current values from scene defaults\nconst plane=blindsLayer.getPlane?.();if(plane?.uniforms){if(plane.uniforms.angle){currentAngle.current=plane.uniforms.angle.value;targetAngle.current=props.blindsAngle??plane.uniforms.angle.value;}if(plane.uniforms.frequency){currentFrequency.current=plane.uniforms.frequency.value;targetFrequency.current=props.blindsFrequency??plane.uniforms.frequency.value;}// Set up smooth animation loop\nplane.onAfterRender(()=>{// Skip lerp animations if scene is frozen (only in canvas mode)\nconst isCanvas=RenderTarget.current()===\"CANVAS\";if(freeze&&isCanvas)return;// Lerp angle\nif(targetAngle.current!==null&&currentAngle.current!==null){const diff=targetAngle.current-currentAngle.current;if(Math.abs(diff)>1e-4){currentAngle.current+=diff*activeAnimationSpeed.current;if(plane.uniforms.angle){plane.uniforms.angle.value=currentAngle.current;}}}// Lerp frequency\nif(targetFrequency.current!==null&&currentFrequency.current!==null){const diff=targetFrequency.current-currentFrequency.current;if(Math.abs(diff)>1e-4){currentFrequency.current+=diff*activeAnimationSpeed.current;if(plane.uniforms.frequency){plane.uniforms.frequency.value=currentFrequency.current;}}}});animationInitialized.current=true;}}// Cache model layer reference for direct property control\nconst modelLayer=scene.layers.find(l=>l.isModel);if(modelLayer){layersRef.current.model=modelLayer;// Disable Unicorn Studio's built-in hover states to prevent conflicts\nif(modelLayer.states?.hover){modelLayer.states.hover=[];}// Initialize current values from model defaults\nif(modelLayer.scale!==undefined){currentModelScale.current=modelLayer.scale;targetModelScale.current=props.modelScale??modelLayer.scale;}if(modelLayer.modelRotation){// Rotation values are in \"turns\" (0-1 = full rotation), convert from degrees\ncurrentModelRotationX.current=modelLayer.modelRotation.x;targetModelRotationX.current=props.modelRotationX!==undefined?props.modelRotationX/360:modelLayer.modelRotation.x;currentModelRotationY.current=modelLayer.modelRotation.y;targetModelRotationY.current=props.modelRotationY!==undefined?props.modelRotationY/360:modelLayer.modelRotation.y;currentModelRotationZ.current=modelLayer.modelRotation.z;targetModelRotationZ.current=props.modelRotationZ!==undefined?props.modelRotationZ/360:modelLayer.modelRotation.z;}if(modelLayer.speed!==undefined){currentModelSpeed.current=modelLayer.speed;targetModelSpeed.current=props.modelSpeed??modelLayer.speed;}if(modelLayer.materialMetalness!==undefined){currentModelMetalness.current=modelLayer.materialMetalness;targetModelMetalness.current=props.modelMetalness??modelLayer.materialMetalness;}if(modelLayer.materialRoughness!==undefined){currentModelRoughness.current=modelLayer.materialRoughness;targetModelRoughness.current=props.modelRoughness??modelLayer.materialRoughness;}if(modelLayer.pos){currentModelPosX.current=modelLayer.pos.x;targetModelPosX.current=props.modelPosX??modelLayer.pos.x;currentModelPosY.current=modelLayer.pos.y;targetModelPosY.current=props.modelPosY??modelLayer.pos.y;currentModelPosZ.current=modelLayer.pos.z;targetModelPosZ.current=props.modelPosZ??modelLayer.pos.z;}// Set up smooth animation loop for model properties\nconst plane=modelLayer.getPlane?.();if(plane){plane.onAfterRender(()=>{const model=layersRef.current.model;if(!model)return;// Skip lerp animations if scene is frozen (only in canvas mode)\nconst isCanvas=RenderTarget.current()===\"CANVAS\";if(freeze&&isCanvas)return;// Lerp scale\nif(targetModelScale.current!==null&&currentModelScale.current!==null){const diff=targetModelScale.current-currentModelScale.current;if(Math.abs(diff)>1e-4){currentModelScale.current+=diff*activeAnimationSpeed.current;model.scale=currentModelScale.current;}}// Lerp rotation X\nif(targetModelRotationX.current!==null&&currentModelRotationX.current!==null){const diff=targetModelRotationX.current-currentModelRotationX.current;if(Math.abs(diff)>1e-4){currentModelRotationX.current+=diff*activeAnimationSpeed.current;if(model.modelRotation){model.modelRotation.x=currentModelRotationX.current;}}}// Lerp rotation Y\nif(targetModelRotationY.current!==null&&currentModelRotationY.current!==null){const diff=targetModelRotationY.current-currentModelRotationY.current;if(Math.abs(diff)>1e-4){currentModelRotationY.current+=diff*activeAnimationSpeed.current;if(model.modelRotation){model.modelRotation.y=currentModelRotationY.current;}}}// Lerp rotation Z\nif(targetModelRotationZ.current!==null&&currentModelRotationZ.current!==null){const diff=targetModelRotationZ.current-currentModelRotationZ.current;if(Math.abs(diff)>1e-4){currentModelRotationZ.current+=diff*activeAnimationSpeed.current;if(model.modelRotation){model.modelRotation.z=currentModelRotationZ.current;}}}// Lerp speed\nif(targetModelSpeed.current!==null&&currentModelSpeed.current!==null){const diff=targetModelSpeed.current-currentModelSpeed.current;if(Math.abs(diff)>1e-4){currentModelSpeed.current+=diff*activeAnimationSpeed.current;model.speed=currentModelSpeed.current;}}// Lerp metalness\nif(targetModelMetalness.current!==null&&currentModelMetalness.current!==null){const diff=targetModelMetalness.current-currentModelMetalness.current;if(Math.abs(diff)>1e-4){currentModelMetalness.current+=diff*activeAnimationSpeed.current;model.materialMetalness=currentModelMetalness.current;}}// Lerp roughness\nif(targetModelRoughness.current!==null&&currentModelRoughness.current!==null){const diff=targetModelRoughness.current-currentModelRoughness.current;if(Math.abs(diff)>1e-4){currentModelRoughness.current+=diff*activeAnimationSpeed.current;model.materialRoughness=currentModelRoughness.current;}}// Lerp position X\nif(targetModelPosX.current!==null&&currentModelPosX.current!==null){const diff=targetModelPosX.current-currentModelPosX.current;if(Math.abs(diff)>1e-4){currentModelPosX.current+=diff*activeAnimationSpeed.current;if(model.pos){model.pos.x=currentModelPosX.current;}}}// Lerp position Y\nif(targetModelPosY.current!==null&&currentModelPosY.current!==null){const diff=targetModelPosY.current-currentModelPosY.current;if(Math.abs(diff)>1e-4){currentModelPosY.current+=diff*activeAnimationSpeed.current;if(model.pos){model.pos.y=currentModelPosY.current;}}}// Lerp position Z\nif(targetModelPosZ.current!==null&&currentModelPosZ.current!==null){const diff=targetModelPosZ.current-currentModelPosZ.current;if(Math.abs(diff)>1e-4){currentModelPosZ.current+=diff*activeAnimationSpeed.current;if(model.pos){model.pos.z=currentModelPosZ.current;}}}});}}// Set up ResizeObserver to handle Framer canvas zoom changes\nif(elementRef.current){const resizeObserver=new ResizeObserver(()=>{if(sceneRef.current&&typeof sceneRef.current.resize===\"function\"){// Force scene to resize when container dimensions change\nsceneRef.current.resize();}});resizeObserver.observe(elementRef.current);sceneRef.current._resizeObserver=resizeObserver;}});};if(props.projectId||props.projectJSON){if(window.UnicornStudio){initializeUnicornStudio();}else{initializeScript(initializeUnicornStudio);}}return()=>{if(sceneRef.current){// Clean up ResizeObserver\nif(sceneRef.current._resizeObserver){sceneRef.current._resizeObserver.disconnect();}sceneRef.current.destroy();sceneRef.current=null;}// Clean up JSON script if it exists\nconst dataScript=document.getElementById(scriptId.current);if(dataScript){dataScript.remove();}};},[props.projectId,props.projectJSON,sdkVersion]);// Update target angle when prop changes (animation loop handles the lerp)\nuseEffect(()=>{if(blindsAngle===undefined)return;targetAngle.current=blindsAngle;// Lock in animation speed for this transition (\"appear\" speed)\nactiveAnimationSpeed.current=animationSpeed;},[blindsAngle,animationSpeed]);// Update target frequency when prop changes (animation loop handles the lerp)\nuseEffect(()=>{if(blindsFrequency===undefined)return;targetFrequency.current=blindsFrequency;// Lock in animation speed for this transition (\"appear\" speed)\nactiveAnimationSpeed.current=animationSpeed;},[blindsFrequency,animationSpeed]);// Update target model properties when props change\nuseEffect(()=>{if(modelScale===undefined)return;targetModelScale.current=modelScale;// Lock in animation speed for this transition (\"appear\" speed)\nactiveAnimationSpeed.current=animationSpeed;},[modelScale,animationSpeed]);useEffect(()=>{if(modelRotationX===undefined)return;// Convert degrees to turns (0-1 = full rotation)\ntargetModelRotationX.current=modelRotationX/360;// Lock in animation speed for this transition (\"appear\" speed)\nactiveAnimationSpeed.current=animationSpeed;},[modelRotationX,animationSpeed]);useEffect(()=>{if(modelRotationY===undefined)return;// Convert degrees to turns (0-1 = full rotation)\ntargetModelRotationY.current=modelRotationY/360;// Lock in animation speed for this transition (\"appear\" speed)\nactiveAnimationSpeed.current=animationSpeed;},[modelRotationY,animationSpeed]);useEffect(()=>{if(modelRotationZ===undefined)return;// Convert degrees to turns (0-1 = full rotation)\ntargetModelRotationZ.current=modelRotationZ/360;// Lock in animation speed for this transition (\"appear\" speed)\nactiveAnimationSpeed.current=animationSpeed;},[modelRotationZ,animationSpeed]);useEffect(()=>{if(modelSpeed===undefined)return;targetModelSpeed.current=modelSpeed;// Lock in animation speed for this transition (\"appear\" speed)\nactiveAnimationSpeed.current=animationSpeed;},[modelSpeed,animationSpeed]);useEffect(()=>{if(modelMetalness===undefined)return;targetModelMetalness.current=modelMetalness;// Lock in animation speed for this transition (\"appear\" speed)\nactiveAnimationSpeed.current=animationSpeed;},[modelMetalness,animationSpeed]);useEffect(()=>{if(modelRoughness===undefined)return;targetModelRoughness.current=modelRoughness;// Lock in animation speed for this transition (\"appear\" speed)\nactiveAnimationSpeed.current=animationSpeed;},[modelRoughness,animationSpeed]);useEffect(()=>{if(modelPosX===undefined)return;targetModelPosX.current=modelPosX;activeAnimationSpeed.current=animationSpeed;},[modelPosX,animationSpeed]);useEffect(()=>{if(modelPosY===undefined)return;targetModelPosY.current=modelPosY;activeAnimationSpeed.current=animationSpeed;},[modelPosY,animationSpeed]);useEffect(()=>{if(modelPosZ===undefined)return;targetModelPosZ.current=modelPosZ;activeAnimationSpeed.current=animationSpeed;},[modelPosZ,animationSpeed]);// Handle freeze toggle - pause/play the scene (only in CANVAS mode)\nuseEffect(()=>{if(!sceneRef.current)return;// Only freeze in canvas editor, not on published site\nconst isCanvas=RenderTarget.current()===\"CANVAS\";const shouldFreeze=freeze&&isCanvas;if(shouldFreeze){// Pause the scene to save performance in canvas\nif(typeof sceneRef.current.pause===\"function\"){sceneRef.current.pause();}}else{// Resume the scene\nif(typeof sceneRef.current.play===\"function\"){sceneRef.current.play();}}},[freeze]);// Render scene in all modes (CANVAS, PREVIEW, EXPORT)\nreturn /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"div\",{ref:elementRef,\"data-us-dpi\":props.dpi,\"data-us-scale\":props.scale,\"data-us-fps\":props.fps,\"data-us-altText\":props.altText,\"data-us-ariaLabel\":props.ariaLabel,...props.lazyLoad?{\"data-us-lazyload\":\"true\"}:{},style:{width:\"100%\",height:\"100%\",position:\"relative\",display:\"block\",...props.style},children:props.header&&/*#__PURE__*/_jsx(\"h1\",{style:{width:\"1px\",height:\"1px\",margin:\"-1px\",padding:\"0\",overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",border:\"0\"},children:props.header})}),versionError?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:8,background:\"rgba(239, 68, 68, 0.12)\",border:\"1px solid rgba(239, 68, 68, 0.5)\",borderRadius:6,padding:\"8px 10px\",fontSize:12,color:\"#991B1B\",pointerEvents:\"none\"},children:versionError}):null]});}UnicornStudioEmbed.displayName=\"Unicorn Studio Embed\";addPropertyControls(UnicornStudioEmbed,{projectId:{type:ControlType.String,title:\"Project ID\"},projectJSON:{type:ControlType.String,title:\"Project JSON\"},sdkVersion:{type:ControlType.String,title:\"SDK version\",defaultValue:\"2.0.4\",placeholder:\"2.0.4\"},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:.25,max:1,step:.01},dpi:{type:ControlType.Number,title:\"DPI\",defaultValue:1.5,min:.5,max:2,step:.1},fps:{type:ControlType.Number,title:\"FPS\",defaultValue:60,min:10,max:120,step:5},header:{type:ControlType.String,title:\"H1 text\"},altText:{type:ControlType.String,title:\"Alt text\"},ariaLabel:{type:ControlType.String,title:\"Aria label\"},lazyLoad:{type:ControlType.Boolean,title:\"Lazy Load\",defaultValue:false},fixed:{type:ControlType.Boolean,title:\"Fixed\",defaultValue:false},debugMode:{type:ControlType.Boolean,title:\"Debug Mode\",description:\"Log all layers and uniforms to console\",defaultValue:false},animationSpeed:{type:ControlType.Number,title:\"Animation Speed\",description:\"Transition smoothness (lower = slower/smoother)\",defaultValue:.05,min:.01,max:.3,step:.01},freeze:{type:ControlType.Boolean,title:\"Freeze Scene\",description:\"Pause animation in canvas editor only (not on published site)\",defaultValue:false},blindsAngle:{type:ControlType.Number,title:\"Blinds Angle\",min:0,max:1,step:.01},blindsFrequency:{type:ControlType.Number,title:\"Blinds Frequency\",min:0,max:1,step:.01},modelScale:{type:ControlType.Number,title:\"Model Scale\",min:0,max:2,step:.01},modelRotationX:{type:ControlType.Number,title:\"Model Rotation X\",min:-360,max:360,step:1},modelRotationY:{type:ControlType.Number,title:\"Model Rotation Y\",min:-360,max:360,step:1},modelRotationZ:{type:ControlType.Number,title:\"Model Rotation Z\",min:-360,max:360,step:1},modelSpeed:{type:ControlType.Number,title:\"Model Speed\",min:0,max:2,step:.1},modelMetalness:{type:ControlType.Number,title:\"Model Metalness\",min:0,max:1,step:.01},modelRoughness:{type:ControlType.Number,title:\"Model Roughness\",min:0,max:1,step:.01},modelPosX:{type:ControlType.Number,title:\"Model Pos X\",min:-1,max:2,step:.01},modelPosY:{type:ControlType.Number,title:\"Model Pos Y\",min:-1,max:2,step:.01},modelPosZ:{type:ControlType.Number,title:\"Model Pos Z\",min:-1,max:2,step:.01}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"UnicornStudioEmbed\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"800\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UnicornStudioFredMoon.map","// Generated by Framer (2db7bbf)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useOnVariantChange,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import UnicornStudioEmbed from\"https://framerusercontent.com/modules/lve2XJJoyOCaC70TymDQ/0XeAgqrNxHAUIrRQS2Dt/UnicornStudioFredMoon.js\";const UnicornStudioEmbedFonts=getFonts(UnicornStudioEmbed);const cycleOrder=[\"jZTcghvVe\",\"hT3Ge2tMO\",\"wP2E3rq_y\",\"VyFPtMEJV\",\"HghKkWUU9\",\"TgbChaMJE\",\"qktEMuDEc\",\"OZ2TM6bQm\"];const serializationHash=\"framer-QJ5DS\";const variantClassNames={HghKkWUU9:\"framer-v-1vxbcub\",hT3Ge2tMO:\"framer-v-ojmme5\",jZTcghvVe:\"framer-v-1mektfv\",OZ2TM6bQm:\"framer-v-4am1gu\",qktEMuDEc:\"framer-v-hnbrv9\",TgbChaMJE:\"framer-v-2v6dq9\",VyFPtMEJV:\"framer-v-ocdfu5\",wP2E3rq_y:\"framer-v-1wzrfg8\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"IDLE 2\":\"wP2E3rq_y\",\"POSITION 1\":\"TgbChaMJE\",\"POSITION 2\":\"qktEMuDEc\",\"POSITION 3\":\"OZ2TM6bQm\",\"Variant 1\":\"jZTcghvVe\",IDLE:\"hT3Ge2tMO\",LOAD:\"VyFPtMEJV\",LOADED:\"HghKkWUU9\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"jZTcghvVe\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"jZTcghvVe\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onAppear1pbzokk=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"wP2E3rq_y\",true),2e3);});const onAppear13xvpe=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"hT3Ge2tMO\",true),2e3);});const onAppearvnkx74=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"HghKkWUU9\",true),2e3);});useOnVariantChange(baseVariant,{HghKkWUU9:onAppear13xvpe,hT3Ge2tMO:onAppear1pbzokk,VyFPtMEJV:onAppearvnkx74,wP2E3rq_y:onAppear13xvpe});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1mektfv\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"jZTcghvVe\",ref:refBinding,style:{...style},...addPropertyOverrides({HghKkWUU9:{\"data-framer-name\":\"LOADED\",\"data-highlight\":true},hT3Ge2tMO:{\"data-framer-name\":\"IDLE\",\"data-highlight\":true},OZ2TM6bQm:{\"data-framer-name\":\"POSITION 3\"},qktEMuDEc:{\"data-framer-name\":\"POSITION 2\"},TgbChaMJE:{\"data-framer-name\":\"POSITION 1\"},VyFPtMEJV:{\"data-framer-name\":\"LOAD\",\"data-highlight\":true},wP2E3rq_y:{\"data-framer-name\":\"IDLE 2\",\"data-highlight\":true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-14t44f5-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"mlePIoC12-container\",nodeId:\"mlePIoC12\",rendersWithMotion:true,scopeId:\"w39q4uXw2\",children:/*#__PURE__*/_jsx(UnicornStudioEmbed,{altText:\"\",animationSpeed:.3,ariaLabel:\"\",blindsAngle:0,blindsFrequency:0,debugMode:false,dpi:1.5,fixed:false,fps:60,freeze:true,header:\"\",height:\"100%\",id:\"mlePIoC12\",layoutId:\"mlePIoC12\",lazyLoad:false,modelMetalness:0,modelPosX:.65,modelPosY:.4,modelPosZ:0,modelRotationX:-90,modelRotationY:0,modelRotationZ:180,modelRoughness:0,modelScale:.01,modelSpeed:0,projectId:\"FPBZ293uRfNBYNavni3N\",projectJSON:\"\",scale:1,sdkVersion:\"2.0.5\",style:{height:\"100%\",width:\"100%\"},width:\"100%\",...addPropertyOverrides({HghKkWUU9:{animationSpeed:.1,modelPosY:.43,modelRotationX:-100,modelRotationY:5,modelScale:.5},hT3Ge2tMO:{animationSpeed:.02,freeze:false,modelPosY:.43,modelRotationX:-80,modelRotationY:5,modelScale:.5},OZ2TM6bQm:{animationSpeed:.1,freeze:false,modelPosX:.5,modelPosY:-.2,modelPosZ:.5,modelScale:2},qktEMuDEc:{animationSpeed:.1,freeze:false,modelPosY:-.3,modelRotationX:-56,modelScale:2},TgbChaMJE:{animationSpeed:.1,freeze:false,modelPosY:.2,modelRotationX:-126,modelScale:1.15},wP2E3rq_y:{animationSpeed:.02,freeze:false,modelPosY:.43,modelRotationX:-100,modelRotationY:6,modelScale:.5}},baseVariant,gestureVariant)})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-QJ5DS.framer-1cs8awo, .framer-QJ5DS .framer-1cs8awo { display: block; }\",\".framer-QJ5DS.framer-1mektfv { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 800px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1200px; }\",\".framer-QJ5DS .framer-14t44f5-container { flex: 1 0 0px; height: 100%; pointer-events: none; position: relative; width: 1px; }\",\".framer-QJ5DS.framer-v-ojmme5 .framer-14t44f5-container, .framer-QJ5DS.framer-v-1vxbcub .framer-14t44f5-container { order: 0; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 800\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"hT3Ge2tMO\":{\"layout\":[\"fixed\",\"fixed\"]},\"wP2E3rq_y\":{\"layout\":[\"fixed\",\"fixed\"]},\"VyFPtMEJV\":{\"layout\":[\"fixed\",\"fixed\"]},\"HghKkWUU9\":{\"layout\":[\"fixed\",\"fixed\"]},\"TgbChaMJE\":{\"layout\":[\"fixed\",\"fixed\"]},\"qktEMuDEc\":{\"layout\":[\"fixed\",\"fixed\"]},\"OZ2TM6bQm\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerw39q4uXw2=withCSS(Component,css,\"framer-QJ5DS\");export default Framerw39q4uXw2;Framerw39q4uXw2.displayName=\"UNCRN HOUSE 2\";Framerw39q4uXw2.defaultProps={height:800,width:1200};addPropertyControls(Framerw39q4uXw2,{variant:{options:[\"jZTcghvVe\",\"hT3Ge2tMO\",\"wP2E3rq_y\",\"VyFPtMEJV\",\"HghKkWUU9\",\"TgbChaMJE\",\"qktEMuDEc\",\"OZ2TM6bQm\"],optionTitles:[\"Variant 1\",\"IDLE\",\"IDLE 2\",\"LOAD\",\"LOADED\",\"POSITION 1\",\"POSITION 2\",\"POSITION 3\"],title:\"Variant\",type:ControlType.Enum}});addFonts(Framerw39q4uXw2,[{explicitInter:true,fonts:[]},...UnicornStudioEmbedFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerw39q4uXw2\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"hT3Ge2tMO\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"wP2E3rq_y\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"VyFPtMEJV\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"HghKkWUU9\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"TgbChaMJE\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"qktEMuDEc\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"OZ2TM6bQm\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"800\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./w39q4uXw2.map","// Generated by Framer (2db7bbf)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,getPropertyControls,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import UNCRNHOUSE2 from\"#framer/local/canvasComponent/w39q4uXw2/w39q4uXw2.js\";const UNCRNHOUSE2Fonts=getFonts(UNCRNHOUSE2);const UNCRNHOUSE2Controls=getPropertyControls(UNCRNHOUSE2);const breakpoints={};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-MnAtb\";const variantClassNames={Kbv4BnX_U:\"framer-v-19tm3g\"};const nopQFZT0T=undefined;const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-MnAtb.framer-129qrmk, .framer-MnAtb .framer-129qrmk { display: block; }\",\".framer-MnAtb.framer-19tm3g { align-content: center; align-items: center; background-color: #ffffff; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-MnAtb .framer-17nkv5o { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-MnAtb .framer-1cflxvj-container { bottom: 0px; flex: none; left: 0px; order: 1001; position: absolute; right: 0px; top: 0px; z-index: 1; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const humanReadableEnumMap={\"IDLE 2\":\"wP2E3rq_y\",\"POSITION 1\":\"TgbChaMJE\",\"Variant 1\":\"jZTcghvVe\",IDLE:\"hT3Ge2tMO\",LOAD:\"VyFPtMEJV\",LOADED:\"HghKkWUU9\"};const getProps=({_3DVariant,height,id,width,...props})=>{return{...props,nopQFZT0T:humanReadableEnumMap[_3DVariant]??_3DVariant??props.nopQFZT0T??\"jZTcghvVe\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,nopQFZT0T,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{isLayoutTemplate:true,primaryVariantId:\"Kbv4BnX_U\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: rgb(255, 255, 255); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-19tm3g\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-17nkv5o\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:1e3,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1cflxvj-container\",nodeId:\"yaL6J8Al4\",scopeId:\"GrfBqMOCp\",children:/*#__PURE__*/_jsx(UNCRNHOUSE2,{height:\"100%\",id:\"yaL6J8Al4\",layoutId:\"yaL6J8Al4\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(nopQFZT0T),width:\"100%\"})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=breakpointRules[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"nopQFZT0T\":\"_3DVariant\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"Kbv4BnX_U\":[\".framer-1cflxvj-container\"]}\n * @framerBreakpoints {\"Kbv4BnX_U\":{\"canvasClassName\":\"framer-19tm3g-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16}}\n * @framerDefaultVariant Kbv4BnX_U\n * @framerLayoutTemplate true\n */const FramerGrfBqMOCp=withCSS(Component,css,\"framer-MnAtb\");export default FramerGrfBqMOCp;FramerGrfBqMOCp.displayName=\"Template\";FramerGrfBqMOCp.defaultProps={height:1e3,width:1200};addPropertyControls(FramerGrfBqMOCp,{nopQFZT0T:UNCRNHOUSE2Controls?.[\"variant\"]&&{...UNCRNHOUSE2Controls[\"variant\"],defaultValue:\"jZTcghvVe\",description:undefined,hidden:undefined,title:\"3D Variant\"}});addFonts(FramerGrfBqMOCp,[{explicitInter:true,fonts:[]},...UNCRNHOUSE2Fonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerGrfBqMOCp\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"nopQFZT0T\\\":\\\"_3DVariant\\\"}\",\"framerIntrinsicHeight\":\"1000\",\"framerHitTargets\":\"{\\\"Kbv4BnX_U\\\":[\\\".framer-1cflxvj-container\\\"]}\",\"framerLayoutTemplate\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerBreakpoints\":\"{\\\"Kbv4BnX_U\\\":{\\\"canvasClassName\\\":\\\"framer-19tm3g-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16}}\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerDefaultVariant\":\"Kbv4BnX_U\",\"framerColorSyntax\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport Template1 from \"https://framerusercontent.com/modules/gfBd8AfaPj0flCDAcllW/JJl6VHsberHxWgMHYmwj/GrfBqMOCp.js\";\r\n\r\n\t\tconst routes = {f2gAzRZ1F: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/cQqmoVRrXTgXs67vg70U/Rc4bipbD2aIrqZ3y3dDo/f2gAzRZ1F.js\")), path: \"/\"}, UKb_NMYmL: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/e9PCJNNpkkNk5NWLKm3A/X7JyefR8op7CCkTPWVoi/UKb_NMYmL.js\")), path: \"/page-2\"}, SDCZiwLET: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/F3KZcCiIVxLWzh8d6mdn/X6qd7p1QgqD78lhvK3N9/SDCZiwLET.js\")), path: \"/page-3\"}, rqkU1eMIt: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/PvvWNNdDoAcXvBEiwayA/ifOLczRaDAXUfODaFXxm/rqkU1eMIt.js\")), path: \"/page-4\"}}\r\n\r\n\t\tconst locales = [{code: \"en-US\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {}\r\n\t\tconst framerSiteId = \"dab7af19b21bca78daeabe142c060e571d414a88d278cc4402252a3c39607c22\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const props1 = {nopQFZT0T: \"hT3Ge2tMO\"}\r\nconst props2 = {...props1, nopQFZT0T: \"jZTcghvVe\"}\r\nconst props3 = {...props1, nopQFZT0T: \"TgbChaMJE\"}\r\nconst props4 = {...props1, nopQFZT0T: \"qktEMuDEc\"}\r\nconst props5 = {...props1, nopQFZT0T: \"OZ2TM6bQm\"}\r\nconst templateProps = {augiA20Il: props2, f2gAzRZ1F: props1, nPMridnQX: props2, rqkU1eMIt: props5, SDCZiwLET: props4, UKb_NMYmL: props3, wt6PVyWw0: props2}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"f2gAzRZ1F\":\r\ncase \"augiA20Il\":\r\ncase \"wt6PVyWw0\":\r\ncase \"nPMridnQX\":\r\ncase \"UKb_NMYmL\":\r\ncase \"SDCZiwLET\":\r\ncase \"rqkU1eMIt\":\r\nreturn React.createElement(Template1, {...props, key: \"Template1\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"f2gAzRZ1F\":\r\ncase \"augiA20Il\":\r\ncase \"wt6PVyWw0\":\r\ncase \"nPMridnQX\":\r\ncase \"UKb_NMYmL\":\r\ncase \"SDCZiwLET\":\r\ncase \"rqkU1eMIt\":\r\nreturn [{hash: \"19tm3g\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\texport async function getPageRoot({ routeId, pathVariables, localeId, collectionItemId }) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n\t\t\t\t\tisReducedMotion: undefined,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://unicornstudio.framer.ai\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: true,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/6kCDIRr6bLr6nHj61qYt/YpSJOg2jtJGOjI1bQOTm/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithFeaturesContext = React.createElement(\r\n\t\t\t\tFramer.LibraryFeaturesProvider,\r\n\t\t\t\t{\r\n\t\t\t\t\tchildren: content,\r\n\t\t\t\t\tvalue: {autobahnNavigation: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, synchronousNavigationOnDesktop: false, yieldOnTap: false}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: contentWithFeaturesContext\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\t// Fallback support for stack gaps\r\n\t\t\tFramer.installFlexboxGapWorkaroundIfNeeded()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, pathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\tconst serverRouteExperimentEnabled = true\r\n\t\t\t\t\tconst serverRoute = serverRouteExperimentEnabled && performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcollectionItemId: routeData?.collectionItemId,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\t  const utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\t  const [slug] = Object.values(pathVariables)\r\n\t\t\t  if (utils && typeof slug === \"string\") {\r\n\t\t\t\t  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t  }\r\n\t\t}\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId: framerSiteId ?? null,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tif (true) Framer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t\t;(function () {\r\n\t\t\tif (!isBrowser) return\r\n\r\n\t\t\tReact.startTransition(() => {\r\n\t\t\t\tReactDOM.hydrateRoot(\r\n\t\t\t\t\tdocument.getElementById(\"__framer-badge-container\"),\r\n\t\t\t\t\tReact.createElement(React.Suspense, {}, React.createElement(React.lazy(() => import(\"__framer-badge\"))))\r\n\t\t\t\t)\r\n\t\t\t})\r\n\t\t})()\r\n\t"],"mappings":"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"}