{"version":3,"file":"shared-lib.BYbf9GMy.mjs","names":["Ro","p","l","v","x","E","I","y","_","T","D","q","K","N","Co","xe","So","$","W","z","eo","Uo","Q","Be","ye","J","Ao","bo","Vo","u","M","A","G","R","V","O","b","C","wo","Y","X","ue","pe","ir.useRef","ir.useCallback","ir.useMemo","ge","p","l","ie","ce","u","f","ue","Or","k","de","nr","he","pr","ye","_e","Se","Pe","be","we","lr","Re","ve","Xe","Nr","Ye","ze","Me","Ce","cr","Ae","Wr","He","De","Ie","ur","ro","Ne","Ur","Ue","Ke","$e","Ve","dr","no","mo","fo","po","lo","oo","Gr","so","to","io","ao","gr","Po","ko","co","uo","ho","_o","go","hr","Yo","zo","Mo","Fo","Vr","Bo","xo","Xo","yo","L","_r","Io","Ho","Do","qo","vo","Kr","Wo","Go","Oo","Sr","No","Ko","$o","jo","$r","Eo","Lo","To","wr","Jo","Ar","Qo","ra","ea","Zo","mr","na","ma","ca","fa","la","ua","pa","Pr","ba","Ir","ka","Ba","ya","Fa","br","Ma","Jr","Ra","Oa","va","kr","Da","Qr","qa","Ta","ja","Hr","Dr","Ka","Zr","Za","Qa","Ja","rs","$a","jr","qr","ms","re","cs","fs","ls","us","ps","Fr","bs","H","ee","ys","ks","Bs","xs","Fs","Br","Rs","oe","Os","Ws","vs","yr","qs","js","Es","Ls","Ts","X","xr","Js","ae","Zs","rt","Qs","Xr","it","nt","se","ft","pt","mt","Y","Yr","ht","wt","Pt","St","bt","_t","Cr","Xt","te","Ct","zt","Yt","j","zr","Gt","Tr","Ht","It","Dt","At","fe","Kt","Qt","me","$t","Jt","ne","ri","ei","Zt","Rr","ti","ni","pe","ii","le","pi","fi","li","mi","PulsingBorder","_Fragment","Component","metadata","siteMetadata","metadataVersion","__FramerMetadata__","metadata","siteMetadata"],"sources":["https:/framerusercontent.com/modules/bamMgJhjMszHbcnxCtZj/20nHFbpxFqdlchR1dDZF/Noise.js","https:/esm.sh/@paper-design/shaders@0.0.61/es2022/shaders.mjs","https:/esm.sh/@paper-design/shaders-react@0.0.61/X-ZEBwYXBlci1kZXNpZ24vc2hhZGVyc0AwLjAuNjEKZXJlYWN0LHJlYWN0LWRvbQ/es2022/shaders-react.mjs","https:/esm.sh/@paper-design/shaders-react@0.0.61?external=react,react-dom&deps=@paper-design/shaders@0.0.61","https:/framerusercontent.com/modules/XAMdn8itEs0ZeRe8oL1N/YxZxQsxP3vJ5ZzJoV8EW/PulsatingShader.js","https:/framerusercontent.com/modules/6C6Dm3Lt5y1ng7tnJ2R2/vhX9wwNVL8Uqgzjgiw9j/Hide.js","https:/framer.com/m/framer/icon-nullstate.js@0.7.0","https:/framer.com/m/phosphor-icons/House.js@0.0.57","https:/framerusercontent.com/modules/p4zhu99hyAw1CfqBrUAc/bwiHQ835Xic1O0r4mFWn/siteMetadata.js","https:/framerusercontent.com/modules/oExD7aXOtQMAq39oVASv/MwcxagbWBuMBL6jTzGrh/ifySCvWQI.js","https:/framerusercontent.com/modules/Hgn2SmahUQibyWk8mha5/rHYzR0RVfyHyN76fZT17/mV0D1IIRY.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Noise\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export default function Noise(props){const{opacity,backgroundSize,borderRadius}=props;return /*#__PURE__*/ _jsx(\"div\",{style:{...containerStyle,opacity,backgroundSize,borderRadius}});};Noise.defaultProps={opacity:.5,backgroundSize:128,radius:0};addPropertyControls(Noise,{backgroundSize:{title:\"Size\",type:ControlType.Number,min:64,max:256},opacity:{title:\"Opacity\",type:ControlType.Number,step:.1,displayStepper:true,max:1,min:0},borderRadius:{title:\"Radius\",type:ControlType.Number,min:0,max:1e3,step:1,displayStepper:true}});const containerStyle={width:\"100%\",height:\"100%\",backgroundSize:\"256px 256px\",backgroundRepeat:\"repeat\",backgroundImage:\"url('https://framerusercontent.com/images/rR6HYXBrMmX4cRpXfXUOvpvpB0.png')\"};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Noise\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Noise.map","/* esm.sh - @paper-design/shaders@0.0.61 */\nvar Ao=`#version 300 es\nprecision mediump float;\n\nlayout(location = 0) in vec4 a_position;\n\nuniform vec2 u_resolution;\nuniform float u_pixelRatio;\nuniform float u_imageAspectRatio;\n\nuniform float u_originX;\nuniform float u_originY;\nuniform float u_worldWidth;\nuniform float u_worldHeight;\nuniform float u_fit;\n\nuniform float u_scale;\nuniform float u_rotation;\nuniform float u_offsetX;\nuniform float u_offsetY;\n\nuniform float u_pxSize;\n\nout vec2 v_objectUV;\nout vec2 v_objectBoxSize;\nout vec2 v_objectHelperBox;\n\nout vec2 v_responsiveUV;\nout vec2 v_responsiveBoxSize;\nout vec2 v_responsiveHelperBox;\nout vec2 v_responsiveBoxGivenSize;\n\nout vec2 v_patternUV;\nout vec2 v_patternBoxSize;\nout vec2 v_patternHelperBox;\n\nout vec2 v_imageUV;\n\n// #define ADD_HELPERS\n\nvec3 getBoxSize(float boxRatio, vec2 givenBoxSize) {\n  vec2 box = vec2(0.);\n  // fit = none\n  box.x = boxRatio * min(givenBoxSize.x / boxRatio, givenBoxSize.y);\n  float noFitBoxWidth = box.x;\n  if (u_fit == 1.) { // fit = contain\n    box.x = boxRatio * min(u_resolution.x / boxRatio, u_resolution.y);\n  } else if (u_fit == 2.) { // fit = cover\n    box.x = boxRatio * max(u_resolution.x / boxRatio, u_resolution.y);\n  }\n  box.y = box.x / boxRatio;\n  return vec3(box, noFitBoxWidth);\n}\n\nvoid main() {\n  gl_Position = a_position;\n\n  vec2 uv = gl_Position.xy * .5;\n  vec2 boxOrigin = vec2(.5 - u_originX, u_originY - .5);\n  vec2 givenBoxSize = vec2(u_worldWidth, u_worldHeight);\n  givenBoxSize = max(givenBoxSize, vec2(1.)) * u_pixelRatio;\n  float r = u_rotation * 3.14159265358979323846 / 180.;\n  mat2 graphicRotation = mat2(cos(r), sin(r), -sin(r), cos(r));\n  vec2 graphicOffset = vec2(-u_offsetX, u_offsetY);\n\n\n  // ===================================================\n  // Sizing api for graphic objects with fixed ratio\n  // (currently supports only ratio = 1)\n\n  float fixedRatio = 1.;\n  vec2 fixedRatioBoxGivenSize = vec2(\n  (u_worldWidth == 0.) ? u_resolution.x : givenBoxSize.x,\n  (u_worldHeight == 0.) ? u_resolution.y : givenBoxSize.y\n  );\n\n  v_objectBoxSize = getBoxSize(fixedRatio, fixedRatioBoxGivenSize).xy;\n  vec2 objectWorldScale = u_resolution.xy / v_objectBoxSize;\n\n  #ifdef ADD_HELPERS\n  v_objectHelperBox = uv;\n  v_objectHelperBox *= objectWorldScale;\n  v_objectHelperBox += boxOrigin * (objectWorldScale - 1.);\n  #endif\n\n  v_objectUV = uv;\n  v_objectUV *= objectWorldScale;\n  v_objectUV += boxOrigin * (objectWorldScale - 1.);\n  v_objectUV += graphicOffset;\n  v_objectUV /= u_scale;\n  v_objectUV = graphicRotation * v_objectUV;\n\n\n  // ===================================================\n\n\n  // ===================================================\n  // Sizing api for graphic objects with either givenBoxSize ratio or canvas ratio.\n  // Full-screen mode available with u_worldWidth = u_worldHeight = 0\n\n  v_responsiveBoxGivenSize = vec2(\n  (u_worldWidth == 0.) ? u_resolution.x : givenBoxSize.x,\n  (u_worldHeight == 0.) ? u_resolution.y : givenBoxSize.y\n  );\n  float responsiveRatio = v_responsiveBoxGivenSize.x / v_responsiveBoxGivenSize.y;\n  v_responsiveBoxSize = getBoxSize(responsiveRatio, v_responsiveBoxGivenSize).xy;\n  vec2 responsiveBoxScale = u_resolution.xy / v_responsiveBoxSize;\n\n  #ifdef ADD_HELPERS\n  v_responsiveHelperBox = uv;\n  v_responsiveHelperBox *= responsiveBoxScale;\n  v_responsiveHelperBox += boxOrigin * (responsiveBoxScale - 1.);\n  #endif\n\n  v_responsiveUV = uv;\n  v_responsiveUV *= responsiveBoxScale;\n  v_responsiveUV += boxOrigin * (responsiveBoxScale - 1.);\n  v_responsiveUV += graphicOffset;\n  v_responsiveUV /= u_scale;\n  v_responsiveUV.x *= responsiveRatio;\n  v_responsiveUV = graphicRotation * v_responsiveUV;\n  v_responsiveUV.x /= responsiveRatio;\n\n  // ===================================================\n\n\n  // ===================================================\n  // Sizing api for patterns\n  // (treating graphics as a image u_worldWidth x u_worldHeight size)\n\n  float patternBoxRatio = givenBoxSize.x / givenBoxSize.y;\n  vec2 patternBoxGivenSize = vec2(\n  (u_worldWidth == 0.) ? u_resolution.x : givenBoxSize.x,\n  (u_worldHeight == 0.) ? u_resolution.y : givenBoxSize.y\n  );\n  patternBoxRatio = patternBoxGivenSize.x / patternBoxGivenSize.y;\n\n  vec3 boxSizeData = getBoxSize(patternBoxRatio, patternBoxGivenSize);\n  v_patternBoxSize = boxSizeData.xy;\n  float patternBoxNoFitBoxWidth = boxSizeData.z;\n  vec2 patternBoxScale = u_resolution.xy / v_patternBoxSize;\n\n  #ifdef ADD_HELPERS\n  v_patternHelperBox = uv;\n  v_patternHelperBox *= patternBoxScale;\n  v_patternHelperBox += boxOrigin * (patternBoxScale - 1.);\n  #endif\n\n  v_patternUV = uv;\n  v_patternUV += graphicOffset / patternBoxScale;\n  v_patternUV += boxOrigin;\n  v_patternUV -= boxOrigin / patternBoxScale;\n  v_patternUV *= u_resolution.xy;\n  v_patternUV /= u_pixelRatio;\n  if (u_fit > 0.) {\n    v_patternUV *= (patternBoxNoFitBoxWidth / v_patternBoxSize.x);\n  }\n  v_patternUV /= u_scale;\n  v_patternUV = graphicRotation * v_patternUV;\n  v_patternUV += boxOrigin / patternBoxScale;\n  v_patternUV -= boxOrigin;\n  // x100 is a default multiplier between vertex and fragmant shaders\n  // we use it to avoid UV presision issues\n  v_patternUV *= .01;\n\n  // ===================================================\n\n\n  // ===================================================\n  // Sizing api for images\n\n  vec2 imageBoxSize;\n  if (u_fit == 1.) { // contain\n    imageBoxSize.x = min(u_resolution.x / u_imageAspectRatio, u_resolution.y) * u_imageAspectRatio;\n  } else if (u_fit == 2.) { // cover\n    imageBoxSize.x = max(u_resolution.x / u_imageAspectRatio, u_resolution.y) * u_imageAspectRatio;\n  } else {\n    imageBoxSize.x = min(10.0, 10.0 / u_imageAspectRatio * u_imageAspectRatio);\n  }\n  imageBoxSize.y = imageBoxSize.x / u_imageAspectRatio;\n  vec2 imageBoxScale = u_resolution.xy / imageBoxSize;\n\n  #ifdef ADD_HELPERS\n  vec2 imageHelperBox = uv;\n  imageHelperBox *= imageBoxScale;\n  imageHelperBox += boxOrigin * (imageBoxScale - 1.);\n  #endif\n\n  v_imageUV = uv;\n  v_imageUV *= imageBoxScale;\n  v_imageUV += boxOrigin * (imageBoxScale - 1.);\n  v_imageUV += graphicOffset;\n  v_imageUV /= u_scale;\n  v_imageUV.x *= u_imageAspectRatio;\n  v_imageUV = graphicRotation * v_imageUV;\n  v_imageUV.x /= u_imageAspectRatio;\n\n  v_imageUV += .5;\n  v_imageUV.y = 1. - v_imageUV.y;\n\n  // ===================================================\n\n}`;var bo=1920*1080*4,ao=class{parentElement;canvasElement;gl;program=null;uniformLocations={};fragmentShader;rafId=null;lastRenderTime=0;currentFrame=0;speed=0;currentSpeed=0;providedUniforms;hasBeenDisposed=!1;resolutionChanged=!0;textures=new Map;minPixelRatio;maxPixelCount;isSafari=Fo();uniformCache={};textureUnitMap=new Map;constructor(o,t,i,n,r=0,m=0,a=2,p=bo){if(o instanceof HTMLElement)this.parentElement=o;else throw new Error(\"Paper Shaders: parent element must be an HTMLElement\");if(!document.querySelector(\"style[data-paper-shader]\")){let c=document.createElement(\"style\");c.innerHTML=Vo,c.setAttribute(\"data-paper-shader\",\"\"),document.head.prepend(c)}let l=document.createElement(\"canvas\");this.canvasElement=l,this.parentElement.prepend(l),this.fragmentShader=t,this.providedUniforms=i,this.currentFrame=m,this.minPixelRatio=a,this.maxPixelCount=p;let v=l.getContext(\"webgl2\",n);if(!v)throw new Error(\"Paper Shaders: WebGL is not supported in this browser\");this.gl=v,this.initProgram(),this.setupPositionAttribute(),this.setupUniforms(),this.setUniformValues(this.providedUniforms),this.setupResizeObserver(),visualViewport?.addEventListener(\"resize\",this.handleVisualViewportChange),this.setSpeed(r),this.parentElement.setAttribute(\"data-paper-shader\",\"\"),this.parentElement.paperShaderMount=this,document.addEventListener(\"visibilitychange\",this.handleDocumentVisibilityChange)}initProgram=()=>{let o=Ro(this.gl,Ao,this.fragmentShader);o&&(this.program=o)};setupPositionAttribute=()=>{let o=this.gl.getAttribLocation(this.program,\"a_position\"),t=this.gl.createBuffer();this.gl.bindBuffer(this.gl.ARRAY_BUFFER,t);let i=[-1,-1,1,-1,-1,1,-1,1,1,-1,1,1];this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(i),this.gl.STATIC_DRAW),this.gl.enableVertexAttribArray(o),this.gl.vertexAttribPointer(o,2,this.gl.FLOAT,!1,0,0)};setupUniforms=()=>{let o={u_time:this.gl.getUniformLocation(this.program,\"u_time\"),u_pixelRatio:this.gl.getUniformLocation(this.program,\"u_pixelRatio\"),u_resolution:this.gl.getUniformLocation(this.program,\"u_resolution\")};Object.entries(this.providedUniforms).forEach(([t,i])=>{if(o[t]=this.gl.getUniformLocation(this.program,t),i instanceof HTMLImageElement){let n=`${t}AspectRatio`;o[n]=this.gl.getUniformLocation(this.program,n)}}),this.uniformLocations=o};renderScale=1;parentWidth=0;parentHeight=0;parentDevicePixelWidth=0;parentDevicePixelHeight=0;devicePixelsSupported=!1;resizeObserver=null;setupResizeObserver=()=>{this.resizeObserver=new ResizeObserver(([o])=>{if(o?.borderBoxSize[0]){let t=o.devicePixelContentBoxSize?.[0];t!==void 0&&(this.devicePixelsSupported=!0,this.parentDevicePixelWidth=t.inlineSize,this.parentDevicePixelHeight=t.blockSize),this.parentWidth=o.borderBoxSize[0].inlineSize,this.parentHeight=o.borderBoxSize[0].blockSize}this.handleResize()}),this.resizeObserver.observe(this.parentElement)};handleVisualViewportChange=()=>{this.resizeObserver?.disconnect(),this.setupResizeObserver()};handleResize=()=>{let o=0,t=0,i=Math.max(1,window.devicePixelRatio),n=visualViewport?.scale??1;if(this.devicePixelsSupported){let v=Math.max(1,this.minPixelRatio/i);o=this.parentDevicePixelWidth*v*n,t=this.parentDevicePixelHeight*v*n}else{let v=Math.max(i,this.minPixelRatio)*n;if(this.isSafari){let c=Eo();v*=Math.max(1,c)}o=Math.round(this.parentWidth)*v,t=Math.round(this.parentHeight)*v}let r=Math.sqrt(this.maxPixelCount)/Math.sqrt(o*t),m=Math.min(1,r),a=Math.round(o*m),p=Math.round(t*m),l=a/Math.round(this.parentWidth);(this.canvasElement.width!==a||this.canvasElement.height!==p||this.renderScale!==l)&&(this.renderScale=l,this.canvasElement.width=a,this.canvasElement.height=p,this.resolutionChanged=!0,this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height),this.render(performance.now()))};render=o=>{if(this.hasBeenDisposed)return;if(this.program===null){console.warn(\"Tried to render before program or gl was initialized\");return}let t=o-this.lastRenderTime;this.lastRenderTime=o,this.currentSpeed!==0&&(this.currentFrame+=t*this.currentSpeed),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.useProgram(this.program),this.gl.uniform1f(this.uniformLocations.u_time,this.currentFrame*.001),this.resolutionChanged&&(this.gl.uniform2f(this.uniformLocations.u_resolution,this.gl.canvas.width,this.gl.canvas.height),this.gl.uniform1f(this.uniformLocations.u_pixelRatio,this.renderScale),this.resolutionChanged=!1),this.gl.drawArrays(this.gl.TRIANGLES,0,6),this.currentSpeed!==0?this.requestRender():this.rafId=null};requestRender=()=>{this.rafId!==null&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(this.render)};setTextureUniform=(o,t)=>{if(!t.complete||t.naturalWidth===0)throw new Error(`Paper Shaders: image for uniform ${o} must be fully loaded`);let i=this.textures.get(o);i&&this.gl.deleteTexture(i),this.textureUnitMap.has(o)||this.textureUnitMap.set(o,this.textureUnitMap.size);let n=this.textureUnitMap.get(o);this.gl.activeTexture(this.gl.TEXTURE0+n);let r=this.gl.createTexture();this.gl.bindTexture(this.gl.TEXTURE_2D,r),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),o!==\"u_noiseTexture\"&&(this.gl.generateMipmap(this.gl.TEXTURE_2D),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR_MIPMAP_LINEAR));let m=this.gl.getError();if(m!==this.gl.NO_ERROR||r===null){console.error(\"Paper Shaders: WebGL error when uploading texture:\",m);return}this.textures.set(o,r);let a=this.uniformLocations[o];if(a){this.gl.uniform1i(a,n);let p=`${o}AspectRatio`,l=this.uniformLocations[p];if(l){let v=t.naturalWidth/t.naturalHeight;this.gl.uniform1f(l,v)}}};areUniformValuesEqual=(o,t)=>o===t?!0:Array.isArray(o)&&Array.isArray(t)&&o.length===t.length?o.every((i,n)=>this.areUniformValuesEqual(i,t[n])):!1;setUniformValues=o=>{this.gl.useProgram(this.program),Object.entries(o).forEach(([t,i])=>{let n=i;if(i instanceof HTMLImageElement&&(n=`${i.src.slice(0,200)}|${i.naturalWidth}x${i.naturalHeight}`),this.areUniformValuesEqual(this.uniformCache[t],n))return;this.uniformCache[t]=n;let r=this.uniformLocations[t];if(!r){console.warn(`Uniform location for ${t} not found`);return}if(i instanceof HTMLImageElement)this.setTextureUniform(t,i);else if(Array.isArray(i)){let m=null,a=null;if(i[0]!==void 0&&Array.isArray(i[0])){let p=i[0].length;if(i.every(l=>l.length===p))m=i.flat(),a=p;else{console.warn(`All child arrays must be the same length for ${t}`);return}}else m=i,a=m.length;switch(a){case 2:this.gl.uniform2fv(r,m);break;case 3:this.gl.uniform3fv(r,m);break;case 4:this.gl.uniform4fv(r,m);break;case 9:this.gl.uniformMatrix3fv(r,!1,m);break;case 16:this.gl.uniformMatrix4fv(r,!1,m);break;default:console.warn(`Unsupported uniform array length: ${a}`)}}else typeof i==\"number\"?this.gl.uniform1f(r,i):typeof i==\"boolean\"?this.gl.uniform1i(r,i?1:0):console.warn(`Unsupported uniform type for ${t}: ${typeof i}`)})};getCurrentFrame=()=>this.currentFrame;setFrame=o=>{this.currentFrame=o,this.lastRenderTime=performance.now(),this.render(performance.now())};setSpeed=(o=1)=>{this.speed=o,this.setCurrentSpeed(document.hidden?0:o)};setCurrentSpeed=o=>{this.currentSpeed=o,this.rafId===null&&o!==0&&(this.lastRenderTime=performance.now(),this.rafId=requestAnimationFrame(this.render)),this.rafId!==null&&o===0&&(cancelAnimationFrame(this.rafId),this.rafId=null)};setMaxPixelCount=(o=bo)=>{this.maxPixelCount=o,this.handleResize()};setMinPixelRatio=(o=2)=>{this.minPixelRatio=o,this.handleResize()};setUniforms=o=>{this.setUniformValues(o),this.providedUniforms={...this.providedUniforms,...o},this.render(performance.now())};handleDocumentVisibilityChange=()=>{this.setCurrentSpeed(document.hidden?0:this.speed)};dispose=()=>{this.hasBeenDisposed=!0,this.rafId!==null&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.gl&&this.program&&(this.textures.forEach(o=>{this.gl.deleteTexture(o)}),this.textures.clear(),this.gl.deleteProgram(this.program),this.program=null,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,null),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,null),this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,null),this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,null),this.gl.getError()),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),visualViewport?.removeEventListener(\"resize\",this.handleVisualViewportChange),document.removeEventListener(\"visibilitychange\",this.handleDocumentVisibilityChange),this.uniformLocations={},this.canvasElement.remove(),delete this.parentElement.paperShaderMount}};function Bo(e,o,t){let i=e.createShader(o);return i?(e.shaderSource(i,t),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(console.error(\"An error occurred compiling the shaders: \"+e.getShaderInfoLog(i)),e.deleteShader(i),null)):null}function Ro(e,o,t){let i=e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT),n=i?i.precision:null;n&&n<23&&(o=o.replace(/precision\\s+(lowp|mediump)\\s+float;/g,\"precision highp float;\"),t=t.replace(/precision\\s+(lowp|mediump)\\s+float/g,\"precision highp float\").replace(/\\b(uniform|varying|attribute)\\s+(lowp|mediump)\\s+(\\w+)/g,\"$1 highp $3\"));let r=Bo(e,e.VERTEX_SHADER,o),m=Bo(e,e.FRAGMENT_SHADER,t);if(!r||!m)return null;let a=e.createProgram();return a?(e.attachShader(a,r),e.attachShader(a,m),e.linkProgram(a),e.getProgramParameter(a,e.LINK_STATUS)?(e.detachShader(a,r),e.detachShader(a,m),e.deleteShader(r),e.deleteShader(m),a):(console.error(\"Unable to initialize the shader program: \"+e.getProgramInfoLog(a)),e.deleteProgram(a),e.deleteShader(r),e.deleteShader(m),null)):null}var Vo=`@layer paper-shaders {\n  :where([data-paper-shader]) {\n    isolation: isolate;\n    position: relative;\n\n    & canvas {\n      contain: strict;\n      display: block;\n      position: absolute;\n      inset: 0;\n      z-index: -1;\n      width: 100%;\n      height: 100%;\n      border-radius: inherit;\n      corner-shape: inherit;\n    }\n  }\n}`;function Io(e){return\"paperShaderMount\"in e}function Fo(){let e=navigator.userAgent.toLowerCase();return e.includes(\"safari\")&&!e.includes(\"chrome\")&&!e.includes(\"android\")}function Eo(){let e=visualViewport?.scale??1,o=visualViewport?.width??window.innerWidth,t=window.innerWidth-document.documentElement.clientWidth,i=e*o+t,n=outerWidth/i,r=Math.round(100*n);return r%5===0?r/100:r===33?1/3:r===67?2/3:r===133?4/3:n}var u=`\nin vec2 v_objectUV;\nin vec2 v_responsiveUV;\nin vec2 v_responsiveBoxGivenSize;\nin vec2 v_patternUV;\nin vec2 v_imageUV;`,k=`\nin vec2 v_objectBoxSize;\nin vec2 v_objectHelperBox;\nin vec2 v_responsiveBoxSize;\nin vec2 v_responsiveHelperBox;\nin vec2 v_patternBoxSize;\nin vec2 v_patternHelperBox;`,M=`\nuniform float u_originX;\nuniform float u_originY;\nuniform float u_worldWidth;\nuniform float u_worldHeight;\nuniform float u_fit;\n\nuniform float u_scale;\nuniform float u_rotation;\nuniform float u_offsetX;\nuniform float u_offsetY;`,H=`\n\n  vec2 uv = gl_FragCoord.xy / u_resolution.xy;\n  #ifdef USE_PIXELIZATION\n    float pxSize = u_pxSize * u_pixelRatio;\n    vec2 pxSizeUv = gl_FragCoord.xy;\n    pxSizeUv -= .5 * u_resolution;\n    pxSizeUv /= pxSize;\n    uv = floor(pxSizeUv) * pxSize / u_resolution.xy;    \n    uv += .5;\n  #endif\n  uv -= .5;\n\n  \n  // ===================================================\n  // sizing params shared between objects and patterns\n  \n  vec2 boxOrigin = vec2(.5 - u_originX, u_originY - .5);\n  vec2 givenBoxSize = vec2(u_worldWidth, u_worldHeight);\n  givenBoxSize = max(givenBoxSize, vec2(1.)) * u_pixelRatio;\n  float r = u_rotation * 3.14159265358979323846 / 180.;\n  mat2 graphicRotation = mat2(cos(r), sin(r), -sin(r), cos(r));\n  vec2 graphicOffset = vec2(-u_offsetX, u_offsetY);\n\n  \n  // ===================================================\n  // Sizing api for objects (graphics with fixed ratio)\n\n  #ifdef USE_OBJECT_SIZING\n    float fixedRatio = 1.;\n    vec2 fixedRatioBoxGivenSize = vec2(\n      (u_worldWidth == 0.) ? u_resolution.x : givenBoxSize.x,\n      (u_worldHeight == 0.) ? u_resolution.y : givenBoxSize.y\n    );\n    vec2 objectBoxSize = vec2(0.);\n    // fit = none\n    objectBoxSize.x = fixedRatio * min(fixedRatioBoxGivenSize.x / fixedRatio, fixedRatioBoxGivenSize.y);\n    if (u_fit == 1.) { // fit = contain\n      objectBoxSize.x = fixedRatio * min(u_resolution.x / fixedRatio, u_resolution.y);\n    } else if (u_fit == 2.) {  // fit = cover\n      objectBoxSize.x = fixedRatio * max(u_resolution.x / fixedRatio, u_resolution.y);\n    }\n    objectBoxSize.y = objectBoxSize.x / fixedRatio;\n    vec2 objectWorldScale = u_resolution.xy / objectBoxSize;\n  \n    #ifdef ADD_HELPERS\n      vec2 objectHelperBox = gl_FragCoord.xy / u_resolution.xy;\n      objectHelperBox -= .5;\n      objectHelperBox *= objectWorldScale;\n      objectHelperBox += boxOrigin * (objectWorldScale - 1.);  \n    #endif\n  \n    vec2 objectUV = uv;\n    objectUV *= objectWorldScale;\n    objectUV += boxOrigin * (objectWorldScale - 1.);\n    objectUV += vec2(-u_offsetX, u_offsetY);\n    objectUV /= u_scale;\n    objectUV = graphicRotation * objectUV;\n  #endif\n  \n  // ===================================================\n \n  // ===================================================\n  // Sizing api for patterns (graphics respecting u_worldWidth / u_worldHeight ratio)\n  \n  #ifdef USE_PATTERN_SIZING\n    float patternBoxRatio = givenBoxSize.x / givenBoxSize.y;\n    vec2 patternBoxGivenSize = vec2(\n      (u_worldWidth == 0.) ? u_resolution.x : givenBoxSize.x,\n      (u_worldHeight == 0.) ? u_resolution.y : givenBoxSize.y\n    );\n    vec2 patternBoxSize = vec2(0.);\n    // fit = none\n    patternBoxSize.x = patternBoxRatio * min(patternBoxGivenSize.x / patternBoxRatio, patternBoxGivenSize.y);\n    float patternWorldNoFitBoxWidth = patternBoxSize.x;\n    if (u_fit == 1.) {  // fit = contain\n      patternBoxSize.x = patternBoxRatio * min(u_resolution.x / patternBoxRatio, u_resolution.y);\n    } else if (u_fit == 2.) {  // fit = cover\n      patternBoxSize.x = patternBoxRatio * max(u_resolution.x / patternBoxRatio, u_resolution.y);\n    }\n    patternBoxSize.y = patternBoxSize.x / patternBoxRatio;\n    vec2 patternWorldScale = u_resolution.xy / patternBoxSize;\n  \n    #ifdef ADD_HELPERS  \n      vec2 patternHelperBox = gl_FragCoord.xy / u_resolution.xy;\n      patternHelperBox -= .5;\n      patternHelperBox *= patternWorldScale;\n      patternHelperBox += boxOrigin * (patternWorldScale - 1.);  \n    #endif\n  \n    vec2 patternUV = uv;\n    patternUV += vec2(-u_offsetX, u_offsetY) / patternWorldScale;\n    patternUV += boxOrigin;\n    patternUV -= boxOrigin / patternWorldScale;\n    patternUV *= u_resolution.xy;\n    patternUV /= u_pixelRatio;\n    if (u_fit > 0.) {\n      patternUV *= (patternWorldNoFitBoxWidth / patternBoxSize.x);\n    }\n    patternUV /= u_scale;\n    patternUV = graphicRotation * patternUV;\n    patternUV += boxOrigin / patternWorldScale;\n    patternUV -= boxOrigin;\n    patternUV += .5;\n  #endif\n    \n  // ===================================================\n \n  // ===================================================\n  // Sizing api for image filters\n  \n  #ifdef USE_IMAGE_SIZING\n\n    vec2 imageBoxSize;\n    if (u_fit == 1.) { // contain\n      imageBoxSize.x = min(u_resolution.x / u_imageAspectRatio, u_resolution.y) * u_imageAspectRatio;\n    } else if (u_fit == 2.) { // cover\n      imageBoxSize.x = max(u_resolution.x / u_imageAspectRatio, u_resolution.y) * u_imageAspectRatio;\n    } else {\n      imageBoxSize.x = min(10.0, 10.0 / u_imageAspectRatio * u_imageAspectRatio);\n    }\n    imageBoxSize.y = imageBoxSize.x / u_imageAspectRatio;\n    vec2 imageBoxScale = u_resolution.xy / imageBoxSize;\n\n    #ifdef ADD_HELPERS\n      vec2 imageHelperBox = uv;\n      imageHelperBox *= imageBoxScale;\n      imageHelperBox += boxOrigin * (imageBoxScale - 1.);\n    #endif\n\n    vec2 imageUV = uv;\n    imageUV *= imageBoxScale;\n    imageUV += boxOrigin * (imageBoxScale - 1.);\n    imageUV += graphicOffset;\n    imageUV /= u_scale;\n    imageUV.x *= u_imageAspectRatio;\n    imageUV = graphicRotation * imageUV;\n    imageUV.x /= u_imageAspectRatio;\n    \n    imageUV += .5;\n    imageUV.y = 1. - imageUV.y;\n  #endif\n`,yo=`\n  vec2 worldBoxDist = abs(helperBox);\n  float boxStroke = (step(max(worldBoxDist.x, worldBoxDist.y), .5) - step(max(worldBoxDist.x, worldBoxDist.y), .495));\n  color.rgb = mix(color.rgb, vec3(1., 0., 0.), boxStroke);\n  opacity += boxStroke;\n\n  vec2 boxOriginCopy = vec2(.5 - u_originX, u_originY - .5);\n  vec2 boxOriginDist = helperBox + boxOriginCopy;\n  boxOriginDist.x *= (boxSize.x / boxSize.y);\n  float boxOriginPoint = 1. - smoothstep(0., .05, length(boxOriginDist));\n  \n  vec2 graphicOriginPointDist = helperBox + vec2(-u_offsetX, u_offsetY);\n  graphicOriginPointDist.x *= (boxSize.x / boxSize.y);\n  float graphicOriginPoint = 1. - smoothstep(0., .05, length(graphicOriginPointDist));\n  \n  color.rgb = mix(color.rgb, vec3(0., 1., 0.), boxOriginPoint);\n  opacity += boxOriginPoint;\n  color.rgb = mix(color.rgb, vec3(0., 0., 1.), graphicOriginPoint);\n  opacity += graphicOriginPoint;\n`,zo={fit:\"contain\",scale:1,rotation:0,offsetX:0,offsetY:0,originX:.5,originY:.5,worldWidth:0,worldHeight:0},Do={fit:\"none\",scale:1,rotation:0,offsetX:0,offsetY:0,originX:.5,originY:.5,worldWidth:0,worldHeight:0},ko={none:0,contain:1,cover:2};var f=`\n#define TWO_PI 6.28318530718\n#define PI 3.14159265358979323846\n`,A=`\nvec2 rotate(vec2 uv, float th) {\n  return mat2(cos(th), sin(th), -sin(th), cos(th)) * uv;\n}\n`,G=`\n  float hash11(float p) {\n    p = fract(p * 0.3183099) + 0.1;\n    p *= p + 19.19;\n    return fract(p * p);\n  }\n`,R=`\n  float hash21(vec2 p) {\n    p = fract(p * vec2(0.3183099, 0.3678794)) + 0.1;\n    p += dot(p, p + 19.19);\n    return fract(p.x * p.y);\n  }\n`;var V=`\n  float randomR(vec2 p) {\n    vec2 uv = floor(p) / 100. + .5;\n    return texture(u_noiseTexture, fract(uv)).r;\n  }\n`,O=`\n  vec2 randomGB(vec2 p) {\n    vec2 uv = floor(p) / 100. + .5;\n    return texture(u_noiseTexture, fract(uv)).gb;\n  }\n`,b=`\n  color += 1. / 256. * (fract(sin(dot(.014 * gl_FragCoord.xy, vec2(12.9898, 78.233))) * 43758.5453123) - .5);\n`,C=`\nvec3 permute(vec3 x) { return mod(((x * 34.0) + 1.0) * x, 289.0); }\nfloat snoise(vec2 v) {\n  const vec4 C = vec4(0.211324865405187, 0.366025403784439,\n    -0.577350269189626, 0.024390243902439);\n  vec2 i = floor(v + dot(v, C.yy));\n  vec2 x0 = v - i + dot(i, C.xx);\n  vec2 i1;\n  i1 = (x0.x > x0.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);\n  vec4 x12 = x0.xyxy + C.xxzz;\n  x12.xy -= i1;\n  i = mod(i, 289.0);\n  vec3 p = permute(permute(i.y + vec3(0.0, i1.y, 1.0))\n    + i.x + vec3(0.0, i1.x, 1.0));\n  vec3 m = max(0.5 - vec3(dot(x0, x0), dot(x12.xy, x12.xy),\n      dot(x12.zw, x12.zw)), 0.0);\n  m = m * m;\n  m = m * m;\n  vec3 x = 2.0 * fract(p * C.www) - 1.0;\n  vec3 h = abs(x) - 0.5;\n  vec3 ox = floor(x + 0.5);\n  vec3 a0 = x - ox;\n  m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h);\n  vec3 g;\n  g.x = a0.x * x0.x + h.x * x0.y;\n  g.yz = a0.yz * x12.xz + h.yz * x12.yw;\n  return 130.0 * dot(m, g);\n}\n`,wo=`\nfloat fiberRandom(vec2 p) {\n  vec2 uv = floor(p) / 100.;\n  return texture(u_noiseTexture, fract(uv)).b;\n}\n\nfloat fiberValueNoise(vec2 st) {\n  vec2 i = floor(st);\n  vec2 f = fract(st);\n  float a = fiberRandom(i);\n  float b = fiberRandom(i + vec2(1.0, 0.0));\n  float c = fiberRandom(i + vec2(0.0, 1.0));\n  float d = fiberRandom(i + vec2(1.0, 1.0));\n  vec2 u = f * f * (3.0 - 2.0 * f);\n  float x1 = mix(a, b, u.x);\n  float x2 = mix(c, d, u.x);\n  return mix(x1, x2, u.y);\n}\n\nfloat fiberNoiseFbm(in vec2 n, vec2 seedOffset) {\n  float total = 0.0, amplitude = 1.;\n  for (int i = 0; i < 4; i++) {\n    n = rotate(n, .7);\n    total += fiberValueNoise(n + seedOffset) * amplitude;\n    n *= 2.;\n    amplitude *= 0.6;\n  }\n  return total;\n}\n\nfloat fiberNoise(vec2 uv, vec2 seedOffset) {\n  float epsilon = 0.001;\n  float n1 = fiberNoiseFbm(uv + vec2(epsilon, 0.0), seedOffset);\n  float n2 = fiberNoiseFbm(uv - vec2(epsilon, 0.0), seedOffset);\n  float n3 = fiberNoiseFbm(uv + vec2(0.0, epsilon), seedOffset);\n  float n4 = fiberNoiseFbm(uv - vec2(0.0, epsilon), seedOffset);\n  return length(vec2(n1 - n2, n3 - n4)) / (2.0 * epsilon);\n}\n`;var io={maxColorCount:10},Mo=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\n\nuniform vec4 u_colors[${io.maxColorCount}];\nuniform float u_colorsCount;\n\nuniform float u_distortion;\nuniform float u_swirl;\nuniform float u_grainMixer;\nuniform float u_grainOverlay;\n\n${u}\n${k}\n${M}\n\nout vec4 fragColor;\n\n${f}\n${A}\n${R}\n\nfloat valueNoise(vec2 st) {\n  vec2 i = floor(st);\n  vec2 f = fract(st);\n  float a = hash21(i);\n  float b = hash21(i + vec2(1.0, 0.0));\n  float c = hash21(i + vec2(0.0, 1.0));\n  float d = hash21(i + vec2(1.0, 1.0));\n  vec2 u = f * f * (3.0 - 2.0 * f);\n  float x1 = mix(a, b, u.x);\n  float x2 = mix(c, d, u.x);\n  return mix(x1, x2, u.y);\n}\n\nfloat noise(vec2 n, vec2 seedOffset) {\n  return valueNoise(n + seedOffset);\n}\n\nvec2 getPosition(int i, float t) {\n  float a = float(i) * .37;\n  float b = .6 + fract(float(i) / 3.) * .9;\n  float c = .8 + fract(float(i + 1) / 4.);\n\n  float x = sin(t * b + a);\n  float y = cos(t * c + a * 1.5);\n\n  return .5 + .5 * vec2(x, y);\n}\n\nvoid main() {\n  vec2 shape_uv = v_objectUV;\n  shape_uv += .5;\n\n  vec2 grainUV = v_objectUV;\n  // apply inverse transform to grain_uv so it respects the originXY\n  float grainUVRot = u_rotation * 3.14159265358979323846 / 180.;\n  mat2 graphicRotation = mat2(cos(grainUVRot), sin(grainUVRot), -sin(grainUVRot), cos(grainUVRot));\n  vec2 graphicOffset = vec2(-u_offsetX, u_offsetY);\n  grainUV = transpose(graphicRotation) * grainUV;\n  grainUV *= u_scale;\n  grainUV *= .7;\n  grainUV -= graphicOffset;\n  grainUV *= v_objectBoxSize;\n  \n  float grain = noise(grainUV, vec2(0.));\n  float mixerGrain = .4 * u_grainMixer * (grain - .5);\n\n  const float firstFrameOffset = 41.5;\n  float t = .5 * (u_time + firstFrameOffset);\n\n  float radius = smoothstep(0., 1., length(shape_uv - .5));\n  float center = 1. - radius;\n  for (float i = 1.; i <= 2.; i++) {\n    shape_uv.x += u_distortion * center / i * sin(t + i * .4 * smoothstep(.0, 1., shape_uv.y)) * cos(.2 * t + i * 2.4 * smoothstep(.0, 1., shape_uv.y));\n    shape_uv.y += u_distortion * center / i * cos(t + i * 2. * smoothstep(.0, 1., shape_uv.x));\n  }\n\n  vec2 uvRotated = shape_uv;\n  uvRotated -= vec2(.5);\n  float angle = 3. * u_swirl * radius;\n  uvRotated = rotate(uvRotated, -angle);\n  uvRotated += vec2(.5);\n\n  vec3 color = vec3(0.);\n  float opacity = 0.;\n  float totalWeight = 0.;\n\n  for (int i = 0; i < ${io.maxColorCount}; i++) {\n    if (i >= int(u_colorsCount)) break;\n\n    vec2 pos = getPosition(i, t) + mixerGrain;\n    vec3 colorFraction = u_colors[i].rgb * u_colors[i].a;\n    float opacityFraction = u_colors[i].a;\n\n    float dist = length(uvRotated - pos);\n\n    dist = pow(dist, 3.5);\n    float weight = 1. / (dist + 1e-3);\n    color += colorFraction * weight;\n    opacity += opacityFraction * weight;\n    totalWeight += weight;\n  }\n\n  color /= max(1e-4, totalWeight);\n  opacity /= max(1e-4, totalWeight);\n\n  float rr = noise(rotate(grainUV, 1.), vec2(3.));\n  float gg = noise(rotate(grainUV, 2.) + 10., vec2(-1.));\n  float bb = noise(grainUV - 2., vec2(5.));\n  vec3 grainColor = vec3(rr, gg, bb);\n  color = mix(color, grainColor, .01 + .3 * u_grainOverlay);\n  \n  fragColor = vec4(color, opacity);\n}\n`;var L={maxColorCount:10,maxNoiseIterations:8},Po=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\n\nuniform sampler2D u_noiseTexture;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colors[${L.maxColorCount}];\nuniform float u_colorsCount;\n\nuniform float u_thickness;\nuniform float u_radius;\nuniform float u_innerShape;\nuniform float u_noiseScale;\nuniform float u_noiseIterations;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n${V}\nfloat valueNoise(vec2 st) {\n  vec2 i = floor(st);\n  vec2 f = fract(st);\n  float a = randomR(i);\n  float b = randomR(i + vec2(1.0, 0.0));\n  float c = randomR(i + vec2(0.0, 1.0));\n  float d = randomR(i + vec2(1.0, 1.0));\n  vec2 u = f * f * (3.0 - 2.0 * f);\n  float x1 = mix(a, b, u.x);\n  float x2 = mix(c, d, u.x);\n  return mix(x1, x2, u.y);\n}\nfloat fbm(in vec2 n) {\n  float total = 0.0, amplitude = .4;\n  for (int i = 0; i < ${L.maxNoiseIterations}; i++) {\n    if (i >= int(u_noiseIterations)) break;\n    total += valueNoise(n) * amplitude;\n    n *= 1.99;\n    amplitude *= 0.65;\n  }\n  return total;\n}\n\nfloat getNoise(vec2 uv, vec2 pUv, float t) {\n  float noiseLeft = fbm(pUv + .03 * t);\n  float period = max(abs(u_noiseScale * TWO_PI), 1e-6);\n  pUv.x = fract(pUv.x / period) * period;\n  float noiseRight = fbm(pUv + .03 * t);\n  return mix(noiseRight, noiseLeft, smoothstep(-.25, .25, uv.x));\n}\n\nfloat getRingShape(vec2 uv) {\n  float radius = u_radius;\n  float thickness = u_thickness;\n\n  float distance = length(uv);\n  float ringValue = 1. - smoothstep(radius, radius + thickness, distance);\n  ringValue *= smoothstep(radius - pow(u_innerShape, 3.) * thickness, radius, distance);\n\n  return ringValue;\n}\n\nvoid main() {\n  vec2 shape_uv = v_objectUV;\n\n  float t = u_time;\n\n  float cycleDuration = 3.;\n  float period2 = 2.0 * cycleDuration;\n  float localTime1 = fract((0.1 * t + cycleDuration) / period2) * period2;\n  float localTime2 = fract((0.1 * t) / period2) * period2;\n  float timeBlend = .5 + .5 * sin(.1 * t * PI / cycleDuration - .5 * PI);\n\n  float atg = atan(shape_uv.y, shape_uv.x) + .001;\n  float l = length(shape_uv);\n  vec2 polar_uv1 = vec2(atg, localTime1 - (.5 * l) + 1. / pow(max(1e-4, l), .5));\n  polar_uv1 *= u_noiseScale;\n  float noise1 = getNoise(shape_uv, polar_uv1, t);\n\n  vec2 polar_uv2 = vec2(atg, localTime2 - (.5 * l) + 1. / pow(max(1e-4, l), .5));\n  polar_uv2 *= u_noiseScale;\n  float noise2 = getNoise(shape_uv, polar_uv2, t);\n\n  float noise = mix(noise1, noise2, timeBlend);\n\n  shape_uv *= (.8 + 1.2 * noise);\n\n  float ringShape = getRingShape(shape_uv);\n\n  float mixer = ringShape * ringShape * (u_colorsCount - 1.);\n  vec4 gradient = u_colors[int(u_colorsCount) - 1];\n  gradient.rgb *= gradient.a;\n  for (int i = ${L.maxColorCount} - 2; i >= 0; i--) {\n    float localT = clamp(mixer - float(int(u_colorsCount) - 1 - i - 1), 0., 1.);\n    vec4 c = u_colors[i];\n    c.rgb *= c.a;\n    gradient = mix(gradient, c, localT);\n  }\n\n  vec3 color = gradient.rgb * ringShape;\n  float opacity = gradient.a * ringShape;\n\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  color = color + bgColor * (1. - opacity);\n  opacity = opacity + u_colorBack.a * (1. - opacity);\n\n  ${b}\n\n  fragColor = vec4(color, opacity);\n}\n`;var To=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\nuniform vec2 u_resolution;\nuniform float u_pixelRatio;\n\nuniform vec4 u_colorFront;\nuniform vec4 u_colorMid;\nuniform vec4 u_colorBack;\nuniform float u_brightness;\nuniform float u_contrast;\n\n\n${u}\n\nout vec4 fragColor;\n\n${A}\n\nfloat neuroShape(vec2 uv, float t) {\n  vec2 sine_acc = vec2(0.);\n  vec2 res = vec2(0.);\n  float scale = 8.;\n\n  for (int j = 0; j < 15; j++) {\n    uv = rotate(uv, 1.);\n    sine_acc = rotate(sine_acc, 1.);\n    vec2 layer = uv * scale + float(j) + sine_acc - t;\n    sine_acc += sin(layer);\n    res += (.5 + .5 * cos(layer)) / scale;\n    scale *= (1.2);\n  }\n  return res.x + res.y;\n}\n\nvoid main() {\n  vec2 shape_uv = v_patternUV;\n  shape_uv *= .13;\n\n  float t = .5 * u_time;\n\n  float noise = neuroShape(shape_uv, t);\n\n  noise = (1. + u_brightness) * noise * noise;\n  noise = pow(noise, .7 + 6. * u_contrast);\n  noise = min(1.4, noise);\n\n  float blend = smoothstep(0.7, 1.4, noise);\n\n  vec4 frontC = u_colorFront;\n  frontC.rgb *= frontC.a;\n  vec4 midC = u_colorMid;\n  midC.rgb *= midC.a;\n  vec4 blendFront = mix(midC, frontC, blend);\n\n  float safeNoise = max(noise, 0.0);\n  vec3 color = blendFront.rgb * safeNoise;\n  float opacity = clamp(blendFront.a * safeNoise, 0., 1.);\n\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  color = color + bgColor * (1. - opacity);\n  opacity = opacity + u_colorBack.a * (1. - opacity);\n\n  ${b}\n\n  fragColor = vec4(color, opacity);\n}\n`;var ro={maxColorCount:10},Qo=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\n\nuniform sampler2D u_noiseTexture;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colors[${ro.maxColorCount}];\nuniform float u_colorsCount;\nuniform float u_stepsPerColor;\nuniform float u_size;\nuniform float u_sizeRange;\nuniform float u_spreading;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n${A}\n${V}\n${O}\n\n\nvec3 voronoiShape(vec2 uv, float time) {\n  vec2 i_uv = floor(uv);\n  vec2 f_uv = fract(uv);\n\n  float spreading = .25 * clamp(u_spreading, 0., 1.);\n\n  float minDist = 1.;\n  vec2 randomizer = vec2(0.);\n  for (int y = -1; y <= 1; y++) {\n    for (int x = -1; x <= 1; x++) {\n      vec2 tileOffset = vec2(float(x), float(y));\n      vec2 rand = randomGB(i_uv + tileOffset);\n      vec2 cellCenter = vec2(.5 + 1e-4);\n      cellCenter += spreading * cos(time + TWO_PI * rand);\n      cellCenter -= .5;\n      cellCenter = rotate(cellCenter, randomR(vec2(rand.x, rand.y)) + .1 * time);\n      cellCenter += .5;\n      float dist = length(tileOffset + cellCenter - f_uv);\n      if (dist < minDist) {\n        minDist = dist;\n        randomizer = rand;\n      }\n      minDist = min(minDist, dist);\n    }\n  }\n\n  return vec3(minDist, randomizer);\n}\n\nvoid main() {\n\n  vec2 shape_uv = v_patternUV;\n  shape_uv *= 1.5;\n\n  const float firstFrameOffset = -10.;\n  float t = u_time + firstFrameOffset;\n\n  vec3 voronoi = voronoiShape(shape_uv, t) + 1e-4;\n\n  float radius = .25 * clamp(u_size, 0., 1.) - .5 * clamp(u_sizeRange, 0., 1.) * voronoi[2];\n  float dist = voronoi[0];\n  float edgeWidth = fwidth(dist);\n  float dots = 1. - smoothstep(radius - edgeWidth, radius + edgeWidth, dist);\n\n  float shape = voronoi[1];\n\n  float mixer = shape * (u_colorsCount - 1.);\n  mixer = (shape - .5 / u_colorsCount) * u_colorsCount;\n  float steps = max(1., u_stepsPerColor);\n\n  vec4 gradient = u_colors[0];\n  gradient.rgb *= gradient.a;\n  for (int i = 1; i < ${ro.maxColorCount}; i++) {\n      if (i >= int(u_colorsCount)) break;\n      float localT = clamp(mixer - float(i - 1), 0.0, 1.0);\n      localT = round(localT * steps) / steps;\n      vec4 c = u_colors[i];\n      c.rgb *= c.a;\n      gradient = mix(gradient, c, localT);\n  }\n\n  if ((mixer < 0.) || (mixer > (u_colorsCount - 1.))) {\n    float localT = mixer + 1.;\n    if (mixer > (u_colorsCount - 1.)) {\n      localT = mixer - (u_colorsCount - 1.);\n    }\n    localT = round(localT * steps) / steps;\n    vec4 cFst = u_colors[0];\n    cFst.rgb *= cFst.a;\n    vec4 cLast = u_colors[int(u_colorsCount - 1.)];\n    cLast.rgb *= cLast.a;\n    gradient = mix(cLast, cFst, localT);\n  }\n\n  vec3 color = gradient.rgb * dots;\n  float opacity = gradient.a * dots;\n\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  color = color + bgColor * (1. - opacity);\n  opacity = opacity + u_colorBack.a * (1. - opacity);\n\n  fragColor = vec4(color, opacity);\n}\n`;var Go=`#version 300 es\nprecision mediump float;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colorFill;\nuniform vec4 u_colorStroke;\nuniform float u_dotSize;\nuniform float u_gapX;\nuniform float u_gapY;\nuniform float u_strokeWidth;\nuniform float u_sizeRange;\nuniform float u_opacityRange;\nuniform float u_shape;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n${C}\n\nfloat polygon(vec2 p, float N, float rot) {\n  float a = atan(p.x, p.y) + rot;\n  float r = TWO_PI / float(N);\n\n  return cos(floor(.5 + a / r) * r - a) * length(p);\n}\n\nvoid main() {\n\n  // x100 is a default multiplier between vertex and fragmant shaders\n  // we use it to avoid UV presision issues\n  vec2 shape_uv = 100. * v_patternUV;\n\n  vec2 gap = max(abs(vec2(u_gapX, u_gapY)), vec2(1e-6));\n  vec2 grid = fract(shape_uv / gap) + 1e-4;\n  vec2 grid_idx = floor(shape_uv / gap);\n  float sizeRandomizer = .5 + .8 * snoise(2. * vec2(grid_idx.x * 100., grid_idx.y));\n  float opacity_randomizer = .5 + .7 * snoise(2. * vec2(grid_idx.y, grid_idx.x));\n\n  vec2 center = vec2(0.5) - 1e-3;\n  vec2 p = (grid - center) * vec2(u_gapX, u_gapY);\n\n  float baseSize = u_dotSize * (1. - sizeRandomizer * u_sizeRange);\n  float strokeWidth = u_strokeWidth * (1. - sizeRandomizer * u_sizeRange);\n\n  float dist;\n  if (u_shape < 0.5) {\n    // Circle\n    dist = length(p);\n  } else if (u_shape < 1.5) {\n    // Diamond\n    strokeWidth *= 1.5;\n    dist = polygon(1.5 * p, 4., .25 * PI);\n  } else if (u_shape < 2.5) {\n    // Square\n    dist = polygon(1.03 * p, 4., 1e-3);\n  } else {\n    // Triangle\n    strokeWidth *= 1.5;\n    p = p * 2. - 1.;\n    p *= .9;\n    p.y = 1. - p.y;\n    p.y -= .75 * baseSize;\n    dist = polygon(p, 3., 1e-3);\n  }\n\n  float edgeWidth = fwidth(dist);\n  float shapeOuter = 1. - smoothstep(baseSize - edgeWidth, baseSize + edgeWidth, dist - strokeWidth);\n  float shapeInner = 1. - smoothstep(baseSize - edgeWidth, baseSize + edgeWidth, dist);\n  float stroke = shapeOuter - shapeInner;\n\n  float dotOpacity = max(0., 1. - opacity_randomizer * u_opacityRange);\n  stroke *= dotOpacity;\n  shapeInner *= dotOpacity;\n\n  stroke *= u_colorStroke.a;\n  shapeInner *= u_colorFill.a;\n\n  vec3 color = vec3(0.);\n  color += stroke * u_colorStroke.rgb;\n  color += shapeInner * u_colorFill.rgb;\n  color += (1. - shapeInner - stroke) * u_colorBack.rgb * u_colorBack.a;\n\n  float opacity = 0.;\n  opacity += stroke;\n  opacity += shapeInner;\n  opacity += (1. - opacity) * u_colorBack.a;\n\n  fragColor = vec4(color, opacity);\n}\n`,Oo={circle:0,diamond:1,square:2,triangle:3};var so={maxColorCount:10},No=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\nuniform float u_scale;\n\nuniform vec4 u_colors[${so.maxColorCount}];\nuniform float u_colorsCount;\nuniform float u_stepsPerColor;\nuniform float u_softness;\n\n${u}\n\nout vec4 fragColor;\n\n${C}\n\nfloat getNoise(vec2 uv, float t) {\n  float noise = .5 * snoise(uv - vec2(0., .3 * t));\n  noise += .5 * snoise(2. * uv + vec2(0., .32 * t));\n\n  return noise;\n}\n\nfloat steppedSmooth(float m, float steps, float softness) { \n  float stepT = floor(m * steps) / steps;\n  float f = m * steps - floor(m * steps);\n  float fw = steps * fwidth(m);\n  float smoothed = smoothstep(.5 - softness, min(1., .5 + softness + fw), f);\n  return stepT + smoothed / steps;\n}\n\nvoid main() {\n  vec2 shape_uv = v_patternUV;\n  shape_uv *= .1;\n\n  float t = .2 * u_time;\n\n  float shape = .5 + .5 * getNoise(shape_uv, t);\n\n  bool u_extraSides = true;\n\n  float mixer = shape * (u_colorsCount - 1.);\n  if (u_extraSides == true) {\n    mixer = (shape - .5 / u_colorsCount) * u_colorsCount;\n  }\n\n  float steps = max(1., u_stepsPerColor);\n\n  vec4 gradient = u_colors[0];\n  gradient.rgb *= gradient.a;\n  for (int i = 1; i < ${so.maxColorCount}; i++) {\n      if (i >= int(u_colorsCount)) break;\n\n      float localM = clamp(mixer - float(i - 1), 0., 1.);\n      localM = steppedSmooth(localM, steps, .5 * u_softness);\n\n      vec4 c = u_colors[i];\n      c.rgb *= c.a;\n      gradient = mix(gradient, c, localM);\n  }\n\n  if (u_extraSides == true) {\n   if ((mixer < 0.) || (mixer > (u_colorsCount - 1.))) {\n     float localM = mixer + 1.;\n     if (mixer > (u_colorsCount - 1.)) {\n       localM = mixer - (u_colorsCount - 1.);\n     }\n     localM = steppedSmooth(localM, steps, .5 * u_softness);\n     vec4 cFst = u_colors[0];\n     cFst.rgb *= cFst.a;\n     vec4 cLast = u_colors[int(u_colorsCount - 1.)];\n     cLast.rgb *= cLast.a;\n     gradient = mix(cLast, cFst, localM);\n   }\n  }\n\n  vec3 color = gradient.rgb;\n  float opacity = gradient.a;\n\n  ${b}\n\n  fragColor = vec4(color, opacity);\n}\n`;var Y={maxColorCount:8,maxBallsCount:20},Wo=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\n\nuniform sampler2D u_noiseTexture;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colors[${Y.maxColorCount}];\nuniform float u_colorsCount;\nuniform float u_size;\nuniform float u_sizeRange;\nuniform float u_count;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n${V}\nfloat noise(float x) {\n  float i = floor(x);\n  float f = fract(x);\n  float u = f * f * (3.0 - 2.0 * f);\n  vec2 p0 = vec2(i, 0.0);\n  vec2 p1 = vec2(i + 1.0, 0.0);\n  return mix(randomR(p0), randomR(p1), u);\n}\n\nfloat getBallShape(vec2 uv, vec2 c, float p) {\n  float s = .5 * length(uv - c);\n  s = 1. - clamp(s, 0., 1.);\n  s = pow(s, p);\n  return s;\n}\n\nvoid main() {\n  vec2 shape_uv = v_objectUV;\n\n  shape_uv += .5;\n\n  const float firstFrameOffset = 2503.4;\n  float t = .2 * (u_time + firstFrameOffset);\n\n  vec3 totalColor = vec3(0.);\n  float totalShape = 0.;\n  float totalOpacity = 0.;\n\n  for (int i = 0; i < ${Y.maxBallsCount}; i++) {\n    if (i >= int(ceil(u_count))) break;\n\n    float idxFract = float(i) / float(${Y.maxBallsCount});\n    float angle = TWO_PI * idxFract;\n\n    float speed = 1. - .2 * idxFract;\n    float noiseX = noise(angle * 10. + float(i) + t * speed);\n    float noiseY = noise(angle * 20. + float(i) - t * speed);\n\n    vec2 pos = vec2(.5) + 1e-4 + .9 * (vec2(noiseX, noiseY) - .5);\n\n    int safeIndex = i % int(u_colorsCount + 0.5);\n    vec4 ballColor = u_colors[safeIndex];\n    ballColor.rgb *= ballColor.a;\n\n    float sizeFrac = 1.;\n    if (float(i) > floor(u_count - 1.)) {\n      sizeFrac *= fract(u_count);\n    }\n\n    float shape = getBallShape(shape_uv, pos, 45. - 30. * u_size * sizeFrac);\n    shape *= pow(u_size, .2);\n    shape = smoothstep(0., 1., shape);\n\n    totalColor += ballColor.rgb * shape;\n    totalShape += shape;\n    totalOpacity += ballColor.a * shape;\n  }\n\n  totalColor /= max(totalShape, 1e-4);\n  totalOpacity /= max(totalShape, 1e-4);\n\n  float edge_width = fwidth(totalShape);\n  float finalShape = smoothstep(.4, .4 + edge_width, totalShape);\n\n  vec3 color = totalColor * finalShape;\n  float opacity = totalOpacity * finalShape;\n\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  color = color + bgColor * (1. - opacity);\n  opacity = opacity + u_colorBack.a * (1. - opacity);\n\n  ${b}\n\n  fragColor = vec4(color, opacity);\n}\n`;var Ho=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\n\nuniform vec4 u_colorFront;\nuniform vec4 u_colorBack;\nuniform float u_proportion;\nuniform float u_softness;\nuniform float u_octaveCount;\nuniform float u_persistence;\nuniform float u_lacunarity;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n\nfloat hash11(float p) {\n  p = fract(p * 0.3183099) + 0.1;\n  p *= p + 19.19;\n  return fract(p * p);\n}\n\nfloat hash21(vec2 p) {\n  p = fract(p * vec2(0.3183099, 0.3678794)) + 0.1;\n  p += dot(p, p + 19.19);\n  return fract(p.x * p.y);\n}\n\nfloat hash31(vec3 p) {\n  p = fract(p * 0.3183099) + 0.1;\n  p += dot(p, p.yzx + 19.19);\n  return fract(p.x * (p.y + p.z));\n}\n\nvec3 hash33(vec3 p) {\n  p = fract(p * 0.3183099) + 0.1;\n  p += dot(p, p.yzx + 19.19);\n  return fract(vec3(p.x * p.y, p.y * p.z, p.z * p.x));\n}\n\nvec3 gradientSafe(vec3 p) {\n  vec3 h = hash33(p) * 2.0 - 1.;\n  return normalize(h + 0.001);\n}\n\nvec3 gradientPredefined(float hash) {\n  int idx = int(hash * 12.0) % 12;\n\n  if (idx == 0) return vec3(1, 1, 0);\n  if (idx == 1) return vec3(-1, 1, 0);\n  if (idx == 2) return vec3(1, -1, 0);\n  if (idx == 3) return vec3(-1, -1, 0);\n  if (idx == 4) return vec3(1, 0, 1);\n  if (idx == 5) return vec3(-1, 0, 1);\n  if (idx == 6) return vec3(1, 0, -1);\n  if (idx == 7) return vec3(-1, 0, -1);\n  if (idx == 8) return vec3(0, 1, 1);\n  if (idx == 9) return vec3(0, -1, 1);\n  if (idx == 10) return vec3(0, 1, -1);\n  return vec3(0, -1, -1);// idx == 11\n}\n\nfloat interpolateSafe(float v000, float v001, float v010, float v011,\nfloat v100, float v101, float v110, float v111, vec3 t) {\n  t = clamp(t, 0.0, 1.0);\n\n  float v00 = mix(v000, v100, t.x);\n  float v01 = mix(v001, v101, t.x);\n  float v10 = mix(v010, v110, t.x);\n  float v11 = mix(v011, v111, t.x);\n\n  float v0 = mix(v00, v10, t.y);\n  float v1 = mix(v01, v11, t.y);\n\n  return mix(v0, v1, t.z);\n}\n\nvec3 fade(vec3 t) {\n    return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);\n}\n\nfloat perlinNoise(vec3 position, float seed) {\n  position += vec3(seed * 127.1, seed * 311.7, seed * 74.7);\n\n  vec3 i = floor(position);\n  vec3 f = fract(position);\n  float h000 = hash31(i);\n  float h001 = hash31(i + vec3(0, 0, 1));\n  float h010 = hash31(i + vec3(0, 1, 0));\n  float h011 = hash31(i + vec3(0, 1, 1));\n  float h100 = hash31(i + vec3(1, 0, 0));\n  float h101 = hash31(i + vec3(1, 0, 1));\n  float h110 = hash31(i + vec3(1, 1, 0));\n  float h111 = hash31(i + vec3(1, 1, 1));\n  vec3 g000 = gradientPredefined(h000);\n  vec3 g001 = gradientPredefined(h001);\n  vec3 g010 = gradientPredefined(h010);\n  vec3 g011 = gradientPredefined(h011);\n  vec3 g100 = gradientPredefined(h100);\n  vec3 g101 = gradientPredefined(h101);\n  vec3 g110 = gradientPredefined(h110);\n  vec3 g111 = gradientPredefined(h111);\n  float v000 = dot(g000, f - vec3(0, 0, 0));\n  float v001 = dot(g001, f - vec3(0, 0, 1));\n  float v010 = dot(g010, f - vec3(0, 1, 0));\n  float v011 = dot(g011, f - vec3(0, 1, 1));\n  float v100 = dot(g100, f - vec3(1, 0, 0));\n  float v101 = dot(g101, f - vec3(1, 0, 1));\n  float v110 = dot(g110, f - vec3(1, 1, 0));\n  float v111 = dot(g111, f - vec3(1, 1, 1));\n\n  vec3 u = fade(f);\n  return interpolateSafe(v000, v001, v010, v011, v100, v101, v110, v111, u);\n}\n\nfloat p_noise(vec3 position, int octaveCount, float persistence, float lacunarity) {\n  float value = 0.0;\n  float amplitude = 1.0;\n  float frequency = 10.0;\n  float maxValue = 0.0;\n  octaveCount = clamp(octaveCount, 1, 8);\n\n  for (int i = 0; i < octaveCount; i++) {\n    float seed = float(i) * 0.7319;\n    value += perlinNoise(position * frequency, seed) * amplitude;\n    maxValue += amplitude;\n    amplitude *= persistence;\n    frequency *= lacunarity;\n  }\n  return value;\n}\n\nfloat get_max_amp(float persistence, float octaveCount) {\n  persistence = clamp(persistence * 0.999, 0.0, 0.999);\n  octaveCount = clamp(octaveCount, 1.0, 8.0);\n\n  if (abs(persistence - 1.0) < 0.001) {\n    return octaveCount;\n  }\n\n  return (1.0 - pow(persistence, octaveCount)) / max(1e-4, (1.0 - persistence));\n}\n\nvoid main() {\n  vec2 uv = v_patternUV;\n  uv *= .5;\n  \n  float t = .2 * u_time;\n\n  vec3 p = vec3(uv, t);\n\n  float octCount = clamp(floor(u_octaveCount), 1.0, 8.0);\n  float persistence = clamp(u_persistence, 0., 1.);\n  float noise = p_noise(p, int(octCount), persistence, u_lacunarity);\n\n  float max_amp = get_max_amp(persistence, octCount);\n  float noise_normalized = clamp((noise + max_amp) / max(1e-4, (2. * max_amp)) + (u_proportion - .5), 0.0, 1.0);\n  float sharpness = clamp(u_softness, 0., 1.);\n  float smooth_w = 0.5 * max(fwidth(noise_normalized), 0.001);\n  float res = smoothstep(\n    .5 - .5 * sharpness - smooth_w,\n    .5 + .5 * sharpness + smooth_w,\n    noise_normalized\n  );\n\n  vec3 fgColor = u_colorFront.rgb * u_colorFront.a;\n  float fgOpacity = u_colorFront.a;\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  float bgOpacity = u_colorBack.a;\n\n  vec3 color = fgColor * res;\n  float opacity = fgOpacity * res;\n\n  color += bgColor * (1. - opacity);\n  opacity += bgOpacity * (1. - opacity);\n\n  ${b}\n\n  fragColor = vec4(color, opacity);\n}\n`;var no={maxColorCount:5},Lo=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\n\nuniform float u_scale;\n\nuniform sampler2D u_noiseTexture;\n\nuniform vec4 u_colors[${no.maxColorCount}];\nuniform float u_colorsCount;\n\nuniform float u_stepsPerColor;\nuniform vec4 u_colorGlow;\nuniform vec4 u_colorGap;\nuniform float u_distortion;\nuniform float u_gap;\nuniform float u_glow;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n${O}\n\nvec4 voronoi(vec2 x, float t) {\n  vec2 ip = floor(x);\n  vec2 fp = fract(x);\n\n  vec2 mg, mr;\n  float md = 8.;\n  float rand = 0.;\n\n  for (int j = -1; j <= 1; j++) {\n    for (int i = -1; i <= 1; i++) {\n      vec2 g = vec2(float(i), float(j));\n      vec2 o = randomGB(ip + g);\n      float raw_hash = o.x;\n      o = .5 + u_distortion * sin(t + TWO_PI * o);\n      vec2 r = g + o - fp;\n      float d = dot(r, r);\n\n      if (d < md) {\n        md = d;\n        mr = r;\n        mg = g;\n        rand = raw_hash;\n      }\n    }\n  }\n\n  md = 8.;\n  for (int j = -2; j <= 2; j++) {\n    for (int i = -2; i <= 2; i++) {\n      vec2 g = mg + vec2(float(i), float(j));\n      vec2 o = randomGB(ip + g);\n      o = .5 + u_distortion * sin(t + TWO_PI * o);\n      vec2 r = g + o - fp;\n      if (dot(mr - r, mr - r) > .00001) {\n        md = min(md, dot(.5 * (mr + r), normalize(r - mr)));\n      }\n    }\n  }\n\n  return vec4(md, mr, rand);\n}\n\nvoid main() {\n  vec2 shape_uv = v_patternUV;\n  shape_uv *= 1.25;\n\n  float t = u_time;\n\n  vec4 voronoiRes = voronoi(shape_uv, t);\n\n  float shape = clamp(voronoiRes.w, 0., 1.);\n  float mixer = shape * (u_colorsCount - 1.);\n  mixer = (shape - .5 / u_colorsCount) * u_colorsCount;\n  float steps = max(1., u_stepsPerColor);\n\n  vec4 gradient = u_colors[0];\n  gradient.rgb *= gradient.a;\n  for (int i = 1; i < ${no.maxColorCount}; i++) {\n      if (i >= int(u_colorsCount)) break;\n      float localT = clamp(mixer - float(i - 1), 0.0, 1.0);\n      localT = round(localT * steps) / steps;\n      vec4 c = u_colors[i];\n      c.rgb *= c.a;\n      gradient = mix(gradient, c, localT);\n  }\n\n  if ((mixer < 0.) || (mixer > (u_colorsCount - 1.))) {\n    float localT = mixer + 1.;\n    if (mixer > (u_colorsCount - 1.)) {\n      localT = mixer - (u_colorsCount - 1.);\n    }\n    localT = round(localT * steps) / steps;\n    vec4 cFst = u_colors[0];\n    cFst.rgb *= cFst.a;\n    vec4 cLast = u_colors[int(u_colorsCount - 1.)];\n    cLast.rgb *= cLast.a;\n    gradient = mix(cLast, cFst, localT);\n  }\n\n  vec3 cellColor = gradient.rgb;\n  float cellOpacity = gradient.a;\n\n  float glows = length(voronoiRes.yz * u_glow);\n  glows = pow(glows, 1.5);\n\n  vec3 color = mix(cellColor, u_colorGlow.rgb * u_colorGlow.a, u_colorGlow.a * glows);\n  float opacity = cellOpacity + u_colorGlow.a * glows;\n\n  float edge = voronoiRes.x;\n  float smoothEdge = .02 / (2. * u_scale) * (1. + .5 * u_gap);\n  edge = smoothstep(u_gap - smoothEdge, u_gap + smoothEdge, edge);\n\n  color = mix(u_colorGap.rgb * u_colorGap.a, color, edge);\n  opacity = mix(u_colorGap.a, opacity, edge);\n\n  fragColor = vec4(color, opacity);\n}\n`;var Yo=`#version 300 es\nprecision mediump float;\n\nuniform vec4 u_colorFront;\nuniform vec4 u_colorBack;\nuniform float u_shape;\nuniform float u_frequency;\nuniform float u_amplitude;\nuniform float u_spacing;\nuniform float u_proportion;\nuniform float u_softness;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n\nvoid main() {\n  vec2 shape_uv = v_patternUV;\n  shape_uv *= 4.;\n\n  float wave = .5 * cos(shape_uv.x * u_frequency * TWO_PI);\n  float zigzag = 2. * abs(fract(shape_uv.x * u_frequency) - .5);\n  float irregular = sin(shape_uv.x * .25 * u_frequency * TWO_PI) * cos(shape_uv.x * u_frequency * TWO_PI);\n  float irregular2 = .75 * (sin(shape_uv.x * u_frequency * TWO_PI) + .5 * cos(shape_uv.x * .5 * u_frequency * TWO_PI));\n\n  float offset = mix(zigzag, wave, smoothstep(0., 1., u_shape));\n  offset = mix(offset, irregular, smoothstep(1., 2., u_shape));\n  offset = mix(offset, irregular2, smoothstep(2., 3., u_shape));\n  offset *= 2. * u_amplitude;\n\n  float spacing = (.001 + u_spacing);\n  float shape = .5 + .5 * sin((shape_uv.y + offset) * PI / spacing);\n\n  float aa = .0001 + fwidth(shape);\n  float dc = 1. - clamp(u_proportion, 0., 1.);\n  float e0 = dc - u_softness - aa;\n  float e1 = dc + u_softness + aa;\n  float res = smoothstep(min(e0, e1), max(e0, e1), shape);\n  \n  vec3 fgColor = u_colorFront.rgb * u_colorFront.a;\n  float fgOpacity = u_colorFront.a;\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  float bgOpacity = u_colorBack.a;\n\n  vec3 color = fgColor * res;\n  float opacity = fgOpacity * res;\n\n  color += bgColor * (1. - opacity);\n  opacity += bgOpacity * (1. - opacity);\n\n  fragColor = vec4(color, opacity);\n}\n`;var lo={maxColorCount:10},jo=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\nuniform float u_scale;\n\nuniform sampler2D u_noiseTexture;\n\nuniform vec4 u_colors[${lo.maxColorCount}];\nuniform float u_colorsCount;\nuniform float u_proportion;\nuniform float u_softness;\nuniform float u_shape;\nuniform float u_shapeScale;\nuniform float u_distortion;\nuniform float u_swirl;\nuniform float u_swirlIterations;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n${A}\nfloat randomG(vec2 p) {\n  vec2 uv = floor(p) / 100. + .5;\n  return texture(u_noiseTexture, fract(uv)).g;\n}\nfloat valueNoise(vec2 st) {\n  vec2 i = floor(st);\n  vec2 f = fract(st);\n  float a = randomG(i);\n  float b = randomG(i + vec2(1.0, 0.0));\n  float c = randomG(i + vec2(0.0, 1.0));\n  float d = randomG(i + vec2(1.0, 1.0));\n  vec2 u = f * f * (3.0 - 2.0 * f);\n  float x1 = mix(a, b, u.x);\n  float x2 = mix(c, d, u.x);\n  return mix(x1, x2, u.y);\n}\n\n\nvoid main() {\n  vec2 uv = v_patternUV;\n  uv *= .5;\n\n  const float firstFrameOffset = 118.;\n  float t = 0.0625 * (u_time + firstFrameOffset);\n\n  float n1 = valueNoise(uv * 1. + t);\n  float n2 = valueNoise(uv * 2. - t);\n  float angle = n1 * TWO_PI;\n  uv.x += 4. * u_distortion * n2 * cos(angle);\n  uv.y += 4. * u_distortion * n2 * sin(angle);\n\n  float swirl = u_swirl;\n  for (int i = 1; i <= 20; i++) {\n    if (i >= int(u_swirlIterations)) break;\n    float iFloat = float(i);\n//    swirl *= (1. - smoothstep(.0, .25, length(fwidth(uv))));\n    uv.x += swirl / iFloat * cos(t + iFloat * 1.5 * uv.y);\n    uv.y += swirl / iFloat * cos(t + iFloat * 1. * uv.x);\n  }\n\n  float proportion = clamp(u_proportion, 0., 1.);\n\n  float shape = 0.;\n  if (u_shape < .5) {\n    vec2 checksShape_uv = uv * (.5 + 3.5 * u_shapeScale);\n    shape = .5 + .5 * sin(checksShape_uv.x) * cos(checksShape_uv.y);\n    shape += .48 * sign(proportion - .5) * pow(abs(proportion - .5), .5);\n  } else if (u_shape < 1.5) {\n    vec2 stripesShape_uv = uv * (2. * u_shapeScale);\n    float f = fract(stripesShape_uv.y);\n    shape = smoothstep(.0, .55, f) * (1.0 - smoothstep(.45, 1., f));\n    shape += .48 * sign(proportion - .5) * pow(abs(proportion - .5), .5);\n  } else {\n    float shapeScaling = 5. * (1. - u_shapeScale);\n    float e0 = 0.45 - shapeScaling;\n    float e1 = 0.55 + shapeScaling;\n    shape = smoothstep(min(e0, e1), max(e0, e1), 1.0 - uv.y + 0.3 * (proportion - 0.5));\n  }\n\n  float mixer = shape * (u_colorsCount - 1.);\n  vec4 gradient = u_colors[0];\n  gradient.rgb *= gradient.a;\n  float aa = fwidth(shape);\n  for (int i = 1; i < ${lo.maxColorCount}; i++) {\n    if (i >= int(u_colorsCount)) break;\n    float m = clamp(mixer - float(i - 1), 0.0, 1.0);\n\n    float localMixerStart = floor(m);\n    float softness = .5 * u_softness + fwidth(m);\n    float smoothed = smoothstep(max(0., .5 - softness - aa), min(1., .5 + softness + aa), m - localMixerStart);\n    float stepped = localMixerStart + smoothed;\n\n    m = mix(stepped, m, u_softness);\n\n    vec4 c = u_colors[i];\n    c.rgb *= c.a;\n    gradient = mix(gradient, c, m);\n  }\n\n  vec3 color = gradient.rgb;\n  float opacity = gradient.a;\n\n  ${b}\n\n  fragColor = vec4(color, opacity);\n}\n`,Xo={checks:0,stripes:1,edge:2};var co={maxColorCount:5},Jo=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\n\nuniform sampler2D u_noiseTexture;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colorBloom;\nuniform vec4 u_colors[${co.maxColorCount}];\nuniform float u_colorsCount;\n\nuniform float u_density;\nuniform float u_spotty;\nuniform float u_midSize;\nuniform float u_midIntensity;\nuniform float u_intensity;\nuniform float u_bloom;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n${A}\n${V}\nfloat valueNoise(vec2 st) {\n  vec2 i = floor(st);\n  vec2 f = fract(st);\n  float a = randomR(i);\n  float b = randomR(i + vec2(1.0, 0.0));\n  float c = randomR(i + vec2(0.0, 1.0));\n  float d = randomR(i + vec2(1.0, 1.0));\n  vec2 u = f * f * (3.0 - 2.0 * f);\n  float x1 = mix(a, b, u.x);\n  float x2 = mix(c, d, u.x);\n  return mix(x1, x2, u.y);\n}\n\n${G}\n\nfloat raysShape(vec2 uv, float r, float freq, float intensity, float radius) {\n  float a = atan(uv.y, uv.x);\n  vec2 left = vec2(a * freq, r);\n  vec2 right = vec2(fract(a / TWO_PI) * TWO_PI * freq, r);\n  float n_left = pow(valueNoise(left), intensity);\n  float n_right = pow(valueNoise(right), intensity);\n  float shape = mix(n_right, n_left, smoothstep(-.15, .15, uv.x));\n  return shape;\n}\n\nvoid main() {\n  vec2 shape_uv = v_objectUV;\n\n  float t = .2 * u_time;\n\n  float radius = length(shape_uv);\n  float spots = 6.5 * abs(u_spotty);\n\n  float intensity = 4. - 3. * clamp(u_intensity, 0., 1.);\n\n  float delta = 1. - smoothstep(0., 1., radius);\n\n  float midSize = 10. * abs(u_midSize);\n  float ms_lo = 0.02 * midSize;\n  float ms_hi = max(midSize, 1e-6);\n  float middleShape = pow(u_midIntensity, 0.3) * (1. - smoothstep(ms_lo, ms_hi, 3.0 * radius));\n  middleShape = pow(middleShape, 5.0);\n\n  vec3 accumColor = vec3(0.0);\n  float accumAlpha = 0.0;\n\n  for (int i = 0; i < ${co.maxColorCount}; i++) {\n    if (i >= int(u_colorsCount)) break;\n\n    vec2 rotatedUV = rotate(shape_uv, float(i) + 1.0);\n\n    float r1 = radius * (1.0 + 0.4 * float(i)) - 3.0 * t;\n    float r2 = 0.5 * radius * (1.0 + spots) - 2.0 * t;\n    float density = 6. * u_density + step(.5, u_density) * pow(4.5 * (u_density - .5), 4.);\n    float f = mix(1.0, 3.0 + 0.5 * float(i), hash11(float(i) * 15.)) * density;\n\n    float ray = raysShape(rotatedUV, r1, 5.0 * f, intensity, radius);\n    ray *= raysShape(rotatedUV, r2, 4.0 * f, intensity, radius);\n    ray += (1. + 4. * ray) * middleShape;\n    ray = clamp(ray, 0.0, 1.0);\n\n    float srcAlpha = u_colors[i].a * ray;\n    vec3 srcColor = u_colors[i].rgb * srcAlpha;\n\n    vec3 alphaBlendColor = accumColor + (1.0 - accumAlpha) * srcColor;\n    float alphaBlendAlpha = accumAlpha + (1.0 - accumAlpha) * srcAlpha;\n\n    vec3 addBlendColor = accumColor + srcColor;\n    float addBlendAlpha = accumAlpha + srcAlpha;\n\n    accumColor = mix(alphaBlendColor, addBlendColor, u_bloom);\n    accumAlpha = mix(alphaBlendAlpha, addBlendAlpha, u_bloom);\n  }\n\n  float overlayAlpha = u_colorBloom.a;\n  vec3 overlayColor = u_colorBloom.rgb * overlayAlpha;\n\n  vec3 colorWithOverlay = accumColor + accumAlpha * overlayColor;\n  accumColor = mix(accumColor, colorWithOverlay, u_bloom);\n\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n\n  vec3 color = accumColor + (1. - accumAlpha) * bgColor;\n  float opacity = accumAlpha + (1. - accumAlpha) * u_colorBack.a;\n  color = clamp(color, 0., 1.);\n  opacity = clamp(opacity, 0., 1.);\n\n  ${b}\n\n  fragColor = vec4(color, opacity);\n}\n`;var qo=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colorFront;\nuniform float u_density;\nuniform float u_distortion;\nuniform float u_strokeWidth;\nuniform float u_strokeCap;\nuniform float u_strokeTaper;\nuniform float u_noise;\nuniform float u_noiseFrequency;\nuniform float u_softness;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n${C}\n\nvoid main() {\n  vec2 uv = 2. * v_patternUV;\n  \n  float t = u_time;\n  float l = length(uv);\n  float density = clamp(u_density, 0., 1.);\n  l = pow(max(l, 1e-6), density);\n  float angle = atan(uv.y, uv.x) - t;\n  float angleNormalised = angle / TWO_PI;\n\n  angleNormalised += .125 * u_noise * snoise(16. * pow(u_noiseFrequency, 3.) * uv);\n\n  float offset = l + angleNormalised;\n  offset -= u_distortion * (sin(4. * l - .5 * t) * cos(PI + l + .5 * t));\n  float stripe = fract(offset);\n  \n  float shape = 2. * abs(stripe - .5);\n  float width = 1. - clamp(u_strokeWidth, .005 * u_strokeTaper, 1.);\n\n\n  float wCap = mix(width, (1. - stripe) * (1. - step(.5, stripe)), (1. - clamp(l, 0., 1.)));\n  width = mix(width, wCap, u_strokeCap);\n  width *= (1. - clamp(u_strokeTaper, 0., 1.) * l);\n\n  float fw = fwidth(offset);\n  float fwMult = 4. - 3. * (smoothstep(.05, .4, 2. * u_strokeWidth) * smoothstep(.05, .4, 2. * (1. - u_strokeWidth)));\n  float pixelSize = mix(fwMult * fw, fwidth(shape), clamp(fw, 0., 1.));\n  pixelSize = mix(pixelSize, .002, u_strokeCap * (1. - clamp(l, 0., 1.)));\n\n  float res = smoothstep(width - pixelSize - u_softness, width + pixelSize + u_softness, shape);\n\n  vec3 fgColor = u_colorFront.rgb * u_colorFront.a;\n  float fgOpacity = u_colorFront.a;\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  float bgOpacity = u_colorBack.a;\n\n  vec3 color = fgColor * res;\n  float opacity = fgOpacity * res;\n\n  color += bgColor * (1. - opacity);\n  opacity += bgOpacity * (1. - opacity);\n\n  ${b}\n\n  fragColor = vec4(color, opacity);\n}\n`;var uo={maxColorCount:10},Ko=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colors[${uo.maxColorCount}];\nuniform float u_colorsCount;\nuniform float u_bandCount;\nuniform float u_twist;\nuniform float u_center;\nuniform float u_proportion;\nuniform float u_softness;\nuniform float u_noise;\nuniform float u_noiseFrequency;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n${C}\n${A}\n\nvoid main() {\n  vec2 shape_uv = v_objectUV;\n\n  float l = length(shape_uv);\n  l = max(1e-4, l);\n  \n  float t = u_time;\n\n  float angle = ceil(u_bandCount) * atan(shape_uv.y, shape_uv.x) + t;\n  float angle_norm = angle / TWO_PI;\n\n  float twist = 3. * clamp(u_twist, 0., 1.);\n  float offset = pow(l, -twist) + angle_norm;\n\n  float shape = fract(offset);\n  shape = 1. - abs(2. * shape - 1.);\n  shape += u_noise * snoise(15. * pow(u_noiseFrequency, 2.) * shape_uv);\n\n  float mid = smoothstep(.2, .2 + .8 * u_center, pow(l, twist));\n  shape = mix(0., shape, mid);\n\n  float proportion = clamp(u_proportion, 0., 1.);\n  float exponent = mix(.25, 1., proportion * 2.);\n  exponent = mix(exponent, 10., max(0., proportion * 2. - 1.));\n  shape = pow(shape, exponent);\n\n  float mixer = shape * u_colorsCount;\n  vec4 gradient = u_colors[0];\n  gradient.rgb *= gradient.a;\n  \n  float outerShape = 0.;\n  for (int i = 1; i < ${uo.maxColorCount+1}; i++) {\n    if (i > int(u_colorsCount)) break;\n\n    float m = clamp(mixer - float(i - 1), 0., 1.);\n    float aa = fwidth(m);\n    m = smoothstep(.5 - .5 * u_softness - aa, .5 + .5 * u_softness + aa, m);\n\n    if (i == 1) {\n      outerShape = m;\n    }\n\n    vec4 c = u_colors[i - 1];\n    c.rgb *= c.a;\n    gradient = mix(gradient, c, m);\n  }\n\n  float midAA = .1 * fwidth(pow(l, -twist));\n  float outerMid = smoothstep(.2, .2 + midAA, pow(l, twist));\n  outerShape = mix(0., outerShape, outerMid);\n\n  vec3 color = gradient.rgb * outerShape;\n  float opacity = gradient.a * outerShape;\n\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  color = color + bgColor * (1.0 - opacity);\n  opacity = opacity + u_colorBack.a * (1.0 - opacity);\n\n  ${b}\n\n  fragColor = vec4(color, opacity);\n}\n`;var Zo=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\nuniform vec2 u_resolution;\nuniform float u_pixelRatio;\n\n${M}\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colorFront;\nuniform float u_shape;\nuniform float u_type;\nuniform float u_pxSize;\n\nout vec4 fragColor;\n\n${C}\n${f}\n${G}\n${R}\n\nfloat getSimplexNoise(vec2 uv, float t) {\n  float noise = .5 * snoise(uv - vec2(0., .3 * t));\n  noise += .5 * snoise(2. * uv + vec2(0., .32 * t));\n\n  return noise;\n}\n\nconst int bayer2x2[4] = int[4](0, 2, 3, 1);\nconst int bayer4x4[16] = int[16](\n  0,  8,  2, 10,\n 12,  4, 14,  6,\n  3, 11,  1,  9,\n 15,  7, 13,  5\n);\n\nconst int bayer8x8[64] = int[64](\n   0, 32,  8, 40,  2, 34, 10, 42,\n  48, 16, 56, 24, 50, 18, 58, 26,\n  12, 44,  4, 36, 14, 46,  6, 38,\n  60, 28, 52, 20, 62, 30, 54, 22,\n   3, 35, 11, 43,  1, 33,  9, 41,\n  51, 19, 59, 27, 49, 17, 57, 25,\n  15, 47,  7, 39, 13, 45,  5, 37,\n  63, 31, 55, 23, 61, 29, 53, 21\n);\n\nfloat getBayerValue(vec2 uv, int size) {\n  ivec2 pos = ivec2(fract(uv / float(size)) * float(size));\n  int index = pos.y * size + pos.x;\n\n  if (size == 2) {\n    return float(bayer2x2[index]) / 4.0;\n  } else if (size == 4) {\n    return float(bayer4x4[index]) / 16.0;\n  } else if (size == 8) {\n    return float(bayer8x8[index]) / 64.0;\n  }\n  return 0.0;\n}\n\n\nvoid main() {\n  float t = .5 * u_time;\n\n  #define USE_PATTERN_SIZING\n  #define USE_OBJECT_SIZING\n  #define USE_PIXELIZATION\n  // #define ADD_HELPERS\n\n  ${H}\n\n  vec2 dithering_uv = pxSizeUv;\n  vec2 ditheringNoise_uv = uv * u_resolution;\n  vec2 shape_uv = objectUV;\n  if (u_shape < 3.5) {\n    shape_uv = patternUV;\n  }\n\n  float shape = 0.;\n  if (u_shape < 1.5) {\n    // Simplex noise\n    shape_uv *= .001;\n\n    shape = 0.5 + 0.5 * getSimplexNoise(shape_uv, t);\n    shape = smoothstep(0.3, 0.9, shape);\n\n  } else if (u_shape < 2.5) {\n    // Warp\n    shape_uv *= .003;\n\n    for (float i = 1.0; i < 6.0; i++) {\n      shape_uv.x += 0.6 / i * cos(i * 2.5 * shape_uv.y + t);\n      shape_uv.y += 0.6 / i * cos(i * 1.5 * shape_uv.x + t);\n    }\n\n    shape = .15 / max(0.001, abs(sin(t - shape_uv.y - shape_uv.x)));\n    shape = smoothstep(0.02, 1., shape);\n\n  } else if (u_shape < 3.5) {\n    // Dots\n    shape_uv *= .05;\n\n    float stripeIdx = floor(2. * shape_uv.x / TWO_PI);\n    float rand = hash11(stripeIdx * 10.);\n    rand = sign(rand - .5) * pow(.1 + abs(rand), .4);\n    shape = sin(shape_uv.x) * cos(shape_uv.y - 5. * rand * t);\n    shape = pow(abs(shape), 6.);\n\n  } else if (u_shape < 4.5) {\n    // Sine wave\n    shape_uv *= 4.;\n\n    float wave = cos(.5 * shape_uv.x - 2. * t) * sin(1.5 * shape_uv.x + t) * (.75 + .25 * cos(3. * t));\n    shape = 1. - smoothstep(-1., 1., shape_uv.y + wave);\n\n  } else if (u_shape < 5.5) {\n    // Ripple\n\n    float dist = length(shape_uv);\n    float waves = sin(pow(dist, 1.7) * 7. - 3. * t) * .5 + .5;\n    shape = waves;\n\n  } else if (u_shape < 6.5) {\n    // Swirl\n\n    float l = length(shape_uv);\n    float angle = 6. * atan(shape_uv.y, shape_uv.x) + 4. * t;\n    float twist = 1.2;\n    float offset = 1. / pow(max(l, 1e-6), twist) + angle / TWO_PI;\n    float mid = smoothstep(0., 1., pow(l, twist));\n    shape = mix(0., fract(offset), mid);\n\n  } else {\n    // Sphere\n    shape_uv *= 2.;\n\n    float d = 1. - pow(length(shape_uv), 2.);\n    vec3 pos = vec3(shape_uv, sqrt(max(0., d)));\n    vec3 lightPos = normalize(vec3(cos(1.5 * t), .8, sin(1.25 * t)));\n    shape = .5 + .5 * dot(lightPos, pos);\n    shape *= step(0., d);\n  }\n\n\n  int type = int(floor(u_type));\n  float dithering = 0.0;\n\n  switch (type) {\n    case 1: {\n      dithering = step(hash21(ditheringNoise_uv), shape);\n    } break;\n    case 2:\n      dithering = getBayerValue(dithering_uv, 2);\n      break;\n    case 3:\n      dithering = getBayerValue(dithering_uv, 4);\n      break;\n    default:\n      dithering = getBayerValue(dithering_uv, 8);\n      break;\n  }\n\n  dithering -= .5;\n  float res = step(.5, shape + dithering);\n\n  vec3 fgColor = u_colorFront.rgb * u_colorFront.a;\n  float fgOpacity = u_colorFront.a;\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  float bgOpacity = u_colorBack.a;\n\n  vec3 color = fgColor * res;\n  float opacity = fgOpacity * res;\n\n  color += bgColor * (1. - opacity);\n  opacity += bgOpacity * (1. - opacity);\n\n  #ifdef ADD_HELPERS\n    vec2 helperBox = objectHelperBox;\n    vec2 boxSize = objectBoxSize;\n    if (u_shape < 3.5) {\n      helperBox = patternHelperBox;\n      boxSize = patternBoxSize;\n    }\n    ${yo}\n  #endif\n\n  fragColor = vec4(color, opacity);\n}\n`,$o={simplex:1,warp:2,dots:3,wave:4,ripple:5,swirl:6,sphere:7},oe={random:1,\"2x2\":2,\"4x4\":3,\"8x8\":4};var fo={maxColorCount:7},ee=`#version 300 es\nprecision lowp float;\n\nuniform mediump float u_time;\nuniform mediump vec2 u_resolution;\nuniform mediump float u_pixelRatio;\n\nuniform sampler2D u_noiseTexture;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colors[${fo.maxColorCount}];\nuniform float u_colorsCount;\nuniform float u_softness;\nuniform float u_intensity;\nuniform float u_noise;\nuniform float u_shape;\n\nuniform mediump float u_originX;\nuniform mediump float u_originY;\nuniform mediump float u_worldWidth;\nuniform mediump float u_worldHeight;\nuniform mediump float u_fit;\n\nuniform mediump float u_scale;\nuniform mediump float u_rotation;\nuniform mediump float u_offsetX;\nuniform mediump float u_offsetY;\n\n${u}\n${k}\n\nout vec4 fragColor;\n\n${f}\n${C}\n${A}\n${R}\n${V}\n\nfloat valueNoiseR(vec2 st) {\n  vec2 i = floor(st);\n  vec2 f = fract(st);\n  float a = randomR(i);\n  float b = randomR(i + vec2(1.0, 0.0));\n  float c = randomR(i + vec2(0.0, 1.0));\n  float d = randomR(i + vec2(1.0, 1.0));\n  vec2 u = f * f * (3.0 - 2.0 * f);\n  float x1 = mix(a, b, u.x);\n  float x2 = mix(c, d, u.x);\n  return mix(x1, x2, u.y);\n}\nfloat fbmR(vec2 n) {\n  float total = 0.;\n  float amplitude = .2;\n  for (int i = 0; i < 3; i++) {\n    n = rotate(n, .3);\n    total += valueNoiseR(n) * amplitude;\n    n *= 1.99;\n    amplitude *= 0.6;\n  }\n  return total;\n}\n\n${G}\n\nvec2 truchet(vec2 uv, float idx){\n    idx = fract(((idx - .5) * 2.));\n    if (idx > 0.75) {\n        uv = vec2(1.0) - uv;\n    } else if (idx > 0.5) {\n        uv = vec2(1.0 - uv.x, uv.y);\n    } else if (idx > 0.25) {\n        uv = 1.0 - vec2(1.0 - uv.x, uv.y);\n    }\n    return uv;\n}\n\nvoid main() {\n\n  const float firstFrameOffset = 7.;\n  float t = .1 * (u_time + firstFrameOffset);\n\n  vec2 shape_uv = vec2(0.);\n  vec2 grain_uv = vec2(0.);\n\n  if (u_shape > 3.5) {\n    shape_uv = v_objectUV;\n    grain_uv = shape_uv;\n\n    // apply inverse transform to grain_uv so it respects the originXY\n    float r = u_rotation * 3.14159265358979323846 / 180.;\n    mat2 graphicRotation = mat2(cos(r), sin(r), -sin(r), cos(r));\n    vec2 graphicOffset = vec2(-u_offsetX, u_offsetY);\n    grain_uv = transpose(graphicRotation) * grain_uv;\n    grain_uv *= u_scale;\n    grain_uv -= graphicOffset;\n    grain_uv *= v_objectBoxSize;\n    grain_uv *= .7;\n  } else {\n    shape_uv = .5 * v_patternUV;\n    grain_uv = 100. * v_patternUV;\n\n    // apply inverse transform to grain_uv so it respects the originXY\n    float r = u_rotation * 3.14159265358979323846 / 180.;\n    mat2 graphicRotation = mat2(cos(r), sin(r), -sin(r), cos(r));\n    vec2 graphicOffset = vec2(-u_offsetX, u_offsetY);\n    grain_uv = transpose(graphicRotation) * grain_uv;\n    grain_uv *= u_scale;\n    if (u_fit > 0.) {\n      vec2 givenBoxSize = vec2(u_worldWidth, u_worldHeight);\n      givenBoxSize = max(givenBoxSize, vec2(1.)) * u_pixelRatio;\n      float patternBoxRatio = givenBoxSize.x / givenBoxSize.y;\n      vec2 patternBoxGivenSize = vec2(\n        (u_worldWidth == 0.) ? u_resolution.x : givenBoxSize.x,\n        (u_worldHeight == 0.) ? u_resolution.y : givenBoxSize.y\n      );\n      patternBoxRatio = patternBoxGivenSize.x / patternBoxGivenSize.y;\n      float patternBoxNoFitBoxWidth = patternBoxRatio * min(patternBoxGivenSize.x / patternBoxRatio, patternBoxGivenSize.y);\n      grain_uv /= (patternBoxNoFitBoxWidth / v_patternBoxSize.x);\n    }\n    vec2 patternBoxScale = u_resolution.xy / v_patternBoxSize;\n    grain_uv -= graphicOffset / patternBoxScale;\n    grain_uv *= 1.6;\n  }\n\n\n  float shape = 0.;\n\n  if (u_shape < 1.5) {\n    // Sine wave\n\n    float wave = cos(.5 * shape_uv.x - 4. * t) * sin(1.5 * shape_uv.x + 2. * t) * (.75 + .25 * cos(6. * t));\n    shape = 1. - smoothstep(-1., 1., shape_uv.y + wave);\n\n  } else if (u_shape < 2.5) {\n    // Grid (dots)\n\n    float stripeIdx = floor(2. * shape_uv.x / TWO_PI);\n    float rand = hash11(stripeIdx * 100.);\n    rand = sign(rand - .5) * pow(4. * abs(rand), .3);\n    shape = sin(shape_uv.x) * cos(shape_uv.y - 5. * rand * t);\n    shape = pow(abs(shape), 4.);\n\n  } else if (u_shape < 3.5) {\n    // Truchet pattern\n\n    float n2 = valueNoiseR(shape_uv * .4 - 3.75 * t);\n    shape_uv.x += 10.;\n    shape_uv *= .6;\n\n    vec2 tile = truchet(fract(shape_uv), randomR(floor(shape_uv)));\n\n    float distance1 = length(tile);\n    float distance2 = length(tile - vec2(1.));\n\n    n2 -= .5;\n    n2 *= .1;\n    shape = smoothstep(.2, .55, distance1 + n2) * (1. - smoothstep(.45, .8, distance1 - n2));\n    shape += smoothstep(.2, .55, distance2 + n2) * (1. - smoothstep(.45, .8, distance2 - n2));\n\n    shape = pow(shape, 1.5);\n\n  } else if (u_shape < 4.5) {\n    // Corners\n\n    shape_uv *= .6;\n    vec2 outer = vec2(.5);\n\n    vec2 bl = smoothstep(vec2(0.), outer, shape_uv + vec2(.1 + .1 * sin(3. * t), .2 - .1 * sin(5.25 * t)));\n    vec2 tr = smoothstep(vec2(0.), outer, 1. - shape_uv);\n    shape = 1. - bl.x * bl.y * tr.x * tr.y;\n\n    shape_uv = -shape_uv;\n    bl = smoothstep(vec2(0.), outer, shape_uv + vec2(.1 + .1 * sin(3. * t), .2 - .1 * cos(5.25 * t)));\n    tr = smoothstep(vec2(0.), outer, 1. - shape_uv);\n    shape -= bl.x * bl.y * tr.x * tr.y;\n\n    shape = 1. - smoothstep(0., 1., shape);\n\n  } else if (u_shape < 5.5) {\n    // Ripple\n\n    shape_uv *= 2.;\n    float dist = length(.4 * shape_uv);\n    float waves = sin(pow(dist, 1.2) * 5. - 3. * t) * .5 + .5;\n    shape = waves;\n\n  } else if (u_shape < 6.5) {\n    // Blob\n\n    t *= 2.;\n\n    vec2 f1_traj = .25 * vec2(1.3 * sin(t), .2 + 1.3 * cos(.6 * t + 4.));\n    vec2 f2_traj = .2 * vec2(1.2 * sin(-t), 1.3 * sin(1.6 * t));\n    vec2 f3_traj = .25 * vec2(1.7 * cos(-.6 * t), cos(-1.6 * t));\n    vec2 f4_traj = .3 * vec2(1.4 * cos(.8 * t), 1.2 * sin(-.6 * t - 3.));\n\n    shape = .5 * pow(1. - clamp(0., 1., length(shape_uv + f1_traj)), 5.);\n    shape += .5 * pow(1. - clamp(0., 1., length(shape_uv + f2_traj)), 5.);\n    shape += .5 * pow(1. - clamp(0., 1., length(shape_uv + f3_traj)), 5.);\n    shape += .5 * pow(1. - clamp(0., 1., length(shape_uv + f4_traj)), 5.);\n\n    shape = smoothstep(.0, .9, shape);\n    float edge = smoothstep(.25, .3, shape);\n    shape = mix(.0, shape, edge);\n\n  } else {\n    // Sphere\n\n    shape_uv *= 2.;\n    float d = 1. - pow(length(shape_uv), 2.);\n    vec3 pos = vec3(shape_uv, sqrt(max(d, 0.)));\n    vec3 lightPos = normalize(vec3(cos(1.5 * t), .8, sin(1.25 * t)));\n    shape = .5 + .5 * dot(lightPos, pos);\n    shape *= step(0., d);\n  }\n\n  float simplex = snoise(grain_uv * .5);\n  float grainDist = simplex * snoise(grain_uv * .2) - fbmR(.002 * grain_uv + 10.) - fbmR(.003 * grain_uv);\n  float rawNoise = .75 * simplex - fbmR(rotate(.4 * grain_uv, 2.)) - fbmR(.001 * grain_uv);\n  float noise = clamp(rawNoise, 0., 1.);\n\n  shape += u_intensity * 2. / u_colorsCount * (grainDist + .5);\n  shape += u_noise * 10. / u_colorsCount * noise;\n\n  float aa = fwidth(shape);\n\n  shape = clamp(shape - .5 / u_colorsCount, 0., 1.);\n  float totalShape = smoothstep(0., u_softness + 2. * aa, clamp(shape * u_colorsCount, 0., 1.));\n  float mixer = shape * (u_colorsCount - 1.);\n\n  vec4 gradient = u_colors[0];\n  gradient.rgb *= gradient.a;\n  for (int i = 1; i < ${fo.maxColorCount}; i++) {\n    if (i > int(u_colorsCount) - 1) break;\n\n    float localT = clamp(mixer - float(i - 1), 0., 1.);\n    localT = smoothstep(.5 - .5 * u_softness - aa, .5 + .5 * u_softness + aa, localT);\n\n    vec4 c = u_colors[i];\n    c.rgb *= c.a;\n    gradient = mix(gradient, c, localT);\n  }\n\n  vec3 color = gradient.rgb * totalShape;\n  float opacity = gradient.a * totalShape;\n\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  color = color + bgColor * (1.0 - opacity);\n  opacity = opacity + u_colorBack.a * (1.0 - opacity);\n\n  fragColor = vec4(color, opacity);\n}\n`,te={wave:1,dots:2,truchet:3,corners:4,ripple:5,blob:6,sphere:7};var j={maxColorCount:5,maxSpots:4},ae=`#version 300 es\nprecision lowp float;\n\nuniform float u_time;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colors[${j.maxColorCount}];\nuniform float u_colorsCount;\nuniform float u_roundness;\nuniform float u_thickness;\nuniform float u_marginLeft;\nuniform float u_marginRight;\nuniform float u_marginTop;\nuniform float u_marginBottom;\nuniform float u_aspectRatio;\nuniform float u_softness;\nuniform float u_intensity;\nuniform float u_bloom;\nuniform float u_spotSize;\nuniform float u_spots;\nuniform float u_pulse;\nuniform float u_smoke;\nuniform float u_smokeSize;\n\nuniform sampler2D u_noiseTexture;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n\nfloat beat(float time) {\n  float first = pow(abs(sin(time * TWO_PI)), 10.);\n  float second = pow(abs(sin((time - .15) * TWO_PI)), 10.);\n\n  return clamp(first + 0.6 * second, 0.0, 1.0);\n}\n\nfloat sst(float edge0, float edge1, float x) {\n  return smoothstep(edge0, edge1, x);\n}\n\nfloat roundedBox(vec2 uv, vec2 halfSize, float distance, float cornerDistance, float thickness, float softness) {\n  float borderDistance = abs(distance);\n  float aa = 2. * fwidth(distance);\n  float border = 1. - sst(min(mix(thickness, -thickness, softness), thickness + aa), max(mix(thickness, -thickness, softness), thickness + aa), borderDistance);\n  float cornerFadeCircles = 0.;\n  cornerFadeCircles = mix(1., cornerFadeCircles, sst(0., 1., length((uv + halfSize) / thickness)));\n  cornerFadeCircles = mix(1., cornerFadeCircles, sst(0., 1., length((uv - vec2(-halfSize.x, halfSize.y)) / thickness)));\n  cornerFadeCircles = mix(1., cornerFadeCircles, sst(0., 1., length((uv - vec2(halfSize.x, -halfSize.y)) / thickness)));\n  cornerFadeCircles = mix(1., cornerFadeCircles, sst(0., 1., length((uv - halfSize) / thickness)));\n  aa = fwidth(cornerDistance);\n  float cornerFade = sst(0., mix(aa, thickness, softness), cornerDistance);\n  cornerFade *= cornerFadeCircles;\n  border += cornerFade;\n  return border;\n}\n\n${O}\n\nfloat randomG(vec2 p) {\n  vec2 uv = floor(p) / 100. + .5;\n  return texture(u_noiseTexture, fract(uv)).g;\n}\nfloat valueNoise(vec2 st) {\n  vec2 i = floor(st);\n  vec2 f = fract(st);\n  float a = randomG(i);\n  float b = randomG(i + vec2(1.0, 0.0));\n  float c = randomG(i + vec2(0.0, 1.0));\n  float d = randomG(i + vec2(1.0, 1.0));\n  vec2 u = f * f * (3.0 - 2.0 * f);\n  float x1 = mix(a, b, u.x);\n  float x2 = mix(c, d, u.x);\n  return mix(x1, x2, u.y);\n}\n\nvoid main() {\n  const float firstFrameOffset = 109.;\n  float t = 1.2 * (u_time + firstFrameOffset);\n\n  vec2 borderUV = v_responsiveUV;\n  float pulse = u_pulse * beat(.18 * u_time);\n\n  float canvasRatio = v_responsiveBoxGivenSize.x / v_responsiveBoxGivenSize.y;\n  vec2 halfSize = vec2(.5);\n  borderUV.x *= max(canvasRatio, 1.);\n  borderUV.y /= min(canvasRatio, 1.);\n  halfSize.x *= max(canvasRatio, 1.);\n  halfSize.y /= min(canvasRatio, 1.);\n\n  float mL = u_marginLeft;\n  float mR = u_marginRight;\n  float mT = u_marginTop;\n  float mB = u_marginBottom;\n  float mX = mL + mR;\n  float mY = mT + mB;\n\n  if (u_aspectRatio > 0.) {\n    float shapeRatio = canvasRatio * (1. - mX) / max(1. - mY, 1e-6);\n    float freeX = shapeRatio > 1. ? (1. - mX) * (1. - 1. / max(abs(shapeRatio), 1e-6)) : 0.;\n    float freeY = shapeRatio < 1. ? (1. - mY) * (1. - shapeRatio) : 0.;\n    mL += freeX * 0.5;\n    mR += freeX * 0.5;\n    mT += freeY * 0.5;\n    mB += freeY * 0.5;\n    mX = mL + mR;\n    mY = mT + mB;\n  }\n\n  float thickness = .5 * u_thickness * min(halfSize.x, halfSize.y);\n\n  halfSize.x *= (1. - mX);\n  halfSize.y *= (1. - mY);\n\n  vec2 centerShift = vec2(\n    (mL - mR) * max(canvasRatio, 1.) * 0.5,\n    (mB - mT) / min(canvasRatio, 1.) * 0.5\n  );\n\n  borderUV -= centerShift;\n  halfSize -= mix(thickness, 0., u_softness);\n\n  float radius = mix(0., min(halfSize.x, halfSize.y), u_roundness);\n  vec2 d = abs(borderUV) - halfSize + radius;\n  float outsideDistance = length(max(d, .0001)) - radius;\n  float insideDistance = min(max(d.x, d.y), .0001);\n  float cornerDistance = abs(min(max(d.x, d.y) - .45 * radius, .0));\n  float distance = outsideDistance + insideDistance;\n\n  float borderThickness = mix(thickness, 3. * thickness, u_softness);\n  float border = roundedBox(borderUV, halfSize, distance, cornerDistance, borderThickness, u_softness);\n  border = pow(border, 1. + u_softness);\n\n  vec2 smokeUV = .3 * u_smokeSize * v_patternUV;\n  float smoke = clamp(3. * valueNoise(2.7 * smokeUV + .5 * t), 0., 1.);\n  smoke -= valueNoise(3.4 * smokeUV - .5 * t);\n  float smokeThickness = thickness + .2;\n  smokeThickness = min(.4, max(smokeThickness, .1));\n  smoke *= roundedBox(borderUV, halfSize, distance, cornerDistance, smokeThickness, 1.);\n  smoke = 30. * smoke * smoke;\n  smoke *= mix(0., .5, pow(u_smoke, 2.));\n  smoke *= mix(1., pulse, u_pulse);\n  smoke = clamp(smoke, 0., 1.);\n  border += smoke;\n\n  border = clamp(border, 0., 1.);\n\n  vec3 blendColor = vec3(0.);\n  float blendAlpha = 0.;\n  vec3 addColor = vec3(0.);\n  float addAlpha = 0.;\n\n  float bloom = 4. * u_bloom;\n  float intensity = 1. + (1. + 4. * u_softness) * u_intensity;\n\n  float angle = atan(borderUV.y, borderUV.x) / TWO_PI;\n\n  for (int colorIdx = 0; colorIdx < ${j.maxColorCount}; colorIdx++) {\n    if (colorIdx >= int(u_colorsCount)) break;\n    float colorIdxF = float(colorIdx);\n\n    vec3 c = u_colors[colorIdx].rgb * u_colors[colorIdx].a;\n    float a = u_colors[colorIdx].a;\n\n    for (int spotIdx = 0; spotIdx < ${j.maxSpots}; spotIdx++) {\n      if (spotIdx >= int(u_spots)) break;\n      float spotIdxF = float(spotIdx);\n\n      vec2 randVal = randomGB(vec2(spotIdxF * 10. + 2., 40. + colorIdxF));\n\n      float time = (.1 + .15 * abs(sin(spotIdxF * (2. + colorIdxF)) * cos(spotIdxF * (2. + 2.5 * colorIdxF)))) * t + randVal.x * 3.;\n      time *= mix(1., -1., step(.5, randVal.y));\n\n      float mask = .5 + .5 * mix(\n        sin(t + spotIdxF * (5. - 1.5 * colorIdxF)),\n        cos(t + spotIdxF * (3. + 1.3 * colorIdxF)),\n        step(mod(colorIdxF, 2.), .5)\n      );\n\n      float p = clamp(2. * u_pulse - randVal.x, 0., 1.);\n      mask = mix(mask, pulse, p);\n\n      float atg1 = fract(angle + time);\n      float spotSize = .05 + .6 * pow(u_spotSize, 2.) + .05 * randVal.x;\n      spotSize = mix(spotSize, .1, p);\n      float sector = sst(.5 - spotSize, .5, atg1) * (1. - sst(.5, .5 + spotSize, atg1));\n\n      sector *= mask;\n      sector *= border;\n      sector *= intensity;\n      sector = clamp(sector, 0., 1.);\n\n      vec3 srcColor = c * sector;\n      float srcAlpha = a * sector;\n\n      blendColor += ((1. - blendAlpha) * srcColor);\n      blendAlpha = blendAlpha + (1. - blendAlpha) * srcAlpha;\n      addColor += srcColor;\n      addAlpha += srcAlpha;\n    }\n  }\n\n  vec3 accumColor = mix(blendColor, addColor, bloom);\n  float accumAlpha = mix(blendAlpha, addAlpha, bloom);\n  accumAlpha = clamp(accumAlpha, 0., 1.);\n\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  vec3 color = accumColor + (1. - accumAlpha) * bgColor;\n  float opacity = accumAlpha + (1. - accumAlpha) * u_colorBack.a;\n\n  ${b}\n\n  fragColor = vec4(color, opacity);\n}`,ie={auto:0,square:1};var X={maxColorCount:7},re=`#version 300 es\nprecision lowp float;\n\nuniform float u_time;\nuniform mediump float u_scale;\n\nuniform vec4 u_colors[${X.maxColorCount}];\nuniform float u_colorsCount;\nuniform vec4 u_colorBack;\nuniform float u_density;\nuniform float u_angle1;\nuniform float u_angle2;\nuniform float u_length;\nuniform bool u_edges;\nuniform float u_blur;\nuniform float u_fadeIn;\nuniform float u_fadeOut;\nuniform float u_gradient;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n\nconst float zLimit = .5;\n\nvec2 getPanel(float angle, vec2 uv, float invLength, float aa) {\n  float sinA = sin(angle);\n  float cosA = cos(angle);\n\n  float denom = sinA - uv.y * cosA;\n  if (abs(denom) < .01) return vec2(0.);\n  \n  float z = uv.y / denom;\n\n  if (z <= 0. || z > zLimit) return vec2(0.);\n\n  float zRatio = z / zLimit;\n  float panelMap = 1. - zRatio;\n  float x = uv.x * (cosA * z + 1.) * invLength;\n\n  float zOffset = zRatio - .5;\n  float left = -.5 + zOffset * u_angle1;\n  float right = .5 - zOffset * u_angle2;\n  float blurX = aa + 2. * panelMap * u_blur;\n\n  float leftEdge1 = left - blurX;\n  float leftEdge2 = left + .25 * blurX;\n  float rightEdge1 = right - .25 * blurX;\n  float rightEdge2 = right + blurX;\n\n  float panel = smoothstep(leftEdge1, leftEdge2, x) * (1.0 - smoothstep(rightEdge1, rightEdge2, x));\n  panel *= mix(0., panel, smoothstep(0., .01 / max(u_scale, 1e-6), panelMap));\n\n  float midScreen = abs(sinA);\n  if (u_edges == true) {\n    panelMap = mix(.99, panelMap, panel * clamp(panelMap / (.15 * (1. - pow(midScreen, .1))), 0.0, 1.0));\n  } else if (midScreen < .07) {\n    panel *= (midScreen * 15.);\n  }\n  \n  return vec2(panel, panelMap);\n}\n\nvec4 blendColor(vec4 colorA, float panelMask, float panelMap) {\n  float fade = 1. - smoothstep(.97 - .97 * u_fadeIn, 1., panelMap);\n  \n  fade *= smoothstep(-.2 * (1. - u_fadeOut), u_fadeOut, panelMap);\n\n  vec3 blendedRGB = mix(vec3(0.), colorA.rgb, fade);\n  float blendedAlpha = mix(0., colorA.a, fade);\n\n  return vec4(blendedRGB, blendedAlpha) * panelMask;\n}\n\nvoid main() {\n  vec2 uv = v_objectUV;\n  uv *= 1.25;\n\n  float t = .02 * u_time;\n  t = fract(t);\n  bool reverseTime = (t < 0.5);\n\n  vec3 color = vec3(0.);\n  float opacity = 0.;\n\n  float aa = .005 / u_scale;\n  int colorsCount = int(u_colorsCount);\n\n  vec4 premultipliedColors[${X.maxColorCount}];\n  for (int i = 0; i < ${X.maxColorCount}; i++) {\n    if (i >= colorsCount) break;\n    vec4 c = u_colors[i];\n    c.rgb *= c.a;\n    premultipliedColors[i] = c;\n  }\n\n  float invLength = 1.5 / max(u_length, .001);\n\n  float totalColorWeight = 0.;\n  int panelsNumber = 12;\n\n  float densityNormalizer = 1.;\n  if (colorsCount == 4) {\n    panelsNumber = 16;\n    densityNormalizer = 1.34;\n  } else if (colorsCount == 5) {\n    panelsNumber = 20;\n    densityNormalizer = 1.67;\n  } else if (colorsCount == 7) {\n    panelsNumber = 14;\n    densityNormalizer = 1.17;\n  }\n\n  float fPanelsNumber = float(panelsNumber);\n\n  float totalPanelsShape = 0.;\n  float panelGrad = 1. - clamp(u_gradient, 0., 1.);\n\n  for (int set = 0; set < 2; set++) {\n    bool isForward = (set == 0 && !reverseTime) || (set == 1 && reverseTime);\n    if (!isForward) continue;\n\n    for (int i = 0; i <= 20; i++) {\n      if (i >= panelsNumber) break;\n\n      int idx = panelsNumber - 1 - i;\n\n      float offset = float(idx) / fPanelsNumber;\n      if (set == 1) {\n        offset += .5;\n      }\n\n      float densityFract = densityNormalizer * fract(t + offset);\n      float angleNorm = densityFract / u_density;\n      if (densityFract >= .5 || angleNorm >= .3) continue;\n\n      float smoothDensity = clamp((.5 - densityFract) / .1, 0., 1.) * clamp(densityFract / .01, 0., 1.);\n      float smoothAngle = clamp((.3 - angleNorm) / .05, 0., 1.);\n      if (smoothDensity * smoothAngle < .001) continue;\n\n      if (angleNorm > .5) {\n        angleNorm = 0.5;\n      }\n      vec2 panel = getPanel(angleNorm * TWO_PI + PI, uv, invLength, aa);\n      if (panel[0] <= .001) continue;\n      float panelMask = panel[0] * smoothDensity * smoothAngle;\n      float panelMap = panel[1];\n\n      int colorIdx = idx % colorsCount;\n      int nextColorIdx = (idx + 1) % colorsCount;\n\n      vec4 colorA = premultipliedColors[colorIdx];\n      vec4 colorB = premultipliedColors[nextColorIdx];\n\n      colorA = mix(colorA, colorB, max(0., smoothstep(.0, .45, panelMap) - panelGrad));\n      vec4 blended = blendColor(colorA, panelMask, panelMap);\n      color = blended.rgb + color * (1. - blended.a);\n      opacity = blended.a + opacity * (1. - blended.a);\n    }\n\n\n    for (int i = 0; i <= 20; i++) {\n      if (i >= panelsNumber) break;\n\n      int idx = panelsNumber - 1 - i;\n\n      float offset = float(idx) / fPanelsNumber;\n      if (set == 0) {\n        offset += .5;\n      }\n\n      float densityFract = densityNormalizer * fract(-t + offset);\n      float angleNorm = -densityFract / u_density;\n      if (densityFract >= .5 || angleNorm < -.3) continue;\n\n      float smoothDensity = clamp((.5 - densityFract) / .1, 0., 1.) * clamp(densityFract / .01, 0., 1.);\n      float smoothAngle = clamp((angleNorm + .3) / .05, 0., 1.);\n      if (smoothDensity * smoothAngle < .001) continue;\n\n      vec2 panel = getPanel(angleNorm * TWO_PI + PI, uv, invLength, aa);\n      float panelMask = panel[0] * smoothDensity * smoothAngle;\n      if (panelMask <= .001) continue;\n      float panelMap = panel[1];\n\n      int colorIdx = (colorsCount - (idx % colorsCount)) % colorsCount;\n      if (colorIdx < 0) colorIdx += colorsCount;\n      int nextColorIdx = (colorIdx + 1) % colorsCount;\n\n      vec4 colorA = premultipliedColors[colorIdx];\n      vec4 colorB = premultipliedColors[nextColorIdx];\n\n      colorA = mix(colorA, colorB, max(0., smoothstep(.0, .45, panelMap) - panelGrad));\n      vec4 blended = blendColor(colorA, panelMask, panelMap);\n      color = blended.rgb + color * (1. - blended.a);\n      opacity = blended.a + opacity * (1. - blended.a);\n    }\n  }\n\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  color = color + bgColor * (1.0 - opacity);\n  opacity = opacity + u_colorBack.a * (1.0 - opacity);\n\n  ${b}\n\n  fragColor = vec4(color, opacity);\n}\n`;var mo={maxColorCount:10},se=`#version 300 es\nprecision mediump float;\n\nuniform vec4 u_colors[${mo.maxColorCount}];\nuniform float u_colorsCount;\n\nuniform float u_positions;\nuniform float u_waveX;\nuniform float u_waveXShift;\nuniform float u_waveY;\nuniform float u_waveYShift;\nuniform float u_mixing;\nuniform float u_grainMixer;\nuniform float u_grainOverlay;\n\n${u}\n${k}\n${M}\n\nout vec4 fragColor;\n\n${f}\n${A}\n${R}\n\nfloat valueNoise(vec2 st) {\n  vec2 i = floor(st);\n  vec2 f = fract(st);\n  float a = hash21(i);\n  float b = hash21(i + vec2(1.0, 0.0));\n  float c = hash21(i + vec2(0.0, 1.0));\n  float d = hash21(i + vec2(1.0, 1.0));\n  vec2 u = f * f * (3.0 - 2.0 * f);\n  float x1 = mix(a, b, u.x);\n  float x2 = mix(c, d, u.x);\n  return mix(x1, x2, u.y);\n}\n\nfloat noise(vec2 n, vec2 seedOffset) {\n  return valueNoise(n + seedOffset);\n}\n\nvec2 getPosition(int i, float t) {\n  float a = float(i) * .37;\n  float b = .6 + mod(float(i), 3.) * .3;\n  float c = .8 + mod(float(i + 1), 4.) * 0.25;\n\n  float x = sin(t * b + a);\n  float y = cos(t * c + a * 1.5);\n\n  return .5 + .5 * vec2(x, y);\n}\n\nvoid main() {\n  vec2 uv = v_objectUV;\n  uv += .5;\n\n  vec2 grainUV = v_objectUV;\n  // apply inverse transform to grain_uv so it respects the originXY\n  float grainUVRot = u_rotation * 3.14159265358979323846 / 180.;\n  mat2 graphicRotation = mat2(cos(grainUVRot), sin(grainUVRot), -sin(grainUVRot), cos(grainUVRot));\n  vec2 graphicOffset = vec2(-u_offsetX, u_offsetY);\n  grainUV = transpose(graphicRotation) * grainUV;\n  grainUV *= u_scale;\n  grainUV *= .7;\n  grainUV -= graphicOffset;\n  grainUV *= v_objectBoxSize;\n\n  float grain = noise(grainUV, vec2(0.));\n  float mixerGrain = .4 * u_grainMixer * (grain - .5);\n\n  float radius = smoothstep(0., 1., length(uv - .5));\n  float center = 1. - radius;\n  for (float i = 1.; i <= 2.; i++) {\n    uv.x += u_waveX * center / i * cos(TWO_PI * u_waveXShift + i * 2. * smoothstep(.0, 1., uv.y));\n    uv.y += u_waveY * center / i * cos(TWO_PI * u_waveYShift + i * 2. * smoothstep(.0, 1., uv.x));\n  }\n  \n  vec3 color = vec3(0.);\n  float opacity = 0.;\n  float totalWeight = 0.;\n  float positionSeed = 25. + .33 * u_positions;\n\n  for (int i = 0; i < ${mo.maxColorCount}; i++) {\n    if (i >= int(u_colorsCount)) break;\n\n    vec2 pos = getPosition(i, positionSeed) + mixerGrain;\n    float dist = length(uv - pos);\n    dist = length(uv - pos);\n\n    vec3 colorFraction = u_colors[i].rgb * u_colors[i].a;\n    float opacityFraction = u_colors[i].a;\n\n    float power = 4.;\n    if (u_mixing > .5) {\n      power = mix(power, .75, 2. * (u_mixing - .5));\n    }\n    dist = pow(dist, power);\n\n    float w = 1. / (dist + 1e-3);\n    if (u_mixing < .5) {\n      w = pow(w, mix(mix(.01, 5., clamp(w, 0., 1.)), 1., 2. * u_mixing));\n    }\n    color += colorFraction * w;\n    opacity += opacityFraction * w;\n    totalWeight += w;\n  }\n\n  color /= max(0.001, totalWeight);\n  opacity /= max(0.001, totalWeight);\n\n  float rr = noise(rotate(grainUV, 1.), vec2(3.));\n  float gg = noise(rotate(grainUV, 2.) + 10., vec2(-1.));\n  float bb = noise(grainUV - 2., vec2(5.));\n  vec3 grainColor = vec3(rr, gg, bb);\n  color = mix(color, grainColor, .01 + .3 * u_grainOverlay);\n  \n  fragColor = vec4(color, opacity);\n}\n`;var po={maxColorCount:10},ne=`#version 300 es\nprecision mediump float;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colors[${po.maxColorCount}];\nuniform float u_colorsCount;\n\nuniform float u_radius;\nuniform float u_focalDistance;\nuniform float u_focalAngle;\nuniform float u_falloff;\nuniform float u_mixing;\nuniform float u_distortion;\nuniform float u_distortionShift;\nuniform float u_distortionFreq;\nuniform float u_grainMixer;\nuniform float u_grainOverlay;\n\n${u}\n${k}\n${M}\n\nout vec4 fragColor;\n\n${f}\n${A}\n${R}\n\nfloat valueNoise(vec2 st) {\n  vec2 i = floor(st);\n  vec2 f = fract(st);\n  float a = hash21(i);\n  float b = hash21(i + vec2(1.0, 0.0));\n  float c = hash21(i + vec2(0.0, 1.0));\n  float d = hash21(i + vec2(1.0, 1.0));\n  vec2 u = f * f * (3.0 - 2.0 * f);\n  float x1 = mix(a, b, u.x);\n  float x2 = mix(c, d, u.x);\n  return mix(x1, x2, u.y);\n}\n\nfloat noise(vec2 n, vec2 seedOffset) {\n  return valueNoise(n + seedOffset);\n}\n\nvec2 getPosition(int i, float t) {\n  float a = float(i) * .37;\n  float b = .6 + mod(float(i), 3.) * .3;\n  float c = .8 + mod(float(i + 1), 4.) * 0.25;\n\n  float x = sin(t * b + a);\n  float y = cos(t * c + a * 1.5);\n\n  return .5 + .5 * vec2(x, y);\n}\n\nvoid main() {\n  vec2 uv = 2. * v_objectUV;\n\n  vec2 grainUV = v_objectUV;\n  // apply inverse transform to grain_uv so it respects the originXY\n  float grainUVRot = u_rotation * 3.14159265358979323846 / 180.;\n  mat2 graphicRotation = mat2(cos(grainUVRot), sin(grainUVRot), -sin(grainUVRot), cos(grainUVRot));\n  vec2 graphicOffset = vec2(-u_offsetX, u_offsetY);\n  grainUV = transpose(graphicRotation) * grainUV;\n  grainUV *= u_scale;\n  grainUV *= .7;\n  grainUV -= graphicOffset;\n  grainUV *= v_objectBoxSize;\n\n  vec2 center = vec2(0.);\n  float angleRad = -radians(u_focalAngle + 90.);\n  vec2 focalPoint = vec2(cos(angleRad), sin(angleRad)) * u_focalDistance;\n  float radius = u_radius;\n  \n  vec2 c_to_uv = uv - center;\n  vec2 f_to_uv = uv - focalPoint;\n  vec2 f_to_c = center - focalPoint;\n  float r = length(c_to_uv);\n  \n  float fragAngle = atan(c_to_uv.y, c_to_uv.x);\n  float angleDiff = fract((fragAngle - angleRad + PI) / TWO_PI) * TWO_PI - PI;\n\n  float halfAngle = acos(clamp(radius / max(u_focalDistance, 1e-4), 0.0, 1.0));\n  float e0 = 0.6 * PI, e1 = halfAngle;\n  float lo = min(e0, e1), hi = max(e0, e1);\n  float s  = smoothstep(lo, hi, abs(angleDiff));\n  float isInSector = (e1 >= e0) ? (1.0 - s) : s;\n  \n  float a = dot(f_to_uv, f_to_uv);\n  float b = -2.0 * dot(f_to_uv, f_to_c);\n  float c = dot(f_to_c, f_to_c) - radius * radius;\n\n  float discriminant = b * b - 4.0 * a * c;\n  float t = 1.0;\n\n  if (discriminant >= 0.0) {\n    float sqrtD = sqrt(discriminant);\n    float div = max(1e-4, 2.0 * a);\n    float t0 = (-b - sqrtD) / div;\n    float t1 = (-b + sqrtD) / div;\n    t = max(t0, t1);\n    if (t < 0.0) t = 0.0;\n  }\n\n  float dist = length(f_to_uv);\n  float normalized = dist / max(1e-4, length(f_to_uv * t));\n  float shape = clamp(normalized, 0.0, 1.0);\n\n  float falloffMapped = mix(.2 + .8 * max(0., u_falloff + 1.), mix(1., 15., u_falloff * u_falloff), step(.0, u_falloff));\n  \n  float falloffExp = mix(falloffMapped, 1., shape);\n  shape = pow(shape, falloffExp);\n  shape = 1. - clamp(shape, 0., 1.);\n\n\n  float outerMask = .002;\n  float outer = 1.0 - smoothstep(radius - outerMask, radius + outerMask, r);\n  outer = mix(outer, 1., isInSector);\n  \n  shape = mix(0., shape, outer);\n  shape *= 1. - smoothstep(radius - .01, radius, r);\n\n  float angle = atan(f_to_uv.y, f_to_uv.x);\n  shape -= pow(u_distortion, 2.) * shape * pow(abs(sin(PI * clamp(length(f_to_uv) - 0.2 + u_distortionShift, 0.0, 1.0))), 4.0) * (sin(u_distortionFreq * angle) + cos(floor(0.65 * u_distortionFreq) * angle));\n\n  float grain = noise(grainUV, vec2(0.));\n  float mixerGrain = .4 * u_grainMixer * (grain - .5);\n\n  float mixer = shape * u_colorsCount + mixerGrain;\n  vec4 gradient = u_colors[0];\n  gradient.rgb *= gradient.a;\n  \n  float outerShape = 0.;\n  for (int i = 1; i < ${po.maxColorCount+1}; i++) {\n    if (i > int(u_colorsCount)) break;\n    float mLinear = clamp(mixer - float(i - 1), 0.0, 1.0);\n    \n    float m = 0.;\n    float mixing = u_mixing * 3.;\n    if (mixing > 2.) {\n      float tt = mLinear * mLinear;\n      m = mix(mLinear, tt, .5 * clamp((mixing - 2.), 0., 1.));\n    } else if (mixing > 1.) {\n      m = mix(smoothstep(0., 1., mLinear), mLinear, clamp((mixing - 1.), 0., 1.));\n    } else {\n      float aa = fwidth(mLinear);\n      m = smoothstep(.5 - .5 * mixing - aa, .5 + .5 * mixing + aa, mLinear);\n    }\n    \n    if (i == 1) {\n      outerShape = m;\n    }\n\n    vec4 c = u_colors[i - 1];\n    c.rgb *= c.a;\n    gradient = mix(gradient, c, m);\n  }\n\n  vec3 color = gradient.rgb * outerShape;\n  float opacity = gradient.a * outerShape;\n\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  color = color + bgColor * (1.0 - opacity);\n  opacity = opacity + u_colorBack.a * (1.0 - opacity);\n\n  float rr = noise(rotate(grainUV, 1.), vec2(3.));\n  float gg = noise(rotate(grainUV, 2.) + 10., vec2(-1.));\n  float bb = noise(grainUV - 2., vec2(5.));\n  vec3 grainColor = vec3(rr, gg, bb);\n  color = mix(color, grainColor, .01 + .3 * u_grainOverlay);\n  opacity += u_grainOverlay * grain;\n  \n  fragColor = vec4(color, opacity);\n}\n`;var le=`#version 300 es\nprecision mediump float;\n\nuniform vec2 u_resolution;\nuniform float u_pixelRatio;\n\nuniform vec4 u_colorFront;\nuniform vec4 u_colorBack;\n\nuniform sampler2D u_image;\nuniform float u_imageAspectRatio;\n\nuniform float u_contrast;\nuniform float u_roughness;\nuniform float u_fiber;\nuniform float u_fiberSize;\nuniform float u_crumples;\nuniform float u_crumpleSize;\nuniform float u_folds;\nuniform float u_foldCount;\nuniform float u_drops;\nuniform float u_seed;\nuniform float u_fade;\n\nuniform sampler2D u_noiseTexture;\n\n${u}\n\nout vec4 fragColor;\n\nfloat getUvFrame(vec2 uv) {\n  float aax = 2. * fwidth(uv.x);\n  float aay = 2. * fwidth(uv.y);\n\n  float left   = smoothstep(0., aax, uv.x);\n  float right = 1. - smoothstep(1. - aax, 1., uv.x);\n  float bottom = smoothstep(0., aay, uv.y);\n  float top = 1. - smoothstep(1. - aay, 1., uv.y);\n\n  return left * right * bottom * top;\n}\n\n${f}\n${A}\n${V}\nfloat valueNoise(vec2 st) {\n  vec2 i = floor(st);\n  vec2 f = fract(st);\n  float a = randomR(i);\n  float b = randomR(i + vec2(1.0, 0.0));\n  float c = randomR(i + vec2(0.0, 1.0));\n  float d = randomR(i + vec2(1.0, 1.0));\n  vec2 u = f * f * (3.0 - 2.0 * f);\n  float x1 = mix(a, b, u.x);\n  float x2 = mix(c, d, u.x);\n  return mix(x1, x2, u.y);\n}\nfloat fbm(vec2 n) {\n  float total = 0.0, amplitude = .4;\n  for (int i = 0; i < 3; i++) {\n    total += valueNoise(n) * amplitude;\n    n *= 1.99;\n    amplitude *= 0.65;\n  }\n  return total;\n}\n\n\nfloat randomG(vec2 p) {\n  vec2 uv = floor(p) / 50. + .5;\n  return texture(u_noiseTexture, fract(uv)).g;\n}\nfloat roughness(vec2 p) {\n  p *= .1;\n  float o = 0.;\n  for (float i = 0.; ++i < 4.; p *= 2.1) {\n    vec4 w = vec4(floor(p), ceil(p));\n    vec2 f = fract(p);\n    o += mix(\n      mix(randomG(w.xy), randomG(w.xw), f.y),\n      mix(randomG(w.zy), randomG(w.zw), f.y),\n      f.x);\n    o += .2 / exp(2. * abs(sin(.2 * p.x + .5 * p.y)));\n  }\n  return o / 3.;\n}\n\n${wo}\n\nvec2 randomGB(vec2 p) {\n  vec2 uv = floor(p) / 50. + .5;\n  return texture(u_noiseTexture, fract(uv)).gb;\n}\nfloat crumpledNoise(vec2 t, float pw) {\n  vec2 p = floor(t);\n  float wsum = 0.;\n  float cl = 0.;\n  for (int y = -1; y < 2; y += 1) {\n    for (int x = -1; x < 2; x += 1) {\n      vec2 b = vec2(float(x), float(y));\n      vec2 q = b + p;\n      vec2 q2 = q - floor(q / 8.) * 8.;\n      vec2 c = q + randomGB(q2);\n      vec2 r = c - t;\n      float w = pow(smoothstep(0., 1., 1. - abs(r.x)), pw) * pow(smoothstep(0., 1., 1. - abs(r.y)), pw);\n      cl += (.5 + .5 * sin((q2.x + q2.y * 5.) * 8.)) * w;\n      wsum += w;\n    }\n  }\n  return pow(wsum != 0.0 ? cl / wsum : 0.0, .5) * 2.;\n}\nfloat crumplesShape(vec2 uv) {\n  return crumpledNoise(uv * .25, 16.) * crumpledNoise(uv * .5, 2.);\n}\n\n\nvec2 folds(vec2 uv) {\n    vec3 pp = vec3(0.);\n    float l = 9.;\n    for (float i = 0.; i < 15.; i++) {\n      if (i >= u_foldCount) break;\n      vec2 rand = randomGB(vec2(i, i * u_seed));\n      float an = rand.x * TWO_PI;\n      vec2 p = vec2(cos(an), sin(an)) * rand.y;\n      float dist = distance(uv, p);\n      l = min(l, dist);\n\n      if (l == dist) {\n        pp.xy = (uv - p.xy);\n        pp.z = dist;\n      }\n    }\n    return mix(pp.xy, vec2(0.), pow(pp.z, .25));\n}\n\nfloat drops(vec2 uv) {\n  vec2 iDropsUV = floor(uv);\n  vec2 fDropsUV = fract(uv);\n  float dropsMinDist = 1.;\n  for (int j = -1; j <= 1; j++) {\n    for (int i = -1; i <= 1; i++) {\n      vec2 neighbor = vec2(float(i), float(j));\n      vec2 offset = randomGB(iDropsUV + neighbor);\n      offset = .5 + .5 * sin(10. * u_seed + TWO_PI * offset);\n      vec2 pos = neighbor + offset - fDropsUV;\n      float dist = length(pos);\n      dropsMinDist = min(dropsMinDist, dropsMinDist*dist);\n    }\n  }\n  return 1. - smoothstep(.05, .09, pow(dropsMinDist, .5));\n}\n\nfloat lst(float edge0, float edge1, float x) {\n  return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n}\n\nvoid main() {\n\n  vec2 imageUV = v_imageUV;\n  vec2 patternUV = v_imageUV - .5;\n  patternUV = 5. * (patternUV * vec2(u_imageAspectRatio, 1.));\n\n  vec2 roughnessUv = 1.5 * (gl_FragCoord.xy - .5 * u_resolution) / u_pixelRatio;\n  float roughness = roughness(roughnessUv + vec2(1., 0.)) - roughness(roughnessUv - vec2(1., 0.));\n\n  vec2 crumplesUV = fract(patternUV * .02 / u_crumpleSize - u_seed) * 32.;\n  float crumples = u_crumples * (crumplesShape(crumplesUV + vec2(.05, 0.)) - crumplesShape(crumplesUV));\n\n  vec2 fiberUV = 2. / u_fiberSize * patternUV;\n  float fiber = fiberNoise(fiberUV, vec2(0.));\n  fiber = .5 * u_fiber * (fiber - 1.);\n\n  vec2 normal = vec2(0.);\n  vec2 normalImage = vec2(0.);\n\n  vec2 foldsUV = patternUV * .12;\n  foldsUV = rotate(foldsUV, 4. * u_seed);\n  vec2 w = folds(foldsUV);\n  foldsUV = rotate(foldsUV + .007 * cos(u_seed), .01 * sin(u_seed));\n  vec2 w2 = folds(foldsUV);\n\n  float drops = u_drops * drops(patternUV * 2.);\n\n  float fade = u_fade * fbm(.17 * patternUV + 10. * u_seed);\n  fade = clamp(8. * fade * fade * fade, 0., 1.);\n\n  w = mix(w, vec2(0.), fade);\n  w2 = mix(w2, vec2(0.), fade);\n  crumples = mix(crumples, 0., fade);\n  drops = mix(drops, 0., fade);\n  fiber *= mix(1., .5, fade);\n  roughness *= mix(1., .5, fade);\n\n  normal.xy += u_folds * min(5. * u_contrast, 1.) * 4. * max(vec2(0.), w + w2);\n  normalImage.xy += u_folds * 2. * w;\n\n  normal.xy += crumples;\n  normalImage.xy += 1.5 * crumples;\n\n  normal.xy += 3. * drops;\n  normalImage.xy += .2 * drops;\n\n  normal.xy += u_roughness * 1.5 * roughness;\n  normal.xy += fiber;\n\n  normalImage += u_roughness * .75 * roughness;\n  normalImage += .2 * fiber;\n\n  vec3 lightPos = vec3(1., 2., 1.);\n  float res = dot(normalize(vec3(normal, 9.5 - 9. * pow(u_contrast, .1))), normalize(lightPos));\n\n  vec3 fgColor = u_colorFront.rgb * u_colorFront.a;\n  float fgOpacity = u_colorFront.a;\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  float bgOpacity = u_colorBack.a;\n\n  imageUV += .02 * normalImage;\n  float frame = getUvFrame(imageUV);\n  vec4 image = texture(u_image, imageUV);\n  image.rgb += .6 * pow(u_contrast, .4) * (res - .7);\n\n  frame *= image.a;\n\n  vec3 color = fgColor * res;\n  float opacity = fgOpacity * res;\n\n  color += bgColor * (1. - opacity);\n  opacity += bgOpacity * (1. - opacity);\n  opacity = mix(opacity, 1., frame);\n\n  color -= .007 * drops;\n\n  color.rgb = mix(color, image.rgb, frame);\n\n  fragColor = vec4(color, opacity);\n}\n`;var ce=`#version 300 es\nprecision mediump float;\n\nuniform float u_time;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colorHighlight;\n\nuniform sampler2D u_image;\nuniform float u_imageAspectRatio;\n\nuniform float u_size;\nuniform float u_highlights;\nuniform float u_layering;\nuniform float u_edges;\nuniform float u_caustic;\nuniform float u_waves;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n${A}\n${C}\n\nfloat getUvFrame(vec2 uv) {\n  float aax = 2. * fwidth(uv.x);\n  float aay = 2. * fwidth(uv.y);\n\n  float left   = smoothstep(0., aax, uv.x);\n  float right = 1.0 - smoothstep(1. - aax, 1., uv.x);\n  float bottom = smoothstep(0., aay, uv.y);\n  float top = 1.0 - smoothstep(1. - aay, 1., uv.y);\n\n  return left * right * bottom * top;\n}\n\nmat2 rotate2D(float r) {\n  return mat2(cos(r), sin(r), -sin(r), cos(r));\n}\n\nfloat getCausticNoise(vec2 uv, float t, float scale) {\n  vec2 n = vec2(.1);\n  vec2 N = vec2(.1);\n  mat2 m = rotate2D(.5);\n  for (int j = 0; j < 6; j++) {\n    uv *= m;\n    n *= m;\n    vec2 q = uv * scale + float(j) + n + (.5 + .5 * float(j)) * (mod(float(j), 2.) - 1.) * t;\n    n += sin(q);\n    N += cos(q) / scale;\n    scale *= 1.1;\n  }\n  return (N.x + N.y + 1.);\n}\n\nvoid main() {\n  vec2 imageUV = v_imageUV;\n  vec2 patternUV = v_imageUV - .5;\n  patternUV = (patternUV * vec2(u_imageAspectRatio, 1.));\n  patternUV /= (.01 + .09 * u_size);\n\n  float t = u_time;\n\n  float wavesNoise = snoise((.3 + .1 * sin(t)) * .1 * patternUV + vec2(0., .4 * t));\n\n  float causticNoise = getCausticNoise(patternUV + u_waves * vec2(1., -1.) * wavesNoise, 2. * t, 1.5);\n\n  causticNoise += u_layering * getCausticNoise(patternUV + 2. * u_waves * vec2(1., -1.) * wavesNoise, 1.5 * t, 2.);\n  causticNoise = causticNoise * causticNoise;\n\n  float edgesDistortion = smoothstep(0., .1, imageUV.x);\n  edgesDistortion *= smoothstep(0., .1, imageUV.y);\n  edgesDistortion *= (smoothstep(1., 1.1, imageUV.x) + (1.0 - smoothstep(.8, .95, imageUV.x)));\n  edgesDistortion *= (1.0 - smoothstep(.9, 1., imageUV.y));\n  edgesDistortion = mix(edgesDistortion, 1., u_edges);\n\n  float causticNoiseDistortion = .02 * causticNoise * edgesDistortion;\n\n  float wavesDistortion = .1 * u_waves * wavesNoise;\n\n  imageUV += vec2(wavesDistortion, -wavesDistortion);\n  imageUV += (u_caustic * causticNoiseDistortion);\n\n  float frame = getUvFrame(imageUV);\n\n  vec4 image = texture(u_image, imageUV);\n  vec4 backColor = u_colorBack;\n  backColor.rgb *= backColor.a;\n\n  vec3 color = mix(backColor.rgb, image.rgb, image.a * frame);\n  float opacity = backColor.a + image.a * frame;\n\n  causticNoise = max(-.2, causticNoise);\n\n  float hightlight = .025 * u_highlights * causticNoise;\n  hightlight *= u_colorHighlight.a;\n  color = mix(color, u_colorHighlight.rgb, .05 * u_highlights * causticNoise);\n  opacity += hightlight;\n\n  color += hightlight * (.5 + .5 * wavesNoise);\n  opacity += hightlight * (.5 + .5 * wavesNoise);\n\n  opacity = clamp(opacity, 0., 1.);\n\n  fragColor = vec4(color, opacity);\n}\n`;var ue=`#version 300 es\nprecision mediump float;\n\nuniform vec2 u_resolution;\nuniform float u_pixelRatio;\n\nuniform sampler2D u_image;\nuniform float u_imageAspectRatio;\n\nuniform float u_size;\nuniform float u_angle;\nuniform float u_edges;\nuniform float u_shape;\nuniform float u_distortion;\nuniform float u_distortionShape;\nuniform float u_shift;\nuniform float u_blur;\nuniform float u_marginLeft;\nuniform float u_marginRight;\nuniform float u_marginTop;\nuniform float u_marginBottom;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n${A}\n\nfloat getUvFrame(vec2 uv) {\n  float aax = 2. * fwidth(uv.x);\n  float aay = 2. * fwidth(uv.y);\n\n  float left   = smoothstep(0., aax, uv.x);\n  float right  = 1. - smoothstep(1. - aax, 1., uv.x);\n  float bottom = smoothstep(0., aay, uv.y);\n  float top    = 1. - smoothstep(1. - aay, 1., uv.y);\n\n\n  return left * right * bottom * top;\n}\n\nconst int MAX_RADIUS = 50;\n\nvec4 getBlur(sampler2D tex, vec2 uv, vec2 texelSize, vec2 dir, float sigma) {\n  if (sigma <= .5) return texture(tex, uv);\n  int radius = int(min(float(MAX_RADIUS), ceil(3.0 * sigma)));\n\n  float twoSigma2 = 2.0 * sigma * sigma;\n  float gaussianNorm = 1.0 / sqrt(TWO_PI * sigma * sigma);\n\n  vec4 sum = texture(tex, uv) * gaussianNorm;\n  float weightSum = gaussianNorm;\n\n  for (int i = 1; i <= MAX_RADIUS; i++) {\n    if (i > radius) break;\n\n    float x = float(i);\n    float w = exp(-(x * x) / twoSigma2) * gaussianNorm;\n\n    vec2 offset = dir * texelSize * x;\n    vec4 s1 = texture(tex, uv + offset);\n    vec4 s2 = texture(tex, uv - offset);\n\n    sum += (s1 + s2) * w;\n    weightSum += 2.0 * w;\n  }\n\n  return sum / weightSum;\n}\n\nvoid main() {\n  vec2 imageUV = v_imageUV;\n\n  vec2 uv = imageUV;\n  float frame = getUvFrame(imageUV);\n  if (frame < .05) discard;\n\n  float effectSize = 1. / pow(.7 * (u_size + .5), 6.);\n\n  vec2 sw = vec2(.005 * u_distortion) * vec2(1., u_imageAspectRatio);\n  float maskOuter =\n    smoothstep(u_marginLeft - sw.x, u_marginLeft, imageUV.x + sw.x) *\n    smoothstep(u_marginRight - sw.x, u_marginRight, 1.0 - imageUV.x + sw.x) *\n    smoothstep(u_marginTop - sw.y, u_marginTop, imageUV.y + sw.y) *\n    smoothstep(u_marginBottom - sw.y, u_marginBottom, 1.0 - imageUV.y + sw.y);\n  float mask =\n    smoothstep(u_marginLeft, u_marginLeft + sw.x, imageUV.x + sw.x) *\n    smoothstep(u_marginRight, u_marginRight + sw.x, 1.0 - imageUV.x + sw.x) *\n    smoothstep(u_marginTop, u_marginTop + sw.y, imageUV.y + sw.y) *\n    smoothstep(u_marginBottom, u_marginBottom + sw.y, 1.0 - imageUV.y + sw.y);\n  float stroke = (1. - mask) * maskOuter;\n\n  float patternRotation = u_angle * PI / 180.;\n  uv = rotate(uv - vec2(.5), patternRotation);\n  uv *= effectSize;\n\n  float curve = 0.;\n  if (u_shape > 4.5) {\n    // pattern\n    curve = .5 + .5 * sin(1.5 * uv.x) * cos(1.5 * uv.y);\n  } else if (u_shape > 3.5) {\n    // zigzag\n    curve = 10. * abs(fract(.1 * uv.y) - .5);\n  } else if (u_shape > 2.5) {\n    // wave\n    curve = 4. * sin(.23 * uv.y);\n  } else if (u_shape > 1.5) {\n    // lines irregular\n    curve = .5 + .5 * sin(.5 * uv.x) * sin(1.7 * uv.x);\n  } else {\n    // lines\n  }\n\n  vec2 uvOrig = uv;\n  uv += curve;\n\n  vec2 fractUV = fract(uv);\n  vec2 floorUV = floor(uv);\n\n  vec2 fractOrigUV = fract(uvOrig);\n  vec2 floorOrigUV = floor(uvOrig);\n\n  float edges = smoothstep(.85, .95, fractUV.x);\n  edges *= mask;\n\n  float xDistortion = 0.;\n  if (u_distortionShape == 1.) {\n    xDistortion = -pow(1.5 * fractUV.x, 3.) + (.5 + u_shift);\n  } else if (u_distortionShape == 2.) {\n    xDistortion = 2. * pow(fractUV.x, 2.) - (.5 + u_shift);\n  } else if (u_distortionShape == 3.) {\n    xDistortion = pow(2. * (fractUV.x - .5), 6.) + .5 - .5 + u_shift;\n  } else if (u_distortionShape == 4.) {\n    xDistortion = sin((fractUV.x + .25 + u_shift) * TWO_PI);\n    xDistortion *= .5;\n  } else if (u_distortionShape == 5.) {\n    xDistortion += (.5 + u_shift);\n    xDistortion -= pow(abs(fractUV.x), .2) * fractUV.x;\n    xDistortion *= .33;\n  }\n\n  xDistortion *= 3. * u_distortion;\n\n  uv = (floorOrigUV + fractOrigUV) / effectSize;\n  uv.x += xDistortion / effectSize;\n  uv += pow(stroke, 4.);\n  uv.y = mix(uv.y, .0, .4 * u_edges * edges);\n\n  uv = rotate(uv, -patternRotation) + vec2(.5);\n\n  uv = mix(imageUV, uv, mask);\n  float blur = mix(0., u_blur, mask);\n\n  vec4 color = getBlur(u_image, uv, 1. / u_resolution / u_pixelRatio, vec2(0., 1.), blur);\n\n  float opacity = color.a;\n  fragColor = vec4(color.rgb, opacity);\n}\n`,fe={lines:1,linesIrregular:2,wave:3,zigzag:4,pattern:5},me={prism:1,lens:2,contour:3,cascade:4,facete:5};var pe=`#version 300 es\nprecision mediump float;\n\nuniform mediump vec2 u_resolution;\nuniform mediump float u_pixelRatio;\nuniform mediump float u_originX;\nuniform mediump float u_originY;\nuniform mediump float u_worldWidth;\nuniform mediump float u_worldHeight;\nuniform mediump float u_fit;\n\nuniform mediump float u_scale;\nuniform mediump float u_rotation;\nuniform mediump float u_offsetX;\nuniform mediump float u_offsetY;\n\nuniform vec4 u_colorFront;\nuniform vec4 u_colorBack;\nuniform vec4 u_colorHighlight;\n\nuniform sampler2D u_image;\nuniform mediump float u_imageAspectRatio;\n\nuniform float u_type;\nuniform float u_pxSize;\nuniform bool u_originalColors;\nuniform float u_colorSteps;\n\nout vec4 fragColor;\n\nfloat getUvFrame(vec2 uv, vec2 px) {\n  float left   = step(-px.x, uv.x);\n  float right  = step(uv.x, 1.);\n  float bottom = step(-px.y, uv.y);\n  float top    = step(uv.y, 1. + px.y);\n\n  return left * right * bottom * top;\n}\n\n${R}\n\nconst int bayer2x2[4] = int[4](0, 2, 3, 1);\nconst int bayer4x4[16] = int[16](\n  0,  8,  2, 10,\n 12,  4, 14,  6,\n  3, 11,  1,  9,\n 15,  7, 13,  5\n);\n\nconst int bayer8x8[64] = int[64](\n   0, 32,  8, 40,  2, 34, 10, 42,\n  48, 16, 56, 24, 50, 18, 58, 26,\n  12, 44,  4, 36, 14, 46,  6, 38,\n  60, 28, 52, 20, 62, 30, 54, 22,\n   3, 35, 11, 43,  1, 33,  9, 41,\n  51, 19, 59, 27, 49, 17, 57, 25,\n  15, 47,  7, 39, 13, 45,  5, 37,\n  63, 31, 55, 23, 61, 29, 53, 21\n);\n\nfloat getBayerValue(vec2 uv, int size) {\n  ivec2 pos = ivec2(fract(uv / float(size)) * float(size));\n  int index = pos.y * size + pos.x;\n\n  if (size == 2) {\n    return float(bayer2x2[index]) / 4.0;\n  } else if (size == 4) {\n    return float(bayer4x4[index]) / 16.0;\n  } else if (size == 8) {\n    return float(bayer8x8[index]) / 64.0;\n  }\n  return 0.0;\n}\n\n\nvoid main() {\n\n  #define USE_IMAGE_SIZING\n  #define USE_PIXELIZATION\n  ${H}\n\n  vec2 dithering_uv = pxSizeUv;\n  vec2 ditheringNoise_uv = u_resolution * uv;\n  vec4 image = texture(u_image, imageUV);\n  float frame = getUvFrame(imageUV, pxSize / u_resolution.xy);\n\n  int type = int(floor(u_type));\n  float dithering = 0.0;\n\n  float lum = dot(vec3(.2126, .7152, .0722), image.rgb);\n\n  switch (type) {\n    case 1: {\n      dithering = step(hash21(ditheringNoise_uv), lum);\n    } break;\n    case 2:\n      dithering = getBayerValue(dithering_uv, 2);\n      break;\n    case 3:\n      dithering = getBayerValue(dithering_uv, 4);\n      break;\n    default:\n      dithering = getBayerValue(dithering_uv, 8);\n      break;\n  }\n\n\n  float steps = max(floor(u_colorSteps), 1.);\n  float ditherAmount = 1.0 / (steps);\n\n  vec3 color = vec3(0.0);\n  float opacity = 1.;\n\n  dithering -= .5;\n  float brightness = clamp(lum + dithering * ditherAmount, 0.0, 1.0);\n  brightness = mix(0.0, brightness, frame);\n  float quantLum = floor(brightness * steps + 0.5) / steps;\n\n  if (u_originalColors == true) {\n    vec3 normColor = image.rgb / max(lum, 0.001);\n    color = normColor * quantLum;\n\n    float quantAlpha = floor(image.a * steps + 0.5) / steps;\n    opacity = mix(quantLum, 1., quantAlpha);\n  } else {\n    vec3 fgColor = u_colorFront.rgb * u_colorFront.a;\n    float fgOpacity = u_colorFront.a;\n    vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n    float bgOpacity = u_colorBack.a;\n    vec3 hlColor = u_colorHighlight.rgb * u_colorHighlight.a;\n    float hlOpacity = u_colorHighlight.a;\n\n    fgColor = mix(fgColor, hlColor, step(1.02 - .02 * u_colorSteps, brightness));\n    fgOpacity = mix(fgOpacity, hlOpacity, step(1.02 - .02 * u_colorSteps, brightness));\n\n    color = fgColor * quantLum;\n    opacity = fgOpacity * quantLum;\n    color += bgColor * (1.0 - opacity);\n    opacity += bgOpacity * (1.0 - opacity);\n  }\n\n\n  fragColor = vec4(color, opacity);\n}\n`;var go={maxColorCount:10},de=`#version 300 es\nprecision highp float;\n\nin mediump vec2 v_imageUV;\nin mediump vec2 v_objectUV;\nout vec4 fragColor;\n\nuniform sampler2D u_image;\nuniform float u_time;\nuniform mediump float u_imageAspectRatio;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colors[${go.maxColorCount}];\nuniform float u_colorsCount;\n\nuniform float u_angle;\nuniform float u_noise;\nuniform float u_innerGlow;\nuniform float u_outerGlow;\nuniform float u_contour;\n\n#define TWO_PI 6.28318530718\n#define PI 3.14159265358979323846\n\nfloat getImgFrame(vec2 uv, float th) {\n  float frame = 1.;\n  frame *= smoothstep(0., th, uv.y);\n  frame *= 1. - smoothstep(1. - th, 1., uv.y);\n  frame *= smoothstep(0., th, uv.x);\n  frame *= 1. - smoothstep(1. - th, 1., uv.x);\n  return frame;\n}\n\nfloat circle(vec2 uv, vec2 c, vec2 r) {\n  return 1. - smoothstep(r[0], r[1], length(uv - c));\n}\n\nfloat lst(float edge0, float edge1, float x) {\n  return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n}\n\nfloat sst(float edge0, float edge1, float x) {\n  return smoothstep(edge0, edge1, x);\n}\n\nfloat shadowShape(vec2 uv, float t, float contour) {\n  vec2 scaledUV = uv;\n\n  // base shape tranjectory\n  float posY = mix(-1., 2., t);\n\n  // scaleX when it's moving down\n  scaledUV.y -= .5;\n  float mainCircleScale = sst(0., .8, posY) * lst(1.4, .9, posY);\n  scaledUV *= vec2(1., 1. + 1.5 * mainCircleScale);\n  scaledUV.y += .5;\n\n  // base shape\n  float innerR = .4;\n  float outerR = 1. - .3 * (sst(.1, .2, t) * (1. - sst(.2, .5, t)));\n  float s = circle(scaledUV, vec2(.5, posY - .2), vec2(innerR, outerR));\n  float shapeSizing = sst(.2, .3, t) * sst(.6, .3, t);\n  s = pow(s, 1.4);\n  s *= 1.2;\n\n  // flat gradient to take over the shadow shape\n  float topFlattener = 0.;\n  {\n    float pos = posY - uv.y;\n    float edge = 1.2;\n    topFlattener = lst(-.4, 0., pos) * (1. - sst(.0, edge, pos));\n    topFlattener = pow(topFlattener, 3.);\n    float topFlattenerMixer = (1. - sst(.0, .3, pos));\n    s = mix(topFlattener, s, topFlattenerMixer);\n  }\n\n  // apple right circle\n  {\n    float visibility = sst(.6, .7, t) * (1. - sst(.8, .9, t));\n    float angle = -2. -t * TWO_PI;\n    float rightCircle = circle(uv, vec2(.95 - .2 * cos(angle), .4 - .1 * sin(angle)), vec2(.15, .3));\n    rightCircle *= visibility;\n    s = mix(s, 0., rightCircle);\n  }\n\n  // apple top circle\n  {\n    float topCircle = circle(uv, vec2(.5, .19), vec2(.05, .25));\n    topCircle += 2. * contour * circle(uv, vec2(.5, .19), vec2(.2, .5));\n    float visibility = .55 * sst(.2, .3, t) * (1. - sst(.3, .45, t));\n    topCircle *= visibility;\n    s = mix(s, 0., topCircle);\n  }\n\n  float leafMask = circle(uv, vec2(.53, .13), vec2(.08, .19));\n  leafMask = mix(leafMask, 0., 1. - sst(.4, .54, uv.x));\n  leafMask = mix(0., leafMask, sst(.0, .2, uv.y));\n  leafMask *= (sst(.5, 1.1, posY) * sst(1.5, 1.3, posY));\n  s += leafMask;\n\n  // apple bottom circle\n  {\n    float visibility = sst(.0, .4, t) * (1. - sst(.6, .8, t));\n    s = mix(s, 0., visibility * circle(uv, vec2(.52, .92), vec2(.09, .25)));\n  }\n\n  // random balls that are invisible if apple logo is selected\n  {\n    float pos = sst(.0, .6, t) * (1. - sst(.6, 1., t));\n    s = mix(s, .5, circle(uv, vec2(.0, 1.2 - .5 * pos), vec2(.1, .3)));\n    s = mix(s, .0, circle(uv, vec2(1., .5 + .5 * pos), vec2(.1, .3)));\n\n    s = mix(s, 1., circle(uv, vec2(.95, .2 + .2 * sst(.3, .4, t) * sst(.7, .5, t)), vec2(.07, .22)));\n    s = mix(s, 1., circle(uv, vec2(.95, .2 + .2 * sst(.3, .4, t) * (1. - sst(.5, .7, t))), vec2(.07, .22)));\n    s /= max(1e-4, sst(1., .85, uv.y));\n  }\n\n  s = clamp(0., 1., s);\n  return s;\n}\n\n\nvoid main() {\n  vec2 uv = v_objectUV + .5;\n  uv.y = 1. - uv.y;\n\n  vec2 imgUV = v_imageUV;\n  imgUV -= .5;\n  imgUV *= 0.5714285714285714;\n  imgUV += .5;\n  float imgSoftFrame = getImgFrame(imgUV, .03);\n\n  vec4 img = texture(u_image, imgUV);\n  if (img.a == 0.) {\n    fragColor = u_colorBack;\n    return;\n  }\n\n  float t = .1 * u_time;\n  t -= .3;\n\n  float tCopy = t + 1. / 3.;\n  float tCopy2 = t + 2. / 3.;\n\n  t = mod(t, 1.);\n  tCopy = mod(tCopy, 1.);\n  tCopy2 = mod(tCopy2, 1.);\n\n  vec2 animationUV = imgUV - vec2(.5);\n  float angle = -u_angle * PI / 180.;\n  float cosA = cos(angle);\n  float sinA = sin(angle);\n  animationUV = vec2(\n  animationUV.x * cosA - animationUV.y * sinA,\n  animationUV.x * sinA + animationUV.y * cosA\n  ) + vec2(.5);\n\n  float shape = img[0];\n  float outerBlur = 1. - mix(1., img[1], shape);\n  float innerBlur = mix(img[1], 0., shape);\n  float contour = mix(img[2], 0., shape);\n\n  outerBlur *= imgSoftFrame;\n\n  float shadow = shadowShape(animationUV, t, innerBlur);\n  float shadowCopy = shadowShape(animationUV, tCopy, innerBlur);\n  float shadowCopy2 = shadowShape(animationUV, tCopy2, innerBlur);\n\n  float inner = .8 + .8 * innerBlur;\n  inner = mix(inner, 0., shadow);\n  inner = mix(inner, 0., shadowCopy);\n  inner = mix(inner, 0., shadowCopy2);\n\n  inner *= mix(0., 2., u_innerGlow);\n\n  inner += (u_contour * 2.) * contour;\n  inner = min(1., inner);\n  inner *= (1. - shape);\n\n  float outer = 0.;\n  {\n    t *= 3.;\n    t = mod(t - .1, 1.);\n\n    outer = .9 * pow(outerBlur, .8);\n    float y = mod(animationUV.y - t, 1.);\n    float animatedMask = sst(.3, .65, y) * (1. - sst(.65, 1., y));\n    animatedMask = .5 + animatedMask;\n    outer *= animatedMask;\n    outer *= mix(0., 5., pow(u_outerGlow, 2.));\n    outer *= imgSoftFrame;\n  }\n\n  inner = pow(inner, 1.2);\n  float heat = clamp(inner + outer, 0., 1.);\n\n  heat += (.005 + .35 * u_noise) * (fract(sin(dot(uv, vec2(12.9898, 78.233))) * 43758.5453123) - .5);\n\n  float mixer = heat * u_colorsCount;\n  vec4 gradient = u_colors[0];\n  gradient.rgb *= gradient.a;\n  float outerShape = 0.;\n  for (int i = 1; i < ${go.maxColorCount+1}; i++) {\n    if (i > int(u_colorsCount)) break;\n    float m = clamp(mixer - float(i - 1), 0., 1.);\n    if (i == 1) {\n      outerShape = m;\n    }\n    vec4 c = u_colors[i - 1];\n    c.rgb *= c.a;\n    gradient = mix(gradient, c, m);\n  }\n\n  vec3 color = gradient.rgb * outerShape;\n  float opacity = gradient.a * outerShape;\n\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  color = color + bgColor * (1.0 - opacity);\n  opacity = opacity + u_colorBack.a * (1.0 - opacity);\n\n  color += .02 * (fract(sin(dot(uv + 1., vec2(12.9898, 78.233))) * 43758.5453123) - .5);\n\n  fragColor = vec4(color, opacity);\n}\n`;function ge(e){let o=document.createElement(\"canvas\"),t=1e3;return new Promise((i,n)=>{let r=new Image;r.crossOrigin=\"anonymous\",r.addEventListener(\"load\",()=>{(typeof e==\"string\"?e.endsWith(\".svg\"):e.type===\"image/svg+xml\")&&(r.width=t,r.height=t);let m=r.naturalWidth/r.naturalHeight,a=Math.floor(t*.15),p=Math.ceil(a*2.5),l=t,v=t;m>1?v=Math.floor(t/m):l=Math.floor(t*m),o.width=l+2*p,o.height=v+2*p;let c=o.getContext(\"2d\",{willReadFrequently:!0});if(!c)throw new Error(\"Failed to get canvas 2d context\");c.fillStyle=\"white\",c.fillRect(0,0,o.width,o.height),c.filter=\"grayscale(100%) blur(\"+a+\"px)\",c.drawImage(r,p,p,l,v);let x=c.getImageData(0,0,o.width,o.height).data;c.fillRect(0,0,o.width,o.height),c.filter=\"grayscale(100%) blur(\"+Math.round(.12*a)+\"px)\",c.drawImage(r,p,p,l,v);let E=c.getImageData(0,0,o.width,o.height).data;c.fillRect(0,0,o.width,o.height),c.filter=\"grayscale(100%) blur(5px)\",c.drawImage(r,p,p,l,v);let I=c.getImageData(0,0,o.width,o.height).data,h=c.createImageData(o.width,o.height),s=o.width*o.height;for(let g=0;g<s;g++){let y=g*4;h.data[y]=I[y],h.data[y+1]=x[y],h.data[y+2]=E[y],h.data[y+3]=255}c.putImageData(h,0,0),o.toBlob(g=>{if(!g){n(new Error(\"Failed to create PNG blob\"));return}i({blob:g})},\"image/png\")}),r.addEventListener(\"error\",()=>{n(new Error(\"Failed to load image\"))}),r.src=typeof e==\"string\"?e:URL.createObjectURL(e)})}var ve=`#version 300 es\nprecision mediump float;\n\nuniform sampler2D u_image;\nuniform float u_imageAspectRatio;\n\nuniform vec2 u_resolution;\nuniform float u_time;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colorTint;\n\nuniform float u_softness;\nuniform float u_repetition;\nuniform float u_shiftRed;\nuniform float u_shiftBlue;\nuniform float u_distortion;\nuniform float u_contour;\nuniform float u_angle;\n\nuniform float u_shape;\nuniform bool u_isImage;\n\n${u}\n\nout vec4 fragColor;\n\n${f}\n${A}\n${C}\n\nfloat getColorChanges(float c1, float c2, float stripe_p, vec3 w, float blur, float bump, float tint) {\n\n  float ch = mix(c2, c1, smoothstep(.0, 2. * blur, stripe_p));\n\n  float border = w[0];\n  ch = mix(ch, c2, smoothstep(border, border + 2. * blur, stripe_p));\n\n  if (u_isImage == true) {\n    bump = smoothstep(.2, .8, bump);\n  }\n  border = w[0] + .4 * (1. - bump) * w[1];\n  ch = mix(ch, c1, smoothstep(border, border + 2. * blur, stripe_p));\n\n  border = w[0] + .5 * (1. - bump) * w[1];\n  ch = mix(ch, c2, smoothstep(border, border + 2. * blur, stripe_p));\n\n  border = w[0] + w[1];\n  ch = mix(ch, c1, smoothstep(border, border + 2. * blur, stripe_p));\n\n  float gradient_t = (stripe_p - w[0] - w[1]) / w[2];\n  float gradient = mix(c1, c2, smoothstep(0., 1., gradient_t));\n  ch = mix(ch, gradient, smoothstep(border, border + .5 * blur, stripe_p));\n\n  // Tint color is applied with color burn blending\n  ch = mix(ch, 1. - min(1., (1. - ch) / max(tint, 0.0001)), u_colorTint.a);\n  return ch;\n}\n\nfloat getImgFrame(vec2 uv, float th) {\n  float frame = 1.;\n  frame *= smoothstep(0., th, uv.y);\n  frame *= 1.0 - smoothstep(1. - th, 1., uv.y);\n  frame *= smoothstep(0., th, uv.x);\n  frame *= 1.0 - smoothstep(1. - th, 1., uv.x);\n  return frame;\n}\n\nfloat blurEdge3x3(sampler2D tex, vec2 uv, vec2 dudx, vec2 dudy, float radius, float centerSample) {\n  vec2 texel = 1.0 / vec2(textureSize(tex, 0));\n  vec2 r = radius * texel;\n\n  float w1 = 1.0, w2 = 2.0, w4 = 4.0;\n  float norm = 16.0;\n  float sum = w4 * centerSample;\n\n  sum += w2 * textureGrad(tex, uv + vec2(0.0, -r.y), dudx, dudy).r;\n  sum += w2 * textureGrad(tex, uv + vec2(0.0, r.y), dudx, dudy).r;\n  sum += w2 * textureGrad(tex, uv + vec2(-r.x, 0.0), dudx, dudy).r;\n  sum += w2 * textureGrad(tex, uv + vec2(r.x, 0.0), dudx, dudy).r;\n\n  sum += w1 * textureGrad(tex, uv + vec2(-r.x, -r.y), dudx, dudy).r;\n  sum += w1 * textureGrad(tex, uv + vec2(r.x, -r.y), dudx, dudy).r;\n  sum += w1 * textureGrad(tex, uv + vec2(-r.x, r.y), dudx, dudy).r;\n  sum += w1 * textureGrad(tex, uv + vec2(r.x, r.y), dudx, dudy).r;\n\n  return sum / norm;\n}\n\nfloat lst(float edge0, float edge1, float x) {\n  return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n}\n\nvoid main() {\n\n  const float firstFrameOffset = 2.8;\n  float t = .3 * (u_time + firstFrameOffset);\n\n  vec2 uv = v_imageUV;\n  vec2 dudx = dFdx(v_imageUV);\n  vec2 dudy = dFdy(v_imageUV);\n  vec4 img = textureGrad(u_image, uv, dudx, dudy);\n\n  if (u_isImage == false) {\n    uv = v_objectUV + .5;\n    uv.y = 1. - uv.y;\n  }\n\n  float cycleWidth = u_repetition;\n  float edge = 0.;\n  float contOffset = 1.;\n\n  vec2 rotatedUV = uv - vec2(.5);\n  float angle = (-u_angle + 70.) * PI / 180.;\n  float cosA = cos(angle);\n  float sinA = sin(angle);\n  rotatedUV = vec2(\n  rotatedUV.x * cosA - rotatedUV.y * sinA,\n  rotatedUV.x * sinA + rotatedUV.y * cosA\n  ) + vec2(.5);\n\n  if (u_isImage == true) {\n    float edgeRaw = img.r;\n    edge = blurEdge3x3(u_image, uv, dudx, dudy, 6., edgeRaw);\n    edge = pow(edge, 1.6);\n    edge *= mix(0.0, 1.0, smoothstep(0.0, 0.4, u_contour));\n  } else {\n    if (u_shape < 1.) {\n      // full-fill on canvas\n      vec2 borderUV = v_responsiveUV + .5;\n      float ratio = v_responsiveBoxGivenSize.x / v_responsiveBoxGivenSize.y;\n      vec2 mask = min(borderUV, 1. - borderUV);\n      vec2 pixel_thickness = 250. / v_responsiveBoxGivenSize;\n      float maskX = smoothstep(0.0, pixel_thickness.x, mask.x);\n      float maskY = smoothstep(0.0, pixel_thickness.y, mask.y);\n      maskX = pow(maskX, .25);\n      maskY = pow(maskY, .25);\n      edge = clamp(1. - maskX * maskY, 0., 1.);\n\n      uv = v_responsiveUV;\n      if (ratio > 1.) {\n        uv.y /= ratio;\n      } else {\n        uv.x *= ratio;\n      }\n      uv += .5;\n      uv.y = 1. - uv.y;\n\n      cycleWidth *= 2.;\n      contOffset = 1.5;\n\n    } else if (u_shape < 2.) {\n      // circle\n      vec2 shapeUV = uv - .5;\n      shapeUV *= .67;\n      edge = pow(clamp(3. * length(shapeUV), 0., 1.), 18.);\n    } else if (u_shape < 3.) {\n      // daisy\n      vec2 shapeUV = uv - .5;\n      shapeUV *= 1.68;\n\n      float r = length(shapeUV) * 2.;\n      float a = atan(shapeUV.y, shapeUV.x) + .2;\n      r *= (1. + .05 * sin(3. * a + 2. * t));\n      float f = abs(cos(a * 3.));\n      edge = smoothstep(f, f + .7, r);\n      edge *= edge;\n\n      uv *= .8;\n      cycleWidth *= 1.6;\n\n    } else if (u_shape < 4.) {\n      // diamond\n      vec2 shapeUV = uv - .5;\n      shapeUV = rotate(shapeUV, .25 * PI);\n      shapeUV *= 1.42;\n      shapeUV += .5;\n      vec2 mask = min(shapeUV, 1. - shapeUV);\n      vec2 pixel_thickness = vec2(.15);\n      float maskX = smoothstep(0.0, pixel_thickness.x, mask.x);\n      float maskY = smoothstep(0.0, pixel_thickness.y, mask.y);\n      maskX = pow(maskX, .25);\n      maskY = pow(maskY, .25);\n      edge = clamp(1. - maskX * maskY, 0., 1.);\n    } else if (u_shape < 5.) {\n      // metaballs\n      vec2 shapeUV = uv - .5;\n      shapeUV *= 1.3;\n      edge = 0.;\n      for (int i = 0; i < 5; i++) {\n        float fi = float(i);\n        float speed = 1.5 + 2./3. * sin(fi * 12.345);\n        float angle = -fi * 1.5;\n        vec2 dir1 = vec2(cos(angle), sin(angle));\n        vec2 dir2 = vec2(cos(angle + 1.57), sin(angle + 1.));\n        vec2 traj = .4 * (dir1 * sin(t * speed + fi * 1.23) + dir2 * cos(t * (speed * 0.7) + fi * 2.17));\n        float d = length(shapeUV + traj);\n        edge += pow(1.0 - clamp(d, 0.0, 1.0), 4.0);\n      }\n      edge = 1. - smoothstep(.65, .9, edge);\n      edge = pow(edge, 4.);\n    }\n\n    edge = mix(smoothstep(.9 - 2. * fwidth(edge), .9, edge), edge, smoothstep(0.0, 0.4, u_contour));\n\n  }\n\n  float opacity = 0.;\n  if (u_isImage == true) {\n    opacity = img.g;\n    float frame = getImgFrame(v_imageUV, 0.);\n    opacity *= frame;\n  } else {\n    opacity = 1. - smoothstep(.9 - 2. * fwidth(edge), .9, edge);\n    if (u_shape < 2.) {\n      edge = 1.2 * edge;\n    } else if (u_shape < 5.) {\n      edge = 1.8 * pow(edge, 1.5);\n    }\n  }\n\n  float diagBLtoTR = rotatedUV.x - rotatedUV.y;\n  float diagTLtoBR = rotatedUV.x + rotatedUV.y;\n\n  vec3 color = vec3(0.);\n  vec3 color1 = vec3(.98, 0.98, 1.);\n  vec3 color2 = vec3(.1, .1, .1 + .1 * smoothstep(.7, 1.3, diagTLtoBR));\n\n  vec2 grad_uv = uv - .5;\n\n  float dist = length(grad_uv + vec2(0., .2 * diagBLtoTR));\n  grad_uv = rotate(grad_uv, (.25 - .2 * diagBLtoTR) * PI);\n  float direction = grad_uv.x;\n\n  float bump = pow(1.8 * dist, 1.2);\n  bump = 1. - bump;\n  bump *= pow(uv.y, .3);\n\n\n  float thin_strip_1_ratio = .12 / cycleWidth * (1. - .4 * bump);\n  float thin_strip_2_ratio = .07 / cycleWidth * (1. + .4 * bump);\n  float wide_strip_ratio = (1. - thin_strip_1_ratio - thin_strip_2_ratio);\n\n  float thin_strip_1_width = cycleWidth * thin_strip_1_ratio;\n  float thin_strip_2_width = cycleWidth * thin_strip_2_ratio;\n\n  float noise = snoise(uv - t);\n\n  edge += (1. - edge) * u_distortion * noise;\n\n  direction += diagBLtoTR;\n  float contour = 0.;\n  direction -= 2. * noise * diagBLtoTR * (smoothstep(0., 1., edge) * (1.0 - smoothstep(0., 1., edge)));\n  direction *= mix(1., 1. - edge, smoothstep(.5, 1., u_contour));\n  direction -= 1.7 * edge * smoothstep(.5, 1., u_contour);\n  direction += .2 * pow(u_contour, 4.) * (1.0 - smoothstep(0., 1., edge));\n\n  bump *= clamp(pow(uv.y, .1), .3, 1.);\n  direction *= (.1 + (1.1 - edge) * bump);\n\n  direction *= (.4 + .6 * (1.0 - smoothstep(.5, 1., edge)));\n  direction += .18 * (smoothstep(.1, .2, uv.y) * (1.0 - smoothstep(.2, .4, uv.y)));\n  direction += .03 * (smoothstep(.1, .2, 1. - uv.y) * (1.0 - smoothstep(.2, .4, 1. - uv.y)));\n\n  direction *= (.5 + .5 * pow(uv.y, 2.));\n  direction *= cycleWidth;\n  direction -= t;\n\n\n  float colorDispersion = (1. - bump);\n  colorDispersion = clamp(colorDispersion, 0., 1.);\n  float dispersionRed = colorDispersion;\n  dispersionRed += .03 * bump * noise;\n  dispersionRed += 5. * (smoothstep(-.1, .2, uv.y) * (1.0 - smoothstep(.1, .5, uv.y))) * (smoothstep(.4, .6, bump) * (1.0 - smoothstep(.4, 1., bump)));\n  dispersionRed -= diagBLtoTR;\n\n  float dispersionBlue = colorDispersion;\n  dispersionBlue *= 1.3;\n  dispersionBlue += (smoothstep(0., .4, uv.y) * (1.0 - smoothstep(.1, .8, uv.y))) * (smoothstep(.4, .6, bump) * (1.0 - smoothstep(.4, .8, bump)));\n  dispersionBlue -= .2 * edge;\n\n  dispersionRed *= (u_shiftRed / 20.);\n  dispersionBlue *= (u_shiftBlue / 20.);\n\n  float blur = 0.;\n  float rExtraBlur = 0.;\n  float gExtraBlur = 0.;\n  if (u_isImage == true) {\n    float softness = 0.05 * u_softness;\n    blur = softness + .5 * smoothstep(1., 10., u_repetition) * smoothstep(.0, 1., edge);\n    float smallCanvasT = 1.0 - smoothstep(100., 500., min(u_resolution.x, u_resolution.y));\n    blur += smallCanvasT * smoothstep(.0, 1., edge);\n    rExtraBlur = softness * (0.05 + .1 * (u_shiftRed / 20.) * bump);\n    gExtraBlur = softness * 0.05 / max(0.001, abs(1. - diagBLtoTR));\n  } else {\n    blur = u_softness / 15. + .3 * contour;\n  }\n\n  vec3 w = vec3(thin_strip_1_width, thin_strip_2_width, wide_strip_ratio);\n  w[1] -= .02 * smoothstep(.0, 1., edge + bump);\n  float stripe_r = fract(direction + dispersionRed);\n  float r = getColorChanges(color1.r, color2.r, stripe_r, w, blur + fwidth(stripe_r) + rExtraBlur, bump, u_colorTint.r);\n  float stripe_g = fract(direction);\n  float g = getColorChanges(color1.g, color2.g, stripe_g, w, blur + fwidth(stripe_g) + gExtraBlur, bump, u_colorTint.g);\n  float stripe_b = fract(direction - dispersionBlue);\n  float b = getColorChanges(color1.b, color2.b, stripe_b, w, blur + fwidth(stripe_b), bump, u_colorTint.b);\n\n  color = vec3(r, g, b);\n  color *= opacity;\n\n  vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n  color = color + bgColor * (1. - opacity);\n  opacity = opacity + u_colorBack.a * (1. - opacity);\n\n  ${b}\n\n  fragColor = vec4(color, opacity);\n}\n`,T={measurePerformance:!1,workingSize:512,iterations:40};function he(e){let o=document.createElement(\"canvas\"),t=o.getContext(\"2d\"),i=typeof e==\"string\"&&e.startsWith(\"blob:\");return new Promise((n,r)=>{if(!e||!t){r(new Error(\"Invalid file or canvas context\"));return}let m=i&&fetch(e).then(l=>l.headers.get(\"Content-Type\")),a=new Image;a.crossOrigin=\"anonymous\";let p=performance.now();a.onload=async()=>{let l,v=await m;v?l=v===\"image/svg+xml\":typeof e==\"string\"?l=e.endsWith(\".svg\")||e.startsWith(\"data:image/svg+xml\"):l=e.type===\"image/svg+xml\";let c=a.width||a.naturalWidth,x=a.height||a.naturalHeight;if(l){let _=c/x;c>x?(c=4096,x=4096/_):(x=4096,c=4096*_),a.width=c,a.height=x}let E=Math.min(c,x),h=T.workingSize/E,s=Math.round(c*h),g=Math.round(x*h);T.measurePerformance&&(console.log(\"[Processing Mode]\"),console.log(`  Original: ${c}\\xD7${x}`),console.log(`  Working: ${s}\\xD7${g} (${(h*100).toFixed(1)}% scale)`),h<1&&console.log(`  Speedup: ~${Math.round(1/(h*h))}\\xD7`)),o.width=c,o.height=x;let y=document.createElement(\"canvas\");y.width=s,y.height=g;let D=y.getContext(\"2d\");D.drawImage(a,0,0,s,g);let P=performance.now(),U=D.getImageData(0,0,s,g).data,w=new Uint8Array(s*g),q=new Uint8Array(s*g),K=0;for(let d=0,_=0;d<U.length;d+=4,_++){let S=U[d+3]===0?0:1;w[_]=S,K+=S}let Z=[],N=[];for(let d=0;d<g;d++)for(let _=0;_<s;_++){let B=d*s+_;if(!w[B])continue;let S=!1;_===0||_===s-1||d===0||d===g-1?S=!0:S=!w[B-1]||!w[B+1]||!w[B-s]||!w[B+s]||!w[B-s-1]||!w[B-s+1]||!w[B+s-1]||!w[B+s+1],S?(q[B]=1,Z.push(B)):N.push(B)}T.measurePerformance&&(console.log(`[Mask Building] Time: ${(performance.now()-P).toFixed(2)}ms`),console.log(`  Shape pixels: ${K} / ${s*g} (${(K/(s*g)*100).toFixed(1)}%)`),console.log(`  Interior pixels: ${N.length}`),console.log(`  Boundary pixels: ${Z.length}`));let Co=xe(w,q,new Uint32Array(N),new Uint32Array(Z),s,g),So=performance.now(),$=_e(Co,w,q,s,g);T.measurePerformance&&console.log(`[Poisson Solve] Time: ${(performance.now()-So).toFixed(2)}ms`);let oo=0,ho;for(let d=0;d<N.length;d++){let _=N[d];$[_]>oo&&(oo=$[_])}let W=document.createElement(\"canvas\");W.width=s,W.height=g;let xo=W.getContext(\"2d\"),z=xo.createImageData(s,g);for(let d=0;d<g;d++)for(let _=0;_<s;_++){let B=d*s+_,S=B*4;if(!w[B])z.data[S]=255,z.data[S+1]=255,z.data[S+2]=255,z.data[S+3]=0;else{let to=255*(1-$[B]/oo);z.data[S]=to,z.data[S+1]=to,z.data[S+2]=to,z.data[S+3]=255}}xo.putImageData(z,0,0),t.imageSmoothingEnabled=!0,t.imageSmoothingQuality=\"high\",t.drawImage(W,0,0,s,g,0,0,c,x);let F=t.getImageData(0,0,c,x),eo=document.createElement(\"canvas\");eo.width=c,eo.height=x;let _o=eo.getContext(\"2d\");_o.drawImage(a,0,0,c,x);let Uo=_o.getImageData(0,0,c,x);for(let d=0;d<F.data.length;d+=4){let _=Uo.data[d+3],B=F.data[d+3];_===0?(F.data[d]=255,F.data[d+1]=0):(F.data[d]=B===0?0:F.data[d],F.data[d+1]=_),F.data[d+2]=255,F.data[d+3]=255}t.putImageData(F,0,0),ho=F,o.toBlob(d=>{if(!d){r(new Error(\"Failed to create PNG blob\"));return}if(T.measurePerformance){let _=performance.now()-p;if(console.log(`[Total Processing Time] ${_.toFixed(2)}ms`),h<1){let B=_*Math.pow(c*x/(s*g),1.5);console.log(`[Estimated time at full resolution] ~${B.toFixed(0)}ms`),console.log(`[Time saved] ~${(B-_).toFixed(0)}ms (${Math.round(B/_)}\\xD7 faster)`)}}n({imageData:ho,pngBlob:d})},\"image/png\")},a.onerror=()=>r(new Error(\"Failed to load image\")),a.src=typeof e==\"string\"?e:URL.createObjectURL(e)})}function xe(e,o,t,i,n,r){let m=t.length,a=new Int32Array(m*4);for(let p=0;p<m;p++){let l=t[p],v=l%n,c=Math.floor(l/n);a[p*4+0]=v<n-1&&e[l+1]?l+1:-1,a[p*4+1]=v>0&&e[l-1]?l-1:-1,a[p*4+2]=c>0&&e[l-n]?l-n:-1,a[p*4+3]=c<r-1&&e[l+n]?l+n:-1}return{interiorPixels:t,boundaryPixels:i,pixelCount:m,neighborIndices:a}}function _e(e,o,t,i,n){let r=T.iterations,m=.01,a=new Float32Array(i*n),{interiorPixels:p,neighborIndices:l,pixelCount:v}=e,c=performance.now(),x=1.9,E=[],I=[];for(let h=0;h<v;h++){let s=p[h],g=s%i,y=Math.floor(s/i);(g+y)%2===0?E.push(h):I.push(h)}for(let h=0;h<r;h++){for(let s of E){let g=p[s],y=l[s*4+0],D=l[s*4+1],P=l[s*4+2],Q=l[s*4+3],U=0;y>=0&&(U+=a[y]),D>=0&&(U+=a[D]),P>=0&&(U+=a[P]),Q>=0&&(U+=a[Q]);let w=(m+U)/4;a[g]=x*w+(1-x)*a[g]}for(let s of I){let g=p[s],y=l[s*4+0],D=l[s*4+1],P=l[s*4+2],Q=l[s*4+3],U=0;y>=0&&(U+=a[y]),D>=0&&(U+=a[D]),P>=0&&(U+=a[P]),Q>=0&&(U+=a[Q]);let w=(m+U)/4;a[g]=x*w+(1-x)*a[g]}}if(T.measurePerformance){let h=performance.now()-c;console.log(`[Optimized Poisson Solver (SOR \\u03C9=${x})]`),console.log(`  Working size: ${i}\\xD7${n}`),console.log(`  Iterations: ${r}`),console.log(`  Time: ${h.toFixed(2)}ms`),console.log(`  Interior pixels processed: ${v}`),console.log(`  Speed: ${(r*v/(h*1e3)).toFixed(2)} Mpixels/sec`)}return a}var Ae={none:0,circle:1,daisy:2,diamond:3,metaballs:4};function be(e){if(Array.isArray(e))return e.length===4?e:e.length===3?[...e,1]:vo;if(typeof e!=\"string\")return vo;let o,t,i,n=1;if(e.startsWith(\"#\"))[o,t,i,n]=Be(e);else if(e.startsWith(\"rgb\"))[o,t,i,n]=ye(e);else if(e.startsWith(\"hsl\"))[o,t,i,n]=Ce(we(e));else return console.error(\"Unsupported color format\",e),vo;return[J(o,0,1),J(t,0,1),J(i,0,1),J(n,0,1)]}function Be(e){e=e.replace(/^#/,\"\"),e.length===3&&(e=e.split(\"\").map(r=>r+r).join(\"\")),e.length===6&&(e=e+\"ff\");let o=parseInt(e.slice(0,2),16)/255,t=parseInt(e.slice(2,4),16)/255,i=parseInt(e.slice(4,6),16)/255,n=parseInt(e.slice(6,8),16)/255;return[o,t,i,n]}function ye(e){let o=e.match(/^rgba?\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*([0-9.]+))?\\s*\\)$/i);return o?[parseInt(o[1]??\"0\")/255,parseInt(o[2]??\"0\")/255,parseInt(o[3]??\"0\")/255,o[4]===void 0?1:parseFloat(o[4])]:[0,0,0,1]}function we(e){let o=e.match(/^hsla?\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(?:,\\s*([0-9.]+))?\\s*\\)$/i);return o?[parseInt(o[1]??\"0\"),parseInt(o[2]??\"0\"),parseInt(o[3]??\"0\"),o[4]===void 0?1:parseFloat(o[4])]:[0,0,0,1]}function Ce(e){let[o,t,i,n]=e,r=o/360,m=t/100,a=i/100,p,l,v;if(t===0)p=l=v=a;else{let c=(I,h,s)=>(s<0&&(s+=1),s>1&&(s-=1),s<.16666666666666666?I+(h-I)*6*s:s<.5?h:s<.6666666666666666?I+(h-I)*(.6666666666666666-s)*6:I),x=a<.5?a*(1+m):a+m-a*m,E=2*a-x;p=c(E,x,r+1/3),l=c(E,x,r),v=c(E,x,r-1/3)}return[p,l,v,n]}var J=(e,o,t)=>Math.min(Math.max(e,o),t),vo=[0,0,0,1];function Se(){if(typeof window>\"u\"){console.warn(\"Paper Shaders: can\\u2019t create a texture on the server\");return}let e=new Image;return e.src=Ue,e}var Ue=\"data:image/png;base64,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\";function Re(){if(typeof window>\"u\"){console.warn(\"Paper Shaders: can\\u2019t create an image on the server\");return}let e=new Image;return e.src=Ve,e}var Ve=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";export{$o as DitheringShapes,oe as DitheringTypes,Oo as DotGridShapes,me as GlassDistortionShapes,fe as GlassGridShapes,te as GrainGradientShapes,Ae as LiquidMetalShapes,ie as PulsingBorderAspectRatios,ko as ShaderFitOptions,ao as ShaderMount,Xo as WarpPatterns,re as colorPanelsFragmentShader,X as colorPanelsMeta,zo as defaultObjectSizing,Do as defaultPatternSizing,Zo as ditheringFragmentShader,Go as dotGridFragmentShader,Qo as dotOrbitFragmentShader,ro as dotOrbitMeta,ue as flutedGlassFragmentShader,Re as getEmptyPixel,be as getShaderColorFromString,Se as getShaderNoiseTexture,Jo as godRaysFragmentShader,co as godRaysMeta,ee as grainGradientFragmentShader,fo as grainGradientMeta,de as heatmapFragmentShader,go as heatmapMeta,pe as imageDitheringFragmentShader,Io as isPaperShaderElement,ve as liquidMetalFragmentShader,Mo as meshGradientFragmentShader,io as meshGradientMeta,Wo as metaballsFragmentShader,Y as metaballsMeta,To as neuroNoiseFragmentShader,le as paperTextureFragmentShader,Ho as perlinNoiseFragmentShader,ae as pulsingBorderFragmentShader,j as pulsingBorderMeta,No as simplexNoiseFragmentShader,so as simplexNoiseMeta,Po as smokeRingFragmentShader,L as smokeRingMeta,qo as spiralFragmentShader,se as staticMeshGradientFragmentShader,mo as staticMeshGradientMeta,ne as staticRadialGradientFragmentShader,po as staticRadialGradientMeta,Ko as swirlFragmentShader,uo as swirlMeta,ge as toProcessedHeatmap,he as toProcessedLiquidMetal,Lo as voronoiFragmentShader,no as voronoiMeta,jo as warpFragmentShader,lo as warpMeta,ce as waterFragmentShader,Yo as wavesFragmentShader};\n//# sourceMappingURL=shaders.mjs.map","/* esm.sh - @paper-design/shaders-react@0.0.61 */\n\"use client\";import{useEffect as nr,useRef as Or,forwardRef as ce,useState as ue}from\"react\";import{ShaderMount as de,getEmptyPixel as ge}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import*as ir from\"react\";function Er(g){let e=ir.useRef(void 0),a=ir.useCallback(r=>{let t=g.map(o=>{if(o!=null){if(typeof o==\"function\"){let s=o,m=s(r);return typeof m==\"function\"?m:()=>{s(null)}}return o.current=r,()=>{o.current=null}}});return()=>{t.forEach(o=>o?.())}},g);return ir.useMemo(()=>g.every(r=>r==null)?null:r=>{e.current&&(e.current(),e.current=void 0),r!=null&&(e.current=a(r))},g)}import{jsx as he}from\"react/jsx-runtime\";async function Lr(g){let e={},a=[],r=o=>{try{return o.startsWith(\"/\")||new URL(o),!0}catch{return!1}},t=o=>{try{return o.startsWith(\"/\")?!1:new URL(o,window.location.origin).origin!==window.location.origin}catch{return!1}};return Object.entries(g).forEach(([o,s])=>{if(typeof s==\"string\"){if(!s){e[o]=ge();return}if(!r(s)){console.warn(`Uniform \"${o}\" has invalid URL \"${s}\". Skipping image loading.`);return}let m=new Promise((p,l)=>{let i=new Image;t(s)&&(i.crossOrigin=\"anonymous\"),i.onload=()=>{e[o]=i,p()},i.onerror=()=>{console.error(`Could not set uniforms. Failed to load image at ${s}`),l()},i.src=s});a.push(m)}else e[o]=s}),await Promise.all(a),e}var _=ce(function({fragmentShader:e,uniforms:a,webGlContextAttributes:r,speed:t=0,frame:o=0,width:s,height:m,minPixelRatio:p,maxPixelCount:l,style:i,...u},h){let[f,d]=ue(!1),c=Or(null),n=Or(null),S=Or(r);nr(()=>((async()=>{let k=await Lr(a);c.current&&!n.current&&(n.current=new de(c.current,e,k,S.current,t,o,p,l),d(!0))})(),()=>{n.current?.dispose(),n.current=null}),[e]),nr(()=>{let P=!1;return(async()=>{let F=await Lr(a);P||n.current?.setUniforms(F)})(),()=>{P=!0}},[a,f]),nr(()=>{n.current?.setSpeed(t)},[t,f]),nr(()=>{n.current?.setMaxPixelCount(l)},[l,f]),nr(()=>{n.current?.setMinPixelRatio(p)},[p,f]),nr(()=>{n.current?.setFrame(o)},[o,f]);let w=Er([c,h]);return he(\"div\",{ref:w,style:s!==void 0||m!==void 0?{width:s,height:m,...i}:i,...u})});_.displayName=\"ShaderMount\";import{memo as _e}from\"react\";function b(g,e){for(let a in g){if(a===\"colors\"){let r=Array.isArray(g.colors),t=Array.isArray(e.colors);if(!r||!t){if(Object.is(g.colors,e.colors)===!1)return!1;continue}if(g.colors?.length!==e.colors?.length||!g.colors?.every((o,s)=>o===e.colors?.[s]))return!1;continue}if(Object.is(g[a],e[a])===!1)return!1}return!0}import{defaultObjectSizing as pr,getShaderColorFromString as Se,meshGradientFragmentShader as we,ShaderFitOptions as Pe}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as be}from\"react/jsx-runtime\";var V={name:\"Default\",params:{...pr,speed:1,frame:0,colors:[\"#e0eaff\",\"#241d9a\",\"#f75092\",\"#9f50d3\"],distortion:.8,swirl:.1,grainMixer:0,grainOverlay:0}},ke={name:\"Purple\",params:{...pr,speed:.6,frame:0,colors:[\"#aaa7d7\",\"#3c2b8e\"],distortion:1,swirl:1,grainMixer:0,grainOverlay:0}},Fe={name:\"Beach\",params:{...pr,speed:.1,frame:0,colors:[\"#bcecf6\",\"#00aaff\",\"#00f7ff\",\"#ffd447\"],distortion:.8,swirl:.35,grainMixer:0,grainOverlay:0}},Be={name:\"Ink\",params:{...pr,speed:1,frame:0,colors:[\"#ffffff\",\"#000000\"],distortion:1,swirl:.2,rotation:90,grainMixer:0,grainOverlay:0}},ye=[V,Be,ke,Fe],xe=_e(function({speed:e=V.params.speed,frame:a=V.params.frame,colors:r=V.params.colors,distortion:t=V.params.distortion,swirl:o=V.params.swirl,grainMixer:s=V.params.grainMixer,grainOverlay:m=V.params.grainOverlay,fit:p=V.params.fit,rotation:l=V.params.rotation,scale:i=V.params.scale,originX:u=V.params.originX,originY:h=V.params.originY,offsetX:f=V.params.offsetX,offsetY:d=V.params.offsetY,worldWidth:c=V.params.worldWidth,worldHeight:n=V.params.worldHeight,...S}){let w={u_colors:r.map(Se),u_colorsCount:r.length,u_distortion:t,u_swirl:o,u_grainMixer:s,u_grainOverlay:m,u_fit:Pe[p],u_rotation:l,u_scale:i,u_offsetX:f,u_offsetY:d,u_originX:u,u_originY:h,u_worldWidth:c,u_worldHeight:n};return be(_,{...S,speed:e,frame:a,fragmentShader:we,uniforms:w})},b);import{memo as Xe}from\"react\";import{defaultObjectSizing as lr,getShaderColorFromString as Nr,getShaderNoiseTexture as Ye,smokeRingFragmentShader as Ce,ShaderFitOptions as ze}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as Me}from\"react/jsx-runtime\";var D={name:\"Default\",params:{...lr,speed:.5,frame:0,colorBack:\"#000000\",colors:[\"#ffffff\"],noiseScale:3,noiseIterations:8,radius:.25,thickness:.65,innerShape:.7,scale:.8}},Re={name:\"Solar\",params:{...lr,speed:1,frame:0,colorBack:\"#000000\",colors:[\"#ffffff\",\"#ffca0a\",\"#fc6203\",\"#fc620366\"],noiseScale:2,noiseIterations:3,radius:.4,thickness:.8,innerShape:4,scale:2,offsetY:1}},ve={name:\"Line\",params:{...lr,frame:0,colorBack:\"#000000\",colors:[\"#4540a4\",\"#1fe8ff\"],noiseScale:1.1,noiseIterations:2,radius:.38,thickness:.01,innerShape:.88,speed:4}},Oe={name:\"Cloud\",params:{...lr,frame:0,colorBack:\"#81ADEC\",colors:[\"#ffffff\"],noiseScale:3,noiseIterations:10,radius:.5,thickness:.65,innerShape:.85,speed:.5,scale:2.5}},We=[D,ve,Re,Oe],Ge=Xe(function({speed:e=D.params.speed,frame:a=D.params.frame,colorBack:r=D.params.colorBack,colors:t=D.params.colors,noiseScale:o=D.params.noiseScale,thickness:s=D.params.thickness,radius:m=D.params.radius,innerShape:p=D.params.innerShape,noiseIterations:l=D.params.noiseIterations,fit:i=D.params.fit,scale:u=D.params.scale,rotation:h=D.params.rotation,originX:f=D.params.originX,originY:d=D.params.originY,offsetX:c=D.params.offsetX,offsetY:n=D.params.offsetY,worldWidth:S=D.params.worldWidth,worldHeight:w=D.params.worldHeight,...P}){let k={u_colorBack:Nr(r),u_colors:t.map(Nr),u_colorsCount:t.length,u_noiseScale:o,u_thickness:s,u_radius:m,u_innerShape:p,u_noiseIterations:l,u_noiseTexture:Ye(),u_fit:ze[i],u_scale:u,u_rotation:h,u_offsetX:c,u_offsetY:n,u_originX:f,u_originY:d,u_worldWidth:S,u_worldHeight:w};return Me(_,{...P,speed:e,frame:a,fragmentShader:Ce,uniforms:k})},b);import{memo as Ae}from\"react\";import{defaultPatternSizing as cr,getShaderColorFromString as Wr,neuroNoiseFragmentShader as Ie,ShaderFitOptions as He}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as De}from\"react/jsx-runtime\";var K={name:\"Default\",params:{...cr,speed:1,frame:0,colorFront:\"#ffffff\",colorMid:\"#47a6ff\",colorBack:\"#000000\",brightness:.05,contrast:.3}},qe={name:\"Sensation\",params:{...cr,speed:1,frame:0,colorFront:\"#00c8ff\",colorMid:\"#fbff00\",colorBack:\"#8b42ff\",brightness:.19,contrast:.12,scale:3}},je={name:\"Bloodstream\",params:{...cr,speed:1,frame:0,colorFront:\"#ff0000\",colorMid:\"#ff0000\",colorBack:\"#ffffff\",brightness:.24,contrast:.17,scale:.7}},Te={name:\"Ghost\",params:{...cr,speed:1,frame:0,colorFront:\"#ffffff\",colorMid:\"#000000\",colorBack:\"#ffffff\",brightness:0,contrast:1,scale:.55}},Ee=[K,qe,je,Te],Le=Ae(function({speed:e=K.params.speed,frame:a=K.params.frame,colorFront:r=K.params.colorFront,colorMid:t=K.params.colorMid,colorBack:o=K.params.colorBack,brightness:s=K.params.brightness,contrast:m=K.params.contrast,fit:p=K.params.fit,scale:l=K.params.scale,rotation:i=K.params.rotation,originX:u=K.params.originX,originY:h=K.params.originY,offsetX:f=K.params.offsetX,offsetY:d=K.params.offsetY,worldWidth:c=K.params.worldWidth,worldHeight:n=K.params.worldHeight,...S}){let w={u_colorFront:Wr(r),u_colorMid:Wr(t),u_colorBack:Wr(o),u_brightness:s,u_contrast:m,u_fit:He[p],u_scale:l,u_rotation:i,u_offsetX:f,u_offsetY:d,u_originX:u,u_originY:h,u_worldWidth:c,u_worldHeight:n};return De(_,{...S,speed:e,frame:a,fragmentShader:Ie,uniforms:w})},b);import{memo as Ne}from\"react\";import{getShaderColorFromString as Ur,getShaderNoiseTexture as Ue,dotOrbitFragmentShader as Ve,ShaderFitOptions as Ke,defaultPatternSizing as ur}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as $e}from\"react/jsx-runtime\";var E={name:\"Default\",params:{...ur,speed:1.5,frame:0,colorBack:\"#000000\",colors:[\"#ffc96b\",\"#ff6200\",\"#ff2f00\",\"#421100\",\"#1a0000\"],size:1,sizeRange:0,spreading:1,stepsPerColor:4}},Je={name:\"Shine\",params:{...ur,speed:.1,frame:0,colors:[\"#ffffff\",\"#006aff\",\"#fff675\"],colorBack:\"#000000\",stepsPerColor:4,size:.3,sizeRange:.2,spreading:1,scale:.4}},Qe={name:\"Bubbles\",params:{...ur,speed:.4,frame:0,colors:[\"#D0D2D5\"],colorBack:\"#989CA4\",stepsPerColor:2,size:.9,sizeRange:.7,spreading:1,scale:1.64}},Ze={name:\"Hallucinatory\",params:{...ur,speed:5,frame:0,colors:[\"#000000\"],colorBack:\"#ffe500\",stepsPerColor:2,size:.65,sizeRange:0,spreading:.3,scale:.5}},ro=[E,Qe,Je,Ze],eo=Ne(function({speed:e=E.params.speed,frame:a=E.params.frame,colorBack:r=E.params.colorBack,colors:t=E.params.colors,size:o=E.params.size,sizeRange:s=E.params.sizeRange,spreading:m=E.params.spreading,stepsPerColor:p=E.params.stepsPerColor,fit:l=E.params.fit,scale:i=E.params.scale,rotation:u=E.params.rotation,originX:h=E.params.originX,originY:f=E.params.originY,offsetX:d=E.params.offsetX,offsetY:c=E.params.offsetY,worldWidth:n=E.params.worldWidth,worldHeight:S=E.params.worldHeight,...w}){let P={u_colorBack:Ur(r),u_colors:t.map(Ur),u_colorsCount:t.length,u_size:o,u_sizeRange:s,u_spreading:m,u_stepsPerColor:p,u_noiseTexture:Ue(),u_fit:Ke[l],u_scale:i,u_rotation:u,u_offsetX:d,u_offsetY:c,u_originX:h,u_originY:f,u_worldWidth:n,u_worldHeight:S};return $e(_,{...w,speed:e,frame:a,fragmentShader:Ve,uniforms:P})},b);import{memo as oo}from\"react\";import{getShaderColorFromString as Gr,dotGridFragmentShader as ao,DotGridShapes as so,ShaderFitOptions as to,defaultPatternSizing as dr}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as io}from\"react/jsx-runtime\";var G={name:\"Default\",params:{...dr,colorBack:\"#000000\",colorFill:\"#ffffff\",colorStroke:\"#ffaa00\",size:2,gapX:32,gapY:32,strokeWidth:0,sizeRange:0,opacityRange:0,shape:\"circle\"}},no={name:\"Triangles\",params:{...dr,colorBack:\"#ffffff\",colorFill:\"#ffffff\",colorStroke:\"#808080\",size:5,gapX:32,gapY:32,strokeWidth:1,sizeRange:0,opacityRange:0,shape:\"triangle\"}},mo={name:\"Tree line\",params:{...dr,colorBack:\"#f4fce7\",colorFill:\"#052e19\",colorStroke:\"#000000\",size:8,gapX:20,gapY:90,strokeWidth:0,sizeRange:1,opacityRange:.6,shape:\"circle\"}},fo={name:\"Wallpaper\",params:{...dr,colorBack:\"#204030\",colorFill:\"#000000\",colorStroke:\"#bd955b\",size:9,gapX:32,gapY:32,strokeWidth:1,sizeRange:0,opacityRange:0,shape:\"diamond\"}},po=[G,no,mo,fo],lo=oo(function({colorBack:e=G.params.colorBack,colorFill:a=G.params.colorFill,colorStroke:r=G.params.colorStroke,size:t=G.params.size,gapX:o=G.params.gapX,gapY:s=G.params.gapY,strokeWidth:m=G.params.strokeWidth,sizeRange:p=G.params.sizeRange,opacityRange:l=G.params.opacityRange,shape:i=G.params.shape,fit:u=G.params.fit,scale:h=G.params.scale,rotation:f=G.params.rotation,originX:d=G.params.originX,originY:c=G.params.originY,offsetX:n=G.params.offsetX,offsetY:S=G.params.offsetY,worldWidth:w=G.params.worldWidth,worldHeight:P=G.params.worldHeight,maxPixelCount:k=6016*3384,...F}){let B={u_colorBack:Gr(e),u_colorFill:Gr(a),u_colorStroke:Gr(r),u_dotSize:t,u_gapX:o,u_gapY:s,u_strokeWidth:m,u_sizeRange:p,u_opacityRange:l,u_shape:so[i],u_fit:to[u],u_scale:h,u_rotation:f,u_offsetX:n,u_offsetY:S,u_originX:d,u_originY:c,u_worldWidth:w,u_worldHeight:P};return io(_,{...F,maxPixelCount:k,fragmentShader:ao,uniforms:B})},b);import{memo as co}from\"react\";import{getShaderColorFromString as uo,simplexNoiseFragmentShader as go,ShaderFitOptions as ho,defaultPatternSizing as gr}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as _o}from\"react/jsx-runtime\";var Q={name:\"Default\",params:{...gr,scale:.6,speed:.5,frame:0,colors:[\"#4449CF\",\"#FFD1E0\",\"#F94446\",\"#FFD36B\",\"#FFFFFF\"],stepsPerColor:2,softness:0}},So={name:\"Bubblegum\",params:{...gr,speed:2,frame:0,colors:[\"#ffffff\",\"#ff9e9e\",\"#5f57ff\",\"#00f7ff\"],stepsPerColor:1,softness:1,scale:1.6}},wo={name:\"Spots\",params:{...gr,speed:.6,frame:0,colors:[\"#ff7b00\",\"#f9ffeb\",\"#320d82\"],stepsPerColor:1,softness:0,scale:1}},Po={name:\"First contact\",params:{...gr,speed:2,frame:0,colors:[\"#e8cce6\",\"#120d22\",\"#442c44\",\"#e6baba\",\"#fff5f5\"],stepsPerColor:2,softness:0,scale:.2}},bo=[Q,wo,Po,So],ko=co(function({speed:e=Q.params.speed,frame:a=Q.params.frame,colors:r=Q.params.colors,stepsPerColor:t=Q.params.stepsPerColor,softness:o=Q.params.softness,fit:s=Q.params.fit,scale:m=Q.params.scale,rotation:p=Q.params.rotation,originX:l=Q.params.originX,originY:i=Q.params.originY,offsetX:u=Q.params.offsetX,offsetY:h=Q.params.offsetY,worldWidth:f=Q.params.worldWidth,worldHeight:d=Q.params.worldHeight,...c}){let n={u_colors:r.map(uo),u_colorsCount:r.length,u_stepsPerColor:t,u_softness:o,u_fit:ho[s],u_scale:m,u_rotation:p,u_offsetX:u,u_offsetY:h,u_originX:l,u_originY:i,u_worldWidth:f,u_worldHeight:d};return _o(_,{...c,speed:e,frame:a,fragmentShader:go,uniforms:n})},b);import{memo as Fo}from\"react\";import{defaultObjectSizing as hr,getShaderColorFromString as Vr,getShaderNoiseTexture as Bo,metaballsFragmentShader as yo,ShaderFitOptions as xo}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as Xo}from\"react/jsx-runtime\";var J={name:\"Default\",params:{...hr,scale:1,speed:1,frame:0,colorBack:\"#000000\",colors:[\"#6e33cc\",\"#ff5500\",\"#ffc105\",\"#ffc800\",\"#f585ff\"],count:10,size:.83}},Yo={name:\"Ink Drops\",params:{...hr,scale:1,speed:2,frame:0,colorBack:\"#ffffff00\",colors:[\"#000000\"],count:18,size:.1}},Co={name:\"Background\",params:{...hr,speed:.5,frame:0,colors:[\"#ae00ff\",\"#00ff95\",\"#ffc105\"],colorBack:\"#2a273f\",count:13,size:.81,scale:4,rotation:0,offsetX:-.3}},zo={name:\"Solar\",params:{...hr,speed:1,frame:0,colors:[\"#ffc800\",\"#ff5500\",\"#ffc105\"],colorBack:\"#102f84\",count:7,size:.75,scale:1}},Mo=[J,Yo,zo,Co],Ro=Fo(function({speed:e=J.params.speed,frame:a=J.params.frame,colorBack:r=J.params.colorBack,colors:t=J.params.colors,size:o=J.params.size,count:s=J.params.count,fit:m=J.params.fit,rotation:p=J.params.rotation,scale:l=J.params.scale,originX:i=J.params.originX,originY:u=J.params.originY,offsetX:h=J.params.offsetX,offsetY:f=J.params.offsetY,worldWidth:d=J.params.worldWidth,worldHeight:c=J.params.worldHeight,...n}){let S={u_colorBack:Vr(r),u_colors:t.map(Vr),u_colorsCount:t.length,u_size:o,u_count:s,u_noiseTexture:Bo(),u_fit:xo[m],u_rotation:p,u_scale:l,u_offsetX:h,u_offsetY:f,u_originX:i,u_originY:u,u_worldWidth:d,u_worldHeight:c};return Xo(_,{...n,speed:e,frame:a,fragmentShader:yo,uniforms:S})},b);import{memo as vo}from\"react\";import{defaultPatternSizing as _r,getShaderColorFromString as Kr,wavesFragmentShader as Oo,ShaderFitOptions as Wo}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as Go}from\"react/jsx-runtime\";var L={name:\"Default\",params:{..._r,scale:.6,colorFront:\"#ffbb00\",colorBack:\"#000000\",shape:0,frequency:.5,amplitude:.5,spacing:1.2,proportion:.1,softness:0}},Ao={name:\"Groovy\",params:{..._r,scale:5,rotation:90,colorFront:\"#fcfcee\",colorBack:\"#ff896b\",shape:3,frequency:.2,amplitude:.25,spacing:1.17,proportion:.57,softness:0}},Io={name:\"Tangled up\",params:{..._r,scale:.5,rotation:0,colorFront:\"#133a41\",colorBack:\"#c2d8b6\",shape:2.07,frequency:.44,amplitude:.57,spacing:1.05,proportion:.75,softness:0}},Ho={name:\"Ride the wave\",params:{..._r,scale:1.7,rotation:0,colorFront:\"#fdffe6\",colorBack:\"#1f1f1f\",shape:2.25,frequency:.2,amplitude:1,spacing:1.25,proportion:1,softness:0}},Do=[L,Ao,Io,Ho],qo=vo(function({colorFront:e=L.params.colorFront,colorBack:a=L.params.colorBack,shape:r=L.params.shape,frequency:t=L.params.frequency,amplitude:o=L.params.amplitude,spacing:s=L.params.spacing,proportion:m=L.params.proportion,softness:p=L.params.softness,fit:l=L.params.fit,scale:i=L.params.scale,rotation:u=L.params.rotation,offsetX:h=L.params.offsetX,offsetY:f=L.params.offsetY,originX:d=L.params.originX,originY:c=L.params.originY,worldWidth:n=L.params.worldWidth,worldHeight:S=L.params.worldHeight,maxPixelCount:w=6016*3384,...P}){let k={u_colorFront:Kr(e),u_colorBack:Kr(a),u_shape:r,u_frequency:t,u_amplitude:o,u_spacing:s,u_proportion:m,u_softness:p,u_fit:Wo[l],u_scale:i,u_rotation:u,u_offsetX:h,u_offsetY:f,u_originX:d,u_originY:c,u_worldWidth:n,u_worldHeight:S};return Go(_,{...P,fragmentShader:Oo,uniforms:k})},b);import{memo as jo}from\"react\";import{defaultPatternSizing as Sr,getShaderColorFromString as $r,perlinNoiseFragmentShader as To,ShaderFitOptions as Eo}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as Lo}from\"react/jsx-runtime\";var z={name:\"Default\",params:{...Sr,speed:.5,frame:0,colorBack:\"#632ad5\",colorFront:\"#fccff7\",proportion:.35,softness:.1,octaveCount:1,persistence:1,lacunarity:1.5}},No={name:\"Nintendo Water\",params:{...Sr,scale:1/.2,speed:.4,frame:0,colorBack:\"#2d69d4\",colorFront:\"#d1eefc\",proportion:.42,softness:0,octaveCount:2,persistence:.55,lacunarity:1.8}},Uo={name:\"Moss\",params:{...Sr,scale:1/.15,speed:.02,frame:0,colorBack:\"#05ff4a\",colorFront:\"#262626\",proportion:.65,softness:.35,octaveCount:6,persistence:1,lacunarity:2.55}},Vo={name:\"Worms\",params:{...Sr,scale:.9,speed:0,frame:0,colorBack:\"#ffffff00\",colorFront:\"#595959\",proportion:.5,softness:0,octaveCount:1,persistence:1,lacunarity:1.5}},Ko=[z,No,Uo,Vo],$o=jo(function({speed:e=z.params.speed,frame:a=z.params.frame,colorFront:r=z.params.colorFront,colorBack:t=z.params.colorBack,proportion:o=z.params.proportion,softness:s=z.params.softness,octaveCount:m=z.params.octaveCount,persistence:p=z.params.persistence,lacunarity:l,fit:i=z.params.fit,worldWidth:u=z.params.worldWidth,worldHeight:h=z.params.worldHeight,scale:f=z.params.scale,rotation:d=z.params.rotation,originX:c=z.params.originX,originY:n=z.params.originY,offsetX:S=z.params.offsetX,offsetY:w=z.params.offsetY,...P}){let k={u_colorBack:$r(t),u_colorFront:$r(r),u_proportion:o,u_softness:s??z.params.softness,u_octaveCount:m??z.params.octaveCount,u_persistence:p??z.params.persistence,u_lacunarity:l??z.params.lacunarity,u_fit:Eo[i],u_scale:f,u_rotation:d,u_offsetX:S,u_offsetY:w,u_originX:c,u_originY:n,u_worldWidth:u,u_worldHeight:h};return Lo(_,{...P,speed:e,frame:a,fragmentShader:To,uniforms:k})},b);import{memo as Jo}from\"react\";import{defaultPatternSizing as wr,getShaderColorFromString as Ar,getShaderNoiseTexture as Qo,voronoiFragmentShader as Zo,ShaderFitOptions as ra}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as ea}from\"react/jsx-runtime\";var q={name:\"Default\",params:{...wr,speed:.5,frame:0,colors:[\"#ff8247\",\"#ffe53d\"],stepsPerColor:3,colorGlow:\"#ffffff\",colorGap:\"#2e0000\",distortion:.4,gap:.04,glow:0,scale:.5}},oa={name:\"Cells\",params:{...wr,scale:.5,speed:.5,frame:0,colors:[\"#ffffff\"],stepsPerColor:1,colorGlow:\"#ffffff\",colorGap:\"#000000\",distortion:.5,gap:.03,glow:.8}},aa={name:\"Bubbles\",params:{...wr,scale:.75,speed:.5,frame:0,colors:[\"#83c9fb\"],stepsPerColor:1,colorGlow:\"#ffffff\",colorGap:\"#ffffff\",distortion:.4,gap:0,glow:1}},sa={name:\"Lights\",params:{...wr,scale:3.3,speed:.5,frame:0,colors:[\"#fffffffc\",\"#bbff00\",\"#00ffff\"],colorGlow:\"#ff00d0\",colorGap:\"#ff00d0\",stepsPerColor:2,distortion:.38,gap:0,glow:1}},ta=[q,sa,oa,aa],ia=Jo(function({speed:e=q.params.speed,frame:a=q.params.frame,colors:r=q.params.colors,stepsPerColor:t=q.params.stepsPerColor,colorGlow:o=q.params.colorGlow,colorGap:s=q.params.colorGap,distortion:m=q.params.distortion,gap:p=q.params.gap,glow:l=q.params.glow,fit:i=q.params.fit,scale:u=q.params.scale,rotation:h=q.params.rotation,originX:f=q.params.originX,originY:d=q.params.originY,offsetX:c=q.params.offsetX,offsetY:n=q.params.offsetY,worldWidth:S=q.params.worldWidth,worldHeight:w=q.params.worldHeight,...P}){let k={u_colors:r.map(Ar),u_colorsCount:r.length,u_stepsPerColor:t,u_colorGlow:Ar(o),u_colorGap:Ar(s),u_distortion:m,u_gap:p,u_glow:l,u_noiseTexture:Qo(),u_fit:ra[i],u_scale:u,u_rotation:h,u_offsetX:c,u_offsetY:n,u_originX:f,u_originY:d,u_worldWidth:S,u_worldHeight:w};return ea(_,{...P,speed:e,frame:a,fragmentShader:Zo,uniforms:k})},b);import{memo as na}from\"react\";import{defaultPatternSizing as mr,getShaderColorFromString as ma,getShaderNoiseTexture as fa,warpFragmentShader as pa,ShaderFitOptions as la,WarpPatterns as ca}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as ua}from\"react/jsx-runtime\";var A={name:\"Default\",params:{...mr,rotation:0,speed:1,frame:0,colors:[\"#121212\",\"#9470ff\",\"#121212\",\"#8838ff\"],proportion:.45,softness:1,distortion:.25,swirl:.8,swirlIterations:10,shapeScale:.1,shape:\"checks\"}},da={name:\"Cauldron Pot\",params:{...mr,scale:.9,rotation:160,speed:10,frame:0,colors:[\"#a7e58b\",\"#324472\",\"#0a180d\"],proportion:.64,softness:1.5,distortion:.2,swirl:.86,swirlIterations:7,shapeScale:.6,shape:\"edge\"}},ga={name:\"Live Ink\",params:{...mr,scale:1.2,rotation:44,offsetY:-.3,speed:2.5,frame:0,colors:[\"#111314\",\"#9faeab\",\"#f3fee7\",\"#f3fee7\"],proportion:.05,softness:0,distortion:.25,swirl:.8,swirlIterations:10,shapeScale:.28,shape:\"checks\"}},ha={name:\"Kelp\",params:{...mr,scale:.8,rotation:50,speed:20,frame:0,colors:[\"#dbff8f\",\"#404f3e\",\"#091316\"],proportion:.67,softness:0,distortion:0,swirl:.2,swirlIterations:3,shapeScale:1,shape:\"stripes\"}},_a={name:\"Nectar\",params:{...mr,scale:2,offsetY:.6,rotation:0,speed:4.2,frame:0,colors:[\"#151310\",\"#d3a86b\",\"#f0edea\"],proportion:.24,softness:1,distortion:.21,swirl:.57,swirlIterations:10,shapeScale:.75,shape:\"edge\"}},Sa={name:\"Passion\",params:{...mr,scale:2.5,rotation:1.35,speed:3,frame:0,colors:[\"#3b1515\",\"#954751\",\"#ffc085\"],proportion:.5,softness:1,distortion:.09,swirl:.9,swirlIterations:6,shapeScale:.25,shape:\"checks\"}},wa=[A,da,ga,ha,_a,Sa],Pa=na(function({speed:e=A.params.speed,frame:a=A.params.frame,colors:r=A.params.colors,proportion:t=A.params.proportion,softness:o=A.params.softness,distortion:s=A.params.distortion,swirl:m=A.params.swirl,swirlIterations:p=A.params.swirlIterations,shapeScale:l=A.params.shapeScale,shape:i=A.params.shape,fit:u=A.params.fit,scale:h=A.params.scale,rotation:f=A.params.rotation,originX:d=A.params.originX,originY:c=A.params.originY,offsetX:n=A.params.offsetX,offsetY:S=A.params.offsetY,worldWidth:w=A.params.worldWidth,worldHeight:P=A.params.worldHeight,...k}){let F={u_colors:r.map(ma),u_colorsCount:r.length,u_proportion:t,u_softness:o,u_distortion:s,u_swirl:m,u_swirlIterations:p,u_shapeScale:l,u_shape:ca[i],u_noiseTexture:fa(),u_scale:h,u_rotation:f,u_fit:la[u],u_offsetX:n,u_offsetY:S,u_originX:d,u_originY:c,u_worldWidth:w,u_worldHeight:P};return ua(_,{...k,speed:e,frame:a,fragmentShader:pa,uniforms:F})},b);import{memo as ba}from\"react\";import{defaultObjectSizing as Pr,getShaderNoiseTexture as ka,getShaderColorFromString as Ir,godRaysFragmentShader as Fa,ShaderFitOptions as Ba}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as ya}from\"react/jsx-runtime\";var v={name:\"Default\",params:{...Pr,offsetX:0,offsetY:-.55,colorBack:\"#000000\",colorBloom:\"#0000ff\",colors:[\"#a600ff6e\",\"#6200fff0\",\"#ffffff\",\"#33fff5\"],density:.3,spotty:.3,midIntensity:.4,midSize:.2,intensity:.8,bloom:.4,speed:.75,frame:0}},xa={name:\"Warp\",params:{...Pr,colorBack:\"#000000\",colorBloom:\"#222288\",colors:[\"#ff47d4\",\"#ff8c00\",\"#ffffff\"],density:.45,spotty:.15,midIntensity:.4,midSize:.33,intensity:.79,bloom:.4,speed:2,frame:0}},Xa={name:\"Linear\",params:{...Pr,offsetX:.2,offsetY:-.8,colorBack:\"#000000\",colorBloom:\"#eeeeee\",colors:[\"#ffffff1f\",\"#ffffff3d\",\"#ffffff29\"],density:.41,spotty:.25,midSize:.1,midIntensity:.75,intensity:.79,bloom:1,speed:.5,frame:0}},Ya={name:\"Ether\",params:{...Pr,offsetX:-.6,colorBack:\"#090f1d\",colorBloom:\"#ffffff\",colors:[\"#148effa6\",\"#c4dffebe\",\"#232a47\"],density:.03,spotty:.77,midSize:.1,midIntensity:.6,intensity:.6,bloom:.6,speed:1,frame:0}},Ca=[v,xa,Xa,Ya],za=ba(function({speed:e=v.params.speed,frame:a=v.params.frame,colorBloom:r=v.params.colorBloom,colorBack:t=v.params.colorBack,colors:o=v.params.colors,density:s=v.params.density,spotty:m=v.params.spotty,midIntensity:p=v.params.midIntensity,midSize:l=v.params.midSize,intensity:i=v.params.intensity,bloom:u=v.params.bloom,fit:h=v.params.fit,scale:f=v.params.scale,rotation:d=v.params.rotation,originX:c=v.params.originX,originY:n=v.params.originY,offsetX:S=v.params.offsetX,offsetY:w=v.params.offsetY,worldWidth:P=v.params.worldWidth,worldHeight:k=v.params.worldHeight,...F}){let B={u_colorBloom:Ir(r),u_colorBack:Ir(t),u_colors:o.map(Ir),u_colorsCount:o.length,u_density:s,u_spotty:m,u_midIntensity:p,u_midSize:l,u_intensity:i,u_bloom:u,u_noiseTexture:ka(),u_fit:Ba[h],u_scale:f,u_rotation:d,u_offsetX:S,u_offsetY:w,u_originX:c,u_originY:n,u_worldWidth:P,u_worldHeight:k};return ya(_,{...F,speed:e,frame:a,fragmentShader:Fa,uniforms:B})},b);import{memo as Ma}from\"react\";import{defaultPatternSizing as br,getShaderColorFromString as Jr,ShaderFitOptions as Ra,spiralFragmentShader as va}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as Oa}from\"react/jsx-runtime\";var M={name:\"Default\",params:{...br,scale:1,colorBack:\"#001429\",colorFront:\"#79D1FF\",density:1,distortion:0,strokeWidth:.5,strokeTaper:0,strokeCap:0,noise:0,noiseFrequency:0,softness:0,speed:1,frame:0}},Wa={name:\"Droplet\",params:{...br,colorBack:\"#effafe\",colorFront:\"#bf40a0\",density:.9,distortion:0,strokeWidth:.75,strokeTaper:.18,strokeCap:1,noise:.74,noiseFrequency:.33,softness:.02,speed:1,frame:0}},Ga={name:\"Jungle\",params:{...br,scale:1.3,density:.5,colorBack:\"#a0ef2a\",colorFront:\"#288b18\",distortion:0,strokeWidth:.5,strokeTaper:0,strokeCap:0,noise:1,noiseFrequency:.25,softness:0,speed:.75,frame:0}},Aa={name:\"Swirl\",params:{...br,scale:.45,colorBack:\"#b3e6d9\",colorFront:\"#1a2b4d\",density:.2,distortion:0,strokeWidth:.5,strokeTaper:0,strokeCap:0,noise:0,noiseFrequency:.3,softness:.5,speed:1,frame:0}},Ia=[M,Ga,Wa,Aa],Ha=Ma(function({speed:e=M.params.speed,frame:a=M.params.frame,colorBack:r=M.params.colorBack,colorFront:t=M.params.colorFront,density:o=M.params.density,distortion:s=M.params.distortion,strokeWidth:m=M.params.strokeWidth,strokeTaper:p=M.params.strokeTaper,strokeCap:l=M.params.strokeCap,noiseFrequency:i=M.params.noiseFrequency,noise:u=M.params.noise,softness:h=M.params.softness,fit:f=M.params.fit,rotation:d=M.params.rotation,scale:c=M.params.scale,originX:n=M.params.originX,originY:S=M.params.originY,offsetX:w=M.params.offsetX,offsetY:P=M.params.offsetY,worldWidth:k=M.params.worldWidth,worldHeight:F=M.params.worldHeight,...B}){let U={u_colorBack:Jr(r),u_colorFront:Jr(t),u_density:o,u_distortion:s,u_strokeWidth:m,u_strokeTaper:p,u_strokeCap:l,u_noiseFrequency:i,u_noise:u,u_softness:h,u_fit:Ra[f],u_scale:c,u_rotation:d,u_offsetX:w,u_offsetY:P,u_originX:n,u_originY:S,u_worldWidth:k,u_worldHeight:F};return Oa(_,{...B,speed:e,frame:a,fragmentShader:va,uniforms:U})},b);import{memo as Da}from\"react\";import{defaultObjectSizing as kr,getShaderColorFromString as Qr,ShaderFitOptions as qa,swirlFragmentShader as ja}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as Ta}from\"react/jsx-runtime\";var O={name:\"Default\",params:{...kr,speed:.32,frame:0,colorBack:\"#330000\",colors:[\"#ffd1d1\",\"#ff8a8a\",\"#660000\"],bandCount:4,twist:.1,center:.2,proportion:.5,softness:0,noiseFrequency:.4,noise:.2}},Ea={name:\"Opening\",params:{...kr,offsetX:-.4,offsetY:1,speed:.5,frame:0,colorBack:\"#ff8b61\",colors:[\"#fefff0\",\"#ffd8bd\",\"#ff8b61\"],bandCount:2,twist:.3,center:.2,proportion:.5,softness:0,noiseFrequency:0,noise:0,scale:1}},La={name:\"007\",params:{...kr,speed:1,frame:0,colorBack:\"#E9E7DA\",colors:[\"#000000\"],bandCount:5,twist:.3,center:0,proportion:0,softness:0,noiseFrequency:.5,noise:0}},Na={name:\"Candy\",params:{...kr,speed:1,frame:0,colorBack:\"#ffcd66\",colors:[\"#6bbceb\",\"#d7b3ff\",\"#ff9fff\"],bandCount:2,twist:.15,center:.2,proportion:.5,softness:1,noiseFrequency:.5,noise:0}},Ua=[O,La,Ea,Na],Va=Da(function({speed:e=O.params.speed,frame:a=O.params.frame,colorBack:r=O.params.colorBack,colors:t=O.params.colors,bandCount:o=O.params.bandCount,twist:s=O.params.twist,center:m=O.params.center,proportion:p=O.params.proportion,softness:l=O.params.softness,noiseFrequency:i=O.params.noiseFrequency,noise:u=O.params.noise,fit:h=O.params.fit,rotation:f=O.params.rotation,scale:d=O.params.scale,originX:c=O.params.originX,originY:n=O.params.originY,offsetX:S=O.params.offsetX,offsetY:w=O.params.offsetY,worldWidth:P=O.params.worldWidth,worldHeight:k=O.params.worldHeight,...F}){let B={u_colorBack:Qr(r),u_colors:t.map(Qr),u_colorsCount:t.length,u_bandCount:o,u_twist:s,u_center:m,u_proportion:p,u_softness:l,u_noiseFrequency:i,u_noise:u,u_fit:qa[h],u_scale:d,u_rotation:f,u_offsetX:S,u_offsetY:w,u_originX:c,u_originY:n,u_worldWidth:P,u_worldHeight:k};return Ta(_,{...F,speed:e,frame:a,fragmentShader:ja,uniforms:B})},b);import{memo as Ka}from\"react\";import{getShaderColorFromString as Zr,ditheringFragmentShader as $a,ShaderFitOptions as Ja,defaultPatternSizing as Hr,defaultObjectSizing as Dr,DitheringTypes as Qa}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{DitheringShapes as Za}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as rs}from\"react/jsx-runtime\";var $={name:\"Default\",params:{...Hr,speed:1,frame:0,scale:.6,colorBack:\"#000000\",colorFront:\"#00b2ff\",shape:\"sphere\",type:\"4x4\",size:2}},es={name:\"Sine Wave\",params:{...Hr,speed:1,frame:0,colorBack:\"#730d54\",colorFront:\"#00becc\",shape:\"wave\",type:\"4x4\",size:11,scale:1.2}},os={name:\"Bugs\",params:{...Hr,speed:1,frame:0,colorBack:\"#000000\",colorFront:\"#008000\",shape:\"dots\",type:\"random\",size:9}},as={name:\"Ripple\",params:{...Dr,speed:1,frame:0,colorBack:\"#603520\",colorFront:\"#c67953\",shape:\"ripple\",type:\"2x2\",size:3}},ss={name:\"Swirl\",params:{...Dr,speed:1,frame:0,colorBack:\"#00000000\",colorFront:\"#47a8e1\",shape:\"swirl\",type:\"8x8\",size:2}},ts={name:\"Warp\",params:{...Dr,speed:1,frame:0,colorBack:\"#301c2a\",colorFront:\"#56ae6c\",shape:\"warp\",type:\"4x4\",size:2.5}},is=[$,ts,es,as,os,ss],ns=Ka(function({speed:e=$.params.speed,frame:a=$.params.frame,colorBack:r=$.params.colorBack,colorFront:t=$.params.colorFront,shape:o=$.params.shape,type:s=$.params.type,pxSize:m,size:p=m===void 0?$.params.size:m,fit:l=$.params.fit,scale:i=$.params.scale,rotation:u=$.params.rotation,originX:h=$.params.originX,originY:f=$.params.originY,offsetX:d=$.params.offsetX,offsetY:c=$.params.offsetY,worldWidth:n=$.params.worldWidth,worldHeight:S=$.params.worldHeight,...w}){let P={u_colorBack:Zr(r),u_colorFront:Zr(t),u_shape:Za[o],u_type:Qa[s],u_pxSize:p,u_fit:Ja[l],u_scale:i,u_rotation:u,u_offsetX:d,u_offsetY:c,u_originX:h,u_originY:f,u_worldWidth:n,u_worldHeight:S};return rs(_,{...w,speed:e,frame:a,fragmentShader:$a,uniforms:P})});import{memo as ms}from\"react\";import{getShaderColorFromString as re,getShaderNoiseTexture as fs,grainGradientFragmentShader as ps,ShaderFitOptions as ls,defaultPatternSizing as qr,defaultObjectSizing as jr,GrainGradientShapes as cs}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as us}from\"react/jsx-runtime\";var N={name:\"Default\",params:{...jr,speed:1,frame:0,colorBack:\"#000000\",colors:[\"#7300ff\",\"#eba8ff\",\"#00bfff\",\"#2a00ff\"],softness:.5,intensity:.5,noise:.25,shape:\"corners\"}},ds={name:\"Wave\",params:{...qr,speed:1,frame:0,colorBack:\"#000a0f\",colors:[\"#c4730b\",\"#bdad5f\",\"#d8ccc7\"],softness:.7,intensity:.15,noise:.5,shape:\"wave\"}},gs={name:\"Dots\",params:{...qr,scale:.6,speed:1,frame:0,colorBack:\"#0a0000\",colors:[\"#6f0000\",\"#0080ff\",\"#f2ebc9\",\"#33cc33\"],softness:1,intensity:1,noise:.7,shape:\"dots\"}},hs={name:\"Truchet\",params:{...qr,speed:1,frame:0,colorBack:\"#0a0000\",colors:[\"#6f2200\",\"#eabb7c\",\"#39b523\"],softness:0,intensity:.2,noise:1,shape:\"truchet\"}},_s={name:\"Ripple\",params:{...jr,scale:.5,speed:1,frame:0,colorBack:\"#140a00\",colors:[\"#6f2d00\",\"#88ddae\",\"#2c0b1d\"],softness:.5,intensity:.5,noise:.5,shape:\"ripple\"}},Ss={name:\"Blob\",params:{...jr,scale:1.3,speed:1,frame:0,colorBack:\"#0f0e18\",colors:[\"#3e6172\",\"#a49b74\",\"#568c50\"],softness:0,intensity:.15,noise:.5,shape:\"blob\"}},ws=[N,ds,gs,hs,_s,Ss],Ps=ms(function({speed:e=N.params.speed,frame:a=N.params.frame,colorBack:r=N.params.colorBack,colors:t=N.params.colors,softness:o=N.params.softness,intensity:s=N.params.intensity,noise:m=N.params.noise,shape:p=N.params.shape,fit:l=N.params.fit,scale:i=N.params.scale,rotation:u=N.params.rotation,originX:h=N.params.originX,originY:f=N.params.originY,offsetX:d=N.params.offsetX,offsetY:c=N.params.offsetY,worldWidth:n=N.params.worldWidth,worldHeight:S=N.params.worldHeight,...w}){let P={u_colorBack:re(r),u_colors:t.map(re),u_colorsCount:t.length,u_softness:o,u_intensity:s,u_noise:m,u_shape:cs[p],u_noiseTexture:fs(),u_fit:ls[l],u_scale:i,u_rotation:u,u_offsetX:d,u_offsetY:c,u_originX:h,u_originY:f,u_worldWidth:n,u_worldHeight:S};return us(_,{...w,speed:e,frame:a,fragmentShader:ps,uniforms:P})});import{memo as bs}from\"react\";import{defaultObjectSizing as Fr,getShaderColorFromString as ee,getShaderNoiseTexture as ks,pulsingBorderFragmentShader as Fs,ShaderFitOptions as Bs}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{PulsingBorderAspectRatios as ys}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as xs}from\"react/jsx-runtime\";var y={name:\"Default\",params:{...Fr,speed:1,frame:0,scale:.6,colorBack:\"#000000\",colors:[\"#0dc1fd\",\"#d915ef\",\"#ff3f2ecc\"],roundness:.25,thickness:.1,margin:0,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0,aspectRatio:\"auto\",softness:.75,intensity:.2,bloom:.25,spots:5,spotSize:.5,pulse:.25,smoke:.3,smokeSize:.6}},Xs={name:\"Circle\",params:{...Fr,aspectRatio:\"square\",scale:.6,speed:1,frame:0,colorBack:\"#000000\",colors:[\"#0dc1fd\",\"#d915ef\",\"#ff3f2ecc\"],roundness:1,margin:0,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0,thickness:0,softness:.75,intensity:.2,bloom:.45,spots:3,spotSize:.4,pulse:.5,smoke:1,smokeSize:0}},Ys={name:\"Northern lights\",params:{...Fr,speed:.18,scale:1.1,frame:0,colors:[\"#4c4794\",\"#774a7d\",\"#12694a\",\"#0aff78\",\"#4733cc\"],colorBack:\"#0c182c\",roundness:0,thickness:1,softness:1,margin:0,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0,aspectRatio:\"auto\",intensity:.1,bloom:.2,spots:4,spotSize:.25,pulse:0,smoke:.32,smokeSize:.5}},Cs={name:\"Solid line\",params:{...Fr,speed:1,frame:0,colors:[\"#81ADEC\"],colorBack:\"#00000000\",roundness:0,thickness:.05,margin:0,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0,aspectRatio:\"auto\",softness:0,intensity:0,bloom:.15,spots:4,spotSize:1,pulse:0,smoke:0,smokeSize:0}},zs=[y,Xs,Ys,Cs],Ms=bs(function({speed:e=y.params.speed,frame:a=y.params.frame,colors:r=y.params.colors,colorBack:t=y.params.colorBack,roundness:o=y.params.roundness,thickness:s=y.params.thickness,aspectRatio:m=y.params.aspectRatio,softness:p=y.params.softness,bloom:l=y.params.bloom,intensity:i=y.params.intensity,spots:u=y.params.spots,spotSize:h=y.params.spotSize,pulse:f=y.params.pulse,smoke:d=y.params.smoke,smokeSize:c=y.params.smokeSize,margin:n,marginLeft:S=n??y.params.marginLeft,marginRight:w=n??y.params.marginRight,marginTop:P=n??y.params.marginTop,marginBottom:k=n??y.params.marginBottom,fit:F=y.params.fit,rotation:B=y.params.rotation,scale:U=y.params.scale,originX:Z=y.params.originX,originY:H=y.params.originY,offsetX:or=y.params.offsetX,offsetY:rr=y.params.offsetY,worldWidth:er=y.params.worldWidth,worldHeight:sr=y.params.worldHeight,...ar}){let tr={u_colorBack:ee(t),u_colors:r.map(ee),u_colorsCount:r.length,u_roundness:o,u_thickness:s,u_marginLeft:S,u_marginRight:w,u_marginTop:P,u_marginBottom:k,u_aspectRatio:ys[m],u_softness:p,u_intensity:i,u_bloom:l,u_spots:u,u_spotSize:h,u_pulse:f,u_smoke:d,u_smokeSize:c,u_noiseTexture:ks(),u_fit:Bs[F],u_rotation:B,u_scale:U,u_offsetX:or,u_offsetY:rr,u_originX:Z,u_originY:H,u_worldWidth:er,u_worldHeight:sr};return xs(_,{...ar,speed:e,frame:a,fragmentShader:Fs,uniforms:tr})},b);import{memo as Rs}from\"react\";import{getShaderColorFromString as oe,colorPanelsFragmentShader as vs,ShaderFitOptions as Os,defaultObjectSizing as Br}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as Ws}from\"react/jsx-runtime\";var C={name:\"Default\",params:{...Br,speed:.5,frame:0,colors:[\"#ff9d00\",\"#fd4f30\",\"#809bff\",\"#6d2eff\",\"#333aff\",\"#f15cff\",\"#ffd557\"],colorBack:\"#000000\",angle1:0,angle2:0,length:1.1,edges:!1,blur:0,fadeIn:1,fadeOut:.3,gradient:0,density:3,scale:.8}},Gs={name:\"Glass\",params:{...Br,rotation:112,speed:1,frame:0,colors:[\"#00cfff\",\"#ff2d55\",\"#34c759\",\"#af52de\"],colorBack:\"#ffffff00\",angle1:.3,angle2:.3,length:1,edges:!0,blur:.25,fadeIn:.85,fadeOut:.3,gradient:0,density:1.6}},As={name:\"Gradient\",params:{...Br,speed:.5,frame:0,colors:[\"#f2ff00\",\"#00000000\",\"#00000000\",\"#5a0283\",\"#005eff\"],colorBack:\"#8ffff2\",angle1:.4,angle2:.4,length:3,edges:!1,blur:.5,fadeIn:1,fadeOut:.39,gradient:.78,density:1.65,scale:1.72,rotation:270,offsetX:.18}},Is={name:\"Opening\",params:{...Br,speed:2,frame:0,colors:[\"#00ffff\"],colorBack:\"#570044\",angle1:-1,angle2:-1,length:.52,edges:!1,blur:0,fadeIn:0,fadeOut:1,gradient:0,density:2.21,scale:2.32,rotation:360,offsetX:-.3,offsetY:.6}},Hs=[C,Gs,As,Is],Ds=Rs(function({speed:e=C.params.speed,frame:a=C.params.frame,colors:r=C.params.colors,colorBack:t=C.params.colorBack,angle1:o=C.params.angle1,angle2:s=C.params.angle2,length:m=C.params.length,edges:p=C.params.edges,blur:l=C.params.blur,fadeIn:i=C.params.fadeIn,fadeOut:u=C.params.fadeOut,density:h=C.params.density,gradient:f=C.params.gradient,fit:d=C.params.fit,scale:c=C.params.scale,rotation:n=C.params.rotation,originX:S=C.params.originX,originY:w=C.params.originY,offsetX:P=C.params.offsetX,offsetY:k=C.params.offsetY,worldWidth:F=C.params.worldWidth,worldHeight:B=C.params.worldHeight,...U}){let Z={u_colors:r.map(oe),u_colorsCount:r.length,u_colorBack:oe(t),u_angle1:o,u_angle2:s,u_length:m,u_edges:p,u_blur:l,u_fadeIn:i,u_fadeOut:u,u_density:h,u_gradient:f,u_fit:Os[d],u_scale:c,u_rotation:n,u_offsetX:P,u_offsetY:k,u_originX:S,u_originY:w,u_worldWidth:F,u_worldHeight:B};return Ws(_,{...U,speed:e,frame:a,fragmentShader:vs,uniforms:Z})},b);import{memo as qs}from\"react\";import{defaultObjectSizing as yr,getShaderColorFromString as js,staticMeshGradientFragmentShader as Ts,ShaderFitOptions as Es}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as Ls}from\"react/jsx-runtime\";var W={name:\"Default\",params:{...yr,rotation:270,speed:0,frame:0,colors:[\"#ffad0a\",\"#6200ff\",\"#e2a3ff\",\"#ff99fd\"],positions:2,waveX:1,waveXShift:.6,waveY:1,waveYShift:.21,mixing:.93,grainMixer:0,grainOverlay:0}},Ns={name:\"Sea\",params:{...yr,speed:0,frame:0,colors:[\"#013b65\",\"#03738c\",\"#a3d3ff\",\"#f2faef\"],positions:0,waveX:.53,waveXShift:0,waveY:.95,waveYShift:.64,mixing:.5,grainMixer:0,grainOverlay:0}},Us={name:\"1960s\",params:{...yr,speed:0,frame:0,colors:[\"#000000\",\"#082400\",\"#b1aa91\",\"#8e8c15\"],positions:42,waveX:.45,waveXShift:0,waveY:1,waveYShift:0,mixing:0,grainMixer:.37,grainOverlay:.78}},Vs={name:\"Sunset\",params:{...yr,speed:0,frame:0,colors:[\"#264653\",\"#9c2b2b\",\"#f4a261\",\"#ffffff\"],positions:0,waveX:.6,waveXShift:.7,waveY:.7,waveYShift:.7,mixing:.5,grainMixer:0,grainOverlay:0}},Ks=[W,Us,Vs,Ns],$s=qs(function({speed:e=W.params.speed,frame:a=W.params.frame,colors:r=W.params.colors,positions:t=W.params.positions,waveX:o=W.params.waveX,waveXShift:s=W.params.waveXShift,waveY:m=W.params.waveY,waveYShift:p=W.params.waveYShift,mixing:l=W.params.mixing,grainMixer:i=W.params.grainMixer,grainOverlay:u=W.params.grainOverlay,fit:h=W.params.fit,rotation:f=W.params.rotation,scale:d=W.params.scale,originX:c=W.params.originX,originY:n=W.params.originY,offsetX:S=W.params.offsetX,offsetY:w=W.params.offsetY,worldWidth:P=W.params.worldWidth,worldHeight:k=W.params.worldHeight,...F}){let B={u_colors:r.map(js),u_colorsCount:r.length,u_positions:t,u_waveX:o,u_waveXShift:s,u_waveY:m,u_waveYShift:p,u_mixing:l,u_grainMixer:i,u_grainOverlay:u,u_fit:Es[h],u_rotation:f,u_scale:d,u_offsetX:S,u_offsetY:w,u_originX:c,u_originY:n,u_worldWidth:P,u_worldHeight:k};return Ls(_,{...F,speed:e,frame:a,fragmentShader:Ts,uniforms:B})},b);import{memo as Js}from\"react\";import{defaultObjectSizing as xr,getShaderColorFromString as ae,staticRadialGradientFragmentShader as Qs,ShaderFitOptions as Zs}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as rt}from\"react/jsx-runtime\";var X={name:\"Default\",params:{...xr,scale:1,speed:0,frame:0,colorBack:\"#000000\",colors:[\"#00bbff\",\"#00ffe1\",\"#ffffff\"],radius:.8,focalDistance:.99,focalAngle:0,falloff:.24,mixing:.35,distortion:0,distortionShift:0,distortionFreq:12,grainMixer:0,grainOverlay:0}},et={name:\"Cross Section\",params:{...xr,scale:1,speed:0,frame:0,colorBack:\"#3d348b\",colors:[\"#7678ed\",\"#f7b801\",\"#f18701\",\"#37a066\"],radius:1,focalDistance:0,focalAngle:0,falloff:0,mixing:0,distortion:1,distortionShift:0,distortionFreq:12,grainMixer:0,grainOverlay:0}},ot={name:\"Radial\",params:{...xr,scale:1,speed:0,frame:0,colorBack:\"#264653\",colors:[\"#9c2b2b\",\"#f4a261\",\"#ffffff\"],radius:1,focalDistance:0,focalAngle:0,falloff:0,mixing:.7,distortion:0,distortionShift:0,distortionFreq:12,grainMixer:0,grainOverlay:0}},at={name:\"Lo-Fi\",params:{...xr,speed:0,frame:0,colorBack:\"#2e1f27\",colors:[\"#d72638\",\"#3f88c5\",\"#f49d37\"],radius:1,focalDistance:0,focalAngle:0,falloff:.9,mixing:.5,distortion:0,distortionShift:0,distortionFreq:12,grainMixer:1,grainOverlay:.5}},st=[X,at,et,ot],tt=Js(function({speed:e=X.params.speed,frame:a=X.params.frame,colorBack:r=X.params.colorBack,colors:t=X.params.colors,radius:o=X.params.radius,focalDistance:s=X.params.focalDistance,focalAngle:m=X.params.focalAngle,falloff:p=X.params.falloff,grainMixer:l=X.params.grainMixer,mixing:i=X.params.mixing,distortion:u=X.params.distortion,distortionShift:h=X.params.distortionShift,distortionFreq:f=X.params.distortionFreq,grainOverlay:d=X.params.grainOverlay,fit:c=X.params.fit,rotation:n=X.params.rotation,scale:S=X.params.scale,originX:w=X.params.originX,originY:P=X.params.originY,offsetX:k=X.params.offsetX,offsetY:F=X.params.offsetY,worldWidth:B=X.params.worldWidth,worldHeight:U=X.params.worldHeight,...Z}){let H={u_colorBack:ae(r),u_colors:t.map(ae),u_colorsCount:t.length,u_radius:o,u_focalDistance:s,u_focalAngle:m,u_falloff:p,u_mixing:i,u_distortion:u,u_distortionShift:h,u_distortionFreq:f,u_grainMixer:l,u_grainOverlay:d,u_fit:Zs[c],u_rotation:n,u_scale:S,u_offsetX:k,u_offsetY:F,u_originX:w,u_originY:P,u_worldWidth:B,u_worldHeight:U};return rt(_,{...Z,speed:e,frame:a,fragmentShader:Qs,uniforms:H})},b);import{memo as it}from\"react\";import{defaultObjectSizing as Xr,getShaderColorFromString as se,getShaderNoiseTexture as nt,paperTextureFragmentShader as mt,ShaderFitOptions as ft}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as pt}from\"react/jsx-runtime\";var x={name:\"Default\",params:{...Xr,fit:\"cover\",scale:.6,speed:0,frame:0,colorFront:\"#9fadbc\",colorBack:\"#ffffff\",contrast:.3,roughness:.4,fiber:.3,fiberSize:.2,crumples:.3,crumpleSize:.35,folds:.65,foldCount:5,fade:0,drops:.2,seed:5.8}},lt={name:\"Abstract\",params:{...Xr,fit:\"cover\",speed:0,frame:0,scale:.6,colorFront:\"#00eeff\",colorBack:\"#ff0a81\",contrast:.85,roughness:0,fiber:.1,fiberSize:.2,crumples:0,crumpleSize:.3,folds:1,foldCount:3,fade:0,drops:.2,seed:2.2}},ct={name:\"Cardboard\",params:{...Xr,fit:\"cover\",speed:0,frame:0,scale:.6,colorFront:\"#c7b89e\",colorBack:\"#999180\",contrast:.4,roughness:0,fiber:.35,fiberSize:.14,crumples:.7,crumpleSize:.1,folds:0,foldCount:1,fade:0,drops:.1,seed:1.6}},ut={name:\"Details\",params:{...Xr,speed:0,frame:0,fit:\"cover\",scale:3,colorFront:\"#00000000\",colorBack:\"#00000000\",contrast:0,roughness:1,fiber:.27,fiberSize:.22,crumples:1,crumpleSize:.5,folds:1,foldCount:15,fade:0,drops:0,seed:6}},dt=[x,ct,lt,ut],gt=it(function({speed:e=x.params.speed,frame:a=x.params.frame,colorFront:r=x.params.colorFront,colorBack:t=x.params.colorBack,image:o=\"\",contrast:s=x.params.contrast,roughness:m=x.params.roughness,fiber:p=x.params.fiber,crumples:l=x.params.crumples,folds:i=x.params.folds,drops:u=x.params.drops,seed:h=x.params.seed,fiberScale:f,fiberSize:d=f===void 0?x.params.fiberSize:.2/f,crumplesScale:c,crumpleSize:n=c===void 0?x.params.crumpleSize:.2/c,blur:S,fade:w=S===void 0?x.params.fade:S,foldsNumber:P,foldCount:k=P===void 0?x.params.foldCount:P,fit:F=x.params.fit,scale:B=x.params.scale,rotation:U=x.params.rotation,originX:Z=x.params.originX,originY:H=x.params.originY,offsetX:or=x.params.offsetX,offsetY:rr=x.params.offsetY,worldWidth:er=x.params.worldWidth,worldHeight:sr=x.params.worldHeight,...ar}){let tr=typeof window<\"u\"&&{u_noiseTexture:nt()},vr={u_image:o,u_colorFront:se(r),u_colorBack:se(t),u_contrast:s,u_roughness:m,u_fiber:p,u_fiberSize:d,u_crumples:l,u_crumpleSize:n,u_foldCount:k,u_folds:i,u_fade:w,u_drops:u,u_seed:h,...tr,u_fit:ft[F],u_scale:B,u_rotation:U,u_offsetX:or,u_offsetY:rr,u_originX:Z,u_originY:H,u_worldWidth:er,u_worldHeight:sr};return pt(_,{...ar,speed:e,frame:a,fragmentShader:mt,uniforms:vr})},b);import{memo as ht}from\"react\";import{flutedGlassFragmentShader as _t,ShaderFitOptions as St,defaultObjectSizing as Yr,GlassDistortionShapes as wt,GlassGridShapes as Pt}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as bt}from\"react/jsx-runtime\";var Y={name:\"Default\",params:{...Yr,fit:\"cover\",speed:0,frame:0,size:.15,angle:0,distortionShape:\"lens\",shape:\"lines\",distortion:.5,shift:0,blur:3,edges:0,margin:0,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0}},kt={name:\"Waves\",params:{...Yr,fit:\"cover\",speed:0,frame:0,size:.3,angle:0,distortionShape:\"contour\",shape:\"wave\",distortion:.3,shift:0,blur:0,edges:0,margin:0,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0}},Ft={name:\"Irregular lines\",params:{...Yr,fit:\"cover\",scale:4,speed:0,frame:0,size:.3,angle:150,distortionShape:\"facete\",shape:\"linesIrregular\",distortion:1,shift:0,blur:25,edges:1,margin:0,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0}},Bt={name:\"Folds\",params:{...Yr,fit:\"cover\",speed:0,frame:0,size:.25,angle:0,distortionShape:\"cascade\",shape:\"lines\",distortion:.75,shift:0,blur:0,edges:0,margin:.2,marginLeft:.2,marginRight:.2,marginTop:.2,marginBottom:.2}},yt=[Y,Ft,kt,Bt],xt=ht(function({speed:e=Y.params.speed,frame:a=Y.params.frame,image:r=\"\",angle:t=Y.params.angle,distortion:o=Y.params.distortion,distortionShape:s=Y.params.distortionShape,shape:m=Y.params.shape,shift:p=Y.params.shift,blur:l=Y.params.blur,margin:i,marginLeft:u=i??Y.params.marginLeft,marginRight:h=i??Y.params.marginRight,marginTop:f=i??Y.params.marginTop,marginBottom:d=i??Y.params.marginBottom,edges:c=Y.params.edges,count:n,size:S=n===void 0?Y.params.size:Math.pow(1/(n*1.6),1/6)/.7-.5,fit:w=Y.params.fit,scale:P=Y.params.scale,rotation:k=Y.params.rotation,originX:F=Y.params.originX,originY:B=Y.params.originY,offsetX:U=Y.params.offsetX,offsetY:Z=Y.params.offsetY,worldWidth:H=Y.params.worldWidth,worldHeight:or=Y.params.worldHeight,...rr}){let er={u_image:r,u_size:S,u_angle:t,u_distortion:o,u_shift:p,u_blur:l,u_edges:c,u_distortionShape:wt[s],u_shape:Pt[m],u_marginLeft:u,u_marginRight:h,u_marginTop:f,u_marginBottom:d,u_fit:St[w],u_scale:P,u_rotation:k,u_offsetX:U,u_offsetY:Z,u_originX:F,u_originY:B,u_worldWidth:H,u_worldHeight:or};return bt(_,{...rr,speed:e,frame:a,fragmentShader:_t,uniforms:er})});import\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{memo as Xt}from\"react\";import{waterFragmentShader as Yt,getShaderColorFromString as te,ShaderFitOptions as Ct,defaultObjectSizing as Cr}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as zt}from\"react/jsx-runtime\";var I={name:\"Default\",params:{...Cr,scale:.8,speed:1,frame:0,colorBack:\"#909090\",colorHighlight:\"#ffffff\",highlights:.07,layering:.5,edges:.8,waves:.3,caustic:.1,size:1}},Mt={name:\"Abstract\",params:{...Cr,fit:\"cover\",scale:3,speed:1,frame:0,colorBack:\"#909090\",colorHighlight:\"#ffffff\",highlights:0,layering:0,edges:1,waves:1,caustic:.4,size:4}},Rt={name:\"Streaming\",params:{...Cr,fit:\"contain\",scale:.4,speed:2,frame:0,colorBack:\"#909090\",colorHighlight:\"#ffffff\",highlights:0,layering:0,edges:0,waves:.5,caustic:0,size:3}},vt={name:\"Slow-mo\",params:{...Cr,fit:\"cover\",scale:1,speed:.1,frame:0,colorBack:\"#909090\",colorHighlight:\"#ffffff\",highlights:.4,layering:0,edges:0,waves:0,caustic:.2,size:2}},Ot=[I,vt,Mt,Rt],Wt=Xt(function({speed:e=I.params.speed,frame:a=I.params.frame,colorBack:r=I.params.colorBack,colorHighlight:t=I.params.colorHighlight,image:o=\"\",highlights:s=I.params.highlights,layering:m=I.params.layering,waves:p=I.params.waves,edges:l=I.params.edges,caustic:i=I.params.caustic,effectScale:u,size:h=u===void 0?I.params.size:10/9/u-1/9,fit:f=I.params.fit,scale:d=I.params.scale,rotation:c=I.params.rotation,originX:n=I.params.originX,originY:S=I.params.originY,offsetX:w=I.params.offsetX,offsetY:P=I.params.offsetY,worldWidth:k=I.params.worldWidth,worldHeight:F=I.params.worldHeight,...B}){let U={u_image:o,u_colorBack:te(r),u_colorHighlight:te(t),u_highlights:s,u_layering:m,u_waves:p,u_edges:l,u_caustic:i,u_size:h,u_fit:Ct[f],u_rotation:c,u_scale:d,u_offsetX:w,u_offsetY:P,u_originX:n,u_originY:S,u_worldWidth:k,u_worldHeight:F};return zt(_,{...B,speed:e,frame:a,fragmentShader:Yt,uniforms:U})},b);import{memo as Gt}from\"react\";import{imageDitheringFragmentShader as At,getShaderColorFromString as Tr,ShaderFitOptions as It,defaultObjectSizing as zr,DitheringTypes as Ht}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as Dt}from\"react/jsx-runtime\";var j={name:\"Default\",params:{...zr,fit:\"cover\",speed:0,frame:0,colorFront:\"#94ffaf\",colorBack:\"#000c38\",colorHighlight:\"#eaff94\",type:\"8x8\",size:2,colorSteps:2,originalColors:!1}},qt={name:\"Retro\",params:{...zr,speed:0,frame:0,colorFront:\"#eeeeee\",colorBack:\"#5452ff\",colorHighlight:\"#eeeeee\",type:\"2x2\",size:3,colorSteps:1,originalColors:!0}},jt={name:\"Noise\",params:{...zr,speed:0,frame:0,colorFront:\"#a2997c\",colorBack:\"#000000\",colorHighlight:\"#ededed\",type:\"random\",size:1,colorSteps:1,originalColors:!1}},Tt={name:\"Natural\",params:{...zr,speed:0,frame:0,colorFront:\"#ffffff\",colorBack:\"#000000\",colorHighlight:\"#ffffff\",type:\"8x8\",size:2,colorSteps:5,originalColors:!0}},Et=[j,jt,qt,Tt],Lt=Gt(function({speed:e=j.params.speed,frame:a=j.params.frame,colorFront:r=j.params.colorFront,colorBack:t=j.params.colorBack,colorHighlight:o=j.params.colorHighlight,image:s=\"\",type:m=j.params.type,colorSteps:p=j.params.colorSteps,originalColors:l=j.params.originalColors,pxSize:i,size:u=i===void 0?j.params.size:i,fit:h=j.params.fit,scale:f=j.params.scale,rotation:d=j.params.rotation,originX:c=j.params.originX,originY:n=j.params.originY,offsetX:S=j.params.offsetX,offsetY:w=j.params.offsetY,worldWidth:P=j.params.worldWidth,worldHeight:k=j.params.worldHeight,...F}){let B={u_image:s,u_colorFront:Tr(r),u_colorBack:Tr(t),u_colorHighlight:Tr(o),u_type:Ht[m],u_pxSize:u,u_colorSteps:p,u_originalColors:l,u_fit:It[h],u_rotation:d,u_scale:f,u_offsetX:S,u_offsetY:w,u_originX:c,u_originY:n,u_worldWidth:P,u_worldHeight:k};return Dt(_,{...F,speed:e,frame:a,fragmentShader:At,uniforms:B})},b);import{memo as Kt,useLayoutEffect as $t,useMemo as Jt,useState as Qt}from\"react\";import{getShaderColorFromString as ne,heatmapFragmentShader as Zt,ShaderFitOptions as ri,defaultObjectSizing as fe,toProcessedHeatmap as me}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";var fr=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";var Nt=g=>typeof g==\"object\"&&typeof g.then==\"function\",ie=[];function Ut(g,e){if(g===e)return!0;if(!g||!e)return!1;let a=g.length;if(e.length!==a)return!1;for(let r=0;r<a;r++)if(g[r]!==e[r])return!1;return!0}function Vt(g,e=null){e===null&&(e=[g]);for(let r of ie)if(Ut(e,r.keys)){if(Object.prototype.hasOwnProperty.call(r,\"error\"))throw r.error;if(Object.prototype.hasOwnProperty.call(r,\"response\"))return r.response;throw r.promise}let a={keys:e,promise:(Nt(g)?g:g(...e)).then(r=>{a.response=r}).catch(r=>a.error=r)};throw ie.push(a),a.promise}var Mr=(g,e)=>Vt(g,e);import{jsx as ei}from\"react/jsx-runtime\";var T={name:\"Default\",params:{...fe,scale:.75,speed:1,frame:0,contour:.5,angle:0,noise:0,innerGlow:.5,outerGlow:.5,colorBack:\"#000000\",colors:[\"#11206a\",\"#1f3ba2\",\"#2f63e7\",\"#6bd7ff\",\"#ffe679\",\"#ff991e\",\"#ff4c00\"]}},oi={name:\"Sepia\",params:{...fe,scale:.75,speed:.5,frame:0,contour:.5,angle:0,noise:.75,innerGlow:.5,outerGlow:.5,colorBack:\"#000000\",colors:[\"#997F45\",\"#ffffff\"]}},ai=[T,oi],si=Kt(function({speed:e=T.params.speed,frame:a=T.params.frame,image:r=\"\",contour:t=T.params.contour,angle:o=T.params.angle,noise:s=T.params.noise,innerGlow:m=T.params.innerGlow,outerGlow:p=T.params.outerGlow,colorBack:l=T.params.colorBack,colors:i=T.params.colors,suspendWhenProcessingImage:u=!1,fit:h=T.params.fit,offsetX:f=T.params.offsetX,offsetY:d=T.params.offsetY,originX:c=T.params.originX,originY:n=T.params.originY,rotation:S=T.params.rotation,scale:w=T.params.scale,worldHeight:P=T.params.worldHeight,worldWidth:k=T.params.worldWidth,...F}){let B=typeof r==\"string\"?r:r.src,[U,Z]=Qt(fr),H;u&&typeof window<\"u\"?H=Mr(()=>me(B).then(rr=>URL.createObjectURL(rr.blob)),[B,\"heatmap\"]):H=U,$t(()=>{if(u)return;if(!B){Z(fr);return}let rr,er=!0;return me(B).then(sr=>{er&&(rr=URL.createObjectURL(sr.blob),Z(rr))}),()=>{er=!1}},[B,u]);let or=Jt(()=>({u_image:H,u_contour:t,u_angle:o,u_noise:s,u_innerGlow:m,u_outerGlow:p,u_colorBack:ne(l),u_colors:i.map(ne),u_colorsCount:i.length,u_fit:ri[h],u_offsetX:f,u_offsetY:d,u_originX:c,u_originY:n,u_rotation:S,u_scale:w,u_worldHeight:P,u_worldWidth:k}),[e,a,t,o,s,m,p,i,l,H,h,f,d,c,n,S,w,P,k]);return ei(_,{...F,speed:e,frame:a,fragmentShader:Zt,uniforms:or})},b);import{memo as ti,useLayoutEffect as ii,useState as ni}from\"react\";import{liquidMetalFragmentShader as mi,ShaderFitOptions as fi,defaultObjectSizing as Rr,toProcessedLiquidMetal as pe,getShaderColorFromString as le,LiquidMetalShapes as pi}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{jsx as li}from\"react/jsx-runtime\";var R={name:\"Default\",params:{...Rr,scale:.6,speed:1,frame:0,colorBack:\"#AAAAAC\",colorTint:\"#ffffff\",distortion:.07,repetition:2,shiftRed:.3,shiftBlue:.3,contour:.4,softness:.1,angle:70,shape:\"diamond\"}},ci={name:\"Noir\",params:{...Rr,scale:.6,speed:1,frame:0,colorBack:\"#000000\",colorTint:\"#606060\",softness:.45,repetition:1.5,shiftRed:0,shiftBlue:0,distortion:0,contour:0,angle:90,shape:\"diamond\"}},ui={name:\"Backdrop\",params:{...Rr,speed:1,frame:0,scale:1.5,colorBack:\"#AAAAAC\",colorTint:\"#ffffff\",softness:.05,repetition:1.5,shiftRed:.3,shiftBlue:.3,distortion:.1,contour:.4,shape:\"none\",angle:90,worldWidth:0,worldHeight:0}},di={name:\"Stripes\",params:{...Rr,speed:1,frame:0,scale:.6,colorBack:\"#000000\",colorTint:\"#2c5d72\",softness:.8,repetition:6,shiftRed:1,shiftBlue:-1,distortion:.4,contour:.4,shape:\"circle\",angle:0}},gi=[R,ci,ui,di],hi=ti(function({colorBack:e=R.params.colorBack,colorTint:a=R.params.colorTint,speed:r=R.params.speed,frame:t=R.params.frame,image:o=\"\",contour:s=R.params.contour,distortion:m=R.params.distortion,softness:p=R.params.softness,repetition:l=R.params.repetition,shiftRed:i=R.params.shiftRed,shiftBlue:u=R.params.shiftBlue,angle:h=R.params.angle,shape:f=R.params.shape,suspendWhenProcessingImage:d=!1,fit:c=R.params.fit,scale:n=R.params.scale,rotation:S=R.params.rotation,originX:w=R.params.originX,originY:P=R.params.originY,offsetX:k=R.params.offsetX,offsetY:F=R.params.offsetY,worldWidth:B=R.params.worldWidth,worldHeight:U=R.params.worldHeight,...Z}){let H=typeof o==\"string\"?o:o.src,[or,rr]=ni(fr),er;d&&typeof window<\"u\"&&H?er=Mr(()=>pe(H).then(ar=>URL.createObjectURL(ar.pngBlob)),[H,\"liquid-metal\"]):er=or,ii(()=>{if(d)return;if(!H){rr(fr);return}let ar,tr=!0;return pe(H).then(vr=>{tr&&(ar=URL.createObjectURL(vr.pngBlob),rr(ar))}),()=>{tr=!1}},[H,d]);let sr={u_colorBack:le(e),u_colorTint:le(a),u_image:er,u_contour:s,u_distortion:m,u_softness:p,u_repetition:l,u_shiftRed:i,u_shiftBlue:u,u_angle:h,u_isImage:!!o,u_shape:pi[f],u_fit:fi[c],u_scale:n,u_rotation:S,u_offsetX:k,u_offsetY:F,u_originX:w,u_originY:P,u_worldWidth:B,u_worldHeight:U};return li(_,{...Z,speed:r,frame:t,fragmentShader:mi,uniforms:sr})});import{isPaperShaderElement as ep,getShaderColorFromString as op}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";import{colorPanelsMeta as sp,dotOrbitMeta as tp,godRaysMeta as ip,grainGradientMeta as np,meshGradientMeta as mp,metaballsMeta as fp,pulsingBorderMeta as pp,simplexNoiseMeta as lp,smokeRingMeta as cp,swirlMeta as up,voronoiMeta as dp,warpMeta as gp,heatmapMeta as hp,staticMeshGradientMeta as _p,staticRadialGradientMeta as Sp}from\"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";export{Ds as ColorPanels,ns as Dithering,lo as DotGrid,eo as DotOrbit,xt as FlutedGlass,za as GodRays,Ps as GrainGradient,si as Heatmap,Lt as ImageDithering,hi as LiquidMetal,xe as MeshGradient,Ro as Metaballs,Le as NeuroNoise,gt as PaperTexture,$o as PerlinNoise,Ms as PulsingBorder,_ as ShaderMount,ko as SimplexNoise,Ge as SmokeRing,Ha as Spiral,$s as StaticMeshGradient,tt as StaticRadialGradient,Va as Swirl,ia as Voronoi,Pa as Warp,Wt as Water,qo as Waves,sp as colorPanelsMeta,Hs as colorPanelsPresets,is as ditheringPresets,po as dotGridPresets,tp as dotOrbitMeta,ro as dotOrbitPresets,yt as flutedGlassPresets,op as getShaderColorFromString,ip as godRaysMeta,Ca as godRaysPresets,np as grainGradientMeta,ws as grainGradientPresets,hp as heatmapMeta,ai as heatmapPresets,Et as imageDitheringPresets,ep as isPaperShaderElement,gi as liquidMetalPresets,mp as meshGradientMeta,ye as meshGradientPresets,fp as metaballsMeta,Mo as metaballsPresets,Ee as neuroNoisePresets,dt as paperTexturePresets,Ko as perlinNoisePresets,pp as pulsingBorderMeta,zs as pulsingBorderPresets,lp as simplexNoiseMeta,bo as simplexNoisePresets,cp as smokeRingMeta,We as smokeRingPresets,Ia as spiralPresets,_p as staticMeshGradientMeta,Ks as staticMeshGradientPresets,Sp as staticRadialGradientMeta,st as staticRadialGradientPresets,up as swirlMeta,Ua as swirlPresets,dp as voronoiMeta,ta as voronoiPresets,gp as warpMeta,wa as warpPresets,Ot as waterPresets,Do as wavesPresets};\n//# sourceMappingURL=shaders-react.mjs.map","/* esm.sh - @paper-design/shaders-react@0.0.61 */\nimport \"/@paper-design/shaders@0.0.61/es2022/shaders.mjs\";\nexport * from \"/@paper-design/shaders-react@0.0.61/X-ZEBwYXBlci1kZXNpZ24vc2hhZGVyc0AwLjAuNjEKZXJlYWN0LHJlYWN0LWRvbQ/es2022/shaders-react.mjs\";\n","/*\n * Copyright (c) 2025 Fred Moon (x.com/fw3d). All rights reserved.\n *\n * This code is the exclusive property of Fred Moon. Any unauthorized use,\n * reproduction, modification, distribution, or incorporation into other\n * software, in whole or in part, is strictly prohibited without the express\n * written permission of the author.\n *\n * This code is provided \"AS IS\" without warranty of any kind, either\n * expressed or implied, including but not limited to the implied warranties\n * of merchantability and fitness for a particular purpose.\n *\n * For licensing inquiries, please contact Fred Moon at x.com/fw3d\n *\n * This copyright notice and permission notice shall be included in all\n * copies or substantial portions of this software.\n *\n * Note: This code uses @paper-design/shaders-react (MIT License)\n * which is subject to its own license and excluded from this copyright claim.\n */// import { PulsingBorder } from \"@paper-design/shaders-react\"\n//import { PulsingBorder } from \"https://esm.sh/@paper-design/shaders-react@0.0.52?external=react,react-dom&deps=@paper-design/shaders@0.0.52\"\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{PulsingBorder}from\"https://esm.sh/@paper-design/shaders-react@0.0.61?external=react,react-dom&deps=@paper-design/shaders@0.0.61\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerDisableUnlink\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 600\n */export default function PulsingBorderComponent(props){// // This might show version info\n// console.log(\"PulsingBorder:\", PulsingBorder)\n// // Check if there's version info in the component\n// console.log(\"Component info:\", PulsingBorder.toString())\nconst{colors,colorBack,speed,roundness,thickness,softness,intensity,bloom,spots,spotSize,pulse,smoke,smokeSize,scale,rotation,offsetX,offsetY,worldWidth,worldHeight}=props;return /*#__PURE__*/_jsx(PulsingBorder,{colors:colors,colorBack:colorBack,speed:speed,roundness:roundness,thickness:thickness,softness:softness,intensity:intensity,bloom:bloom,spots:spots,spotSize:spotSize,pulse:pulse,smoke:smoke,smokeSize:smokeSize,scale:scale,rotation:rotation,fit:\"contain\",offsetX:offsetX,offsetY:offsetY,originX:.5,originY:.5,worldWidth:worldWidth,worldHeight:worldHeight,frame:0,style:{width:\"100%\",height:\"100%\",flexShrink:\"0\"}});}// Default props\nPulsingBorderComponent.defaultProps={colors:[\"#f2244f\",\"#4da6e6\",\"#379590\"],colorBack:\"#000000\",speed:1,roundness:.35,thickness:.05,softness:.75,intensity:.3,bloom:.5,spots:3,spotSize:.3,pulse:0,smoke:.35,smokeSize:.63,scale:.8,rotation:0,offsetX:0,offsetY:0,worldWidth:0,worldHeight:0};PulsingBorderComponent.displayName=\"🚀 Pulsating Border\";// Property controls\naddPropertyControls(PulsingBorderComponent,{colors:{type:ControlType.Array,control:{type:ControlType.Color},title:\"Border Colors\",defaultValue:[\"#f2244f\",\"#4da6e6\",\"#379590\"],maxCount:5},colorBack:{type:ControlType.Color,title:\"Background Color\",defaultValue:\"#000000\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:1,min:.1,max:5,step:.1},roundness:{type:ControlType.Number,title:\"Roundness\",defaultValue:.35,min:0,max:2,step:.05},thickness:{type:ControlType.Number,title:\"Thickness\",defaultValue:.05,min:0,max:1,step:.01},softness:{type:ControlType.Number,title:\"Softness\",defaultValue:.75,min:0,max:2,step:.05},intensity:{type:ControlType.Number,title:\"Intensity\",defaultValue:.3,min:0,max:2,step:.1},bloom:{type:ControlType.Number,title:\"Bloom\",defaultValue:.5,min:0,max:2,step:.1},spots:{type:ControlType.Number,title:\"Spots\",defaultValue:3,min:0,max:4,step:1,displayStepper:true},spotSize:{type:ControlType.Number,title:\"Spot Size\",defaultValue:.3,min:0,max:1,step:.05},pulse:{type:ControlType.Number,title:\"Pulse\",defaultValue:0,min:0,max:1,step:.1},smoke:{type:ControlType.Number,title:\"Smoke\",defaultValue:.35,min:0,max:1,step:.05},smokeSize:{type:ControlType.Number,title:\"Smoke Size\",defaultValue:.63,min:0,max:2,step:.05},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:.55,min:.1,max:2,step:.05},rotation:{type:ControlType.Number,title:\"Rotation\",defaultValue:0,min:0,max:360,step:1,unit:\"deg\"},offsetX:{type:ControlType.Number,title:\"Offset X\",defaultValue:0,min:-5,max:5,step:.1},offsetY:{type:ControlType.Number,title:\"Offset Y\",defaultValue:0,min:-5,max:5,step:.1},worldWidth:{type:ControlType.Number,title:\"World Width\",defaultValue:0,min:0,max:2e3,step:10,description:\"0 = auto size\"},worldHeight:{type:ControlType.Number,title:\"World Height\",defaultValue:0,min:0,max:2e3,step:10,description:\"0 = auto size \\n\\n[Created for Framer by Fred Moon (x.com/fw3d)](https://x.com/fw3d)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PulsingBorderComponent\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"* @framerIntrinsicWidth 600\",\"framerIntrinsicHeight\":\"600\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PulsatingShader.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";export function withoutFramerBadge(Component){return props=>{return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                        #__framer-badge-container { display: none !important; }\n                    `}),/*#__PURE__*/_jsx(Component,{...props})]});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withoutFramerBadge\":{\"type\":\"reactHoc\",\"name\":\"withoutFramerBadge\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Hide.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nexport const containerStyles = {\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nconst nullIconStyle = {\n    minWidth: \"10px\",\n    minHeight: \"10px\",\n    maxWidth: \"20px\",\n    maxHeight: \"20px\",\n    width: \"60%\",\n    height: \"60%\"\n};\nconst emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(149, 149, 149, 0.1)\",\n    border: \"1px dashed rgba(149, 149, 149, 0.15)\",\n    color: \"#a5a5a5\",\n    flexDirection: \"column\"\n};\nexport const NullState = /*#__PURE__*/ React.forwardRef((_, ref)=>{\n    return(/*#__PURE__*/ _jsx(\"div\", {\n        style: emptyStateStyle,\n        ref: ref\n    }));\n}) /*\n\n<svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                viewBox=\"0 0 30 30\"\n                style={nullIconStyle}\n            >\n                <path\n                    d=\"M 12.857 0 C 19.958 0 25.714 5.756 25.714 12.857 C 25.714 19.958 19.958 25.714 12.857 25.714 C 5.756 25.714 0 19.958 0 12.857 C 0 5.756 5.756 0 12.857 0 Z\"\n                    fill=\"#FFFFFF\"\n                ></path>\n                <path\n                    d=\"M 20.357 20.357 L 27.857 27.857\"\n                    fill=\"transparent\"\n                    strokeWidth=\"4.28\"\n                    stroke=\"#FFFFFF\"\n                    strokeLinecap=\"round\"\n                ></path>\n                <g transform=\"translate(9.643 6.429)\">\n                    <path\n                        d=\"M 3.214 12.857 L 3.214 12.857\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.75\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                    ></path>\n                    <path\n                        d=\"M 0 3.214 C 0 1.004 1.843 0 3.214 0 C 4.586 0 6.429 0.603 6.429 3.214 C 6.429 5.826 3.214 5.913 3.214 7.232 C 3.214 8.552 3.214 8.571 3.214 8.571\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.22\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                        strokeLinejoin=\"round\"\n                    ></path>\n                </g>\n            </svg>\n            */ ;\n\nexport const __FramerMetadata__ = {\"exports\":{\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NullState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./nullstate.map","let Component;\nlet IconInner;\nvar Icon = (React) => {\n  if (!Component) {\n    Component = /* @__PURE__ */ new Map([\n      [\n        \"bold\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M222.14,105.85l-80-80a20,20,0,0,0-28.28,0l-80,80A19.86,19.86,0,0,0,28,120v96a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V164h24v52a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V120A19.86,19.86,0,0,0,222.14,105.85ZM204,204H164V152a12,12,0,0,0-12-12H104a12,12,0,0,0-12,12v52H52V121.65l76-76,76,76Z\" }))\n      ],\n      [\n        \"duotone\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\n          \"path\",\n          {\n            d: \"M216,120v96H152V152H104v64H40V120a8,8,0,0,1,2.34-5.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,216,120Z\",\n            opacity: \"0.2\"\n          }\n        ), /* @__PURE__ */ React.createElement(\"path\", { d: \"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z\" }))\n      ],\n      [\n        \"fill\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M224,120v96a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V164a4,4,0,0,0-4-4H108a4,4,0,0,0-4,4v52a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V120a16,16,0,0,1,4.69-11.31l80-80a16,16,0,0,1,22.62,0l80,80A16,16,0,0,1,224,120Z\" }))\n      ],\n      [\n        \"light\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M217.9,110.1l-80-80a14,14,0,0,0-19.8,0l-80,80A13.92,13.92,0,0,0,34,120v96a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V158h36v58a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V120A13.92,13.92,0,0,0,217.9,110.1ZM210,210H158V152a6,6,0,0,0-6-6H104a6,6,0,0,0-6,6v58H46V120a2,2,0,0,1,.58-1.42l80-80a2,2,0,0,1,2.84,0l80,80A2,2,0,0,1,210,120Z\" }))\n      ],\n      [\n        \"regular\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z\" }))\n      ],\n      [\n        \"thin\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M216.49,111.51l-80-80a12,12,0,0,0-17,0l-80,80A12,12,0,0,0,36,120v96a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V156h40v60a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V120A12,12,0,0,0,216.49,111.51ZM212,212H156V152a4,4,0,0,0-4-4H104a4,4,0,0,0-4,4v60H44V120a4,4,0,0,1,1.17-2.83l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,212,120Z\" }))\n      ]\n    ]);\n    IconInner = React.forwardRef((props, ref) => /* @__PURE__ */ React.createElement(\"g\", { ref, ...props }, Component.get(props.weight)));\n  }\n  return IconInner;\n};\nconst __FramerMetadata__ = {\n  exports: {\n    default: {\n      type: \"reactComponent\",\n      slots: [],\n      annotations: { framerContractVersion: \"1\" }\n    },\n    __FramerMetadata__: { type: \"variable\" }\n  }\n};\nvar House_default = Icon;\nexport {\n  __FramerMetadata__,\n  House_default as default\n};\n","// Generated by Framer (504870a)\nexport default function metadata(params,activeLocale){return{description:\"Made with Framer\",robots:\"max-image-preview:large\",title:\"My Framer Site\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (3df86f7)\nimport siteMetadata from\"https://framerusercontent.com/modules/p4zhu99hyAw1CfqBrUAc/bwiHQ835Xic1O0r4mFWn/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"uzmuv8\"}],description:siteMetadata(params,activeLocale).description,elements:{},robots:\"max-image-preview:large\",serializationId:\"framer-GR5Oy\",title:siteMetadata(params,activeLocale).title||\"Home\",viewport:\"width=1200\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (3df86f7)\nimport siteMetadata from\"https://framerusercontent.com/modules/p4zhu99hyAw1CfqBrUAc/bwiHQ835Xic1O0r4mFWn/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"9crct3\"}],description:siteMetadata(params,activeLocale).description,elements:{},framerSearch:{index:false},robots:\"noindex\",serializationId:\"framer-Zw3RW\",title:siteMetadata(params,activeLocale).title||\"Ogp\",viewport:\"width=1200\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}