{"version":3,"file":"shared-lib.CDaJJmZd.mjs","names":["t","e","n","o","s","r","clamp","u","a","n","o","r","t","e","cubicBezier","i","t","i","o","a","u","h","e","s","l","p","n","r","m","n","e","t","i","r","n","e","t","o","a","e","r","t","s","n","i","o","u","l","p","M","e","t","o","n","i","f","r","l","c","p","A","W","L","T","u","x","a","d","g","m","h","O","z","V","S","ue","useMemo","a","useState","useMemo","i","e","vertexShaderSource","r","a","l","t","p","q","n","useMemo","ShaderMount","useRef","ShaderMountVanilla"],"sources":["https:/ga.jspm.io/npm:@motionone/utils@10.14.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/easing@10.12.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/animation@10.18.0/dist/index.es.js","https:/ga.jspm.io/npm:hey-listen@1.0.8/dist/index.js","https:/ga.jspm.io/npm:@motionone/types@10.17.1/dist/index.es.js","https:/ga.jspm.io/npm:tslib@2.6.3/tslib.es6.mjs","https:/ga.jspm.io/npm:@motionone/generators@10.18.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/dom@10.18.0/dist/index.es.js","https:/framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js","https:/framer.com/m/framer/icon-nullstate.js@0.7.0","https:/framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js","https:/framerusercontent.com/modules/k76epLFsVsF4jlsF5pgg/ge79eoA2CuYo94sUAjT9/useColors.js","https:/framerusercontent.com/modules/NLpw4UPElXpirDfZ8gK3/pnnblFdmCm84r7TGjG3U/shader_mount.js","https:/framerusercontent.com/modules/zIDOp1iaNFIXSAIx7ljo/VX06XYWdAlD95B9usTKm/warp.js","https:/framerusercontent.com/modules/r591zLdRh7n2CKaaHRG7/PCYxubr6wk68eTxKLhEH/get_shader_color_from_string.js","https:/framerusercontent.com/modules/q3nWgGXMhG0Ina6vgRVz/PVl4bshKvCOZO36e3vK1/index.js","https:/framer.com/m/index-uMsj.js@PVl4bshKvCOZO36e3vK1","https:/framerusercontent.com/modules/xx99X8dO7V1Egbc8GwnH/UFRazcQO8HL1EtQ8wvSQ/AnimatedLiquidBackground_Prod.js","https:/framerusercontent.com/modules/nXh78hVKNbjLp68maxyx/FJGfRpJr5CgyYBoRLdRh/siteMetadata.js"],"sourcesContent":["function addUniqueItem(t,e){-1===t.indexOf(e)&&t.push(e)}function removeItem(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const clamp=(t,e,n)=>Math.min(Math.max(n,t),e);const t={duration:.3,delay:0,endDelay:0,repeat:0,easing:\"ease\"};const isNumber=t=>\"number\"===typeof t;const isEasingList=t=>Array.isArray(t)&&!isNumber(t[0]);const wrap=(t,e,n)=>{const o=e-t;return((n-t)%o+o)%o+t};function getEasingForSegment(t,e){return isEasingList(t)?t[wrap(0,t.length,e)]:t}const mix=(t,e,n)=>-n*t+n*e+t;const noop=()=>{};const noopReturn=t=>t;const progress=(t,e,n)=>e-t===0?1:(n-t)/(e-t);function fillOffset(t,e){const n=t[t.length-1];for(let o=1;o<=e;o++){const s=progress(0,e,o);t.push(mix(n,1,s))}}function defaultOffset(t){const e=[0];fillOffset(e,t-1);return e}function interpolate(t,e=defaultOffset(t.length),n=noopReturn){const o=t.length;const s=o-e.length;s>0&&fillOffset(e,s);return s=>{let f=0;for(;f<o-2;f++)if(s<e[f+1])break;let r=clamp(0,1,progress(e[f],e[f+1],s));const c=getEasingForSegment(n,f);r=c(r);return mix(t[f],t[f+1],r)}}const isCubicBezier=t=>Array.isArray(t)&&isNumber(t[0]);const isEasingGenerator=t=>\"object\"===typeof t&&Boolean(t.createAnimation);const isFunction=t=>\"function\"===typeof t;const isString=t=>\"string\"===typeof t;const e={ms:t=>1e3*t,s:t=>t/1e3};\n/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/function velocityPerSecond(t,e){return e?t*(1e3/e):0}export{addUniqueItem,clamp,defaultOffset,t as defaults,fillOffset,getEasingForSegment,interpolate,isCubicBezier,isEasingGenerator,isEasingList,isFunction,isNumber,isString,mix,noop,noopReturn,progress,removeItem,e as time,velocityPerSecond,wrap};\n\n//# sourceMappingURL=index.es.js.map","import{noopReturn as t,clamp as n}from\"@motionone/utils\";const calcBezier=(t,n,e)=>(((1-3*e+3*n)*t+(3*e-6*n))*t+3*n)*t;const e=1e-7;const i=12;function binarySubdivide(t,n,o,r,c){let u;let a;let s=0;do{a=n+(o-n)/2;u=calcBezier(a,r,c)-t;u>0?o=a:n=a}while(Math.abs(u)>e&&++s<i);return a}function cubicBezier(n,e,i,o){if(n===e&&i===o)return t;const getTForX=t=>binarySubdivide(t,0,1,n,i);return t=>0===t||1===t?t:calcBezier(getTForX(t),e,o)}const steps=(t,e=\"end\")=>i=>{i=\"end\"===e?Math.min(i,.999):Math.max(i,.001);const o=i*t;const r=\"end\"===e?Math.floor(o):Math.ceil(o);return n(0,1,r/t)};export{cubicBezier,steps};\n\n//# sourceMappingURL=index.es.js.map","import{isFunction as t,isCubicBezier as i,noopReturn as e,defaults as s,isEasingGenerator as a,isEasingList as n,interpolate as r}from\"@motionone/utils\";import{cubicBezier as o,steps as h}from\"@motionone/easing\";const l={ease:o(.25,.1,.25,1),\"ease-in\":o(.42,0,1,1),\"ease-in-out\":o(.42,0,.58,1),\"ease-out\":o(0,0,.58,1)};const u=/\\((.*?)\\)/;function getEasingFunction(s){if(t(s))return s;if(i(s))return o(...s);const a=l[s];if(a)return a;if(s.startsWith(\"steps\")){const t=u.exec(s);if(t){const i=t[1].split(\",\");return h(parseFloat(i[0]),i[1].trim())}}return e}class Animation{constructor(t,i=[0,1],{easing:o,duration:h=s.duration,delay:l=s.delay,endDelay:u=s.endDelay,repeat:m=s.repeat,offset:c,direction:p=\"normal\",autoplay:d=true}={}){this.startTime=null;this.rate=1;this.t=0;this.cancelTimestamp=null;this.easing=e;this.duration=0;this.totalDuration=0;this.repeat=0;this.playState=\"idle\";this.finished=new Promise(((t,i)=>{this.resolve=t;this.reject=i}));o=o||s.easing;if(a(o)){const t=o.createAnimation(i);o=t.easing;i=t.keyframes||i;h=t.duration||h}this.repeat=m;this.easing=n(o)?e:getEasingFunction(o);this.updateDuration(h);const f=r(i,c,n(o)?o.map(getEasingFunction):e);this.tick=i=>{var e;l;let s=0;s=this.pauseTime!==void 0?this.pauseTime:(i-this.startTime)*this.rate;this.t=s;s/=1e3;s=Math.max(s-l,0);this.playState===\"finished\"&&this.pauseTime===void 0&&(s=this.totalDuration);const a=s/this.duration;let n=Math.floor(a);let r=a%1;!r&&a>=1&&(r=1);r===1&&n--;const o=n%2;(p===\"reverse\"||p===\"alternate\"&&o||p===\"alternate-reverse\"&&!o)&&(r=1-r);const h=s>=this.totalDuration?1:Math.min(r,1);const m=f(this.easing(h));t(m);const c=this.pauseTime===void 0&&(this.playState===\"finished\"||s>=this.totalDuration+u);if(c){this.playState=\"finished\";(e=this.resolve)===null||e===void 0?void 0:e.call(this,m)}else this.playState!==\"idle\"&&(this.frameRequestId=requestAnimationFrame(this.tick))};d&&this.play()}play(){const t=performance.now();this.playState=\"running\";this.pauseTime!==void 0?this.startTime=t-this.pauseTime:this.startTime||(this.startTime=t);this.cancelTimestamp=this.startTime;this.pauseTime=void 0;this.frameRequestId=requestAnimationFrame(this.tick)}pause(){this.playState=\"paused\";this.pauseTime=this.t}finish(){this.playState=\"finished\";this.tick(0)}stop(){var t;this.playState=\"idle\";this.frameRequestId!==void 0&&cancelAnimationFrame(this.frameRequestId);(t=this.reject)===null||t===void 0?void 0:t.call(this,false)}cancel(){this.stop();this.tick(this.cancelTimestamp)}reverse(){this.rate*=-1}commitStyles(){}updateDuration(t){this.duration=t;this.totalDuration=t*(this.repeat+1)}get currentTime(){return this.t}set currentTime(t){this.pauseTime!==void 0||this.rate===0?this.pauseTime=t:this.startTime=performance.now()-t/this.rate}get playbackRate(){return this.rate}set playbackRate(t){this.rate=t}}export{Animation,getEasingFunction};\n//# sourceMappingURL=index.es.js.map\n","var n={};Object.defineProperty(n,\"__esModule\",{value:true});n.warning=function(){};n.invariant=function(){};const e=n.__esModule,t=n.warning,r=n.invariant;export default n;export{e as __esModule,r as invariant,t as warning};\n\n//# sourceMappingURL=index.js.map","class MotionValue{setAnimation(i){this.animation=i;i===null||i===void 0?void 0:i.finished.then((()=>this.clearAnimation())).catch((()=>{}))}clearAnimation(){this.animation=this.generator=void 0}}export{MotionValue};\n//# sourceMappingURL=index.es.js.map\n","var extendStatics=function(e,t){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])};return extendStatics(e,t)};function __extends(e,t){if(typeof t!==\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");extendStatics(e,t);function __(){this.constructor=e}e.prototype=t===null?Object.create(t):(__.prototype=t.prototype,new __)}var __assign=function(){__assign=Object.assign||function __assign(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e};return __assign.apply(this,arguments)};function __rest(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols===\"function\"){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function __decorate(e,t,r,n){var o,a=arguments.length,i=a<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,r):n;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")i=Reflect.decorate(e,t,r,n);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(i=(a<3?o(i):a>3?o(t,r,i):o(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i}function __param(e,t){return function(r,n){t(r,n,e)}}function __esDecorate(e,t,r,n,o,a){function accept(e){if(e!==void 0&&typeof e!==\"function\")throw new TypeError(\"Function expected\");return e}var i=n.kind,c=i===\"getter\"?\"get\":i===\"setter\"?\"set\":\"value\";var s=!t&&e?n.static?e:e.prototype:null;var l=t||(s?Object.getOwnPropertyDescriptor(s,n.name):{});var u,_=false;for(var f=r.length-1;f>=0;f--){var p={};for(var y in n)p[y]=y===\"access\"?{}:n[y];for(var y in n.access)p.access[y]=n.access[y];p.addInitializer=function(e){if(_)throw new TypeError(\"Cannot add initializers after decoration has completed\");a.push(accept(e||null))};var d=(0,r[f])(i===\"accessor\"?{get:l.get,set:l.set}:l[c],p);if(i===\"accessor\"){if(d===void 0)continue;if(d===null||typeof d!==\"object\")throw new TypeError(\"Object expected\");(u=accept(d.get))&&(l.get=u);(u=accept(d.set))&&(l.set=u);(u=accept(d.init))&&o.unshift(u)}else(u=accept(d))&&(i===\"field\"?o.unshift(u):l[c]=u)}s&&Object.defineProperty(s,n.name,l);_=true}function __runInitializers(e,t,r){var n=arguments.length>2;for(var o=0;o<t.length;o++)r=n?t[o].call(e,r):t[o].call(e);return n?r:void 0}function __propKey(e){return typeof e===\"symbol\"?e:\"\".concat(e)}function __setFunctionName(e,t,r){typeof t===\"symbol\"&&(t=t.description?\"[\".concat(t.description,\"]\"):\"\");return Object.defineProperty(e,\"name\",{configurable:true,value:r?\"\".concat(r,\" \",t):t})}function __metadata(e,t){if(typeof Reflect===\"object\"&&typeof Reflect.metadata===\"function\")return Reflect.metadata(e,t)}function __awaiter(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n.throw(e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))}function __generator(e,t){var r,n,o,a,i={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]};return a={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol===\"function\"&&(a[Symbol.iterator]=function(){return this}),a;function verb(e){return function(t){return step([e,t])}}function step(c){if(r)throw new TypeError(\"Generator is already executing.\");while(a&&(a=0,c[0]&&(i=0)),i)try{if(r=1,n&&(o=c[0]&2?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;(n=0,o)&&(c=[c[0]&2,o.value]);switch(c[0]){case 0:case 1:o=c;break;case 4:i.label++;return{value:c[1],done:false};case 5:i.label++;n=c[1];c=[0];continue;case 7:c=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(c[0]===6&&i.label<o[1]){i.label=o[1];o=c;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(c);break}o[2]&&i.ops.pop();i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e];n=0}finally{r=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var e=Object.create?function(e,t,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!(\"get\"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:true,get:function(){return t[r]}});Object.defineProperty(e,n,o)}:function(e,t,r,n){n===void 0&&(n=r);e[n]=t[r]};function __exportStar(t,r){for(var n in t)n===\"default\"||Object.prototype.hasOwnProperty.call(r,n)||e(r,t,n)}function __values(e){var t=typeof Symbol===\"function\"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length===\"number\")return{next:function(){e&&n>=e.length&&(e=void 0);return{value:e&&e[n++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function __read(e,t){var r=typeof Symbol===\"function\"&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{while((t===void 0||t-- >0)&&!(n=a.next()).done)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i}\n/** @deprecated */function __spread(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(__read(arguments[t]));return e}\n/** @deprecated */function __spreadArrays(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var a=arguments[t],i=0,c=a.length;i<c;i++,o++)n[o]=a[i];return n}function __spreadArray(e,t,r){if(r||arguments.length===2)for(var n,o=0,a=t.length;o<a;o++)if(n||!(o in t)){n||(n=Array.prototype.slice.call(t,0,o));n[o]=t[o]}return e.concat(n||Array.prototype.slice.call(t))}function __await(e){return this instanceof __await?(this.v=e,this):new __await(e)}function __asyncGenerator(e,t,r){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var n,o=r.apply(e,t||[]),a=[];return n={},verb(\"next\"),verb(\"throw\"),verb(\"return\",awaitReturn),n[Symbol.asyncIterator]=function(){return this},n;function awaitReturn(e){return function(t){return Promise.resolve(t).then(e,reject)}}function verb(e,t){if(o[e]){n[e]=function(t){return new Promise((function(r,n){a.push([e,t,r,n])>1||resume(e,t)}))};t&&(n[e]=t(n[e]))}}function resume(e,t){try{step(o[e](t))}catch(e){settle(a[0][3],e)}}function step(e){e.value instanceof __await?Promise.resolve(e.value.v).then(fulfill,reject):settle(a[0][2],e)}function fulfill(e){resume(\"next\",e)}function reject(e){resume(\"throw\",e)}function settle(e,t){(e(t),a.shift(),a.length)&&resume(a[0][0],a[0][1])}}function __asyncDelegator(e){var t,r;return t={},verb(\"next\"),verb(\"throw\",(function(e){throw e})),verb(\"return\"),t[Symbol.iterator]=function(){return this},t;function verb(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:__await(e[n](t)),done:false}:o?o(t):t}:o}}function __asyncValues(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=typeof __values===\"function\"?__values(e):e[Symbol.iterator](),t={},verb(\"next\"),verb(\"throw\"),verb(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function verb(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){t=e[r](t),settle(n,o,t.done,t.value)}))}}function settle(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}}function __makeTemplateObject(e,t){Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t;return e}var t=Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:true,value:t})}:function(e,t){e.default=t};function __importStar(r){if(r&&r.__esModule)return r;var n={};if(r!=null)for(var o in r)o!==\"default\"&&Object.prototype.hasOwnProperty.call(r,o)&&e(n,r,o);t(n,r);return n}function __importDefault(e){return e&&e.__esModule?e:{default:e}}function __classPrivateFieldGet(e,t,r,n){if(r===\"a\"&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(typeof t===\"function\"?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return r===\"m\"?n:r===\"a\"?n.call(e):n?n.value:t.get(e)}function __classPrivateFieldSet(e,t,r,n,o){if(n===\"m\")throw new TypeError(\"Private method is not writable\");if(n===\"a\"&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(typeof t===\"function\"?e!==t||!o:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return n===\"a\"?o.call(e,r):o?o.value=r:t.set(e,r),r}function __classPrivateFieldIn(e,t){if(t===null||typeof t!==\"object\"&&typeof t!==\"function\")throw new TypeError(\"Cannot use 'in' operator on non-object\");return typeof e===\"function\"?t===e:e.has(t)}function __addDisposableResource(e,t,r){if(t!==null&&t!==void 0){if(typeof t!==\"object\"&&typeof t!==\"function\")throw new TypeError(\"Object expected.\");var n,o;if(r){if(!Symbol.asyncDispose)throw new TypeError(\"Symbol.asyncDispose is not defined.\");n=t[Symbol.asyncDispose]}if(n===void 0){if(!Symbol.dispose)throw new TypeError(\"Symbol.dispose is not defined.\");n=t[Symbol.dispose];r&&(o=n)}if(typeof n!==\"function\")throw new TypeError(\"Object not disposable.\");o&&(n=function(){try{o.call(this)}catch(e){return Promise.reject(e)}});e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:true});return t}var r=typeof SuppressedError===\"function\"?SuppressedError:function(e,t,r){var n=new Error(r);return n.name=\"SuppressedError\",n.error=e,n.suppressed=t,n};function __disposeResources(e){function fail(t){e.error=e.hasError?new r(t,e.error,\"An error was suppressed during disposal.\"):t;e.hasError=true}function next(){while(e.stack.length){var t=e.stack.pop();try{var r=t.dispose&&t.dispose.call(t.value);if(t.async)return Promise.resolve(r).then(next,(function(e){fail(e);return next()}))}catch(e){fail(e)}}if(e.hasError)throw e.error}return next()}var n={__extends:__extends,__assign:__assign,__rest:__rest,__decorate:__decorate,__param:__param,__metadata:__metadata,__awaiter:__awaiter,__generator:__generator,__createBinding:e,__exportStar:__exportStar,__values:__values,__read:__read,__spread:__spread,__spreadArrays:__spreadArrays,__spreadArray:__spreadArray,__await:__await,__asyncGenerator:__asyncGenerator,__asyncDelegator:__asyncDelegator,__asyncValues:__asyncValues,__makeTemplateObject:__makeTemplateObject,__importStar:__importStar,__importDefault:__importDefault,__classPrivateFieldGet:__classPrivateFieldGet,__classPrivateFieldSet:__classPrivateFieldSet,__classPrivateFieldIn:__classPrivateFieldIn,__addDisposableResource:__addDisposableResource,__disposeResources:__disposeResources};export{__addDisposableResource,__assign,__asyncDelegator,__asyncGenerator,__asyncValues,__await,__awaiter,__classPrivateFieldGet,__classPrivateFieldIn,__classPrivateFieldSet,e as __createBinding,__decorate,__disposeResources,__esDecorate,__exportStar,__extends,__generator,__importDefault,__importStar,__makeTemplateObject,__metadata,__param,__propKey,__read,__rest,__runInitializers,__setFunctionName,__spread,__spreadArray,__spreadArrays,__values,n as default};\n//# sourceMappingURL=tslib.es6.mjs.map\n","import{velocityPerSecond as e,time as t,noopReturn as s}from\"@motionone/utils\";const n=5;function calcGeneratorVelocity(t,s,r){const a=Math.max(s-n,0);return e(r-t(a),s-a)}const r={stiffness:100,damping:10,mass:1};const calcDampingRatio=(e=r.stiffness,t=r.damping,s=r.mass)=>t/(2*Math.sqrt(e*s));function hasReachedTarget(e,t,s){return e<t&&s>=t||e>t&&s<=t}const spring=({stiffness:e=r.stiffness,damping:s=r.damping,mass:n=r.mass,from:a=0,to:o=1,velocity:c=0,restSpeed:i,restDistance:h}={})=>{c=c?t.s(c):0;const u={done:false,hasReachedTarget:false,current:a,target:o};const d=o-a;const f=Math.sqrt(e/n)/1e3;const l=calcDampingRatio(e,s,n);const g=Math.abs(d)<5;i||(i=g?.01:2);h||(h=g?.005:.5);let m;if(l<1){const e=f*Math.sqrt(1-l*l);m=t=>o-Math.exp(-l*f*t)*((l*f*d-c)/e*Math.sin(e*t)+d*Math.cos(e*t))}else m=e=>o-Math.exp(-f*e)*(d+(f*d-c)*e);return e=>{u.current=m(e);const t=e===0?c:calcGeneratorVelocity(m,e,u.current);const s=Math.abs(t)<=i;const n=Math.abs(o-u.current)<=h;u.done=s&&n;u.hasReachedTarget=hasReachedTarget(a,o,u.current);return u}};const glide=({from:e=0,velocity:s=0,power:n=.8,decay:r=.325,bounceDamping:a,bounceStiffness:o,changeTarget:c,min:i,max:h,restDistance:u=.5,restSpeed:d})=>{r=t.ms(r);const f={hasReachedTarget:false,done:false,current:e,target:e};const isOutOfBounds=e=>i!==void 0&&e<i||h!==void 0&&e>h;const nearestBoundary=e=>i===void 0?h:h===void 0||Math.abs(i-e)<Math.abs(h-e)?i:h;let l=n*s;const g=e+l;const m=c===void 0?g:c(g);f.target=m;m!==g&&(l=m-e);const calcDelta=e=>-l*Math.exp(-e/r);const calcLatest=e=>m+calcDelta(e);const applyFriction=e=>{const t=calcDelta(e);const s=calcLatest(e);f.done=Math.abs(t)<=u;f.current=f.done?m:s};let p;let M;const checkCatchBoundary=e=>{if(isOutOfBounds(f.current)){p=e;M=spring({from:f.current,to:nearestBoundary(f.current),velocity:calcGeneratorVelocity(calcLatest,e,f.current),damping:a,stiffness:o,restDistance:u,restSpeed:d})}};checkCatchBoundary(0);return e=>{let t=false;if(!M&&p===void 0){t=true;applyFriction(e);checkCatchBoundary(e)}if(p!==void 0&&e>p){f.hasReachedTarget=true;return M(e-p)}f.hasReachedTarget=false;!t&&applyFriction(e);return f}};const a=10;const o=1e4;function pregenerateKeyframes(e,t=s){let n;let r=a;let c=e(0);const i=[t(c.current)];while(!c.done&&r<o){c=e(r);i.push(t(c.done?c.target:c.current));n===void 0&&c.hasReachedTarget&&(n=r);r+=a}const h=r-a;i.length===1&&i.push(c.current);return{keyframes:i,duration:h/1e3,overshootDuration:(n!==null&&n!==void 0?n:h)/1e3}}export{calcGeneratorVelocity,glide,pregenerateKeyframes,spring};\n//# sourceMappingURL=index.es.js.map\n","import{getEasingFunction as e,Animation as t}from\"@motionone/animation\";import{invariant as n}from\"hey-listen\";import{MotionValue as o}from\"@motionone/types\";import{noopReturn as i,addUniqueItem as s,progress as r,isFunction as a,defaults as c,isCubicBezier as l,isString as f,isEasingGenerator as u,isEasingList as d,isNumber as g,time as m,noop as h,removeItem as p,mix as v,getEasingForSegment as y,defaultOffset as w,fillOffset as E,velocityPerSecond as b,interpolate as A}from\"@motionone/utils\";import{__rest as S}from\"tslib\";import{pregenerateKeyframes as O,calcGeneratorVelocity as x,spring as z,glide as V}from\"@motionone/generators\";const W=new WeakMap;function getAnimationData(e){W.has(e)||W.set(e,{transforms:[],values:new Map});return W.get(e)}function getMotionValue(e,t){e.has(t)||e.set(t,new o);return e.get(t)}const L=[\"\",\"X\",\"Y\",\"Z\"];const T=[\"translate\",\"scale\",\"rotate\",\"skew\"];const M={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};const D={syntax:\"<angle>\",initialValue:\"0deg\",toDefaultUnit:e=>e+\"deg\"};const B={translate:{syntax:\"<length-percentage>\",initialValue:\"0px\",toDefaultUnit:e=>e+\"px\"},rotate:D,scale:{syntax:\"<number>\",initialValue:1,toDefaultUnit:i},skew:D};const k=new Map;const asTransformCssVar=e=>`--motion-${e}`;const N=[\"x\",\"y\",\"z\"];T.forEach((e=>{L.forEach((t=>{N.push(e+t);k.set(asTransformCssVar(e+t),B[e])}))}));const compareTransformOrder=(e,t)=>N.indexOf(e)-N.indexOf(t);const $=new Set(N);const isTransform=e=>$.has(e);const addTransformToElement=(e,t)=>{M[t]&&(t=M[t]);const{transforms:n}=getAnimationData(e);s(n,t);e.style.transform=buildTransformTemplate(n)};const buildTransformTemplate=e=>e.sort(compareTransformOrder).reduce(transformListToString,\"\").trim();const transformListToString=(e,t)=>`${e} ${t}(var(${asTransformCssVar(t)}))`;const isCssVar=e=>e.startsWith(\"--\");const C=new Set;function registerCssVariable(e){if(!C.has(e)){C.add(e);try{const{syntax:t,initialValue:n}=k.has(e)?k.get(e):{};CSS.registerProperty({name:e,inherits:false,syntax:t,initialValue:n})}catch(e){}}}const testAnimation=(e,t)=>document.createElement(\"div\").animate(e,t);const j={cssRegisterProperty:()=>typeof CSS!==\"undefined\"&&Object.hasOwnProperty.call(CSS,\"registerProperty\"),waapi:()=>Object.hasOwnProperty.call(Element.prototype,\"animate\"),partialKeyframes:()=>{try{testAnimation({opacity:[1]})}catch(e){return false}return true},finished:()=>Boolean(testAnimation({opacity:[0,1]},{duration:.001}).finished),linearEasing:()=>{try{testAnimation({opacity:0},{easing:\"linear(0, 1)\"})}catch(e){return false}return true}};const P={};const R={};for(const e in j)R[e]=()=>{P[e]===void 0&&(P[e]=j[e]());return P[e]};const H=.015;const generateLinearEasingPoints=(e,t)=>{let n=\"\";const o=Math.round(t/H);for(let t=0;t<o;t++)n+=e(r(0,o-1,t))+\", \";return n.substring(0,n.length-2)};const convertEasing=(e,t)=>a(e)?R.linearEasing()?`linear(${generateLinearEasingPoints(e,t)})`:c.easing:l(e)?cubicBezierAsString(e):e;const cubicBezierAsString=([e,t,n,o])=>`cubic-bezier(${e}, ${t}, ${n}, ${o})`;function hydrateKeyframes(e,t){for(let n=0;n<e.length;n++)e[n]===null&&(e[n]=n?e[n-1]:t());return e}const keyframesList=e=>Array.isArray(e)?e:[e];function getStyleName(e){M[e]&&(e=M[e]);return isTransform(e)?asTransformCssVar(e):e}const I={get:(e,t)=>{t=getStyleName(t);let n=isCssVar(t)?e.style.getPropertyValue(t):getComputedStyle(e)[t];if(!n&&n!==0){const e=k.get(t);e&&(n=e.initialValue)}return n},set:(e,t,n)=>{t=getStyleName(t);isCssVar(t)?e.style.setProperty(t,n):e.style[t]=n}};function stopAnimation(e,t=true){if(e&&e.playState!==\"finished\")try{if(e.stop)e.stop();else{t&&e.commitStyles();e.cancel()}}catch(e){}}function getUnitConverter(e,t){var n;let o=(t===null||t===void 0?void 0:t.toDefaultUnit)||i;const s=e[e.length-1];if(f(s)){const e=((n=s.match(/(-?[\\d.]+)([a-z%]*)/))===null||n===void 0?void 0:n[2])||\"\";e&&(o=t=>t+e)}return o}function getDevToolsRecord(){return window.__MOTION_DEV_TOOLS_RECORD}function animateStyle(e,t,n,o={},i){const s=getDevToolsRecord();const r=o.record!==false&&s;let l;let{duration:f=c.duration,delay:p=c.delay,endDelay:v=c.endDelay,repeat:y=c.repeat,easing:w=c.easing,persist:E=false,direction:b,offset:A,allowWebkitAcceleration:S=false,autoplay:O=true}=o;const x=getAnimationData(e);const z=isTransform(t);let V=R.waapi();z&&addTransformToElement(e,t);const W=getStyleName(t);const L=getMotionValue(x.values,W);const T=k.get(W);stopAnimation(L.animation,!(u(w)&&L.generator)&&o.record!==false);return()=>{const readInitialValue=()=>{var t,n;return(n=(t=I.get(e,W))!==null&&t!==void 0?t:T===null||T===void 0?void 0:T.initialValue)!==null&&n!==void 0?n:0};let c=hydrateKeyframes(keyframesList(n),readInitialValue);const x=getUnitConverter(c,T);if(u(w)){const e=w.createAnimation(c,t!==\"opacity\",readInitialValue,W,L);w=e.easing;c=e.keyframes||c;f=e.duration||f}isCssVar(W)&&(R.cssRegisterProperty()?registerCssVariable(W):V=false);z&&!R.linearEasing()&&(a(w)||d(w)&&w.some(a))&&(V=false);if(V){T&&(c=c.map((e=>g(e)?T.toDefaultUnit(e):e)));c.length!==1||R.partialKeyframes()&&!r||c.unshift(readInitialValue());const t={delay:m.ms(p),duration:m.ms(f),endDelay:m.ms(v),easing:d(w)?void 0:convertEasing(w,f),direction:b,iterations:y+1,fill:\"both\"};l=e.animate({[W]:c,offset:A,easing:d(w)?w.map((e=>convertEasing(e,f))):void 0},t);l.finished||(l.finished=new Promise(((e,t)=>{l.onfinish=e;l.oncancel=t})));const n=c[c.length-1];l.finished.then((()=>{if(!E){I.set(e,W,n);l.cancel()}})).catch(h);S||(l.playbackRate=1.000001)}else if(i&&z){c=c.map((e=>typeof e===\"string\"?parseFloat(e):e));c.length===1&&c.unshift(parseFloat(readInitialValue()));l=new i((t=>{I.set(e,W,x?x(t):t)}),c,Object.assign(Object.assign({},o),{duration:f,easing:w}))}else{const t=c[c.length-1];I.set(e,W,T&&g(t)?T.toDefaultUnit(t):t)}r&&s(e,t,c,{duration:f,delay:p,easing:w,repeat:y,offset:A},\"motion-one\");L.setAnimation(l);l&&!O&&l.pause();return l}}const getOptions=(e,t)=>e[t]?Object.assign(Object.assign({},e),e[t]):Object.assign({},e);function resolveElements(e,t){var n;if(typeof e===\"string\")if(t){(n=t[e])!==null&&n!==void 0?n:t[e]=document.querySelectorAll(e);e=t[e]}else e=document.querySelectorAll(e);else e instanceof Element&&(e=[e]);return Array.from(e||[])}const createAnimation=e=>e();const withControls=(e,t,n=c.duration)=>new Proxy({animations:e.map(createAnimation).filter(Boolean),duration:n,options:t},U);const getActiveAnimation=e=>e.animations[0];const U={get:(e,t)=>{const n=getActiveAnimation(e);switch(t){case\"duration\":return e.duration;case\"currentTime\":return m.s((n===null||n===void 0?void 0:n[t])||0);case\"playbackRate\":case\"playState\":return n===null||n===void 0?void 0:n[t];case\"finished\":e.finished||(e.finished=Promise.all(e.animations.map(selectFinished)).catch(h));return e.finished;case\"stop\":return()=>{e.animations.forEach((e=>stopAnimation(e)))};case\"forEachNative\":return t=>{e.animations.forEach((n=>t(n,e)))};default:return typeof(n===null||n===void 0?void 0:n[t])===\"undefined\"?void 0:()=>e.animations.forEach((e=>e[t]()))}},set:(e,t,n)=>{switch(t){case\"currentTime\":n=m.ms(n);case\"playbackRate\":for(let o=0;o<e.animations.length;o++)e.animations[o][t]=n;return true}return false}};const selectFinished=e=>e.finished;function stagger(t=.1,{start:n=0,from:o=0,easing:i}={}){return(s,r)=>{const a=g(o)?o:getFromIndex(o,r);const c=Math.abs(a-s);let l=t*c;if(i){const n=r*t;const o=e(i);l=o(l/n)*n}return n+l}}function getFromIndex(e,t){if(e===\"first\")return 0;{const n=t-1;return e===\"last\"?n:n/2}}function resolveOption(e,t,n){return a(e)?e(t,n):e}function createAnimate(e){return function animate(t,o,i={}){t=resolveElements(t);const s=t.length;n(Boolean(s),\"No valid element provided.\");n(Boolean(o),\"No keyframes defined.\");const r=[];for(let n=0;n<s;n++){const a=t[n];for(const t in o){const c=getOptions(i,t);c.delay=resolveOption(c.delay,n,s);const l=animateStyle(a,t,o[t],c,e);r.push(l)}}return withControls(r,i,i.duration)}}const F=createAnimate(t);function calcNextTime(e,t,n,o){var i;return g(t)?t:t.startsWith(\"-\")||t.startsWith(\"+\")?Math.max(0,e+parseFloat(t)):t===\"<\"?n:(i=o.get(t))!==null&&i!==void 0?i:e}function eraseKeyframes(e,t,n){for(let o=0;o<e.length;o++){const i=e[o];if(i.at>t&&i.at<n){p(e,i);o--}}}function addKeyframes(e,t,n,o,i,s){eraseKeyframes(e,i,s);for(let r=0;r<t.length;r++)e.push({value:t[r],at:v(i,s,o[r]),easing:y(n,r)})}function compareByTime(e,t){return e.at===t.at?e.value===null?1:-1:e.at-t.at}function timeline(e,n={}){var o;const i=createAnimationsFromTimeline(e,n);const s=i.map((e=>animateStyle(...e,t))).filter(Boolean);return withControls(s,n,(o=i[0])===null||o===void 0?void 0:o[3].duration)}function createAnimationsFromTimeline(e,t={}){var{defaultOptions:o={}}=t,i=S(t,[\"defaultOptions\"]);const s=[];const a=new Map;const l={};const d=new Map;let g=0;let m=0;let h=0;for(let t=0;t<e.length;t++){const i=e[t];if(f(i)){d.set(i,m);continue}if(!Array.isArray(i)){d.set(i.name,calcNextTime(m,i.at,g,d));continue}const[s,r,p={}]=i;p.at!==void 0&&(m=calcNextTime(m,p.at,g,d));let v=0;const y=resolveElements(s,l);const b=y.length;for(let e=0;e<b;e++){const t=y[e];const i=getElementSequence(t,a);for(const t in r){const s=getValueSequence(t,i);let a=keyframesList(r[t]);const l=getOptions(p,t);let{duration:f=o.duration||c.duration,easing:d=o.easing||c.easing}=l;if(u(d)){n(t===\"opacity\"||a.length>1,\"spring must be provided 2 keyframes within timeline()\");const e=d.createAnimation(a,t!==\"opacity\",(()=>0),t);d=e.easing;a=e.keyframes||a;f=e.duration||f}const g=resolveOption(p.delay,e,b)||0;const y=m+g;const A=y+f;let{offset:S=w(a.length)}=l;S.length===1&&S[0]===0&&(S[1]=1);const O=S.length-a.length;O>0&&E(S,O);a.length===1&&a.unshift(null);addKeyframes(s,a,d,S,y,A);v=Math.max(g+f,v);h=Math.max(A,h)}}g=m;m+=v}a.forEach(((e,t)=>{for(const n in e){const a=e[n];a.sort(compareByTime);const l=[];const f=[];const u=[];for(let e=0;e<a.length;e++){const{at:t,value:n,easing:o}=a[e];l.push(n);f.push(r(0,h,t));u.push(o||c.easing)}if(f[0]!==0){f.unshift(0);l.unshift(l[0]);u.unshift(\"linear\")}if(f[f.length-1]!==1){f.push(1);l.push(null)}s.push([t,n,l,Object.assign(Object.assign(Object.assign({},o),{duration:h,easing:u,offset:f}),i)])}}));return s}function getElementSequence(e,t){!t.has(e)&&t.set(e,{});return t.get(e)}function getValueSequence(e,t){t[e]||(t[e]=[]);return t[e]}function canGenerate(e){return g(e)&&!isNaN(e)}function getAsNumber(e){return f(e)?parseFloat(e):e}function createGeneratorEasing(e){const t=new WeakMap;return(n={})=>{const o=new Map;const getGenerator=(t=0,i=100,s=0,r=false)=>{const a=`${t}-${i}-${s}-${r}`;o.has(a)||o.set(a,e(Object.assign({from:t,to:i,velocity:s},n)));return o.get(a)};const getKeyframes=(e,n)=>{t.has(e)||t.set(e,O(e,n));return t.get(e)};return{createAnimation:(e,t=true,n,o,s)=>{let r;let a;let c;let l=0;let f=i;const u=e.length;if(t){f=getUnitConverter(e,o?k.get(getStyleName(o)):void 0);const t=e[u-1];c=getAsNumber(t);if(u>1&&e[0]!==null)a=getAsNumber(e[0]);else{const e=s===null||s===void 0?void 0:s.generator;if(e){const{animation:t,generatorStartTime:n}=s;const o=(t===null||t===void 0?void 0:t.startTime)||n||0;const i=(t===null||t===void 0?void 0:t.currentTime)||performance.now()-o;const r=e(i).current;a=r;l=x((t=>e(t).current),i,r)}else n&&(a=getAsNumber(n()))}}if(canGenerate(a)&&canGenerate(c)){const e=getGenerator(a,c,l,o===null||o===void 0?void 0:o.includes(\"scale\"));r=Object.assign(Object.assign({},getKeyframes(e,f)),{easing:\"linear\"});if(s){s.generator=e;s.generatorStartTime=performance.now()}}if(!r){const e=getKeyframes(getGenerator(0,100));r={easing:\"ease\",duration:e.overshootDuration}}return r}}}}const G=createGeneratorEasing(z);const q=createGeneratorEasing(V);const K={any:0,all:1};function inView$1(e,t,{root:n,margin:o,amount:i=\"any\"}={}){if(typeof IntersectionObserver===\"undefined\")return()=>{};const s=resolveElements(e);const r=new WeakMap;const onIntersectionChange=e=>{e.forEach((e=>{const n=r.get(e.target);if(e.isIntersecting!==Boolean(n))if(e.isIntersecting){const n=t(e);a(n)?r.set(e.target,n):c.unobserve(e.target)}else if(n){n(e);r.delete(e.target)}}))};const c=new IntersectionObserver(onIntersectionChange,{root:n,rootMargin:o,threshold:typeof i===\"number\"?i:K[i]});s.forEach((e=>c.observe(e)));return()=>c.disconnect()}const _=new WeakMap;let Z;function getElementSize(e,t){if(t){const{inlineSize:e,blockSize:n}=t[0];return{width:e,height:n}}return e instanceof SVGElement&&\"getBBox\"in e?e.getBBox():{width:e.offsetWidth,height:e.offsetHeight}}function notifyTarget({target:e,contentRect:t,borderBoxSize:n}){var o;(o=_.get(e))===null||o===void 0?void 0:o.forEach((o=>{o({target:e,contentSize:t,get size(){return getElementSize(e,n)}})}))}function notifyAll(e){e.forEach(notifyTarget)}function createResizeObserver(){typeof ResizeObserver!==\"undefined\"&&(Z=new ResizeObserver(notifyAll))}function resizeElement(e,t){Z||createResizeObserver();const n=resolveElements(e);n.forEach((e=>{let n=_.get(e);if(!n){n=new Set;_.set(e,n)}n.add(t);Z===null||Z===void 0?void 0:Z.observe(e)}));return()=>{n.forEach((e=>{const n=_.get(e);n===null||n===void 0?void 0:n.delete(t);(n===null||n===void 0?void 0:n.size)||(Z===null||Z===void 0?void 0:Z.unobserve(e))}))}}const X=new Set;let Y;function createWindowResizeHandler(){Y=()=>{const e={width:window.innerWidth,height:window.innerHeight};const t={target:window,size:e,contentSize:e};X.forEach((e=>e(t)))};window.addEventListener(\"resize\",Y)}function resizeWindow(e){X.add(e);Y||createWindowResizeHandler();return()=>{X.delete(e);!X.size&&Y&&(Y=void 0)}}function resize(e,t){return a(e)?resizeWindow(e):resizeElement(e,t)}const J=50;const createAxisInfo=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0});const createScrollInfo=()=>({time:0,x:createAxisInfo(),y:createAxisInfo()});const Q={x:{length:\"Width\",position:\"Left\"},y:{length:\"Height\",position:\"Top\"}};function updateAxisInfo(e,t,n,o){const i=n[t];const{length:s,position:a}=Q[t];const c=i.current;const l=n.time;i.current=e[`scroll${a}`];i.scrollLength=e[`scroll${s}`]-e[`client${s}`];i.offset.length=0;i.offset[0]=0;i.offset[1]=i.scrollLength;i.progress=r(0,i.scrollLength,i.current);const f=o-l;i.velocity=f>J?0:b(i.current-c,f)}function updateScrollInfo(e,t,n){updateAxisInfo(e,\"x\",t,n);updateAxisInfo(e,\"y\",t,n);t.time=n}function calcInset(e,t){let n={x:0,y:0};let o=e;while(o&&o!==t)if(o instanceof HTMLElement){n.x+=o.offsetLeft;n.y+=o.offsetTop;o=o.offsetParent}else if(o instanceof SVGGraphicsElement&&\"getBBox\"in o){const{top:e,left:t}=o.getBBox();n.x+=t;n.y+=e;while(o&&o.tagName!==\"svg\")o=o.parentNode}return n}const ee={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]};const te={start:0,center:.5,end:1};function resolveEdge(e,t,n=0){let o=0;te[e]!==void 0&&(e=te[e]);if(f(e)){const t=parseFloat(e);e.endsWith(\"px\")?o=t:e.endsWith(\"%\")?e=t/100:e.endsWith(\"vw\")?o=t/100*document.documentElement.clientWidth:e.endsWith(\"vh\")?o=t/100*document.documentElement.clientHeight:e=t}g(e)&&(o=t*e);return n+o}const ne=[0,0];function resolveOffset(e,t,n,o){let i=Array.isArray(e)?e:ne;let s=0;let r=0;if(g(e))i=[e,e];else if(f(e)){e=e.trim();i=e.includes(\" \")?e.split(\" \"):[e,te[e]?e:\"0\"]}s=resolveEdge(i[0],n,o);r=resolveEdge(i[1],t);return s-r}const oe={x:0,y:0};function resolveOffsets(e,t,n){let{offset:o=ee.All}=n;const{target:i=e,axis:s=\"y\"}=n;const r=s===\"y\"?\"height\":\"width\";const a=i!==e?calcInset(i,e):oe;const c=i===e?{width:e.scrollWidth,height:e.scrollHeight}:{width:i.clientWidth,height:i.clientHeight};const l={width:e.clientWidth,height:e.clientHeight};t[s].offset.length=0;let f=!t[s].interpolate;const u=o.length;for(let e=0;e<u;e++){const n=resolveOffset(o[e],l[r],c[r],a[s]);f||n===t[s].interpolatorOffsets[e]||(f=true);t[s].offset[e]=n}if(f){t[s].interpolate=A(w(u),t[s].offset);t[s].interpolatorOffsets=[...t[s].offset]}t[s].progress=t[s].interpolate(t[s].current)}function measure(e,t=e,n){n.x.targetOffset=0;n.y.targetOffset=0;if(t!==e){let o=t;while(o&&o!=e){n.x.targetOffset+=o.offsetLeft;n.y.targetOffset+=o.offsetTop;o=o.offsetParent}}n.x.targetLength=t===e?t.scrollWidth:t.clientWidth;n.y.targetLength=t===e?t.scrollHeight:t.clientHeight;n.x.containerLength=e.clientWidth;n.y.containerLength=e.clientHeight}function createOnScrollHandler(e,t,n,o={}){const i=o.axis||\"y\";return{measure:()=>measure(e,o.target,n),update:t=>{updateScrollInfo(e,n,t);(o.offset||o.target)&&resolveOffsets(e,n,o)},notify:a(t)?()=>t(n):scrubAnimation(t,n[i])}}function scrubAnimation(e,t){e.pause();e.forEachNative(((e,{easing:t})=>{var n,o;if(e.updateDuration){t||(e.easing=i);e.updateDuration(1)}else{const i={duration:1e3};t||(i.easing=\"linear\");(o=(n=e.effect)===null||n===void 0?void 0:n.updateTiming)===null||o===void 0?void 0:o.call(n,i)}}));return()=>{e.currentTime=t.progress}}const ie=new WeakMap;const se=new WeakMap;const re=new WeakMap;const getEventTarget=e=>e===document.documentElement?window:e;function scroll(e,t={}){var{container:n=document.documentElement}=t,o=S(t,[\"container\"]);let i=re.get(n);if(!i){i=new Set;re.set(n,i)}const s=createScrollInfo();const r=createOnScrollHandler(n,e,s,o);i.add(r);if(!ie.has(n)){const listener=()=>{const e=performance.now();for(const e of i)e.measure();for(const t of i)t.update(e);for(const e of i)e.notify()};ie.set(n,listener);const e=getEventTarget(n);window.addEventListener(\"resize\",listener,{passive:true});n!==document.documentElement&&se.set(n,resize(n,listener));e.addEventListener(\"scroll\",listener,{passive:true})}const a=ie.get(n);const c=requestAnimationFrame(a);return()=>{var t;typeof e!==\"function\"&&e.stop();cancelAnimationFrame(c);const o=re.get(n);if(!o)return;o.delete(r);if(o.size)return;const i=ie.get(n);ie.delete(n);if(i){getEventTarget(n).removeEventListener(\"scroll\",i);(t=se.get(n))===null||t===void 0?void 0:t();window.removeEventListener(\"resize\",i)}}}function hasChanged(e,t){return typeof e!==typeof t||(Array.isArray(e)&&Array.isArray(t)?!shallowCompare(e,t):e!==t)}function shallowCompare(e,t){const n=t.length;if(n!==e.length)return false;for(let o=0;o<n;o++)if(t[o]!==e[o])return false;return true}function isVariant(e){return typeof e===\"object\"}function resolveVariant(e,t){return isVariant(e)?e:e&&t?t[e]:void 0}let ae;function processScheduledAnimations(){if(!ae)return;const e=ae.sort(compareByDepth).map(fireAnimateUpdates);e.forEach(fireNext);e.forEach(fireNext);ae=void 0}function scheduleAnimation(e){if(ae)s(ae,e);else{ae=[e];requestAnimationFrame(processScheduledAnimations)}}function unscheduleAnimation(e){ae&&p(ae,e)}const compareByDepth=(e,t)=>e.getDepth()-t.getDepth();const fireAnimateUpdates=e=>e.animateUpdates();const fireNext=e=>e.next();const motionEvent=(e,t)=>new CustomEvent(e,{detail:{target:t}});function dispatchPointerEvent(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:{originalEvent:n}}))}function dispatchViewEvent(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:{originalEntry:n}}))}const ce={isActive:e=>Boolean(e.inView),subscribe:(e,{enable:t,disable:n},{inViewOptions:o={}})=>{const{once:i}=o,s=S(o,[\"once\"]);return inView$1(e,(o=>{t();dispatchViewEvent(e,\"viewenter\",o);if(!i)return t=>{n();dispatchViewEvent(e,\"viewleave\",t)}}),s)}};const mouseEvent=(e,t,n)=>o=>{if(!o.pointerType||o.pointerType===\"mouse\"){n();dispatchPointerEvent(e,t,o)}};const le={isActive:e=>Boolean(e.hover),subscribe:(e,{enable:t,disable:n})=>{const o=mouseEvent(e,\"hoverstart\",t);const i=mouseEvent(e,\"hoverend\",n);e.addEventListener(\"pointerenter\",o);e.addEventListener(\"pointerleave\",i);return()=>{e.removeEventListener(\"pointerenter\",o);e.removeEventListener(\"pointerleave\",i)}}};const fe={isActive:e=>Boolean(e.press),subscribe:(e,{enable:t,disable:n})=>{const onPointerUp=t=>{n();dispatchPointerEvent(e,\"pressend\",t);window.removeEventListener(\"pointerup\",onPointerUp)};const onPointerDown=n=>{t();dispatchPointerEvent(e,\"pressstart\",n);window.addEventListener(\"pointerup\",onPointerUp)};e.addEventListener(\"pointerdown\",onPointerDown);return()=>{e.removeEventListener(\"pointerdown\",onPointerDown);window.removeEventListener(\"pointerup\",onPointerUp)}}};const ue={inView:ce,hover:le,press:fe};const de=[\"initial\",\"animate\",...Object.keys(ue),\"exit\"];const ge=new WeakMap;function createMotionState(e={},o){let i;let s=o?o.getDepth()+1:0;const r={initial:true,animate:true};const a={};const c={};for(const t of de)c[t]=typeof e[t]===\"string\"?e[t]:o===null||o===void 0?void 0:o.getContext()[t];const l=e.initial===false?\"animate\":\"initial\";let f=resolveVariant(e[l]||c[l],e.variants)||{},u=S(f,[\"transition\"]);const d=Object.assign({},u);function*animateUpdates(){var n,o;const s=u;u={};const a={};for(const t of de){if(!r[t])continue;const i=resolveVariant(e[t]);if(i)for(const t in i)if(t!==\"transition\"){u[t]=i[t];a[t]=getOptions((o=(n=i.transition)!==null&&n!==void 0?n:e.transition)!==null&&o!==void 0?o:{},t)}}const c=new Set([...Object.keys(u),...Object.keys(s)]);const l=[];c.forEach((e=>{var n;u[e]===void 0&&(u[e]=d[e]);if(hasChanged(s[e],u[e])){(n=d[e])!==null&&n!==void 0?n:d[e]=I.get(i,e);l.push(animateStyle(i,e,u[e],a[e],t))}}));yield;const f=l.map((e=>e())).filter(Boolean);if(!f.length)return;const g=u;i.dispatchEvent(motionEvent(\"motionstart\",g));Promise.all(f.map((e=>e.finished))).then((()=>{i.dispatchEvent(motionEvent(\"motioncomplete\",g))})).catch(h)}const setGesture=(e,t)=>()=>{r[e]=t;scheduleAnimation(g)};const updateGestureSubscriptions=()=>{for(const t in ue){const n=ue[t].isActive(e);const o=a[t];if(n&&!o)a[t]=ue[t].subscribe(i,{enable:setGesture(t,true),disable:setGesture(t,false)},e);else if(!n&&o){o();delete a[t]}}};const g={update:t=>{if(i){e=t;updateGestureSubscriptions();scheduleAnimation(g)}},setActive:(e,t)=>{if(i){r[e]=t;scheduleAnimation(g)}},animateUpdates:animateUpdates,getDepth:()=>s,getTarget:()=>u,getOptions:()=>e,getContext:()=>c,mount:e=>{n(Boolean(e),\"Animation state must be mounted with valid Element\");i=e;ge.set(i,g);updateGestureSubscriptions();return()=>{ge.delete(i);unscheduleAnimation(g);for(const e in a)a[e]()}},isMounted:()=>Boolean(i)};return g}function createStyles(e){const t={};const n=[];for(let o in e){const i=e[o];if(isTransform(o)){M[o]&&(o=M[o]);n.push(o);o=asTransformCssVar(o)}let s=Array.isArray(i)?i[0]:i;const r=k.get(o);r&&(s=g(i)?r.toDefaultUnit(i):i);t[o]=s}n.length&&(t.transform=buildTransformTemplate(n));return t}const camelLetterToPipeLetter=e=>`-${e.toLowerCase()}`;const camelToPipeCase=e=>e.replace(/[A-Z]/g,camelLetterToPipeLetter);function createStyleString(e={}){const t=createStyles(e);let n=\"\";for(const e in t){n+=e.startsWith(\"--\")?e:camelToPipeCase(e);n+=`: ${t[e]}; `}return n}export{ee as ScrollOffset,F as animate,animateStyle,createAnimate,createMotionState,createStyleString,createStyles,getAnimationData,getStyleName,q as glide,inView$1 as inView,ge as mountedStates,resize,scroll,G as spring,stagger,I as style,timeline,withControls};\n//# sourceMappingURL=index.es.js.map\n","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","/*\n * nullstate (framer/icon-nullstate@0.7.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js\"\n","import{useMemo}from\"react\";import{ControlType}from\"framer\";/*\n ** ICON UTILS\n ** Pull as much re-usable logic into here as possible\n ** This will make it easier to replace in all icon components\n */ export const containerStyles={width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"};export const defaultEvents={onClick:{type:ControlType.EventHandler},onMouseDown:{type:ControlType.EventHandler},onMouseUp:{type:ControlType.EventHandler},onMouseEnter:{type:ControlType.EventHandler},onMouseLeave:{type:ControlType.EventHandler}};const findByArray=(arr,search)=>arr.find(a=>a.toLowerCase().includes(search));export function getIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// gotta get the exact match first THEN find\n// have a set and try to access ?\nif(selectByList)return iconSelection;if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;}export function useIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// Clean search term\nconst iconSearchResult=useMemo(()=>{if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;},[iconSelection,iconSearch]);const name=selectByList?iconSelection:iconSearchResult;return name;}\nexport const __FramerMetadata__ = {\"exports\":{\"getIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","import{RenderTarget}from\"framer\";import{useEffect,useState,useMemo}from\"react\";const cssVariableRegex=/var\\s*\\(\\s*(--[\\w-]+)(?:\\s*,\\s*((?:[^)(]+|\\((?:[^)(]+|\\([^)(]*\\))*\\))*))?\\s*\\)/;export function useColors(...colors){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isOptimizing=typeof window===\"undefined\";const darkMode=useDarkMode();const[styleValues,setStyleValues]=useState(()=>extractStyleValues(colors.map(extractCSSVariableName)));useEffect(()=>{if(!isCanvas)return;const div=document.body.querySelector(\"main > div\");if(!div)return;const observer=new MutationObserver(()=>{setStyleValues(extractStyleValues(colors.map(extractCSSVariableName)));});observer.observe(div,{attributes:true,attributeFilter:[\"style\"]});return()=>observer.disconnect();},colors);const variableNames=useMemo(()=>colors.map(extractCSSVariableName),[colors]);if(isOptimizing){return colors.map(color=>extractDefaultValue(color));}let values=[];for(let i=0;i<colors.length;i++){const color=colors[i];// Return original value if not a string\nif(typeof color!==\"string\"){values.push(color);continue;}const variableName=variableNames[i];const colorValues=styleValues[variableName];if(variableName&&colorValues){values.push(darkMode?colorValues.dark||colorValues.light||color:colorValues.light||color);}else{values.push(color);}}return values;}////////////////////\nfunction extractStyleValues(variableNames){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const result={};let lightVars={};let darkVars={};if(isCanvas&&typeof document!==\"undefined\"){const div=document.body.querySelector(\"main > div\");if(div){const style=div.getAttribute(\"style\");if(style){const vars=parseVariables(style);lightVars=vars;darkVars=vars;}}}else{const{light,dark}=extractColorStyles();lightVars=parseVariables(light);darkVars=parseVariables(dark);}// Include all variables\nconst allVarNames=new Set([...Object.keys(lightVars),...Object.keys(darkVars)]);allVarNames.forEach(varName=>{result[varName]={light:lightVars[varName]||\"\",dark:darkVars[varName]||\"\"};});return result;}function extractColorStyles(){let lightSection=\"\";let darkSection=\"\";if(typeof document!==\"undefined\"){const styles=document.head.querySelectorAll(\"style[data-framer-css], style[data-framer-css-ssr], style[data-framer-css-ssr-minified]\");for(const style of styles){const rules=style.sheet?.cssRules;if(!rules)continue;const styleRules=[];for(const rule of rules){if(rule instanceof CSSStyleRule){styleRules.push([rule,false]);}else if(rule instanceof CSSMediaRule){if(rule.conditionText===\"(prefers-color-scheme: dark)\"){for(const subrule of rule.cssRules){if(subrule instanceof CSSStyleRule){styleRules.push([subrule,true]);}}}}}for(const[rule,isDarkMedia]of styleRules){const css=rule.cssText;const hasVars=css.includes(\"--token-\");if(!hasVars)continue;const isDark=isDarkMedia?rule.selectorText===\"body\":rule.selectorText==='body[data-framer-theme=\"dark\"]';const isLight=!isDarkMedia&&rule.selectorText===\"body\";if(!isDark&&!isLight)continue;if(isDark){if(!darkSection){darkSection=css.substring(css.indexOf(\"{\")+1,css.lastIndexOf(\"}\")).trim();}}else{if(!lightSection){lightSection=css.substring(css.indexOf(\"{\")+1,css.lastIndexOf(\"}\")).trim();}}if(darkSection&&lightSection)break;}if(darkSection&&lightSection)break;}}return{light:lightSection,dark:darkSection};}function useDarkMode(){const isPreview=typeof window!==\"undefined\"&&window.location.origin.endsWith(\"framercanvas.com\");const[isDarkMode,setIsDarkMode]=useState(()=>{if(typeof window===\"undefined\"){return false;}else if(isPreview&&typeof document!==\"undefined\"){return document.body.getAttribute(\"data-framer-theme\")===\"dark\";}else{return window.matchMedia(\"(prefers-color-scheme: dark)\").matches;}});useEffect(()=>{if(isPreview){const observer=new MutationObserver(mutations=>{mutations.forEach(mutation=>{if(mutation.attributeName===\"data-framer-theme\"){const theme=document.body.getAttribute(\"data-framer-theme\");setIsDarkMode(theme===\"dark\");}});});observer.observe(document.body,{attributes:true,attributeFilter:[\"data-framer-theme\"]});return()=>observer.disconnect();}else{const mediaQuery=window.matchMedia(\"(prefers-color-scheme: dark)\");const handleChange=e=>{setIsDarkMode(e.matches);};// Update initial value\nif(mediaQuery.matches!==isDarkMode){setIsDarkMode(mediaQuery.matches);}mediaQuery.addListener(handleChange);return()=>mediaQuery.removeListener(handleChange);}},[isPreview]);return isDarkMode;}function extractCSSVariableName(cssString){if(!cssString||!cssString.startsWith(\"var(\")){return\"\";}const match=cssVariableRegex.exec(cssString);if(match){const variableName=match[1];return variableName||\"\";}return\"\";}function parseVariables(section){const vars={};if(!section)return vars;const declarations=section.split(\";\").filter(Boolean);declarations.forEach(declaration=>{const[name,value]=declaration.split(\":\").map(s=>s.trim());if(name&&value){vars[name]=value;}});return vars;}function extractDefaultValue(cssVar){// Check if the string starts with \"var(\"\nif(!cssVar||!cssVar.startsWith(\"var(\")){return cssVar// Return the original value if it doesn't start with \"var(\"\n;}// Remove \"var(\" from the beginning and \")\" from the end\nconst content=cssVar.slice(4,-1);// Split the content by comma\nconst parts=content.split(\",\");// If there's more than one part, the second part is the default value\nif(parts.length>1){// Trim any whitespace from the default value\nreturn parts.slice(1).join(\",\").trim();}// If there's no comma, return an empty string or null\nreturn\"\";}\nexport const __FramerMetadata__ = {\"exports\":{\"useColors\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useColors.map","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}export class ShaderMount{constructor(canvas,fragmentShader,uniforms={},webGlContextAttributes,/** The speed of the animation, or 0 to stop it. Supports negative values to play in reverse. */speed=1,/** Pass a seed to offset the starting u_time value and give deterministic results*/seed=0){_define_property(this,\"canvas\",void 0);_define_property(this,\"gl\",void 0);_define_property(this,\"program\",null);_define_property(this,\"uniformLocations\",{});/** The fragment shader that we are using */_define_property(this,\"fragmentShader\",void 0);/** Stores the RAF for the render loop */_define_property(this,\"rafId\",null);/** Time of the last rendered frame */_define_property(this,\"lastFrameTime\",0);/** Total time that we have played any animation, passed as a uniform to the shader for time-based VFX */_define_property(this,\"totalAnimationTime\",0);/** The current speed that we progress through animation time (multiplies by delta time every update). Allows negatives to play in reverse. If set to 0, rAF will stop entirely so static shaders have no recurring performance costs */_define_property(this,\"speed\",1);/** Uniforms that are provided by the user for the specific shader being mounted (not including uniforms that this Mount adds, like time and resolution) */_define_property(this,\"providedUniforms\",void 0);/** Just a sanity check to make sure frames don't run after we're disposed */_define_property(this,\"hasBeenDisposed\",false);/** If the resolution of the canvas has changed since the last render */_define_property(this,\"resolutionChanged\",true);_define_property(this,\"initWebGL\",()=>{const program=createProgram(this.gl,vertexShaderSource,this.fragmentShader);if(!program)return;this.program=program;this.setupPositionAttribute();this.setupUniforms();});_define_property(this,\"setupPositionAttribute\",()=>{const positionAttributeLocation=this.gl.getAttribLocation(this.program,\"a_position\");const positionBuffer=this.gl.createBuffer();this.gl.bindBuffer(this.gl.ARRAY_BUFFER,positionBuffer);const positions=[-1,-1,1,-1,-1,1,-1,1,1,-1,1,1];this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(positions),this.gl.STATIC_DRAW);this.gl.enableVertexAttribArray(positionAttributeLocation);this.gl.vertexAttribPointer(positionAttributeLocation,2,this.gl.FLOAT,false,0,0);});_define_property(this,\"setupUniforms\",()=>{this.uniformLocations={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.fromEntries(Object.keys(this.providedUniforms).map(key=>[key,this.gl.getUniformLocation(this.program,key)]))};});_define_property(this,\"resizeObserver\",null);_define_property(this,\"setupResizeObserver\",()=>{this.resizeObserver=new ResizeObserver(()=>this.handleResize());this.resizeObserver.observe(this.canvas);this.handleResize();});_define_property(this,\"handleResize\",()=>{const pixelRatio=window.devicePixelRatio;const newWidth=this.canvas.clientWidth*pixelRatio;const newHeight=this.canvas.clientHeight*pixelRatio;if(this.canvas.width!==newWidth||this.canvas.height!==newHeight){this.canvas.width=newWidth;this.canvas.height=newHeight;this.resolutionChanged=true;this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height);this.render(performance.now())// this is necessary to avoid flashes while resizing (the next scheduled render will set uniforms)\n;}});_define_property(this,\"render\",currentTime=>{if(this.hasBeenDisposed)return;// Calculate the delta time\nconst dt=currentTime-this.lastFrameTime;this.lastFrameTime=currentTime;// Increase the total animation time by dt * animationSpeed\nif(this.speed!==0){this.totalAnimationTime+=dt*this.speed;}// Clear the canvas\nthis.gl.clear(this.gl.COLOR_BUFFER_BIT);// Update uniforms\nthis.gl.useProgram(this.program);// Update the time uniform\nthis.gl.uniform1f(this.uniformLocations.u_time,this.totalAnimationTime*.001);// If the resolution has changed, we need to update the uniform\nif(this.resolutionChanged){this.gl.uniform2f(this.uniformLocations.u_resolution,this.gl.canvas.width,this.gl.canvas.height);this.gl.uniform1f(this.uniformLocations.u_pixelRatio,window.devicePixelRatio);this.resolutionChanged=false;}this.gl.drawArrays(this.gl.TRIANGLES,0,6);// Loop if we're animating\nif(this.speed!==0){this.requestRender();}else{this.rafId=null;}});_define_property(this,\"requestRender\",()=>{if(this.rafId!==null){cancelAnimationFrame(this.rafId);}this.rafId=requestAnimationFrame(this.render);});_define_property(this,\"updateProvidedUniforms\",()=>{this.gl.useProgram(this.program);Object.entries(this.providedUniforms).forEach(([key,value])=>{const location=this.uniformLocations[key];if(location){if(Array.isArray(value)){switch(value.length){case 2:this.gl.uniform2fv(location,value);break;case 3:this.gl.uniform3fv(location,value);break;case 4:this.gl.uniform4fv(location,value);break;default:if(value.length===9){this.gl.uniformMatrix3fv(location,false,value);}else if(value.length===16){this.gl.uniformMatrix4fv(location,false,value);}else{console.warn(`Unsupported uniform array length: ${value.length}`);}}}else if(typeof value===\"number\"){this.gl.uniform1f(location,value);}else if(typeof value===\"boolean\"){this.gl.uniform1i(location,value?1:0);}else{console.warn(`Unsupported uniform type for ${key}: ${typeof value}`);}}});});/** Set a seed to get a deterministic result */_define_property(this,\"setSeed\",newSeed=>{const oneFrameAt120Fps=1e3/120;this.totalAnimationTime=newSeed*oneFrameAt120Fps;this.lastFrameTime=performance.now();this.render(performance.now());});/** Set an animation speed (or 0 to stop animation) */_define_property(this,\"setSpeed\",(newSpeed=1)=>{// Set the new animation speed\nthis.speed=newSpeed;if(this.rafId===null&&newSpeed!==0){// Moving from 0 to animating, kick off a new rAF loop\nthis.lastFrameTime=performance.now();this.rafId=requestAnimationFrame(this.render);}if(this.rafId!==null&&newSpeed===0){// Moving from animating to not animating, cancel the rAF loop\ncancelAnimationFrame(this.rafId);this.rafId=null;}});/** Update the uniforms that are provided by the outside shader */_define_property(this,\"setUniforms\",newUniforms=>{this.providedUniforms={...this.providedUniforms,...newUniforms};// If we need to allow users to add uniforms after the shader has been created, we can do that here\n// But right now we're expecting the uniform list to be predictable and static\n// this.setupUniforms();\nthis.updateProvidedUniforms();this.render(performance.now());});/** Dispose of the shader mount, cleaning up all of the WebGL resources */_define_property(this,\"dispose\",()=>{// Immediately mark as disposed to prevent future renders from leaking in\nthis.hasBeenDisposed=true;// Cancel the rAF loop\nif(this.rafId!==null){cancelAnimationFrame(this.rafId);this.rafId=null;}if(this.gl&&this.program){this.gl.deleteProgram(this.program);this.program=null;// Reset the WebGL context\nthis.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);// Clear any errors\nthis.gl.getError();}if(this.resizeObserver){this.resizeObserver.disconnect();this.resizeObserver=null;}this.uniformLocations={};});this.canvas=canvas;this.fragmentShader=fragmentShader;this.providedUniforms=uniforms;// Base our starting animation time on the provided seed value\nthis.totalAnimationTime=seed;const gl=canvas.getContext(\"webgl2\",webGlContextAttributes);if(!gl){throw new Error(\"WebGL not supported\");}this.gl=gl;this.initWebGL();this.setupResizeObserver();// Set the animation speed after everything is ready to go\nthis.setSpeed(speed);// Mark canvas as paper shader mount\nthis.canvas.setAttribute(\"data-paper-shaders\",\"true\");}}/** Vertex shader for the shader mount */const vertexShaderSource=`#version 300 es\nlayout(location = 0) in vec4 a_position;\n\nvoid main() {\n  gl_Position = a_position;\n}\n`;function createShader(gl,type,source){const shader=gl.createShader(type);if(!shader)return null;gl.shaderSource(shader,source);gl.compileShader(shader);if(!gl.getShaderParameter(shader,gl.COMPILE_STATUS)){console.error(\"An error occurred compiling the shaders: \"+gl.getShaderInfoLog(shader));gl.deleteShader(shader);return null;}return shader;}function createProgram(gl,vertexShaderSource,fragmentShaderSource){const vertexShader=createShader(gl,gl.VERTEX_SHADER,vertexShaderSource);const fragmentShader=createShader(gl,gl.FRAGMENT_SHADER,fragmentShaderSource);if(!vertexShader||!fragmentShader)return null;const program=gl.createProgram();if(!program)return null;gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.error(\"Unable to initialize the shader program: \"+gl.getProgramInfoLog(program));gl.deleteProgram(program);gl.deleteShader(vertexShader);gl.deleteShader(fragmentShader);return null;}// Clean up shaders after successful linking\ngl.detachShader(program,vertexShader);gl.detachShader(program,fragmentShader);gl.deleteShader(vertexShader);gl.deleteShader(fragmentShader);return program;}\nexport const __FramerMetadata__ = {\"exports\":{\"ShaderMount\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./shader_mount.map","export const PatternShapes={Checks:0,Stripes:1,Edge:2};/**\n * 3d Perlin noise with exposed parameters\n *\n * Uniforms include:\n * u_scale - the scale applied to user space\n * u_rotation - the rotation applied to user space\n * u_color1 - the first pattern color\n * u_color2 - the second pattern color\n * u_color3 - the third pattern color\n * u_proportion (0 .. 1) - the proportion between colors (on 0.5 colors are equally distributed)\n * u_softness (0 .. 1) - the color blur (0 for pronounced edges, 1 for gradient)\n * u_shape (0 ... 2) - the color pattern to be distorted with noise & swirl\n *    - u_shape = 0 is checks\n *    - u_shape = 1 is stripes\n *    - u_shape = 2 is 2 halves of canvas (mapping the canvas height regardless of resolution)\n * u_shapeScale - the scale of color pattern (appies over the global scaling)\n * u_distortion - the noisy distortion over the UV coordinate (applied before the overlapping swirl)\n * u_swirl - the power of swirly distortion\n * u_swirlIterations - the number of swirl iterations (layering curves effect)\n *\n */export const warpFragmentShader=`#version 300 es\nprecision highp float;\n\nuniform float u_time;\nuniform float u_pixelRatio;\nuniform vec2 u_resolution;\n\nuniform float u_scale;\nuniform float u_rotation;\nuniform vec4 u_color1;\nuniform vec4 u_color2;\nuniform vec4 u_color3;\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\nout vec4 fragColor;\n\n#define TWO_PI 6.28318530718\n#define PI 3.14159265358979323846\n\nvec2 rotate(vec2 uv, float th) {\n  return mat2(cos(th), sin(th), -sin(th), cos(th)) * uv;\n}\n\nfloat random(vec2 st) {\n  return fract(sin(dot(st.xy, vec2(12.9898, 78.233))) * 43758.5453123);\n}\nfloat noise(vec2 st) {\n  vec2 i = floor(st);\n  vec2 f = fract(st);\n  float a = random(i);\n  float b = random(i + vec2(1.0, 0.0));\n  float c = random(i + vec2(0.0, 1.0));\n  float d = random(i + vec2(1.0, 1.0));\n\n  // Smoothstep for interpolation\n  vec2 u = f * f * (3.0 - 2.0 * f);\n\n  // Do the interpolation as two nested mix operations\n  // If you try to do this in one big operation, there's enough precision loss to be off by 1px at cell boundaries\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\nvec4 blend_colors(vec4 c1, vec4 c2, vec4 c3, float mixer, float edgesWidth, float edge_blur) {\n    vec3 color1 = c1.rgb * c1.a;\n    vec3 color2 = c2.rgb * c2.a;\n    vec3 color3 = c3.rgb * c3.a;\n\n    float r1 = smoothstep(.0 + .35 * edgesWidth, .7 - .35 * edgesWidth + .5 * edge_blur, mixer);\n    float r2 = smoothstep(.3 + .35 * edgesWidth, 1. - .35 * edgesWidth + edge_blur, mixer);\n\n    vec3 blended_color_2 = mix(color1, color2, r1);\n    float blended_opacity_2 = mix(c1.a, c2.a, r1);\n\n    vec3 c = mix(blended_color_2, color3, r2);\n    float o = mix(blended_opacity_2, c3.a, r2);\n    return vec4(c, o);\n}\n\nvoid main() {\n    vec2 uv = gl_FragCoord.xy / u_resolution.xy;\n    vec2 uv_original = uv;\n\n    float t = .5 * u_time;\n\n    float noise_scale = .0005 + .006 * u_scale;\n\n    uv -= .5;\n    uv *= (noise_scale * u_resolution);\n    uv = rotate(uv, u_rotation * .5 * PI);\n    uv /= u_pixelRatio;\n    uv += .5;\n\n    float n1 = noise(uv * 1. + t);\n    float n2 = noise(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 iterations_number = ceil(clamp(u_swirlIterations, 1., 30.));\n    for (float i = 1.; i <= iterations_number; i++) {\n        uv.x += clamp(u_swirl, 0., 2.) / i * cos(t + i * 1.5 * uv.y);\n        uv.y += clamp(u_swirl, 0., 2.) / i * cos(t + i * 1. * uv.x);\n    }\n\n    float proportion = clamp(u_proportion, 0., 1.);\n\n    float shape = 0.;\n    float mixer = 0.;\n    if (u_shape < .5) {\n      vec2 checks_shape_uv = uv * (.5 + 3.5 * u_shapeScale);\n      shape = .5 + .5 * sin(checks_shape_uv.x) * cos(checks_shape_uv.y);\n      mixer = shape + .48 * sign(proportion - .5) * pow(abs(proportion - .5), .5);\n    } else if (u_shape < 1.5) {\n      vec2 stripes_shape_uv = uv * (.25 + 3. * u_shapeScale);\n      float f = fract(stripes_shape_uv.y);\n      shape = smoothstep(.0, .55, f) * smoothstep(1., .45, f);\n      mixer = shape + .48 * sign(proportion - .5) * pow(abs(proportion - .5), .5);\n    } else {\n      float sh = 1. - uv.y;\n      sh -= .5;\n      sh /= (noise_scale * u_resolution.y);\n      sh += .5;\n      float shape_scaling = .2 * (1. - u_shapeScale);\n      shape = smoothstep(.45 - shape_scaling, .55 + shape_scaling, sh + .3 * (proportion - .5));\n      mixer = shape;\n    }\n\n    vec4 color_mix = blend_colors(u_color1, u_color2, u_color3, mixer, 1. - clamp(u_softness, 0., 1.), .01 + .01 * u_scale);\n\n    fragColor = vec4(color_mix.rgb, color_mix.a);\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"WarpUniforms\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"warpFragmentShader\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PatternShapes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PatternShape\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./warp.map","/**  Convert color string from HSL, RGB, or hex to 0-to-1-range-RGBA array */export function getShaderColorFromString(colorString,fallback=[0,0,0,1]){// If the color string is already an array of 3 or 4 numbers, return it (with alpha=1 if needed)\nif(Array.isArray(colorString)){if(colorString.length===4)return colorString;if(colorString.length===3)return[...colorString,1];return getShaderColorFromString(fallback);}// If the color string is not a string, return the fallback\nif(typeof colorString!==\"string\"){return getShaderColorFromString(fallback);}let r,g,b,a=1;if(colorString.startsWith(\"#\")){[r,g,b,a]=hexToRgba(colorString);}else if(colorString.startsWith(\"rgb\")){[r,g,b,a]=parseRgba(colorString);}else if(colorString.startsWith(\"hsl\")){[r,g,b,a]=hslaToRgba(parseHsla(colorString));}else{console.error(\"Unsupported color format\",colorString);return getShaderColorFromString(fallback);}return[clamp(r,0,1),clamp(g,0,1),clamp(b,0,1),clamp(a,0,1)];}/** Convert hex to RGBA (0 to 1 range) */function hexToRgba(hex){// Remove # if present\nhex=hex.replace(/^#/,\"\");// Expand three-letter hex to six-letter\nif(hex.length===3){hex=hex.split(\"\").map(char=>char+char).join(\"\");}// Expand six-letter hex to eight-letter (add full opacity if no alpha)\nif(hex.length===6){hex=hex+\"ff\";}// Parse the components\nconst r=parseInt(hex.slice(0,2),16)/255;const g=parseInt(hex.slice(2,4),16)/255;const b=parseInt(hex.slice(4,6),16)/255;const a=parseInt(hex.slice(6,8),16)/255;return[r,g,b,a];}/** Parse RGBA string to RGBA (0 to 1 range) */function parseRgba(rgba){// Match both rgb and rgba patterns\nconst match=rgba.match(/^rgba?\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*([0-9.]+))?\\s*\\)$/i);if(!match)return[0,0,0,1];return[parseInt(match[1]??\"0\")/255,parseInt(match[2]??\"0\")/255,parseInt(match[3]??\"0\")/255,match[4]===undefined?1:parseFloat(match[4])];}/** Parse HSLA string */function parseHsla(hsla){const match=hsla.match(/^hsla?\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(?:,\\s*([0-9.]+))?\\s*\\)$/i);if(!match)return[0,0,0,1];return[parseInt(match[1]??\"0\"),parseInt(match[2]??\"0\"),parseInt(match[3]??\"0\"),match[4]===undefined?1:parseFloat(match[4])];}/** Convert HSLA to RGBA (0 to 1 range) */function hslaToRgba(hsla){const[h,s,l,a]=hsla;const hDecimal=h/360;const sDecimal=s/100;const lDecimal=l/100;let r,g,b;if(s===0){r=g=b=lDecimal// achromatic\n;}else{const hue2rgb=(p,q,t)=>{if(t<0)t+=1;if(t>1)t-=1;if(t<1/6)return p+(q-p)*6*t;if(t<1/2)return q;if(t<2/3)return p+(q-p)*(2/3-t)*6;return p;};const q=lDecimal<.5?lDecimal*(1+sDecimal):lDecimal+sDecimal-lDecimal*sDecimal;const p=2*lDecimal-q;r=hue2rgb(p,q,hDecimal+1/3);g=hue2rgb(p,q,hDecimal);b=hue2rgb(p,q,hDecimal-1/3);}return[r,g,b,a];}export const clamp=(n,min,max)=>Math.min(Math.max(n,min),max);\nexport const __FramerMetadata__ = {\"exports\":{\"clamp\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getShaderColorFromString\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./get_shader_color_from_string.map","/** The core Shader Mounting class. Pass it a canvas element and a fragment shader to get started. */import{jsx as _jsx}from\"react/jsx-runtime\";export{ShaderMount}from\"https://framerusercontent.com/modules/NLpw4UPElXpirDfZ8gK3/pnnblFdmCm84r7TGjG3U/shader_mount.js\";// ----- Warping Distortion ----- //\n/** Warp: distortion + swirl + underlying shapes */export{warpFragmentShader,PatternShapes}from\"https://framerusercontent.com/modules/zIDOp1iaNFIXSAIx7ljo/VX06XYWdAlD95B9usTKm/warp.js\";// ----- Uniform conversion utils ----- //\nexport{getShaderColorFromString}from\"https://framerusercontent.com/modules/r591zLdRh7n2CKaaHRG7/PCYxubr6wk68eTxKLhEH/get_shader_color_from_string.js\";export default function A(props){return /*#__PURE__*/_jsx(\"div\",{});}\nexport const __FramerMetadata__ = {\"exports\":{\"PatternShapes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PatternShape\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ShaderMount\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getShaderColorFromString\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"A\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"warpFragmentShader\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WarpUniforms\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./index.map","/*\n * index\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/q3nWgGXMhG0Ina6vgRVz/PVl4bshKvCOZO36e3vK1/index.js\"\nexport { default } from \"https://framerusercontent.com/modules/q3nWgGXMhG0Ina6vgRVz/PVl4bshKvCOZO36e3vK1/index.js\"\n","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";import{useEffect,useRef,useMemo}from\"react\";import{useColors}from\"https://framerusercontent.com/modules/k76epLFsVsF4jlsF5pgg/ge79eoA2CuYo94sUAjT9/useColors.js\";import{getShaderColorFromString,warpFragmentShader,PatternShapes,ShaderMount as ShaderMountVanilla}from\"https://framer.com/m/index-uMsj.js@PVl4bshKvCOZO36e3vK1\";import{cubicBezier}from\"framer-motion\";const speedEase=cubicBezier(.65,0,.88,.77);const templates={Prism:{color1:\"#050505\",color2:\"#66B3FF\",color3:\"#FFFFFF\",rotation:-50,proportion:1,scale:.01,speed:30,distortion:0,swirl:50,swirlIterations:16,softness:47,offset:-299,shape:\"Checks\",shapeSize:45},Lava:{color1:\"#FF9F21\",color2:\"#FF0303\",color3:\"#000000\",rotation:114,proportion:100,scale:.52,speed:30,distortion:7,swirl:18,swirlIterations:20,softness:100,offset:717,shape:\"Edge\",shapeSize:12},Plasma:{color1:\"#B566FF\",color2:\"#000000\",color3:\"#000000\",rotation:0,proportion:63,scale:.75,speed:30,distortion:5,swirl:61,swirlIterations:5,softness:100,offset:-168,shape:\"Checks\",shapeSize:28},Pulse:{color1:\"#66FF85\",color2:\"#000000\",color3:\"#000000\",rotation:-167,proportion:92,scale:0,speed:20,distortion:54,swirl:75,swirlIterations:3,softness:28,offset:-813,shape:\"Checks\",shapeSize:79},Vortex:{color1:\"#000000\",color2:\"#FFFFFF\",color3:\"#000000\",rotation:50,proportion:41,scale:.4,speed:20,distortion:0,swirl:100,swirlIterations:3,softness:5,offset:-744,shape:\"Stripes\",shapeSize:80},Mist:{color1:\"#050505\",color2:\"#FF66B8\",color3:\"#050505\",rotation:0,proportion:33,scale:.48,speed:39,distortion:4,swirl:65,swirlIterations:5,softness:100,offset:-235,shape:\"Edge\",shapeSize:48}};/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 400\n */export default function AnimatedGradientBackground(props){const isStaticRenderer=useIsStaticRenderer();const isCanvas=RenderTarget.current()===RenderTarget.canvas;const useCustomColors=props.preset===\"custom\"||props.colorMode===\"custom\";const values=props.preset===\"custom\"?props:templates[props.preset]||Object.values(templates)[0];const[color1,color2,color3]=useColors(props.color1,props.color2,props.color3);return /*#__PURE__*/_jsxs(\"div\",{style:{borderRadius:props.radius,overflow:\"hidden\",position:\"relative\",...props.style},children:[/*#__PURE__*/_jsx(Warp,{color1:useCustomColors?color1:values.color1,color2:useCustomColors?color2:values.color2,color3:useCustomColors?color3:values.color3,scale:values.scale,proportion:values.proportion/100,distortion:values.distortion/50,swirl:values.swirl/100,swirlIterations:values.swirl===0?0:values.swirlIterations,rotation:values.rotation*Math.PI/180,speed:!isStaticRenderer||isCanvas&&props.preview?speedEase(props.speed/100)*5:0,seed:values.offset*10,shape:PatternShapes[values.shape],shapeScale:values.shapeSize/100,softness:values.softness/100,style:props.style}),props.noise&&props.noise.opacity>0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:`url(\"https://framerusercontent.com/images/g0QcWrxr87K0ufOxIUFBakwYA8.png\")`,backgroundSize:props.noise.scale*200,backgroundRepeat:\"repeat\",opacity:props.noise.opacity/2}})]});}AnimatedGradientBackground.displayName=\"Animated Gradient Background\";addPropertyControls(AnimatedGradientBackground,{preset:{type:ControlType.Enum,defaultValue:Object.keys(templates)[0],options:[...Object.keys(templates),\"custom\"],optionTitles:[...Object.keys(templates),\"Custom\"]},preview:{type:ControlType.Boolean,defaultValue:false},colorMode:{type:ControlType.Enum,defaultValue:\"preset\",options:[\"preset\",\"custom\"],optionTitles:[\"Preset\",\"Custom\"],displaySegmentedControl:true,title:\"Colors\",hidden:props=>props.preset===\"custom\"},color1:{type:ControlType.Color,defaultValue:\"#262626\",hidden:props=>props.preset!==\"custom\"&&props.colorMode===\"preset\"},color2:{type:ControlType.Color,defaultValue:\"#75c1f0\",hidden:props=>props.preset!==\"custom\"&&props.colorMode===\"preset\"},color3:{type:ControlType.Color,defaultValue:\"#ffffff\",hidden:props=>props.preset!==\"custom\"&&props.colorMode===\"preset\"},noise:{type:ControlType.Object,optional:true,icon:\"effect\",controls:{opacity:{type:ControlType.Number,defaultValue:.5,min:0,max:1,step:.01},scale:{type:ControlType.Number,defaultValue:1,min:.2,max:2,step:.1}}},rotation:{type:ControlType.Number,defaultValue:0,min:-360,max:360,step:1,unit:\"\\xb0\",hidden:props=>props.preset!==\"custom\"},proportion:{type:ControlType.Number,defaultValue:35,min:0,max:100,step:1,hidden:props=>props.preset!==\"custom\"},scale:{type:ControlType.Number,defaultValue:1,min:0,max:10,step:.01,hidden:props=>props.preset!==\"custom\"},speed:{type:ControlType.Number,defaultValue:25,step:1,min:0,max:100},distortion:{type:ControlType.Number,defaultValue:12,min:0,max:100,step:1,hidden:props=>props.preset!==\"custom\"},swirl:{type:ControlType.Number,defaultValue:80,min:0,max:100,step:1,hidden:props=>props.preset!==\"custom\"},swirlIterations:{type:ControlType.Number,defaultValue:10,min:0,max:20,step:1,title:\"Iterations\",hidden:props=>props.swirl===0||props.preset!==\"custom\"},softness:{type:ControlType.Number,defaultValue:100,min:0,max:100,step:1,hidden:props=>props.preset!==\"custom\"},offset:{type:ControlType.Number,defaultValue:0,min:-1e3,max:1e3,step:1,hidden:props=>props.preset!==\"custom\"},shape:{type:ControlType.Enum,defaultValue:\"Checks\",options:Object.keys(PatternShapes),hidden:props=>props.preset!==\"custom\"},shapeSize:{type:ControlType.Number,defaultValue:10,min:0,max:100,step:1,hidden:props=>props.preset!==\"custom\"},radius:{type:ControlType.BorderRadius,defaultValue:\"0px\"}});//////////////////////////////\nconst defaultPreset={name:\"Default\",params:{scale:1,rotation:0,speed:20,seed:0,color1:\"hsla(0, 0%, 15%, 1)\",color2:\"hsla(203, 80%, 70%, 1)\",color3:\"hsla(0, 0%, 100%, 1)\",proportion:.35,softness:1,distortion:.25,swirl:.8,swirlIterations:10,shapeScale:.1,shape:PatternShapes.Checks}};// Due to Leva controls limitation:\n// 1) keep default colors in HSLA format to keep alpha channel\n// 2) don't use decimal values on HSL values (to avoid button highlight bug)\nconst Warp=props=>{const uniforms=useMemo(()=>{return{u_scale:props.scale??defaultPreset.params.scale,u_rotation:props.rotation??defaultPreset.params.rotation,u_color1:getShaderColorFromString(props.color1,defaultPreset.params.color1),u_color2:getShaderColorFromString(props.color2,defaultPreset.params.color2),u_color3:getShaderColorFromString(props.color3,defaultPreset.params.color2),u_proportion:props.proportion??defaultPreset.params.proportion,u_softness:props.softness??defaultPreset.params.softness,u_distortion:props.distortion??defaultPreset.params.distortion,u_swirl:props.swirl??defaultPreset.params.swirl,u_swirlIterations:props.swirlIterations??defaultPreset.params.swirlIterations,u_shapeScale:props.shapeScale??defaultPreset.params.shapeScale,u_shape:props.shape??defaultPreset.params.shape};},[props.scale,props.rotation,props.color1,props.color2,props.color3,props.proportion,props.softness,props.distortion,props.swirl,props.swirlIterations,props.shapeScale,props.shape]);return /*#__PURE__*/_jsx(ShaderMount,{...props,fragmentShader:warpFragmentShader,uniforms:uniforms});};const ShaderMount=({ref,fragmentShader,style,uniforms={},webGlContextAttributes,speed=1,seed=0})=>{const canvasRef=ref??useRef(null);const shaderMountRef=useRef(null);useEffect(()=>{if(canvasRef.current){shaderMountRef.current=new ShaderMountVanilla(canvasRef.current,fragmentShader,uniforms,webGlContextAttributes,speed,seed);}return()=>{shaderMountRef.current?.dispose();};},[fragmentShader,webGlContextAttributes]);useEffect(()=>{shaderMountRef.current?.setUniforms(uniforms);},[uniforms]);useEffect(()=>{shaderMountRef.current?.setSpeed(speed);},[speed]);useEffect(()=>{shaderMountRef.current?.setSeed(seed);},[seed]);return /*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:style});};function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AnimatedGradientBackground\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimatedLiquidBackground_Prod.map","// Generated by Framer (48eb0fe)\nexport default function metadata(params,activeLocale){return{description:\"A Vertten \\xe9 um studio especializado em atender infoprodutores, com foco no desenvolvimento do universo visual de marca.  Mais do que est\\xe9tica, criamos sistemas visuais pensados para sustentar o crescimento e posicionamento de marcas no digital.\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/iDi1z3K1SYsbH75GPTpPKn8OY.png\",title:\"Studio Vertten\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"iTAAugB,EAAW,GAAGA,EAAmoB,EAAW,GAAgB,OAAOA,GAApB,4BCA7mC,kBCAgG,KAA2D,iBCAhN6B,EAAE,EAAE,CAAC,OAAO,eAAeA,EAAE,aAAa,CAAC,MAAM,GAAK,CAAC,CAAC,EAAE,QAAQ,UAAU,GAAG,EAAE,UAAU,UAAU,GAAWA,EAAE,WAAaA,EAAE,QAAUA,EAAE,4BEAomB,SAAS,GAAO,EAAE,EAAE,CAAC,IAAII,EAAE,EAAE,CAAC,IAAI,IAAIC,KAAKC,EAAE,OAAO,UAAU,eAAe,KAAKA,EAAED,EAAE,EAAEE,EAAE,QAAQF,EAAE,CAAC,IAAI,EAAEA,GAAGC,EAAED,IAAI,GAAGC,GAAG,MAAM,OAAO,OAAO,uBAAwB,WAAW,CAAC,IAAIE,EAAE,EAAE,IAAI,EAAE,OAAO,sBAAsBF,EAAE,CAACE,EAAEH,EAAE,OAAO,IAAI,EAAE,QAAQA,EAAEG,GAAG,CAAC,GAAG,OAAO,UAAU,qBAAqB,KAAKF,EAAED,EAAEG,GAAG,GAAG,EAAEH,EAAEG,IAAIF,EAAED,EAAEG,KAAK,OAAOJ,mCCAr/B,ICAuwL,SAAS,EAAgB,EAAE,EAAE,CAAkL,OAAxK,OAAOiB,GAAI,SAAYC,GAAMA,EAAED,KAAyB,EAAEA,GAAG,SAAS,iBAAiBA,EAAE,EAAC,EAAEC,EAAED,IAAQ,EAAE,SAAS,iBAAiBA,EAAE,CAAM,aAAa,UAAU,EAAE,CAACA,EAAE,EAAS,MAAM,KAAKA,GAAG,EAAE,CAAC,CAAs2K,SAAS,GAAS,EAAE,EAAE,CAAC,KAAKG,EAAE,OAAOD,EAAE,OAAOE,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,qBAAuB,IAAY,UAAU,GAAG,IAAM,EAAE,EAAgBJ,EAAE,CAAOM,EAAE,IAAI,QAA4O,EAAE,IAAI,qBAA/M,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,IAAMH,EAAEG,EAAE,IAAIN,EAAE,OAAO,CAAC,GAAGA,EAAE,iBAAiB,EAAQG,KAAMH,EAAE,eAAe,CAAC,IAAMG,EAAEF,EAAED,EAAE,CAAC,EAAEG,EAAE,CAACG,EAAE,IAAIN,EAAE,OAAOG,EAAE,CAAC,EAAE,UAAUH,EAAE,OAAO,MAASG,IAAG,EAAEH,EAAE,CAAC,EAAE,OAAOA,EAAE,OAAO,IAAI,EAAwD,CAAC,KAAKG,EAAE,WAAWD,EAAE,UAAU,OAAOE,GAAI,SAASA,EAAE,EAAEA,GAAG,CAAC,CAA8B,OAA7B,EAAE,SAAS,GAAG,EAAE,QAAQJ,EAAE,EAAE,KAAW,EAAE,YAAY,CAA2B,SAAS,GAAe,EAAE,EAAE,CAAC,GAAGC,EAAE,CAAC,GAAK,CAAC,WAAWD,EAAE,UAAUG,GAAGF,EAAE,GAAG,MAAM,CAAC,MAAMD,EAAE,OAAOG,EAAE,CAAC,OAAOH,aAAa,YAAY,YAAYA,EAAEA,EAAE,SAAS,CAAC,CAAC,MAAMA,EAAE,YAAY,OAAOA,EAAE,aAAa,CAAC,SAAS,GAAa,CAAC,OAAOA,EAAE,YAAYC,EAAE,cAAcE,GAAG,CAAC,IAAID,GAAG,EAAE,EAAE,IAAIF,EAAE,GAAI,MAAwBE,EAAE,SAAS,GAAG,CAAC,EAAE,CAAC,OAAOF,EAAE,YAAYC,EAAE,IAAI,MAAM,CAAC,OAAO,GAAeD,EAAEG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,GAAU,EAAE,CAAC,EAAE,QAAQ,GAAa,CAAC,SAAS,IAAsB,CAAC,OAAO,eAAiB,MAAc,EAAE,IAAI,eAAe,GAAU,EAAE,SAAS,GAAc,EAAE,EAAE,CAAC,GAAG,IAAsB,CAAC,IAAMA,EAAE,EAAgBH,EAAE,CAAgH,OAA/G,EAAE,SAAS,GAAG,CAAC,IAAIG,EAAE,EAAE,IAAIH,EAAE,CAAKG,IAAG,EAAE,IAAI,IAAI,EAAE,IAAIH,EAAEG,EAAE,EAAC,EAAE,IAAIF,EAAE,CAAC,GAA8B,QAAQD,EAAE,GAAG,KAAW,CAAC,EAAE,SAAS,GAAG,CAAC,IAAMG,EAAE,EAAE,IAAIH,EAAE,CAAC,GAA8B,OAAOC,EAAE,CAAE,GAAI,MAAwBE,EAAE,MAAQ,GAAI,MAAwB,EAAE,UAAUH,EAAE,GAAI,EAAwB,SAAS,IAA2B,CAAC,MAAM,CAAC,IAAMA,EAAE,CAAC,MAAM,EAAO,WAAW,OAAO,EAAO,YAAY,CAAOC,EAAE,CAAC,OAAO,EAAO,KAAKD,EAAE,YAAYA,EAAE,CAAC,EAAE,SAAS,GAAGA,EAAEC,EAAE,EAAE,EAAE,EAAO,iBAAiB,SAAS,EAAE,CAAC,SAAS,GAAa,EAAE,CAAyC,OAAxC,EAAE,IAAID,EAAE,CAAC,GAAG,IAA2B,KAAW,CAAC,EAAE,OAAOA,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,IAAK,KAAI,SAAS,GAAO,EAAE,EAAE,CAAC,OAAOgB,EAAEhB,EAAE,CAAC,GAAaA,EAAE,CAAC,GAAcA,EAAEC,EAAE,CAA6hK,SAAS,EAAqB,EAAE,EAAE,EAAE,CAAC,EAAE,cAAc,IAAI,YAAYA,EAAE,CAAC,OAAO,CAAC,cAAcE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,cAAc,IAAI,YAAYF,EAAE,CAAC,OAAO,CAAC,cAAcE,EAAE,CAAC,CAAC,CAAC,uDAAr9f,IAAI,IAAMH,aAAr9E,KAAuC,KAA+C,IAAsV,KAA+B,KAA+G,CAA+L,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,CAAO,GAAE,CAAC,YAAY,QAAQ,SAAS,OAAO,CAA8D,EAAE,CAAC,OAAO,UAAU,aAAa,OAAO,cAAc,GAAGA,EAAE,MAAM,CAAO,EAAE,CAAC,UAAU,CAAC,OAAO,sBAAsB,aAAa,MAAM,cAAc,GAAGA,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,WAAW,aAAa,EAAE,cAAcI,EAAE,CAAC,KAAK,EAAE,CAAO,EAAE,IAAI,IAAU,EAAkB,GAAG,YAAYJ,IAAU,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,GAAE,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,KAAKA,EAAEC,EAAE,CAAC,EAAE,IAAI,EAAkBD,EAAEC,EAAE,CAAC,EAAED,GAAG,GAAG,GAAG,CAAsE,IAAI,IAAI,EAAE,CAA6lB,GAAe,EAAE,IAAI,SAAS,cAAc,MAAM,CAAC,QAAQA,EAAEC,EAAE,CAAO,EAAE,CAAC,wBAAwB,OAAO,IAAM,KAAa,OAAO,eAAe,KAAK,IAAI,mBAAmB,CAAC,UAAU,OAAO,eAAe,KAAK,QAAQ,UAAU,UAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAS,CAAC,MAAO,GAAM,MAAO,IAAM,aAAa,EAAQ,EAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAU,iBAAiB,CAAC,GAAG,CAAC,EAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,eAAe,CAAC,MAAS,CAAC,MAAO,GAAM,MAAO,IAAM,CAAO,EAAE,EAAE,CAAO,EAAE,EAAE,CAAgB,EAAE,EAAED,QAAQ,EAAEA,KAAK,IAAK,KAAI,EAAEA,GAAG,EAAEA,IAAI,EAAS,EAAEA,IAA+zR,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAijB,EAAE,IAAI,QAA45B,EAAE,IAAI,IAAonL,EAAG,CAAC,SAAS,GAAG,EAAQA,EAAE,OAAQ,WAAW,EAAE,CAAC,OAAOC,EAAE,QAAQE,GAAG,CAAC,cAAcD,EAAE,EAAE,IAAI,CAAC,GAAK,CAAC,KAAKE,GAAGF,EAAkB,OAAO,GAASF,GAAG,GAAG,CAAwC,GAAvC,GAAG,CAAC,EAAkBA,EAAE,YAAYE,EAAE,CAAI,CAACE,EAAE,MAAO,IAAG,CAAC,GAAG,CAAC,EAAkBJ,EAAE,YAAYC,EAAE,IAAnIuB,GAAEtB,EAAE,CAAC,OAAO,CAAC,CAA4H,EAAE,CAAO,GAAY,EAAE,EAAE,IAAI,GAAG,EAAI,CAACA,EAAE,aAAaA,EAAE,cAAc,WAAS,GAAG,CAAC,EAAqBF,EAAEC,EAAEC,EAAE,GAA+xBuB,EAAG,CAAC,OAAO,EAAG,MAAjyB,CAAC,SAAS,GAAG,EAAQzB,EAAE,MAAO,WAAW,EAAE,CAAC,OAAOC,EAAE,QAAQE,KAAK,CAAC,IAAMD,EAAE,EAAWF,EAAE,aAAaC,EAAE,CAAOG,EAAE,EAAWJ,EAAE,WAAWG,EAAE,CAA2E,OAA1E,EAAE,iBAAiB,eAAeD,EAAE,CAAC,EAAE,iBAAiB,eAAeE,EAAE,KAAW,CAAC,EAAE,oBAAoB,eAAeF,EAAE,CAAC,EAAE,oBAAoB,eAAeE,EAAE,GAAG,CAAwf,MAA9e,CAAC,SAAS,GAAG,EAAQJ,EAAE,MAAO,WAAW,EAAE,CAAC,OAAOC,EAAE,QAAQE,KAAK,CAAC,IAAM,EAAY,GAAG,CAAC,GAAG,CAAC,EAAqBH,EAAE,WAAWC,EAAE,CAAC,EAAO,oBAAoB,YAAY,EAAY,EAAQ,EAAc,GAAG,CAAC,GAAG,CAAC,EAAqBD,EAAE,aAAaG,EAAE,CAAC,EAAO,iBAAiB,YAAY,EAAY,EAAkD,OAAhD,EAAE,iBAAiB,cAAc,EAAc,KAAW,CAAC,EAAE,oBAAoB,cAAc,EAAc,CAAC,EAAO,oBAAoB,YAAY,EAAY,GAAG,CAAuC,CAAU,CAAqB,GAAG,OAAO,KAAKsB,EAAG,CAAQ,wBCA1pnB,IACjB,CAClB,EAAkB,CAC3B,MAAO,OACP,OAAQ,OACR,QAAS,OACT,eAAgB,SAChB,WAAY,SACf,CASK,EAAkB,CACpB,GAAG,EACH,aAAc,EACd,WAAY,2BACZ,OAAQ,uCACR,MAAO,UACP,cAAe,SAClB,CACY,EAA0B,GAAkB,EAAG,IACnC,EAAK,MAAO,CAC7B,MAAO,EACF,MACR,CAAC,CACJ,uBEvBoL,SAAgB,GAAiB,EAAS,EAAa,EAAW,GAAG,EAAc,EAAsB,CAC/R,IAAM,EAAiBC,MAAY,CAAC,GAAG,GAAY,MAAO,GAAyD,SAAU,EAAE,OAAO,KAAK,IAAM,EAAe,EAAW,aAAa,CAAC,QAAQ,QAAQ,GAAG,CAC3C,OAA7H,EAAsB,IAAkE,EAAY,EAAS,EAAe,EAAuB,CAAC,EAAc,EAAW,CAAC,CAAwD,OAA5C,EAAa,EAAc,yBAT9N,IAAgC,CAI2E,GAAc,CAAC,QAAQ,CAAC,KAAK,EAAY,aAAa,CAAC,YAAY,CAAC,KAAK,EAAY,aAAa,CAAC,UAAU,CAAC,KAAK,EAAY,aAAa,CAAC,aAAa,CAAC,KAAK,EAAY,aAAa,CAAC,aAAa,CAAC,KAAK,EAAY,aAAa,CAAC,CAAO,GAAa,EAAI,IAAS,EAAI,KAAK,GAAGC,EAAE,aAAa,CAAC,SAAS,EAAO,CAAC,ICJpQ,SAAgB,GAAU,GAAG,EAAO,CAAC,IAAM,EAAS,EAAa,SAAS,GAAG,EAAa,OAAa,EAAoB,IAAS,OAAkB,EAAS,IAAa,CAAM,CAAC,EAAY,GAAgBC,MAAa,GAAmB,EAAO,IAAI,EAAuB,CAAC,CAAC,CAAC,MAAc,CAAC,GAAG,CAAC,EAAS,OAAO,IAAM,EAAI,SAAS,KAAK,cAAc,aAAa,CAAC,GAAG,CAAC,EAAI,OAAO,IAAM,EAAS,IAAI,qBAAqB,CAAC,EAAe,GAAmB,EAAO,IAAI,EAAuB,CAAC,CAAC,EAAG,CAAmE,OAAlE,EAAS,QAAQ,EAAI,CAAC,WAAW,GAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC,KAAW,EAAS,YAAY,EAAG,EAAO,CAAC,IAAM,EAAcC,MAAY,EAAO,IAAI,EAAuB,CAAC,CAAC,EAAO,CAAC,CAAC,GAAG,EAAc,OAAO,EAAO,IAAI,GAAO,GAAoB,EAAM,CAAC,CAAE,IAAI,EAAO,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAE,EAAO,OAAO,IAAI,CAAC,IAAM,EAAM,EAAOA,GACt+B,GAAG,OAAO,GAAQ,SAAS,CAAC,EAAO,KAAK,EAAM,CAAC,SAAU,IAAM,EAAa,EAAcA,GAAS,EAAY,EAAY,GAAiB,GAAc,EAAa,EAAO,KAAK,EAAS,EAAY,MAAM,EAAY,OAAO,EAAM,EAAY,OAAO,EAAM,CAAO,EAAO,KAAK,EAAM,CAAG,OAAO,EACnS,SAAS,GAAmB,EAAc,CAAC,IAAM,EAAS,EAAa,SAAS,GAAG,EAAa,OAAa,EAAO,EAAE,CAAK,EAAU,EAAE,CAAK,EAAS,EAAE,CAAC,GAAG,GAAU,OAAO,SAAW,IAAY,CAAC,IAAM,EAAI,SAAS,KAAK,cAAc,aAAa,CAAC,GAAG,EAAI,CAAC,IAAM,EAAM,EAAI,aAAa,QAAQ,CAAC,GAAG,EAAM,CAAC,IAAM,EAAK,EAAe,EAAM,CAAC,EAAU,EAAK,EAAS,QAAY,CAAC,GAAK,CAAC,QAAM,QAAM,IAAoB,CAAC,EAAU,EAAe,EAAM,CAAC,EAAS,EAAe,EAAK,CAC/R,OAAzK,IAAI,IAAI,CAAC,GAAG,OAAO,KAAK,EAAU,CAAC,GAAG,OAAO,KAAK,EAAS,CAAC,CAAC,CAAa,QAAQ,GAAS,CAAC,EAAO,GAAS,CAAC,MAAM,EAAU,IAAU,GAAG,KAAK,EAAS,IAAU,GAAG,EAAG,CAAQ,EAAQ,SAAS,IAAoB,CAAC,IAAI,EAAa,GAAO,EAAY,GAAG,GAAG,OAAO,SAAW,IAAY,CAAC,IAAM,EAAO,SAAS,KAAK,iBAAiB,0FAA0F,CAAC,IAAI,IAAM,KAAS,EAAO,CAAC,IAAM,EAAM,EAAM,OAAO,SAAS,GAAG,CAAC,EAAM,SAAS,IAAM,EAAW,EAAE,CAAC,IAAI,IAAM,KAAQ,EAAO,GAAG,aAAgB,aAAc,EAAW,KAAK,CAAC,EAAK,GAAM,CAAC,SAAU,aAAgB,cAAiB,EAAK,gBAAgB,mCAAoC,IAAM,KAAW,EAAK,SAAa,aAAmB,cAAc,EAAW,KAAK,CAAC,EAAQ,GAAK,CAAC,CAAM,IAAI,GAAK,CAAC,EAAK,KAAe,EAAW,CAAC,IAAM,EAAI,EAAK,QAA+C,GAAG,CAA5B,EAAI,SAAS,WAAW,CAAa,SAAS,IAAM,EAAO,EAAY,EAAK,eAAe,OAAO,EAAK,eAAe,iCAAuC,EAAQ,CAAC,GAAa,EAAK,eAAe,OAAU,MAAC,GAAQ,CAAC,KAAoB,EAAyB,IAAY,EAAI,UAAU,EAAI,QAAQ,IAAI,CAAC,EAAE,EAAI,YAAY,IAAI,CAAC,CAAC,MAAM,CAA0B,IAAa,EAAI,UAAU,EAAI,QAAQ,IAAI,CAAC,EAAE,EAAI,YAAY,IAAI,CAAC,CAAC,MAAM,CAAM,GAAa,GAAa,MAAO,GAAG,GAAa,EAAa,OAAQ,MAAM,CAAC,MAAM,EAAa,KAAK,EAAY,CAAE,SAAS,IAAa,CAAC,IAAM,EAAiB,IAAS,QAAa,EAAO,SAAS,OAAO,SAAS,mBAAmB,CAAM,CAAC,EAAW,GAAeF,MAAwB,IAAS,OAAoB,GAAe,GAAW,OAAO,SAAW,IAAoB,SAAS,KAAK,aAAa,oBAAoB,GAAG,OAAoB,EAAO,WAAW,+BAA+B,CAAC,QAAW,CAC/pD,OADgqD,MAAc,CAAC,GAAG,EAAU,CAAC,IAAM,EAAS,IAAI,iBAAiB,GAAW,CAAC,EAAU,QAAQ,GAAU,CAAI,EAAS,gBAAgB,qBAAiF,EAAhD,SAAS,KAAK,aAAa,oBAAoB,GAAuB,OAAO,EAAI,EAAG,CAAyF,OAAxF,EAAS,QAAQ,SAAS,KAAK,CAAC,WAAW,GAAK,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,KAAW,EAAS,YAAY,KAAM,CAAC,IAAM,EAAW,EAAO,WAAW,+BAA+B,CAAO,EAAa,GAAG,CAAC,EAAcG,EAAE,QAAQ,EAC9sE,OAAzG,EAAW,UAAU,GAAY,EAAc,EAAW,QAAQ,CAAE,EAAW,YAAY,EAAa,KAAW,EAAW,eAAe,EAAa,GAAI,CAAC,EAAU,CAAC,CAAQ,EAAY,SAAS,EAAuB,EAAU,CAAC,GAAG,CAAC,GAAW,CAAC,EAAU,WAAW,OAAO,CAAE,MAAM,GAAI,IAAM,EAAM,GAAiB,KAAK,EAAU,CAAgE,OAA5D,GAA0B,EAAM,IAAkC,GAAI,SAAS,EAAe,EAAQ,CAAC,IAAM,EAAK,EAAE,CAAiN,OAA5M,GAAuC,EAAQ,MAAM,IAAI,CAAC,OAAO,QAAQ,CAAc,QAAQ,GAAa,CAAC,GAAK,CAAC,EAAK,GAAO,EAAY,MAAM,IAAI,CAAC,IAAI,GAAG,EAAE,MAAM,CAAC,CAAI,GAAM,IAAO,EAAK,GAAM,IAAS,CAA5L,EAA0M,SAAS,GAAoB,EAAO,CAC1sB,GAAG,CAAC,GAAQ,CAAC,EAAO,WAAW,OAAO,CAAE,OAAO,EAG/C,IAAM,EADQ,EAAO,MAAM,EAAE,GAAG,CACZ,MAAM,IAAI,CAG9B,OAFG,EAAM,OAAO,EACT,EAAM,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC,MAAM,CAChC,4BAX2B,IAA8C,CAAM,GAAiB,oFCAtG,SAAS,EAAiB,EAAI,EAAI,EAAM,CAAmI,OAA/H,KAAO,EAAK,OAAO,eAAe,EAAI,EAAI,CAAO,QAAM,WAAW,GAAK,aAAa,GAAK,SAAS,GAAK,CAAC,CAAO,EAAI,GAAK,EAAc,EA2BhL,SAAS,GAAa,EAAG,EAAK,EAAO,CAAC,IAAM,EAAO,EAAG,aAAa,EAAK,CAAiQ,OAA5P,GAAmB,EAAG,aAAa,EAAO,EAAO,CAAC,EAAG,cAAc,EAAO,CAAK,EAAG,mBAAmB,EAAO,EAAG,eAAe,CAAqI,GAAnI,QAAQ,MAAM,4CAA4C,EAAG,iBAAiB,EAAO,CAAC,CAAC,EAAG,aAAa,EAAO,CAAQ,OAAxO,KAA6P,SAAS,GAAc,EAAG,EAAmB,EAAqB,CAAC,IAAM,EAAa,GAAa,EAAG,EAAG,cAAcC,EAAmB,CAAO,EAAe,GAAa,EAAG,EAAG,gBAAgB,EAAqB,CAAC,GAAG,CAAC,GAAc,CAAC,EAAe,OAAO,KAAK,IAAM,EAAQ,EAAG,eAAe,CACrf,OAD0f,GAAoB,EAAG,aAAa,EAAQ,EAAa,CAAC,EAAG,aAAa,EAAQ,EAAe,CAAC,EAAG,YAAY,EAAQ,CAAK,EAAG,oBAAoB,EAAQ,EAAG,YAAY,EAClzB,EAAG,aAAa,EAAQ,EAAa,CAAC,EAAG,aAAa,EAAQ,EAAe,CAAC,EAAG,aAAa,EAAa,CAAC,EAAG,aAAa,EAAe,CAAQ,IADiqB,QAAQ,MAAM,4CAA4C,EAAG,kBAAkB,EAAQ,CAAC,CAAC,EAAG,cAAc,EAAQ,CAAC,EAAG,aAAa,EAAa,CAAC,EAAG,aAAa,EAAe,CAAQ,OAAvV,8BA3Bjd,GAAb,KAAwB,CAAC,YAAY,EAAO,EAAe,EAAS,EAAE,CAAC,EAAuH,EAAM,EAAsF,EAAK,EAAE,CAAC,EAAiB,KAAK,SAAS,IAAK,GAAE,CAAC,EAAiB,KAAK,KAAK,IAAK,GAAE,CAAC,EAAiB,KAAK,UAAU,KAAK,CAAC,EAAiB,KAAK,mBAAmB,EAAE,CAAC,CAA6C,EAAiB,KAAK,iBAAiB,IAAK,GAAE,CAA0C,EAAiB,KAAK,QAAQ,KAAK,CAAuC,EAAiB,KAAK,gBAAgB,EAAE,CAA0G,EAAiB,KAAK,qBAAqB,EAAE,CAAyO,EAAiB,KAAK,QAAQ,EAAE,CAA4J,EAAiB,KAAK,mBAAmB,IAAK,GAAE,CAA8E,EAAiB,KAAK,kBAAkB,GAAM,CAAyE,EAAiB,KAAK,oBAAoB,GAAK,CAAC,EAAiB,KAAK,gBAAgB,CAAC,IAAM,EAAQ,GAAc,KAAK,GAAG,GAAmB,KAAK,eAAe,CAAK,IAAe,KAAK,QAAQ,EAAQ,KAAK,wBAAwB,CAAC,KAAK,eAAe,GAAG,CAAC,EAAiB,KAAK,6BAA6B,CAAC,IAAM,EAA0B,KAAK,GAAG,kBAAkB,KAAK,QAAQ,aAAa,CAAO,EAAe,KAAK,GAAG,cAAc,CAAC,KAAK,GAAG,WAAW,KAAK,GAAG,aAAa,EAAe,CAAiD,KAAK,GAAG,WAAW,KAAK,GAAG,aAAa,IAAI,aAA5E,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAoE,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,GAAG,wBAAwB,EAA0B,CAAC,KAAK,GAAG,oBAAoB,EAA0B,EAAE,KAAK,GAAG,MAAM,GAAM,EAAE,EAAE,EAAG,CAAC,EAAiB,KAAK,oBAAoB,CAAC,KAAK,iBAAiB,CAAC,OAAO,KAAK,GAAG,mBAAmB,KAAK,QAAQ,SAAS,CAAC,aAAa,KAAK,GAAG,mBAAmB,KAAK,QAAQ,eAAe,CAAC,aAAa,KAAK,GAAG,mBAAmB,KAAK,QAAQ,eAAe,CAAC,GAAG,OAAO,YAAY,OAAO,KAAK,KAAK,iBAAiB,CAAC,IAAI,GAAK,CAAC,EAAI,KAAK,GAAG,mBAAmB,KAAK,QAAQ,EAAI,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,EAAiB,KAAK,iBAAiB,KAAK,CAAC,EAAiB,KAAK,0BAA0B,CAAC,KAAK,eAAe,IAAI,mBAAmB,KAAK,cAAc,CAAC,CAAC,KAAK,eAAe,QAAQ,KAAK,OAAO,CAAC,KAAK,cAAc,EAAG,CAAC,EAAiB,KAAK,mBAAmB,CAAC,IAAM,EAAW,EAAO,iBAAuB,EAAS,KAAK,OAAO,YAAY,EAAiB,EAAU,KAAK,OAAO,aAAa,GAAc,KAAK,OAAO,QAAQ,GAAU,KAAK,OAAO,SAAS,KAAW,KAAK,OAAO,MAAM,EAAS,KAAK,OAAO,OAAO,EAAU,KAAK,kBAAkB,GAAK,KAAK,GAAG,SAAS,EAAE,EAAE,KAAK,GAAG,OAAO,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,KAAK,OAAO,YAAY,KAAK,CAAC,GAC16G,CAAC,EAAiB,KAAK,SAAS,GAAa,CAAC,GAAG,KAAK,gBAAgB,OAC1E,IAAM,EAAG,EAAY,KAAK,cAAc,KAAK,cAAc,EACxD,KAAK,QAAQ,IAAG,KAAK,oBAAoB,EAAG,KAAK,OACpD,KAAK,GAAG,MAAM,KAAK,GAAG,iBAAiB,CACvC,KAAK,GAAG,WAAW,KAAK,QAAQ,CAChC,KAAK,GAAG,UAAU,KAAK,iBAAiB,OAAO,KAAK,mBAAmB,KAAK,CAC5E,AAA0M,KAAK,qBAApL,KAAK,GAAG,UAAU,KAAK,iBAAiB,aAAa,KAAK,GAAG,OAAO,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,KAAK,GAAG,UAAU,KAAK,iBAAiB,aAAa,EAAO,iBAAiB,CAAwB,IAAO,KAAK,GAAG,WAAW,KAAK,GAAG,UAAU,EAAE,EAAE,CAC9Q,KAAK,QAAQ,EAA8B,KAAK,MAAM,KAAtC,KAAK,eAAe,EAA0B,CAAC,EAAiB,KAAK,oBAAoB,CAAI,KAAK,QAAQ,MAAM,qBAAqB,KAAK,MAAM,CAAE,KAAK,MAAM,sBAAsB,KAAK,OAAO,EAAG,CAAC,EAAiB,KAAK,6BAA6B,CAAC,KAAK,GAAG,WAAW,KAAK,QAAQ,CAAC,OAAO,QAAQ,KAAK,iBAAiB,CAAC,SAAS,CAAC,EAAI,KAAS,CAAC,IAAM,EAAS,KAAK,iBAAiB,GAAK,GAAG,EAAU,GAAG,MAAM,QAAQ,EAAM,CAAE,OAAO,EAAM,OAAb,CAAqB,IAAK,GAAE,KAAK,GAAG,WAAW,EAAS,EAAM,CAAC,MAAM,IAAK,GAAE,KAAK,GAAG,WAAW,EAAS,EAAM,CAAC,MAAM,IAAK,GAAE,KAAK,GAAG,WAAW,EAAS,EAAM,CAAC,MAAM,QAAW,EAAM,SAAS,EAAG,KAAK,GAAG,iBAAiB,EAAS,GAAM,EAAM,CAAU,EAAM,SAAS,GAAI,KAAK,GAAG,iBAAiB,EAAS,GAAM,EAAM,CAAO,QAAQ,KAAK,qCAAqC,EAAM,SAAS,MAAY,OAAO,GAAQ,SAAU,KAAK,GAAG,UAAU,EAAS,EAAM,CAAU,OAAO,GAAQ,UAAW,KAAK,GAAG,UAAU,EAAS,EAAM,EAAE,EAAE,CAAO,QAAQ,KAAK,gCAAgC,EAAI,IAAI,OAAO,IAAQ,EAAK,EAAG,CAAgD,EAAiB,KAAK,UAAU,GAAS,CAAgC,KAAK,mBAAb,IAAI,IAA4B,EAAyB,KAAK,cAAc,YAAY,KAAK,CAAC,KAAK,OAAO,YAAY,KAAK,CAAC,EAAG,CAAuD,EAAiB,KAAK,YAAY,EAAS,IAAI,CACp3C,KAAK,MAAM,EAAY,KAAK,QAAQ,MAAM,IAAW,IACrD,KAAK,cAAc,YAAY,KAAK,CAAC,KAAK,MAAM,sBAAsB,KAAK,OAAO,EAAK,KAAK,QAAQ,MAAM,IAAW,IACrH,qBAAqB,KAAK,MAAM,CAAC,KAAK,MAAM,OAAQ,CAAmE,EAAiB,KAAK,cAAc,GAAa,CAAC,KAAK,iBAAiB,CAAC,GAAG,KAAK,iBAAiB,GAAG,EAAY,CAGxO,KAAK,wBAAwB,CAAC,KAAK,OAAO,YAAY,KAAK,CAAC,EAAG,CAA2E,EAAiB,KAAK,cAAc,CAC9K,KAAK,gBAAgB,GAClB,KAAK,QAAQ,OAAM,qBAAqB,KAAK,MAAM,CAAC,KAAK,MAAM,MAAS,KAAK,IAAI,KAAK,UAAS,KAAK,GAAG,cAAc,KAAK,QAAQ,CAAC,KAAK,QAAQ,KACnJ,KAAK,GAAG,WAAW,KAAK,GAAG,aAAa,KAAK,CAAC,KAAK,GAAG,WAAW,KAAK,GAAG,qBAAqB,KAAK,CAAC,KAAK,GAAG,iBAAiB,KAAK,GAAG,aAAa,KAAK,CAAC,KAAK,GAAG,gBAAgB,KAAK,GAAG,YAAY,KAAK,CACzM,KAAK,GAAG,UAAU,EAAE,AAAyD,KAAK,kBAAtC,KAAK,eAAe,YAAY,CAAqB,MAAM,KAAK,iBAAiB,EAAE,EAAG,CAAC,KAAK,OAAO,EAAO,KAAK,eAAe,EAAe,KAAK,iBAAiB,EAC/M,KAAK,mBAAmB,EAAK,IAAM,EAAG,EAAO,WAAW,SAAS,EAAuB,CAAC,GAAG,CAAC,EAAI,MAAU,MAAM,sBAAsB,CAAE,KAAK,GAAG,EAAG,KAAK,WAAW,CAAC,KAAK,qBAAqB,CAC/L,KAAK,SAAS,EAAM,CACpB,KAAK,OAAO,aAAa,qBAAqB,OAAO,GAAkD,GAAmB;;;;;;qBCrB7G,EAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAoBtC,GAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KCpB0C,SAAgB,EAAyB,EAAY,EAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CACrJ,GAAG,MAAM,QAAQ,EAAY,CAAkG,OAA7F,EAAY,SAAS,EAAS,EAAe,EAAY,SAAS,EAAQ,CAAC,GAAG,EAAY,EAAE,CAAQ,EAAyB,EAAS,CACxK,GAAG,OAAO,GAAc,SAAU,OAAO,EAAyB,EAAS,CAAE,IAAIC,EAAE,EAAE,EAAEC,EAAE,EAAE,GAAG,EAAY,WAAW,IAAI,CAAE,CAACD,EAAE,EAAE,EAAEC,GAAG,GAAU,EAAY,SAAU,EAAY,WAAW,MAAM,CAAE,CAACD,EAAE,EAAE,EAAEC,GAAG,GAAU,EAAY,SAAU,EAAY,WAAW,MAAM,CAAE,CAACD,EAAE,EAAE,EAAEC,GAAG,GAAW,GAAU,EAAY,CAAC,MAA6D,OAAtD,QAAQ,MAAM,2BAA2B,EAAY,CAAQ,EAAyB,EAAS,CAAE,MAAM,CAAC,EAAMD,EAAE,EAAE,EAAE,CAAC,EAAM,EAAE,EAAE,EAAE,CAAC,EAAM,EAAE,EAAE,EAAE,CAAC,EAAMC,EAAE,EAAE,EAAE,CAAC,CAA2C,SAAS,GAAU,EAAI,CAI9X,MAHhK,GAAI,EAAI,QAAQ,KAAK,GAAG,CACrB,EAAI,SAAS,IAAG,EAAI,EAAI,MAAM,GAAG,CAAC,IAAI,GAAM,EAAK,EAAK,CAAC,KAAK,GAAG,EAC/D,EAAI,SAAS,IAAG,GAAQ,MAC2I,CAA9J,SAAS,EAAI,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,IAAY,SAAS,EAAI,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,IAAY,SAAS,EAAI,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,IAAY,SAAS,EAAI,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,IAAmB,CAAiD,SAAS,GAAU,EAAK,CACxP,IAAM,EAAM,EAAK,MAAM,0EAA0E,CAA2B,OAAtB,EAA4B,CAAC,SAAS,EAAM,IAAI,IAAI,CAAC,IAAI,SAAS,EAAM,IAAI,IAAI,CAAC,IAAI,SAAS,EAAM,IAAI,IAAI,CAAC,IAAI,EAAM,KAAK,IAAA,GAAU,EAAE,WAAW,EAAM,GAAG,CAAC,CAAjJ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAkK,SAAS,GAAU,EAAK,CAAC,IAAM,EAAM,EAAK,MAAM,4EAA4E,CAA2B,OAAtB,EAA4B,CAAC,SAAS,EAAM,IAAI,IAAI,CAAC,SAAS,EAAM,IAAI,IAAI,CAAC,SAAS,EAAM,IAAI,IAAI,CAAC,EAAM,KAAK,IAAA,GAAU,EAAE,WAAW,EAAM,GAAG,CAAC,CAArI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAwK,SAAS,GAAW,EAAK,CAAC,GAAK,CAAC,EAAE,EAAEC,EAAED,GAAG,EAAW,EAAS,EAAE,IAAU,EAAS,EAAE,IAAU,EAASC,EAAE,IAAQF,EAAE,EAAE,EAAE,GAAG,IAAI,EAAG,EAAE,EAAE,EAAE,MAC5tB,CAAC,IAAM,GAAS,EAAE,EAAE,KAAQG,EAAE,IAAE,GAAG,GAAKA,EAAE,GAAE,IAAQA,EAAE,EAAE,EAASC,GAAGC,EAAED,GAAG,EAAED,EAAKA,EAAE,EAAE,EAASE,EAAKF,EAAE,EAAE,EAASC,GAAGC,EAAED,IAAI,EAAE,EAAED,GAAG,EAASC,GAAUC,EAAE,EAAS,GAAG,GAAU,EAAE,GAAU,EAAS,EAAS,EAAS,EAAeD,EAAE,EAAE,EAASC,EAAE,EAAE,EAAQD,EAAEC,EAAE,EAAS,EAAE,EAAE,CAAC,EAAE,EAAQD,EAAEC,EAAE,EAAS,CAAC,EAAE,EAAQD,EAAEC,EAAE,EAAS,EAAE,EAAE,CAAE,MAAM,CAACL,EAAE,EAAE,EAAEC,EAAE,kBAAe,GAAO,EAAE,EAAI,IAAM,KAAK,IAAI,KAAK,IAAIK,EAAE,EAAI,CAAC,EAAI,kBCRpQ,KAAyH,KAChF,KACnC,wBCKpC,ICC/G,SAAwB,EAA2B,EAAM,CAAC,IAAM,EAAiB,IAAqB,CAAO,EAAS,EAAa,SAAS,GAAG,EAAa,OAAa,EAAgB,EAAM,SAAS,UAAU,EAAM,YAAY,SAAe,EAAO,EAAM,SAAS,SAAS,EAAM,EAAU,EAAM,SAAS,OAAO,OAAO,EAAU,CAAC,GAAQ,CAAC,EAAO,EAAO,GAAQ,GAAU,EAAM,OAAO,EAAM,OAAO,EAAM,OAAO,CAAC,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,aAAa,EAAM,OAAO,SAAS,SAAS,SAAS,WAAW,GAAG,EAAM,MAAM,CAAC,SAAS,CAAc,EAAK,GAAK,CAAC,OAAO,EAAgB,EAAO,EAAO,OAAO,OAAO,EAAgB,EAAO,EAAO,OAAO,OAAO,EAAgB,EAAO,EAAO,OAAO,MAAM,EAAO,MAAM,WAAW,EAAO,WAAW,IAAI,WAAW,EAAO,WAAW,GAAG,MAAM,EAAO,MAAM,IAAI,gBAAgB,EAAO,QAAQ,EAAE,EAAE,EAAO,gBAAgB,SAAS,EAAO,SAAS,KAAK,GAAG,IAAI,MAAM,CAAC,GAAkB,GAAU,EAAM,QAAQ,GAAU,EAAM,MAAM,IAAI,CAAC,EAAE,EAAE,KAAK,EAAO,OAAO,GAAG,MAAM,EAAc,EAAO,OAAO,WAAW,EAAO,UAAU,IAAI,SAAS,EAAO,SAAS,IAAI,MAAM,EAAM,MAAM,CAAC,CAAC,EAAM,OAAO,EAAM,MAAM,QAAQ,GAAgB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,gBAAgB,6EAA6E,eAAe,EAAM,MAAM,MAAM,IAAI,iBAAiB,SAAS,QAAQ,EAAM,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,+BARr0C,IAAqF,IAA4C,KAAoH,KAAiK,KAAuC,CAAM,GAAU,GAAY,IAAI,EAAE,IAAI,IAAI,CAAO,EAAU,CAAC,MAAM,CAAC,OAAO,UAAU,OAAO,UAAU,OAAO,UAAU,SAAS,IAAI,WAAW,EAAE,MAAM,IAAI,MAAM,GAAG,WAAW,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,GAAG,OAAO,KAAK,MAAM,SAAS,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,UAAU,OAAO,UAAU,OAAO,UAAU,SAAS,IAAI,WAAW,IAAI,MAAM,IAAI,MAAM,GAAG,WAAW,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,IAAI,OAAO,IAAI,MAAM,OAAO,UAAU,GAAG,CAAC,OAAO,CAAC,OAAO,UAAU,OAAO,UAAU,OAAO,UAAU,SAAS,EAAE,WAAW,GAAG,MAAM,IAAI,MAAM,GAAG,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE,SAAS,IAAI,OAAO,KAAK,MAAM,SAAS,UAAU,GAAG,CAAC,MAAM,CAAC,OAAO,UAAU,OAAO,UAAU,OAAO,UAAU,SAAS,KAAK,WAAW,GAAG,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,gBAAgB,EAAE,SAAS,GAAG,OAAO,KAAK,MAAM,SAAS,UAAU,GAAG,CAAC,OAAO,CAAC,OAAO,UAAU,OAAO,UAAU,OAAO,UAAU,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,EAAE,MAAM,IAAI,gBAAgB,EAAE,SAAS,EAAE,OAAO,KAAK,MAAM,UAAU,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,UAAU,OAAO,UAAU,OAAO,UAAU,SAAS,EAAE,WAAW,GAAG,MAAM,IAAI,MAAM,GAAG,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE,SAAS,IAAI,OAAO,KAAK,MAAM,OAAO,UAAU,GAAG,CAAC,CAQ3U,EAA2B,YAAY,+BAA+B,GAAoB,EAA2B,CAAC,OAAO,CAAC,KAAK,EAAY,KAAK,aAAa,OAAO,KAAK,EAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,OAAO,KAAK,EAAU,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,OAAO,KAAK,EAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAM,CAAC,UAAU,CAAC,KAAK,EAAY,KAAK,aAAa,SAAS,QAAQ,CAAC,SAAS,SAAS,CAAC,aAAa,CAAC,SAAS,SAAS,CAAC,wBAAwB,GAAK,MAAM,SAAS,OAAO,GAAO,EAAM,SAAS,SAAS,CAAC,OAAO,CAAC,KAAK,EAAY,MAAM,aAAa,UAAU,OAAO,GAAO,EAAM,SAAS,UAAU,EAAM,YAAY,SAAS,CAAC,OAAO,CAAC,KAAK,EAAY,MAAM,aAAa,UAAU,OAAO,GAAO,EAAM,SAAS,UAAU,EAAM,YAAY,SAAS,CAAC,OAAO,CAAC,KAAK,EAAY,MAAM,aAAa,UAAU,OAAO,GAAO,EAAM,SAAS,UAAU,EAAM,YAAY,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,SAAS,GAAK,KAAK,SAAS,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,aAAa,EAAE,IAAI,KAAK,IAAI,IAAI,KAAK,EAAE,KAAK,IAAO,OAAO,GAAO,EAAM,SAAS,SAAS,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,OAAO,GAAO,EAAM,SAAS,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,GAAO,EAAM,SAAS,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,aAAa,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,OAAO,GAAO,EAAM,SAAS,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,OAAO,GAAO,EAAM,SAAS,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,MAAM,aAAa,OAAO,GAAO,EAAM,QAAQ,GAAG,EAAM,SAAS,SAAS,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,OAAO,GAAO,EAAM,SAAS,SAAS,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,aAAa,EAAE,IAAI,KAAK,IAAI,IAAI,KAAK,EAAE,OAAO,GAAO,EAAM,SAAS,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,KAAK,aAAa,SAAS,QAAQ,OAAO,KAAK,EAAc,CAAC,OAAO,GAAO,EAAM,SAAS,SAAS,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,OAAO,GAAO,EAAM,SAAS,SAAS,CAAC,OAAO,CAAC,KAAK,EAAY,aAAa,aAAa,MAAM,CAAC,CAAC,CACluH,EAAc,CAAC,KAAK,UAAU,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,sBAAsB,OAAO,yBAAyB,OAAO,uBAAuB,WAAW,IAAI,SAAS,EAAE,WAAW,IAAI,MAAM,GAAG,gBAAgB,GAAG,WAAW,GAAG,MAAM,EAAc,OAAO,CAAC,CAGnR,GAAK,GAAO,CAAC,IAAM,EAASC,OAAmB,CAAC,QAAQ,EAAM,OAAO,EAAc,OAAO,MAAM,WAAW,EAAM,UAAU,EAAc,OAAO,SAAS,SAAS,EAAyB,EAAM,OAAO,EAAc,OAAO,OAAO,CAAC,SAAS,EAAyB,EAAM,OAAO,EAAc,OAAO,OAAO,CAAC,SAAS,EAAyB,EAAM,OAAO,EAAc,OAAO,OAAO,CAAC,aAAa,EAAM,YAAY,EAAc,OAAO,WAAW,WAAW,EAAM,UAAU,EAAc,OAAO,SAAS,aAAa,EAAM,YAAY,EAAc,OAAO,WAAW,QAAQ,EAAM,OAAO,EAAc,OAAO,MAAM,kBAAkB,EAAM,iBAAiB,EAAc,OAAO,gBAAgB,aAAa,EAAM,YAAY,EAAc,OAAO,WAAW,QAAQ,EAAM,OAAO,EAAc,OAAO,MAAM,EAAG,CAAC,EAAM,MAAM,EAAM,SAAS,EAAM,OAAO,EAAM,OAAO,EAAM,OAAO,EAAM,WAAW,EAAM,SAAS,EAAM,WAAW,EAAM,MAAM,EAAM,gBAAgB,EAAM,WAAW,EAAM,MAAM,CAAC,CAAC,OAAoB,EAAKC,EAAY,CAAC,GAAG,EAAM,eAAe,GAA4B,WAAS,CAAC,EAASA,GAAa,CAAC,MAAI,iBAAe,QAAM,WAAS,EAAE,CAAC,yBAAuB,QAAM,EAAE,OAAK,KAAK,CAAC,IAAM,EAAU,GAAKC,EAAO,KAAK,CAAO,EAAeA,EAAO,KAAK,CAAwc,OAAvc,OAAkB,EAAU,UAAS,EAAe,QAAQ,IAAIC,GAAmB,EAAU,QAAQ,EAAe,EAAS,EAAuB,EAAM,EAAK,MAAY,CAAC,EAAe,SAAS,SAAS,GAAK,CAAC,EAAe,EAAuB,CAAC,CAAC,MAAc,CAAC,EAAe,SAAS,YAAY,EAAS,EAAG,CAAC,EAAS,CAAC,CAAC,MAAc,CAAC,EAAe,SAAS,SAAS,EAAM,EAAG,CAAC,EAAM,CAAC,CAAC,MAAc,CAAC,EAAe,SAAS,QAAQ,EAAK,EAAG,CAAC,EAAK,CAAC,CAAqB,EAAK,SAAS,CAAC,IAAI,EAAgB,QAAM,CAAC,KCXlvD,SAAwB,GAAS,EAAO,EAAa,CAAC,MAAM,CAAC,YAAY,uPAA6P,OAAO,0BAA0B,YAAY,qEAAqE,MAAM,iBAAiB"}