{"version":3,"file":"Code_Block_v3.-hmj_1_v.mjs","names":["clamp","e","e","t","n","n","r","e","t","A","O","p","v","g","r","y","m","t","b","x","V","Children","useRef","useMemo","useState","useCallback","React.useState","React.useRef","React.useCallback","_Fragment","React.Fragment"],"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.12.0/dist/index.es.js","https:/ga.jspm.io/npm:tslib@2.4.0/tslib.es6.js","https:/ga.jspm.io/npm:hey-listen@1.0.8/dist/index.js","https:/ga.jspm.io/npm:@motionone/generators@10.12.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/dom@10.12.0/dist/index.es.js","https:/framerusercontent.com/modules/B2xAlJLcN0gOnt11mSPw/plhC5PVnCMllW5QXjFK5/Ticker.js","https:/framerusercontent.com/modules/k9SHsKr9JKk8XiecfvBH/PQL4mj8rlnyNYxvFdAFs/Code_Block_v3.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{noopReturn as t,defaults as i,isEasingGenerator as e,isEasingList as s,interpolate as a}from\"@motionone/utils\";import{cubicBezier as n,steps as r}from\"@motionone/easing\";const o={ease:n(.25,.1,.25,1),\"ease-in\":n(.42,0,1,1),\"ease-in-out\":n(.42,0,.58,1),\"ease-out\":n(0,0,.58,1)};const h=/\\((.*?)\\)/;function getEasingFunction(i){if(\"function\"===typeof i)return i;if(Array.isArray(i))return n(...i);if(o[i])return o[i];if(i.startsWith(\"steps\")){const t=h.exec(i);if(t){const i=t[1].split(\",\");return r(parseFloat(i[0]),i[1].trim())}}return t}class Animation{constructor(n,r=[0,1],{easing:o,duration:h=i.duration,delay:u=i.delay,endDelay:l=i.endDelay,repeat:m=i.repeat,offset:c,direction:p=\"normal\"}={}){this.startTime=null;this.rate=1;this.t=0;this.cancelTimestamp=null;this.easing=t;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||i.easing;if(e(o)){const t=o.createAnimation(r,(()=>\"0\"),true);o=t.easing;void 0!==t.keyframes&&(r=t.keyframes);void 0!==t.duration&&(h=t.duration)}this.repeat=m;this.easing=s(o)?t:getEasingFunction(o);this.updateDuration(h);const d=a(r,c,s(o)?o.map(getEasingFunction):t);this.tick=t=>{var i;u=u;let e=0;e=void 0!==this.pauseTime?this.pauseTime:(t-this.startTime)*this.rate;this.t=e;e/=1e3;e=Math.max(e-u,0);\"finished\"===this.playState&&void 0===this.pauseTime&&(e=this.totalDuration);const s=e/this.duration;let a=Math.floor(s);let r=s%1;!r&&s>=1&&(r=1);1===r&&a--;const o=a%2;(\"reverse\"===p||\"alternate\"===p&&o||\"alternate-reverse\"===p&&!o)&&(r=1-r);const h=e>=this.totalDuration?1:Math.min(r,1);const m=d(this.easing(h));n(m);const c=void 0===this.pauseTime&&(\"finished\"===this.playState||e>=this.totalDuration+l);if(c){this.playState=\"finished\";null===(i=this.resolve)||void 0===i?void 0:i.call(this,m)}else\"idle\"!==this.playState&&(this.frameRequestId=requestAnimationFrame(this.tick))};this.play()}play(){const t=performance.now();this.playState=\"running\";void 0!==this.pauseTime?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\";void 0!==this.frameRequestId&&cancelAnimationFrame(this.frameRequestId);null===(t=this.reject)||void 0===t?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){void 0!==this.pauseTime||0===this.rate?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\n//# sourceMappingURL=index.es.js.map","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(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?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(null!=e&&\"function\"===typeof Object.getOwnPropertySymbols){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:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if(\"object\"===typeof Reflect&&\"function\"===typeof Reflect.decorate)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 __metadata(e,t){if(\"object\"===typeof Reflect&&\"function\"===typeof Reflect.metadata)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(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:verb(0),throw:verb(1),return:verb(2)},\"function\"===typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function verb(e){return function(t){return step([e,t])}}function step(a){if(r)throw new TypeError(\"Generator is already executing.\");while(i)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;(n=0,o)&&(a=[2&a[0],o.value]);switch(a[0]){case 0:case 1:o=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;n=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1];o=a;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(a);break}o[2]&&i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e];n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var e=Object.create?function(e,t,r,n){void 0===n&&(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){void 0===n&&(n=r);e[n]=t[r]};function __exportStar(t,r){for(var n in t)\"default\"===n||Object.prototype.hasOwnProperty.call(r,n)||e(r,t,n)}function __values(e){var t=\"function\"===typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&\"number\"===typeof e.length)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=\"function\"===typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{while((void 0===t||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||2===arguments.length)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\"),n[Symbol.asyncIterator]=function(){return this},n;function verb(e){o[e]&&(n[e]=function(t){return new Promise((function(r,n){a.push([e,t,r,n])>1||resume(e,t)}))})}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:\"return\"===n}: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=\"function\"===typeof __values?__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(null!=r)for(var o in r)\"default\"!==o&&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(\"a\"===r&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof t?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?n:\"a\"===r?n.call(e):n?n.value:t.get(e)}function __classPrivateFieldSet(e,t,r,n,o){if(\"m\"===n)throw new TypeError(\"Private method is not writable\");if(\"a\"===n&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof t?e!==t||!o:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function __classPrivateFieldIn(e,t){if(null===t||\"object\"!==typeof t&&\"function\"!==typeof t)throw new TypeError(\"Cannot use 'in' operator on non-object\");return\"function\"===typeof e?t===e:e.has(t)}export{__assign,__asyncDelegator,__asyncGenerator,__asyncValues,__await,__awaiter,__classPrivateFieldGet,__classPrivateFieldIn,__classPrivateFieldSet,e as __createBinding,__decorate,__exportStar,__extends,__generator,__importDefault,__importStar,__makeTemplateObject,__metadata,__param,__read,__rest,__spread,__spreadArray,__spreadArrays,__values};\n\n//# sourceMappingURL=tslib.es6.js.map","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","import{velocityPerSecond as e,time as t}from\"@motionone/utils\";const s=5;function calcGeneratorVelocity(t,n,r){const a=Math.max(n-s,0);return e(r-t(a),n-a)}const n={stiffness:100,damping:10,mass:1};const calcDampingRatio=(e=n.stiffness,t=n.damping,s=n.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=n.stiffness,damping:s=n.damping,mass:r=n.mass,from:a=0,to:o=1,velocity:c=0,restSpeed:i=2,restDistance:h=.5}={})=>{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/r)/1e3;const l=calcDampingRatio(e,s,r);let g;if(l<1){const e=f*Math.sqrt(1-l*l);g=t=>o-Math.exp(-l*f*t)*((l*f*d-c)/e*Math.sin(e*t)+d*Math.cos(e*t))}else g=e=>o-Math.exp(-f*e)*(d+(f*d-c)*e);return e=>{u.current=g(e);const t=0===e?c:calcGeneratorVelocity(g,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=>void 0!==i&&e<i||void 0!==h&&e>h;const nearestBoundary=e=>void 0===i?h:void 0===h||Math.abs(i-e)<Math.abs(h-e)?i:h;let l=n*s;const g=e+l;const m=void 0===c?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&&void 0===p){t=true;applyFriction(e);checkCatchBoundary(e)}if(void 0!==p&&e>p){f.hasReachedTarget=true;return M(e-p)}f.hasReachedTarget=false;!t&&applyFriction(e);return f}};const r=10;const a=1e4;function pregenerateKeyframes(e){let t;let s=r;let n=e(0);const o=[n.current];while(!n.done&&s<a){n=e(s);o.push(n.done?n.target:n.current);void 0===t&&n.hasReachedTarget&&(t=s);s+=r}const c=s-r;1===o.length&&o.push(n.current);return{keyframes:o,duration:c/1e3,overshootDuration:(null!==t&&void 0!==t?t:c)/1e3}}export{calcGeneratorVelocity,glide,pregenerateKeyframes,spring};\n\n//# sourceMappingURL=index.es.js.map","import{MotionValue as e}from\"@motionone/types\";import{noopReturn as t,addUniqueItem as n,isCubicBezier as o,defaults as i,isEasingGenerator as s,isNumber as r,time as a,isEasingList as c,noop as l,removeItem as f,mix as u,getEasingForSegment as d,isString as g,defaultOffset as m,fillOffset as h,progress as p,velocityPerSecond as v,interpolate as y}from\"@motionone/utils\";import{Animation as w,getEasingFunction as E}from\"@motionone/animation\";import{__rest as b}from\"tslib\";import{invariant as S}from\"hey-listen\";import{pregenerateKeyframes as A,calcGeneratorVelocity as O,spring as x,glide as V}from\"@motionone/generators\";const z=new WeakMap;function getAnimationData(e){z.has(e)||z.set(e,{transforms:[],values:new Map});return z.get(e)}function getMotionValue(t,n){t.has(n)||t.set(n,new e);return t.get(n)}const W=[\"\",\"X\",\"Y\",\"Z\"];const L=[\"translate\",\"scale\",\"rotate\",\"skew\"];const T={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};const D={syntax:\"<angle>\",initialValue:\"0deg\",toDefaultUnit:e=>e+\"deg\"};const M={translate:{syntax:\"<length-percentage>\",initialValue:\"0px\",toDefaultUnit:e=>e+\"px\"},rotate:D,scale:{syntax:\"<number>\",initialValue:1,toDefaultUnit:t},skew:D};const k=new Map;const asTransformCssVar=e=>`--motion-${e}`;const B=[\"x\",\"y\",\"z\"];L.forEach((e=>{W.forEach((t=>{B.push(e+t);k.set(asTransformCssVar(e+t),M[e])}))}));const compareTransformOrder=(e,t)=>B.indexOf(e)-B.indexOf(t);const j=new Set(B);const isTransform=e=>j.has(e);const addTransformToElement=(e,t)=>{T[t]&&(t=T[t]);const{transforms:o}=getAnimationData(e);n(o,t);e.style.transform=buildTransformTemplate(o)};const buildTransformTemplate=e=>e.sort(compareTransformOrder).reduce(transformListToString,\"\").trim();const transformListToString=(e,t)=>`${e} ${t}(var(${asTransformCssVar(t)}))`;const isCssVar=e=>e.startsWith(\"--\");const P=new Set;function registerCssVariable(e){if(!P.has(e)){P.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 convertEasing=e=>o(e)?cubicBezierAsString(e):e;const cubicBezierAsString=([e,t,n,o])=>`cubic-bezier(${e}, ${t}, ${n}, ${o})`;const testAnimation=e=>document.createElement(\"div\").animate(e,{duration:.001});const C={cssRegisterProperty:()=>\"undefined\"!==typeof CSS&&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]}).finished)};const $={};const R={};for(const e in C)R[e]=()=>{void 0===$[e]&&($[e]=C[e]());return $[e]};function hydrateKeyframes(e,t){for(let n=0;n<e.length;n++)null===e[n]&&(e[n]=n?e[n-1]:t());return e}const keyframesList=e=>Array.isArray(e)?e:[e];function getStyleName(e){T[e]&&(e=T[e]);return isTransform(e)?asTransformCssVar(e):e}const H={get:(e,t)=>{t=getStyleName(t);let n=isCssVar(t)?e.style.getPropertyValue(t):getComputedStyle(e)[t];if(!n&&0!==n){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&&\"finished\"!==e.playState)try{if(e.stop)e.stop();else{t&&e.commitStyles();e.cancel()}}catch(e){}}function getDevToolsRecord(){return window.__MOTION_DEV_TOOLS_RECORD}function animateStyle(e,t,n,o={}){const f=getDevToolsRecord();const u=false!==o.record&&f;let d;let{duration:g=i.duration,delay:m=i.delay,endDelay:h=i.endDelay,repeat:p=i.repeat,easing:v=i.easing,direction:y,offset:E,allowWebkitAcceleration:b=false}=o;const S=getAnimationData(e);let A=R.waapi();const O=isTransform(t);O&&addTransformToElement(e,t);const x=getStyleName(t);const V=getMotionValue(S.values,x);const z=k.get(x);stopAnimation(V.animation,!(s(v)&&V.generator)&&false!==o.record);return()=>{const readInitialValue=()=>{var t,n;return null!==(n=null!==(t=H.get(e,x))&&void 0!==t?t:null===z||void 0===z?void 0:z.initialValue)&&void 0!==n?n:0};let i=hydrateKeyframes(keyframesList(n),readInitialValue);if(s(v)){const e=v.createAnimation(i,readInitialValue,O,x,V);v=e.easing;void 0!==e.keyframes&&(i=e.keyframes);void 0!==e.duration&&(g=e.duration)}isCssVar(x)&&(R.cssRegisterProperty()?registerCssVariable(x):A=false);if(A){z&&(i=i.map((e=>r(e)?z.toDefaultUnit(e):e)));1!==i.length||R.partialKeyframes()&&!u||i.unshift(readInitialValue());const t={delay:a.ms(m),duration:a.ms(g),endDelay:a.ms(h),easing:c(v)?void 0:convertEasing(v),direction:y,iterations:p+1,fill:\"both\"};d=e.animate({[x]:i,offset:E,easing:c(v)?v.map(convertEasing):void 0},t);d.finished||(d.finished=new Promise(((e,t)=>{d.onfinish=e;d.oncancel=t})));const n=i[i.length-1];d.finished.then((()=>{H.set(e,x,n);d.cancel()})).catch(l);b||(d.playbackRate=1.000001)}else if(O){i=i.map((e=>\"string\"===typeof e?parseFloat(e):e));1===i.length&&i.unshift(parseFloat(readInitialValue()));const render=t=>{z&&(t=z.toDefaultUnit(t));H.set(e,x,t)};d=new w(render,i,Object.assign(Object.assign({},o),{duration:g,easing:v}))}else{const t=i[i.length-1];H.set(e,x,z&&r(t)?z.toDefaultUnit(t):t)}u&&f(e,t,i,{duration:g,delay:m,easing:v,repeat:p,offset:E},\"motion-one\");V.setAnimation(d);return d}}const getOptions=(e,t)=>e[t]?Object.assign(Object.assign({},e),e[t]):Object.assign({},e);function resolveElements(e,t){var n;if(\"string\"===typeof e)if(t){null!==(n=t[e])&&void 0!==n?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=i.duration)=>new Proxy({animations:e.map(createAnimation).filter(Boolean),duration:n,options:t},I);const getActiveAnimation=e=>e.animations[0];const I={get:(e,t)=>{const n=getActiveAnimation(e);switch(t){case\"duration\":return e.duration;case\"currentTime\":return a.s((null===n||void 0===n?void 0:n[t])||0);case\"playbackRate\":case\"playState\":return null===n||void 0===n?void 0:n[t];case\"finished\":e.finished||(e.finished=Promise.all(e.animations.map(selectFinished)).catch(l));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\"undefined\"===typeof(null===n||void 0===n?void 0:n[t])?void 0:()=>e.animations.forEach((e=>e[t]()))}},set:(e,t,n)=>{switch(t){case\"currentTime\":n=a.ms(n);case\"currentTime\":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(e=.1,{start:t=0,from:n=0,easing:o}={}){return(i,s)=>{const a=r(n)?n:getFromIndex(n,s);const c=Math.abs(a-i);let l=e*c;if(o){const t=s*e;const n=E(o);l=n(l/t)*t}return t+l}}function getFromIndex(e,t){if(\"first\"===e)return 0;{const n=t-1;return\"last\"===e?n:n/2}}function resolveOption(e,t,n){return\"function\"===typeof e?e(t,n):e}function animate(e,t,n={}){e=resolveElements(e);const o=e.length;const i=[];for(let s=0;s<o;s++){const r=e[s];for(const e in t){const a=getOptions(n,e);a.delay=resolveOption(a.delay,s,o);const c=animateStyle(r,e,t[e],a);i.push(c)}}return withControls(i,n,n.duration)}function calcNextTime(e,t,n,o){var i;return r(t)?t:t.startsWith(\"-\")||t.startsWith(\"+\")?Math.max(0,e+parseFloat(t)):\"<\"===t?n:null!==(i=o.get(t))&&void 0!==i?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){f(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:u(i,s,o[r]),easing:d(n,r)})}function compareByTime(e,t){return e.at===t.at?null===e.value?1:-1:e.at-t.at}function timeline(e,t={}){var n;const o=createAnimationsFromTimeline(e,t);const i=o.map((e=>animateStyle(...e))).filter(Boolean);return withControls(i,t,null===(n=o[0])||void 0===n?void 0:n[3].duration)}function createAnimationsFromTimeline(e,t={}){var{defaultOptions:n={}}=t,o=b(t,[\"defaultOptions\"]);const r=[];const a=new Map;const c={};const l=new Map;let f=0;let u=0;let d=0;for(let t=0;t<e.length;t++){const o=e[t];if(g(o)){l.set(o,u);continue}if(!Array.isArray(o)){l.set(o.name,calcNextTime(u,o.at,f,l));continue}const[r,p,v={}]=o;void 0!==v.at&&(u=calcNextTime(u,v.at,f,l));let y=0;const w=resolveElements(r,c);const E=w.length;for(let e=0;e<E;e++){const t=w[e];const o=getElementSequence(t,a);for(const t in p){const r=getValueSequence(t,o);let a=keyframesList(p[t]);const c=getOptions(v,t);let{duration:l=n.duration||i.duration,easing:f=n.easing||i.easing}=c;if(s(f)){const e=isTransform(t);S(2===a.length||!e,\"spring must be provided 2 keyframes within timeline\");const n=f.createAnimation(a,(()=>\"0\"),e);f=n.easing;void 0!==n.keyframes&&(a=n.keyframes);void 0!==n.duration&&(l=n.duration)}const g=resolveOption(v.delay,e,E)||0;const w=u+g;const b=w+l;let{offset:A=m(a.length)}=c;1===A.length&&0===A[0]&&(A[1]=1);const O=length-a.length;O>0&&h(A,O);1===a.length&&a.unshift(null);addKeyframes(r,a,f,A,w,b);y=Math.max(g+l,y);d=Math.max(b,d)}}f=u;u+=y}a.forEach(((e,t)=>{for(const s in e){const a=e[s];a.sort(compareByTime);const c=[];const l=[];const f=[];for(let e=0;e<a.length;e++){const{at:t,value:n,easing:o}=a[e];c.push(n);l.push(p(0,d,t));f.push(o||i.easing)}if(0!==l[0]){l.unshift(0);c.unshift(c[0]);f.unshift(\"linear\")}if(1!==l[l.length-1]){l.push(1);c.push(null)}r.push([t,s,c,Object.assign(Object.assign(Object.assign({},n),{duration:d,easing:f,offset:l}),o)])}}));return r}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 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,restSpeed:r?.05:2,restDistance:r?.01:.5},n)));return o.get(a)};const getKeyframes=e=>{t.has(e)||t.set(e,A(e));return t.get(e)};return{createAnimation:(e,t,n,o,i)=>{var s,r;let a;const c=e.length;let l=n&&c<=2&&e.every(isNumberOrNull);if(l){const n=e[c-1];const l=1===c?null:e[0];let f=0;let u=0;const d=null===i||void 0===i?void 0:i.generator;if(d){const{animation:t,generatorStartTime:n}=i;const o=(null===t||void 0===t?void 0:t.startTime)||n||0;const r=(null===t||void 0===t?void 0:t.currentTime)||performance.now()-o;const a=d(r).current;u=null!==(s=l)&&void 0!==s?s:a;(1===c||2===c&&null===e[0])&&(f=O((e=>d(e).current),r,a))}else u=null!==(r=l)&&void 0!==r?r:parseFloat(t());const g=getGenerator(u,n,f,null===o||void 0===o?void 0:o.includes(\"scale\"));const m=getKeyframes(g);a=Object.assign(Object.assign({},m),{easing:\"linear\"});if(i){i.generator=g;i.generatorStartTime=performance.now()}}else{const e=getKeyframes(getGenerator(0,100));a={easing:\"ease\",duration:e.overshootDuration}}return a}}}}const isNumberOrNull=e=>\"string\"!==typeof e;const N=createGeneratorEasing(x);const F=createGeneratorEasing(V);const U={any:0,all:1};function inView$1(e,t,{root:n,margin:o,amount:i=\"any\"}={}){if(\"undefined\"===typeof IntersectionObserver)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);\"function\"===typeof n?r.set(e.target,n):a.unobserve(e.target)}else if(n){n(e);r.delete(e.target)}}))};const a=new IntersectionObserver(onIntersectionChange,{root:n,rootMargin:o,threshold:\"number\"===typeof i?i:U[i]});s.forEach((e=>a.observe(e)));return()=>a.disconnect()}const q=new WeakMap;let K;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;null===(o=q.get(e))||void 0===o?void 0:o.forEach((o=>{o({target:e,contentSize:t,get size(){return getElementSize(e,n)}})}))}function notifyAll(e){e.forEach(notifyTarget)}function createResizeObserver(){\"undefined\"!==typeof ResizeObserver&&(K=new ResizeObserver(notifyAll))}function resizeElement(e,t){K||createResizeObserver();const n=resolveElements(e);n.forEach((e=>{let n=q.get(e);if(!n){n=new Set;q.set(e,n)}n.add(t);null===K||void 0===K?void 0:K.observe(e)}));return()=>{n.forEach((e=>{const n=q.get(e);null===n||void 0===n?void 0:n.delete(t);(null===n||void 0===n?void 0:n.size)||(null===K||void 0===K?void 0:K.unobserve(e))}))}}const G=new Set;let _;function createWindowResizeHandler(){_=()=>{const e={width:window.innerWidth,height:window.innerHeight};const t={target:window,size:e,contentSize:e};G.forEach((e=>e(t)))};window.addEventListener(\"resize\",_)}function resizeWindow(e){G.add(e);_||createWindowResizeHandler();return()=>{G.delete(e);!G.size&&_&&(_=void 0)}}function resize(e,t){return\"function\"===typeof e?resizeWindow(e):resizeElement(e,t)}const Z=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 X={x:{length:\"Width\",position:\"Left\"},y:{length:\"Height\",position:\"Top\"}};function updateAxisInfo(e,t,n,o){const i=n[t];const{length:s,position:r}=X[t];const a=i.current;const c=n.time;i.current=e[\"scroll\"+r];i.scrollLength=e[\"scroll\"+s]-e[\"client\"+s];i.offset.length=0;i.offset[0]=0;i.offset[1]=i.scrollLength;i.progress=p(0,i.scrollLength,i.current);const l=o-c;i.velocity=l>Z?0:v(i.current-a,l)}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&&\"svg\"!==o.tagName)o=o.parentNode}return n}const Y={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]};const J={start:0,center:.5,end:1};function resolveEdge(e,t,n=0){let o=0;void 0!==J[e]&&(e=J[e]);if(g(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}r(e)&&(o=t*e);return n+o}const Q=[0,0];function resolveOffset(e,t,n,o){let i=Array.isArray(e)?e:Q;let s=0;let a=0;if(r(e))i=[e,e];else if(g(e)){e=e.trim();i=e.includes(\" \")?e.split(\" \"):[e,J[e]?e:\"0\"]}s=resolveEdge(i[0],n,o);a=resolveEdge(i[1],t);return s-a}const ee={x:0,y:0};function resolveOffsets(e,t,n){let{offset:o=Y.All}=n;const{target:i=e,axis:s=\"y\"}=n;const r=\"y\"===s?\"height\":\"width\";const a=i!==e?calcInset(i,e):ee;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=y(m(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:\"function\"===typeof t?()=>t(n):scrubAnimation(t,n[i])}}function scrubAnimation(e,n){e.pause();e.forEachNative(((e,{easing:n})=>{var o,i;if(e.updateDuration){n||(e.easing=t);e.updateDuration(1)}else{const t={duration:1e3};n||(t.easing=\"linear\");null===(i=null===(o=e.effect)||void 0===o?void 0:o.updateTiming)||void 0===i?void 0:i.call(o,t)}}));return()=>{e.currentTime=n.progress}}const te=new WeakMap;const ne=new WeakMap;const oe=new WeakMap;const getEventTarget=e=>e===document.documentElement?window:e;function scroll(e,t={}){var{container:n=document.documentElement}=t,o=b(t,[\"container\"]);let i=oe.get(n);if(!i){i=new Set;oe.set(n,i)}const s=createScrollInfo();const r=createOnScrollHandler(n,e,s,o);i.add(r);if(!te.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()};te.set(n,listener);const e=getEventTarget(n);window.addEventListener(\"resize\",listener,{passive:true});n!==document.documentElement&&ne.set(n,resize(n,listener));e.addEventListener(\"scroll\",listener,{passive:true})}const a=te.get(n);const c=requestAnimationFrame(a);return()=>{var t;\"function\"!==typeof e&&e.stop();cancelAnimationFrame(c);const o=oe.get(n);if(!o)return;o.delete(r);if(o.size)return;const i=te.get(n);te.delete(n);if(i){getEventTarget(n).removeEventListener(\"scroll\",i);null===(t=ne.get(n))||void 0===t?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\"object\"===typeof e}function resolveVariant(e,t){return isVariant(e)?e:e&&t?t[e]:void 0}let ie;function processScheduledAnimations(){if(!ie)return;const e=ie.sort(compareByDepth).map(fireAnimateUpdates);e.forEach(fireNext);e.forEach(fireNext);ie=void 0}function scheduleAnimation(e){if(ie)n(ie,e);else{ie=[e];requestAnimationFrame(processScheduledAnimations)}}function unscheduleAnimation(e){ie&&f(ie,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 se={isActive:e=>Boolean(e.inView),subscribe:(e,{enable:t,disable:n},{inViewOptions:o={}})=>{const{once:i}=o,s=b(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||\"mouse\"===o.pointerType){n();dispatchPointerEvent(e,t,o)}};const re={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 ae={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 ce={inView:se,hover:re,press:ae};const le=[\"initial\",\"animate\",...Object.keys(ce),\"exit\"];const fe=new WeakMap;function createMotionState(e={},t){let n;let o=t?t.getDepth()+1:0;const i={initial:true,animate:true};const s={};const r={};for(const n of le)r[n]=\"string\"===typeof e[n]?e[n]:null===t||void 0===t?void 0:t.getContext()[n];const a=false===e.initial?\"animate\":\"initial\";let c=resolveVariant(e[a]||r[a],e.variants)||{},f=b(c,[\"transition\"]);const u=Object.assign({},f);function*animateUpdates(){var t,o;const s=f;f={};const r={};for(const n of le){if(!i[n])continue;const s=resolveVariant(e[n]);if(s)for(const n in s)if(\"transition\"!==n){f[n]=s[n];r[n]=getOptions(null!==(o=null!==(t=s.transition)&&void 0!==t?t:e.transition)&&void 0!==o?o:{},n)}}const a=new Set([...Object.keys(f),...Object.keys(s)]);const c=[];a.forEach((e=>{var t;void 0===f[e]&&(f[e]=u[e]);if(hasChanged(s[e],f[e])){null!==(t=u[e])&&void 0!==t?t:u[e]=H.get(n,e);c.push(animateStyle(n,e,f[e],r[e]))}}));yield;const d=c.map((e=>e())).filter(Boolean);if(!d.length)return;const g=f;n.dispatchEvent(motionEvent(\"motionstart\",g));Promise.all(d.map((e=>e.finished))).then((()=>{n.dispatchEvent(motionEvent(\"motioncomplete\",g))})).catch(l)}const setGesture=(e,t)=>()=>{i[e]=t;scheduleAnimation(d)};const updateGestureSubscriptions=()=>{for(const t in ce){const o=ce[t].isActive(e);const i=s[t];if(o&&!i)s[t]=ce[t].subscribe(n,{enable:setGesture(t,true),disable:setGesture(t,false)},e);else if(!o&&i){i();delete s[t]}}};const d={update:t=>{if(n){e=t;updateGestureSubscriptions();scheduleAnimation(d)}},setActive:(e,t)=>{if(n){i[e]=t;scheduleAnimation(d)}},animateUpdates:animateUpdates,getDepth:()=>o,getTarget:()=>f,getOptions:()=>e,getContext:()=>r,mount:e=>{S(Boolean(e),\"Animation state must be mounted with valid Element\");n=e;fe.set(n,d);updateGestureSubscriptions();return()=>{fe.delete(n);unscheduleAnimation(d);for(const e in s)s[e]()}},isMounted:()=>Boolean(n)};return d}function createStyles(e){const t={};const n=[];for(let o in e){const i=e[o];if(isTransform(o)){T[o]&&(o=T[o]);n.push(o);o=asTransformCssVar(o)}let s=Array.isArray(i)?i[0]:i;const a=k.get(o);a&&(s=r(i)?a.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{Y as ScrollOffset,animate,animateStyle,createMotionState,createStyleString,createStyles,getAnimationData,getStyleName,F as glide,inView$1 as inView,fe as mountedStates,resize,scroll,N as spring,stagger,H as style,timeline,withControls};\n\n//# sourceMappingURL=index.es.js.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{Children,useLayoutEffect,useEffect,useState,useRef,useMemo,useCallback,cloneElement,startTransition,forwardRef,useImperativeHandle}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useReducedMotion,LayoutGroup,useInView,useMotionValue,useTransform,motion,frame}from\"framer-motion\";import{resize}from\"@motionone/dom\";const MAX_DUPLICATED_ITEMS=100;const directionTransformers={left:offset=>`translateX(-${offset}px)`,right:offset=>`translateX(${offset}px)`,top:offset=>`translateY(-${offset}px)`,bottom:offset=>`translateY(${offset}px)`};/**\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function Ticker(props){/* Props */let{slots=[],gap,padding,paddingPerSide,paddingTop,paddingRight,paddingBottom,paddingLeft,speed,hoverFactor,direction,alignment,sizingOptions,fadeOptions,style}=props;const{fadeContent,overflow,fadeWidth,fadeInset,fadeAlpha}=fadeOptions;const{widthType,heightType}=sizingOptions;const paddingValue=paddingPerSide?`${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`:`${padding}px`;/* Checks */const currentTarget=RenderTarget.current();const isCanvas=currentTarget===RenderTarget.canvas||currentTarget===RenderTarget.export;const writingDirection=useWritingDirection();// Remove empty slots (such as hidden layers)\nconst filteredSlots=slots.filter(Boolean);const numChildren=Children.count(filteredSlots);const hasChildren=numChildren>0;const offset=useMotionValue(0);const resolvedDirection=getTickerResolvedDirection(direction===true?\"left\":direction,writingDirection);const isHorizontal=resolvedDirection===\"left\"||resolvedDirection===\"right\";const transformer=directionTransformers[resolvedDirection];const transform=useTransform(offset,transformer);/* Refs and State */const parentRef=useRef(null);const childrenRef=useMemo(()=>{return[{current:null},{current:null}];},[]);const[size,setSize]=useState({parent:null,children:null});/* Arrays */let clonedChildren=null;let dupedChildren=[];/* Duplicate value */let duplicateBy=0;let opacity=0;if(isCanvas){duplicateBy=numChildren?Math.floor(10/numChildren):0;opacity=1;}if(!isCanvas&&hasChildren&&size.parent){duplicateBy=Math.round(size.parent/size.children*2)+1;duplicateBy=Math.min(duplicateBy,MAX_DUPLICATED_ITEMS);opacity=1;}/* Measure parent and child */const measure=useCallback(()=>{if(hasChildren&&parentRef.current){const parentLength=isHorizontal?parentRef.current.offsetWidth:parentRef.current.offsetHeight;const start=childrenRef[0].current?isHorizontal?childrenRef[0].current.offsetLeft:childrenRef[0].current.offsetTop:0;const end=childrenRef[1].current?isHorizontal?childrenRef[1].current.offsetLeft+childrenRef[1].current.offsetWidth:childrenRef[1].current.offsetTop+childrenRef[1].current.offsetHeight:0;const childrenLength=end-start+gap;startTransition(()=>{setSize({parent:parentLength,children:childrenLength});});}},[]);const childrenStyles=isCanvas?{contentVisibility:\"auto\"}:{};/* Add refs to first and last child */if(hasChildren){// TODO: These conditional hooks will be unsafe if hasChildren ever changes outside the canvas.\nif(!isCanvas){/**\n             * Track whether this is the initial resize event. By default this will fire on mount,\n             * which we do in the useEffect. We should only fire it on subsequent resizes.\n             */let initialResize=useRef(true);useLayoutEffect(()=>{frame.read(measure,false,true);return resize(parentRef.current,({contentSize})=>{if(!initialResize.current&&(contentSize.width||contentSize.height)){frame.read(measure,false,true);}initialResize.current=false;});},[]);}clonedChildren=Children.map(filteredSlots,(child,index)=>{let ref;if(index===0){ref=childrenRef[writingDirection===\"rtl\"&&isHorizontal?1:0];}if(index===filteredSlots.length-1){ref=childrenRef[writingDirection===\"rtl\"&&isHorizontal?0:1];}const size={width:widthType?child.props?.width:\"100%\",height:heightType?child.props?.height:\"100%\"};return /*#__PURE__*/_jsx(LayoutGroup,{inherit:\"id\",children:/*#__PURE__*/_jsx(Wrapper,{ref:ref,style:size,children:/*#__PURE__*/cloneElement(child,{style:{...child.props?.style,...size,flexShrink:0,...childrenStyles},layoutId:child.props.layoutId?child.props.layoutId+\"-original-\"+index:undefined},child.props?.children)})});});}const isInView=isCanvas?true:useInView(parentRef);if(!isCanvas){for(let i=0;i<duplicateBy;i++){dupedChildren=dupedChildren.concat(Children.map(filteredSlots,(child,childIndex)=>{const size={width:widthType?child.props?.width:\"100%\",height:heightType?child.props?.height:\"100%\",willChange:!isInView?undefined:\"transform\"};return /*#__PURE__*/_jsx(LayoutGroup,{inherit:\"id\",children:/*#__PURE__*/_jsx(Wrapper,{style:size,children:/*#__PURE__*/cloneElement(child,{key:i+\" \"+childIndex,style:{...child.props?.style,width:widthType?child.props?.width:\"100%\",height:heightType?child.props?.height:\"100%\",flexShrink:0,...childrenStyles},layoutId:child.props.layoutId?child.props.layoutId+\"-dupe-\"+i:undefined},child.props?.children)},i+\"li\"+childIndex)},i+\"lg\"+childIndex);}));}}const animateToValue=size.children+size.children*Math.round(size.parent/size.children);const initialTime=useRef(null);const prevTime=useRef(null);const xOrY=useRef(0);const isHover=useRef(false);const isReducedMotion=useReducedMotion();const listRef=useRef(null);const animationRef=useRef(null);/**\n     * Setup animations\n     */if(!isCanvas){useEffect(()=>{if(isReducedMotion||!animateToValue||!speed){return;}animationRef.current=listRef.current.animate({transform:[transformer(0),transformer(animateToValue)]},{duration:Math.abs(animateToValue)/speed*1e3,iterations:Infinity,iterationStart:writingDirection===\"rtl\"?1:0,easing:\"linear\"});return()=>animationRef.current.cancel();},[hoverFactor,animateToValue,speed,writingDirection]);const playOrPause=useCallback(()=>{if(!animationRef.current)return;const hidden=document.hidden;if(isInView&&!hidden&&animationRef.current.playState===\"paused\"){animationRef.current.play();}else if((!isInView||hidden)&&animationRef.current.playState===\"running\"){animationRef.current.pause();}},[isInView]);useEffect(()=>{playOrPause();},[isInView,hoverFactor,animateToValue,speed]);useEffect(()=>{document.addEventListener(\"visibilitychange\",playOrPause);return()=>{document.removeEventListener(\"visibilitychange\",playOrPause);};},[playOrPause]);}/* Fades */const fadeDirection=isHorizontal?\"to right\":\"to bottom\";const fadeWidthStart=fadeWidth/2;const fadeWidthEnd=100-fadeWidth/2;const fadeInsetStart=clamp(fadeInset,0,fadeWidthStart);const fadeInsetEnd=100-fadeInset;const fadeMask=`linear-gradient(${fadeDirection}, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetStart}%, rgba(0, 0, 0, 1) ${fadeWidthStart}%, rgba(0, 0, 0, 1) ${fadeWidthEnd}%, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetEnd}%)`;/* Empty state */if(!hasChildren){return /*#__PURE__*/_jsxs(\"section\",{style:placeholderStyles,children:[/*#__PURE__*/_jsx(\"div\",{style:emojiStyles,children:\"✨\"}),/*#__PURE__*/_jsx(\"p\",{style:titleStyles,children:\"Connect to Content\"}),/*#__PURE__*/_jsx(\"p\",{style:subtitleStyles,children:\"Add layers or components to infinitely loop on your page.\"})]});}return /*#__PURE__*/_jsx(\"section\",{style:{...containerStyle,opacity:opacity,WebkitMaskImage:fadeContent?fadeMask:undefined,maskImage:fadeContent?fadeMask:undefined,overflow:overflow?\"visible\":\"hidden\",padding:paddingValue},ref:parentRef,children:/*#__PURE__*/_jsxs(motion.ul,{ref:listRef,style:{...containerStyle,gap:gap,top:direction===\"bottom\"&&isValidNumber(animateToValue)?-animateToValue:undefined,left:direction===\"right\"&&isValidNumber(animateToValue)?animateToValue*(writingDirection===\"rtl\"?1:-1):undefined,placeItems:alignment,position:\"relative\",flexDirection:isHorizontal?\"row\":\"column\",...style,willChange:isCanvas||!isInView?\"auto\":\"transform\",transform:transformer(0)},onMouseEnter:()=>{isHover.current=true;if(animationRef.current){// TODO Replace with updatePlaybackRate when Chrome bugs sorted\nanimationRef.current.playbackRate=hoverFactor;}},onMouseLeave:()=>{isHover.current=false;if(animationRef.current){// TODO Replace with updatePlaybackRate when Chrome bugs sorted\nanimationRef.current.playbackRate=1;}},children:[clonedChildren,dupedChildren]})});}const Wrapper=/*#__PURE__*/forwardRef(({children,...props},ref)=>{const innerRef=useRef();const inView=useInView(innerRef);useImperativeHandle(ref,()=>innerRef.current);useEffect(()=>{const current=innerRef.current;if(!current)return;// for a11y: Manage tabIndex on focusable descendants & aria-hidden on the parent.\nif(inView){current.querySelectorAll(\"button,a\").forEach(el=>{const orig=el.dataset.origTabIndex;if(orig)el.tabIndex=orig;else el.removeAttribute(\"tabIndex\");});}else{current.querySelectorAll(\"button,a\").forEach(el=>{const orig=el.getAttribute(\"tabIndex\");if(orig)el.dataset.origTabIndex=orig;el.tabIndex=-1;});}},[inView]);return /*#__PURE__*/_jsx(\"li\",{...props,\"aria-hidden\":!inView,ref:innerRef,children:children});});/* Default Properties */Ticker.defaultProps={gap:10,padding:10,sizingOptions:{widthType:true,heightType:true},fadeOptions:{fadeContent:true,overflow:false,fadeWidth:25,fadeAlpha:0,fadeInset:0},direction:true};/* Property Controls */addPropertyControls(Ticker,{slots:{type:ControlType.Array,title:\"Children\",control:{type:ControlType.ComponentInstance}},speed:{type:ControlType.Number,title:\"Speed\",min:0,max:1e3,defaultValue:100,unit:\"%\",displayStepper:true,step:5},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"left\",\"right\",\"top\",\"bottom\"],optionIcons:[\"direction-left\",\"direction-right\",\"direction-up\",\"direction-down\"],optionTitles:[\"Left\",\"Right\",\"Top\",\"Bottom\"],defaultValue:\"left\",displaySegmentedControl:true},alignment:{type:ControlType.Enum,title:\"Align\",options:[\"flex-start\",\"center\",\"flex-end\"],optionIcons:{direction:{right:[\"align-top\",\"align-middle\",\"align-bottom\"],left:[\"align-top\",\"align-middle\",\"align-bottom\"],top:[\"align-left\",\"align-center\",\"align-right\"],bottom:[\"align-left\",\"align-center\",\"align-right\"]}},defaultValue:\"center\",displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\"},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},sizingOptions:{type:ControlType.Object,title:\"Sizing\",controls:{widthType:{type:ControlType.Boolean,title:\"Width\",enabledTitle:\"Auto\",disabledTitle:\"Stretch\",defaultValue:true},heightType:{type:ControlType.Boolean,title:\"Height\",enabledTitle:\"Auto\",disabledTitle:\"Stretch\",defaultValue:true}}},fadeOptions:{type:ControlType.Object,title:\"Clipping\",controls:{fadeContent:{type:ControlType.Boolean,title:\"Fade\",defaultValue:true},overflow:{type:ControlType.Boolean,title:\"Overflow\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false,hidden(props){return props.fadeContent===true;}},fadeWidth:{type:ControlType.Number,title:\"Width\",defaultValue:25,min:0,max:100,unit:\"%\",hidden(props){return props.fadeContent===false;}},fadeInset:{type:ControlType.Number,title:\"Inset\",defaultValue:0,min:0,max:100,unit:\"%\",hidden(props){return props.fadeContent===false;}},fadeAlpha:{type:ControlType.Number,title:\"Opacity\",defaultValue:0,min:0,max:1,step:.05,hidden(props){return props.fadeContent===false;}}}},hoverFactor:{type:ControlType.Number,title:\"Hover\",min:0,max:1,unit:\"x\",defaultValue:1,step:.1,displayStepper:true,description:\"Slows down the speed while you are hovering.\"}});/* Placeholder Styles */const containerStyle={display:\"flex\",width:\"100%\",height:\"100%\",maxWidth:\"100%\",maxHeight:\"100%\",placeItems:\"center\",margin:0,padding:0,listStyleType:\"none\",textIndent:\"none\"};/* Styles */const placeholderStyles={display:\"flex\",width:\"100%\",height:\"100%\",placeContent:\"center\",placeItems:\"center\",flexDirection:\"column\",color:\"#96F\",background:\"rgba(136, 85, 255, 0.1)\",fontSize:11,overflow:\"hidden\",padding:\"20px 20px 30px 20px\"};const emojiStyles={fontSize:32,marginBottom:10};const titleStyles={margin:0,marginBottom:10,fontWeight:600,textAlign:\"center\"};const subtitleStyles={margin:0,opacity:.7,maxWidth:150,lineHeight:1.5,textAlign:\"center\"};/* Clamp function, used for fadeInset */const clamp=(num,min,max)=>Math.min(Math.max(num,min),max);const isValidNumber=value=>typeof value===\"number\"&&!isNaN(value);function useWritingDirection(){if(!window||!window.document||!window.document.documentElement)return\"ltr\";return window.document.documentElement.dir===\"rtl\"?\"rtl\":\"ltr\";}function getTickerResolvedDirection(direction,writingDirection){if(writingDirection!==\"rtl\")return direction;if(direction===\"left\")return\"right\";if(direction===\"right\")return\"left\";return direction;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Ticker\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Ticker.map","// import * as React from \"react\"\n// import { createPortal } from \"react-dom\"\n// import { addPropertyControls, ControlType } from \"framer\"\n// type SyntaxVariant = \"typescript\" | \"javascript\" | \"python\" | \"curl\"\n// type CodeSnippetItem = {\n//     language: string\n//     code: string\n//     syntax: SyntaxVariant\n// }\n// type Props = {\n//     style?: React.CSSProperties\n//     codeSnippets: CodeSnippetItem[]\n//     apiKeyUrl: string\n//     buttonLabel: string\n//     background: string\n//     border: string\n//     codeText: string\n//     codeHighlight: string\n//     buttonText: string\n//     buttonBackground: string\n//     copyHover: string\n//     languageBackground: string\n//     menuBackground: string\n//     menuBorder: string\n//     menuItemHover: string\n//     lineNumberColor: string\n//     borderRadius: number\n//     fontSize: number\n//     lineHeight: number\n//     codeFontSize: number\n//     codeLineHeight: number\n//     copySuccessBackground: string\n// }\n// const DEFAULT_SNIPPETS: CodeSnippetItem[] = [\n//     {\n//         language: \"Typescript\",\n//         syntax: \"typescript\",\n//         code: `import { ApiClient } from \"@sdk/client\"\n// const client = new ApiClient()\n// const response = await client.generate({\n//   text: \"Hello there!\",\n//   modelId: \"v3\",\n// })`,\n//     },\n//     {\n//         language: \"Python\",\n//         syntax: \"python\",\n//         code: `from sdk.client import ApiClient\n// client = ApiClient()\n// response = client.generate(\n//     text=\"Hello there!\",\n//     model_id=\"v3\",\n// )`,\n//     },\n// ]\n// function escapeHtml(line: string) {\n//     return line\n//         .replaceAll(\"&\", \"&amp;\")\n//         .replaceAll(\"<\", \"&lt;\")\n//         .replaceAll(\">\", \"&gt;\")\n// }\n// function highlightJsLike(escaped: string) {\n//     return escaped\n//         .replace(/(\\/\\/.*)$/g, '<span class=\"tok-comment\">$1</span>')\n//         .replace(\n//             /(\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*')/g,\n//             '<span class=\"tok-string\">$1</span>'\n//         )\n//         .replace(\n//             /\\b(import|from|const|let|var|new|await|return|async)\\b/g,\n//             '<span class=\"tok-keyword\">$1</span>'\n//         )\n//         .replace(\n//             /\\b(text|modelId)\\b(?=\\s*:)/g,\n//             '<span class=\"tok-property\">$1</span>'\n//         )\n//         .replace(\n//             /\\b(ApiClient|client|response)\\b/g,\n//             '<span class=\"tok-variable\">$1</span>'\n//         )\n// }\n// function highlightPython(escaped: string) {\n//     return escaped\n//         .replace(/(#.*)$/g, '<span class=\"tok-comment\">$1</span>')\n//         .replace(\n//             /(\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*')/g,\n//             '<span class=\"tok-string\">$1</span>'\n//         )\n//         .replace(/\\b(from|import)\\b/g, '<span class=\"tok-keyword\">$1</span>')\n//         .replace(\n//             /\\b(client|response|text|model_id)\\b(?=\\s*=|\\s*:)/g,\n//             '<span class=\"tok-property\">$1</span>'\n//         )\n//         .replace(/\\b(ApiClient)\\b/g, '<span class=\"tok-variable\">$1</span>')\n// }\n// // function highlightCurl(escaped: string) {\n// //     return escaped\n// //         .replace(/\\b(curl)\\b/g, '<span class=\"tok-command\">$1</span>')\n// //         .replace(/(\\s-[A-Za-z]\\b)/g, '<span class=\"tok-flag\">$1</span>')\n// //         .replace(\n// //             /(\\$[A-Za-z_][A-Za-z0-9_]*)/g,\n// //             '<span class=\"tok-env\">$1</span>'\n// //         )\n// //         .replace(/(\"(?:[^\"\\\\]|\\\\.)*\")/g, '<span class=\"tok-string\">$1</span>')\n// // }\n// function highlightCurl(escaped: string) {\n//     return escaped\n//         .replace(/^(curl)\\b/gm, '<span class=\"tok-command\">$1</span>')\n//         .replace(/(?:^|\\s)(-[A-Za-z]\\b)/g, (m, flag) =>\n//             m.replace(flag, `<span class=\"tok-flag\">${flag}</span>`)\n//         )\n//         .replace(\n//             /(\\$[A-Za-z_][A-Za-z0-9_]*)/g,\n//             '<span class=\"tok-env\">$1</span>'\n//         )\n//         .replace(/(\"(?:[^\"\\\\]|\\\\.)*\")/g, '<span class=\"tok-string\">$1</span>')\n// }\n// // function highlightLine(line: string, syntax: SyntaxVariant) {\n// //     const escaped = escapeHtml(line)\n// //     if (syntax === \"typescript\" || syntax === \"javascript\") {\n// //         return highlightJsLike(escaped)\n// //     }\n// //     if (syntax === \"python\") return highlightPython(escaped)\n// //     if (syntax === \"curl\") return highlightCurl(escaped)\n// //     return escaped\n// // }\n// function highlightLine(line: string, syntax: SyntaxVariant) {\n//     const decoded = line\n//         .replace(/&amp;/g, \"&\")\n//         .replace(/&lt;/g, \"<\")\n//         .replace(/&gt;/g, \">\")\n//         .replace(/&quot;/g, '\"')\n//         .replace(/&#39;/g, \"'\")\n//     const clean = decoded\n//         .replace(/<[^>]*>/g, \"\")\n//         .replace(/\"tok-[^\"]*\">/g, \"\")\n//     const escaped = escapeHtml(clean)\n//     if (syntax === \"typescript\" || syntax === \"javascript\") {\n//         return highlightJsLike(escaped)\n//     }\n//     if (syntax === \"python\") return highlightPython(escaped)\n//     if (syntax === \"curl\") return highlightCurl(escaped)\n//     return escaped\n// }\n// function buttonHoverBg(hex: string) {\n//     const value = hex.replace(\"#\", \"\").trim()\n//     if (value.length !== 6) return \"#262626\"\n//     const r = Math.min(255, parseInt(value.slice(0, 2), 16) + 18)\n//     const g = Math.min(255, parseInt(value.slice(2, 4), 16) + 18)\n//     const b = Math.min(255, parseInt(value.slice(4, 6), 16) + 18)\n//     return `#${r.toString(16).padStart(2, \"0\")}${g\n//         .toString(16)\n//         .padStart(2, \"0\")}${b.toString(16).padStart(2, \"0\")}`\n// }\n// function stripLayoutOverrides(style?: React.CSSProperties) {\n//     if (!style) return {}\n//     const { height, minHeight, maxHeight, ...rest } = style\n//     return rest\n// }\n// export default function CodeSnippetBlock(props: Props) {\n//     const {\n//         style,\n//         codeSnippets,\n//         apiKeyUrl,\n//         buttonLabel,\n//         background,\n//         border,\n//         codeText,\n//         codeHighlight,\n//         buttonText,\n//         buttonBackground,\n//         copyHover,\n//         languageBackground,\n//         menuBackground,\n//         menuBorder,\n//         menuItemHover,\n//         lineNumberColor,\n//         borderRadius,\n//         fontSize,\n//         lineHeight,\n//         codeFontSize,\n//         codeLineHeight,\n//         copySuccessBackground,\n//     } = props\n//     const list = codeSnippets?.length ? codeSnippets : DEFAULT_SNIPPETS\n//     const [index, setIndex] = React.useState(0)\n//     const [menuOpen, setMenuOpen] = React.useState(false)\n//     const [copied, setCopied] = React.useState(false)\n//     const [menuPos, setMenuPos] = React.useState({\n//         top: 0,\n//         left: 0,\n//     })\n//     const [cardHeight, setCardHeight] = React.useState<number | null>(null)\n//     const safeIndex = Math.min(index, Math.max(0, list.length - 1))\n//     const item = list[safeIndex] ?? list[0]\n//     const lines = item.code.split(\"\\n\")\n//     const langBtnRef = React.useRef<HTMLButtonElement>(null)\n//     const menuRef = React.useRef<HTMLDivElement>(null)\n//     const measureRef = React.useRef<HTMLDivElement>(null)\n//     const copyTimer = React.useRef<ReturnType<typeof setTimeout> | null>(null)\n//     const measureHeight = React.useCallback(() => {\n//         const el = measureRef.current\n//         if (!el) return\n//         setCardHeight(Math.ceil(el.getBoundingClientRect().height) + 2)\n//     }, [])\n//     React.useLayoutEffect(() => {\n//         measureHeight()\n//         const el = measureRef.current\n//         if (!el || typeof ResizeObserver === \"undefined\") return\n//         const observer = new ResizeObserver(measureHeight)\n//         observer.observe(el)\n//         return () => observer.disconnect()\n//     }, [\n//         measureHeight,\n//         item.code,\n//         item.syntax,\n//         fontSize,\n//         lineHeight,\n//         codeFontSize,\n//         codeLineHeight,\n//         buttonLabel,\n//         borderRadius,\n//     ])\n//     React.useEffect(() => {\n//         const href =\n//             \"https://fonts.googleapis.com/css2?family=Geist:wght@400;500&family=Geist+Mono:wght@400&display=swap\"\n//         if (!document.querySelector(`link[href=\"${href}\"]`)) {\n//             const link = document.createElement(\"link\")\n//             link.href = href\n//             link.rel = \"stylesheet\"\n//             document.head.appendChild(link)\n//         }\n//     }, [])\n//     const positionMenu = React.useCallback(() => {\n//         if (!langBtnRef.current) return\n//         const rect = langBtnRef.current.getBoundingClientRect()\n//         setMenuPos({\n//             left: rect.left,\n//             top: rect.bottom + 8,\n//         })\n//     }, [])\n//     React.useEffect(() => {\n//         if (!menuOpen) return\n//         positionMenu()\n//         window.addEventListener(\"resize\", positionMenu)\n//         window.addEventListener(\"scroll\", positionMenu, true)\n//         return () => {\n//             window.removeEventListener(\"resize\", positionMenu)\n//             window.removeEventListener(\"scroll\", positionMenu, true)\n//         }\n//     }, [menuOpen, positionMenu])\n//     React.useEffect(() => {\n//         const close = (event: MouseEvent) => {\n//             const target = event.target as Node\n//             if (menuRef.current?.contains(target)) return\n//             if (langBtnRef.current?.contains(target)) return\n//             setMenuOpen(false)\n//         }\n//         document.addEventListener(\"click\", close)\n//         return () => document.removeEventListener(\"click\", close)\n//     }, [])\n//     const copyCode = async () => {\n//         try {\n//             await navigator.clipboard.writeText(item.code)\n//             setCopied(true)\n//             if (copyTimer.current) {\n//                 clearTimeout(copyTimer.current)\n//             }\n//             copyTimer.current = setTimeout(() => {\n//                 setCopied(false)\n//             }, 2200)\n//         } catch {\n//             setCopied(false)\n//         }\n//     }\n//     const buttonHover = buttonHoverBg(buttonBackground)\n//     return (\n//         <>\n//             <style>{`\n//                 .code-snippet-root .tok-keyword {\n//                     color: #7c3aed;\n//                 }\n//                 .code-snippet-root .tok-property,\n//                 .code-snippet-root .tok-variable {\n//                     color: var(--highlight);\n//                 }\n//                 .code-snippet-root .tok-string {\n//                     color: #166534;\n//                 }\n//                 .code-snippet-root .tok-comment {\n//                     color: #737373;\n//                 }\n//                 .code-snippet-root .tok-command {\n//                     color: #7c3aed;\n//                 }\n//                 .code-snippet-root .tok-flag {\n//                     color: #be185d;\n//                 }\n//                 .code-snippet-root .tok-env {\n//                     color: #0f766e;\n//                 }\n//                 .code-snippet-root .code-scroll {\n//                     width: 100%;\n//                     overflow-x: auto;\n//                     overflow-y: hidden;\n//                     scrollbar-width: none;\n//                     -ms-overflow-style: none;\n//                     overscroll-behavior-x: contain;\n//                     overscroll-behavior-y: auto;\n//                     touch-action: pan-y pan-x;\n//                     -webkit-overflow-scrolling: touch;\n//                 }\n//                 .code-snippet-root .code-scroll::-webkit-scrollbar {\n//                     display: none;\n//                     width: 0;\n//                     height: 0;\n//                 }\n//                 .code-snippet-root .icon-btn,\n//                 .code-snippet-root .lang-btn,\n//                 .code-snippet-root .cta-btn {\n//                     transition:\n//                         transform 120ms cubic-bezier(0.4, 0, 0.2, 1),\n//                         background-color 160ms ease,\n//                         box-shadow 160ms ease;\n//                 }\n//                 .code-snippet-root .icon-btn:hover {\n//                     background: var(--copy-hover) !important;\n//                 }\n//                 .code-snippet-root .icon-btn[data-copied=\"true\"] {\n//                     background: var(--copy-success) !important;\n//                 }\n//                 .code-snippet-root .lang-btn:hover,\n//                 .code-snippet-root .lang-btn[data-open=\"true\"] {\n//                     background: var(--language-hover) !important;\n//                 }\n//                 .code-snippet-root .cta-btn:hover {\n//                     background: var(--button-hover) !important;\n//                     box-shadow:\n//                         0 2px 8px rgba(0, 0, 0, 0.18);\n//                 }\n//                 .code-snippet-root .icon-btn:active,\n//                 .code-snippet-root .lang-btn:active,\n//                 .code-snippet-root .cta-btn:active {\n//                     transform: scale(0.96);\n//                 }\n//             `}</style>\n//             <div\n//                 className=\"code-snippet-root\"\n//                 style={{\n//                     width: \"100%\",\n//                     height: cardHeight ?? \"auto\",\n//                     overflow: \"hidden\",\n//                     boxSizing: \"border-box\",\n//                     transition: \"height 280ms cubic-bezier(0.4, 0, 0.2, 1)\",\n//                     [\"--highlight\" as string]: codeHighlight,\n//                     [\"--copy-hover\" as string]: copyHover,\n//                     [\"--copy-success\" as string]: copySuccessBackground,\n//                     [\"--language-hover\" as string]: languageBackground,\n//                     [\"--button-hover\" as string]: buttonHover,\n//                     ...stripLayoutOverrides(style),\n//                 }}\n//             >\n//                 <div\n//                     ref={measureRef}\n//                     style={{\n//                         background,\n//                         border: `1px solid ${border}`,\n//                         borderRadius,\n//                         padding: 16,\n//                         overflow: \"hidden\",\n//                         boxSizing: \"border-box\",\n//                         fontFamily: \"Geist, Inter, system-ui, sans-serif\",\n//                     }}\n//                 >\n//                     <div className=\"code-scroll\">\n//                         <div\n//                             style={{\n//                                 display: \"grid\",\n//                                 gridTemplateColumns: \"28px max-content\",\n//                                 columnGap: 10,\n//                                 width: \"max-content\",\n//                                 minWidth: \"100%\",\n//                                 padding: \"12px 24px 12px 6px\",\n//                                 boxSizing: \"border-box\",\n//                                 fontFamily: '\"Geist Mono\", monospace',\n//                                 fontSize: codeFontSize,\n//                                 lineHeight: `${codeLineHeight}px`,\n//                                 color: codeText,\n//                             }}\n//                         >\n//                             {lines.map((line, idx) => (\n//                                 <React.Fragment key={idx}>\n//                                     <span\n//                                         style={{\n//                                             position: \"sticky\",\n//                                             left: 0,\n//                                             zIndex: 2,\n//                                             background,\n//                                             color: lineNumberColor,\n//                                             textAlign: \"right\",\n//                                             paddingRight: 4,\n//                                             userSelect: \"none\",\n//                                             boxShadow: `10px 0 18px -4px ${background}, 4px 0 12px -2px ${background}`,\n//                                         }}\n//                                     >\n//                                         {String(idx + 1).padStart(2, \"0\")}\n//                                     </span>\n//                                     <span\n//                                         style={{\n//                                             whiteSpace: \"pre\",\n//                                         }}\n//                                         dangerouslySetInnerHTML={{\n//                                             __html:\n//                                                 highlightLine(\n//                                                     line,\n//                                                     item.syntax\n//                                                 ) || \"&nbsp;\",\n//                                         }}\n//                                     />\n//                                 </React.Fragment>\n//                             ))}\n//                         </div>\n//                     </div>\n//                     <div\n//                         style={{\n//                             display: \"flex\",\n//                             justifyContent: \"space-between\",\n//                             alignItems: \"center\",\n//                             marginTop: 24,\n//                         }}\n//                     >\n//                         <div\n//                             style={{\n//                                 display: \"flex\",\n//                                 alignItems: \"center\",\n//                                 gap: 4,\n//                             }}\n//                         >\n//                             <button\n//                                 className=\"icon-btn\"\n//                                 data-copied={copied ? \"true\" : undefined}\n//                                 onClick={copyCode}\n//                                 style={{\n//                                     width: 40,\n//                                     height: 40,\n//                                     border: \"none\",\n//                                     borderRadius: 12,\n//                                     background: \"transparent\",\n//                                     cursor: \"pointer\",\n//                                     display: \"flex\",\n//                                     alignItems: \"center\",\n//                                     justifyContent: \"center\",\n//                                 }}\n//                             >\n//                                 {!copied ? (\n//                                     <svg\n//                                         width=\"18\"\n//                                         height=\"18\"\n//                                         viewBox=\"0 0 18 18\"\n//                                         fill=\"none\"\n//                                     >\n//                                         <path\n//                                             d=\"M6.5625 6.5625V3C6.5625 2.48223 6.98223 2.0625 7.5 2.0625H15C15.5178 2.0625 15.9375 2.48223 15.9375 3V10.5C15.9375 11.0178 15.5178 11.4375 15 11.4375H11.4375\"\n//                                             stroke=\"#737373\"\n//                                             strokeWidth=\"1.5\"\n//                                             strokeLinecap=\"round\"\n//                                             strokeLinejoin=\"round\"\n//                                         />\n//                                         <path\n//                                             d=\"M3 6.5625H10.5C11.0178 6.5625 11.4375 6.98223 11.4375 7.5V15C11.4375 15.5178 11.0178 15.9375 10.5 15.9375H3C2.48223 15.9375 2.0625 15.5178 2.0625 15V7.5C2.0625 6.98223 2.48223 6.5625 3 6.5625Z\"\n//                                             stroke=\"#737373\"\n//                                             strokeWidth=\"1.5\"\n//                                             strokeLinecap=\"round\"\n//                                             strokeLinejoin=\"round\"\n//                                         />\n//                                     </svg>\n//                                 ) : (\n//                                     <svg\n//                                         width=\"18\"\n//                                         height=\"18\"\n//                                         viewBox=\"0 0 24 24\"\n//                                     >\n//                                         <circle\n//                                             cx=\"12\"\n//                                             cy=\"12\"\n//                                             r=\"10\"\n//                                             fill=\"#16a34a\"\n//                                         />\n//                                         <path\n//                                             d=\"M8 12.5l2.2 2.2 5.8-5.8\"\n//                                             stroke=\"#ffffff\"\n//                                             strokeWidth=\"2\"\n//                                             strokeLinecap=\"round\"\n//                                             strokeLinejoin=\"round\"\n//                                             fill=\"none\"\n//                                         />\n//                                     </svg>\n//                                 )}\n//                             </button>\n//                             <button\n//                                 ref={langBtnRef}\n//                                 className=\"lang-btn\"\n//                                 data-open={menuOpen ? \"true\" : \"false\"}\n//                                 onClick={() => setMenuOpen(!menuOpen)}\n//                                 style={{\n//                                     height: 40,\n//                                     border: \"none\",\n//                                     borderRadius: 12,\n//                                     display: \"flex\",\n//                                     alignItems: \"center\",\n//                                     gap: 8,\n//                                     padding: \"8px 16px\",\n//                                     background: \"transparent\",\n//                                     cursor: \"pointer\",\n//                                     fontFamily: \"Geist, sans-serif\",\n//                                     fontSize,\n//                                     fontWeight: 500,\n//                                     color: codeText,\n//                                 }}\n//                             >\n//                                 {item.language}\n//                                 <svg\n//                                     width=\"16\"\n//                                     height=\"16\"\n//                                     viewBox=\"0 0 24 24\"\n//                                     fill=\"none\"\n//                                     style={{\n//                                         transition: \"transform 180ms ease\",\n//                                         transform: menuOpen\n//                                             ? \"rotate(180deg)\"\n//                                             : \"rotate(0deg)\",\n//                                     }}\n//                                 >\n//                                     <path\n//                                         d=\"M6 9l6 6 6-6\"\n//                                         stroke=\"#737373\"\n//                                         strokeWidth=\"2\"\n//                                         strokeLinecap=\"round\"\n//                                         strokeLinejoin=\"round\"\n//                                     />\n//                                 </svg>\n//                             </button>\n//                         </div>\n//                         <button\n//                             className=\"cta-btn\"\n//                             onClick={() => {\n//                                 if (apiKeyUrl?.trim()) {\n//                                     window.open(\n//                                         apiKeyUrl.trim(),\n//                                         \"_blank\",\n//                                         \"noopener,noreferrer\"\n//                                     )\n//                                 }\n//                             }}\n//                             style={{\n//                                 border: \"none\",\n//                                 borderRadius: 12,\n//                                 background: buttonBackground,\n//                                 color: buttonText,\n//                                 padding: \"10px 18px\",\n//                                 cursor: \"pointer\",\n//                                 fontFamily: \"Geist, sans-serif\",\n//                                 fontSize,\n//                                 fontWeight: 500,\n//                             }}\n//                         >\n//                             {buttonLabel}\n//                         </button>\n//                     </div>\n//                 </div>\n//             </div>\n//             {menuOpen &&\n//                 createPortal(\n//                     <div\n//                         ref={menuRef}\n//                         style={{\n//                             position: \"fixed\",\n//                             left: menuPos.left,\n//                             top: menuPos.top,\n//                             zIndex: 10000,\n//                             minWidth: 170,\n//                             padding: 6,\n//                             border: `1px solid ${menuBorder}`,\n//                             borderRadius: 12,\n//                             background: menuBackground,\n//                             boxShadow: \"0 10px 26px rgba(23,23,23,0.1)\",\n//                         }}\n//                     >\n//                         {list.map((snippet, i) => (\n//                             <button\n//                                 key={`${snippet.language}-${i}`}\n//                                 onClick={() => {\n//                                     setIndex(i)\n//                                     setMenuOpen(false)\n//                                 }}\n//                                 style={{\n//                                     width: \"100%\",\n//                                     border: \"none\",\n//                                     borderRadius: 8,\n//                                     padding: \"8px 10px\",\n//                                     textAlign: \"left\",\n//                                     background:\n//                                         i === safeIndex\n//                                             ? menuItemHover\n//                                             : \"transparent\",\n//                                     cursor: \"pointer\",\n//                                     fontFamily: \"Geist, sans-serif\",\n//                                     fontSize,\n//                                     color: codeText,\n//                                 }}\n//                             >\n//                                 {snippet.language}\n//                             </button>\n//                         ))}\n//                     </div>,\n//                     document.body\n//                 )}\n//         </>\n//     )\n// }\n// CodeSnippetBlock.defaultProps = {\n//     codeSnippets: DEFAULT_SNIPPETS,\n//     apiKeyUrl: \"\",\n//     buttonLabel: \"Get API key\",\n//     background: \"#FFFFFF\",\n//     border: \"#E5E5E5\",\n//     codeText: \"#404040\",\n//     codeHighlight: \"#0066CC\",\n//     buttonText: \"#FAFAFA\",\n//     buttonBackground: \"#171717\",\n//     copyHover: \"#F5F5F5\",\n//     languageBackground: \"#F5F5F5\",\n//     menuBackground: \"#FFFFFF\",\n//     menuBorder: \"#EBEBEB\",\n//     menuItemHover: \"#FAFAFA\",\n//     lineNumberColor: \"#D4D4D4\",\n//     borderRadius: 24,\n//     fontSize: 14,\n//     lineHeight: 20,\n//     codeFontSize: 16,\n//     codeLineHeight: 26,\n//     copySuccessBackground: \"#DCFCE7\",\n// }\n// addPropertyControls(CodeSnippetBlock, {\n//     codeSnippets: {\n//         title: \"Code Snippets\",\n//         type: ControlType.Array,\n//         control: {\n//             type: ControlType.Object,\n//             controls: {\n//                 language: {\n//                     type: ControlType.String,\n//                 },\n//                 syntax: {\n//                     type: ControlType.Enum,\n//                     options: [\"typescript\", \"javascript\", \"python\", \"curl\"],\n//                 },\n//                 code: {\n//                     type: ControlType.String,\n//                     displayTextArea: true,\n//                 },\n//             },\n//         },\n//     },\n//     apiKeyUrl: {\n//         type: ControlType.String,\n//     },\n//     buttonLabel: {\n//         type: ControlType.String,\n//     },\n//     background: {\n//         type: ControlType.Color,\n//     },\n//     border: {\n//         type: ControlType.Color,\n//     },\n//     codeText: {\n//         type: ControlType.Color,\n//     },\n//     codeHighlight: {\n//         type: ControlType.Color,\n//     },\n//     buttonText: {\n//         type: ControlType.Color,\n//     },\n//     buttonBackground: {\n//         type: ControlType.Color,\n//     },\n//     copyHover: {\n//         type: ControlType.Color,\n//     },\n//     languageBackground: {\n//         type: ControlType.Color,\n//     },\n//     menuBackground: {\n//         type: ControlType.Color,\n//     },\n//     menuBorder: {\n//         type: ControlType.Color,\n//     },\n//     menuItemHover: {\n//         type: ControlType.Color,\n//     },\n//     lineNumberColor: {\n//         type: ControlType.Color,\n//     },\n//     borderRadius: {\n//         type: ControlType.Number,\n//         min: 0,\n//         max: 48,\n//     },\n//     fontSize: {\n//         type: ControlType.Number,\n//         min: 10,\n//         max: 20,\n//     },\n//     lineHeight: {\n//         type: ControlType.Number,\n//         min: 14,\n//         max: 32,\n//     },\n//     codeFontSize: {\n//         type: ControlType.Number,\n//         min: 10,\n//         max: 24,\n//     },\n//     codeLineHeight: {\n//         type: ControlType.Number,\n//         min: 16,\n//         max: 40,\n//     },\n//     copySuccessBackground: {\n//         type: ControlType.Color,\n//     },\n// })\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType}from\"framer\";const DEFAULT_SNIPPETS=[{language:\"Typescript\",syntax:\"typescript\",code:`import { ApiClient } from \"@sdk/client\"\n\nconst client = new ApiClient()\n\nconst response = await client.generate({\n  text: \"Hello there!\",\n  modelId: \"v3\",\n})`},{language:\"Python\",syntax:\"python\",code:`from sdk.client import ApiClient\n\nclient = ApiClient()\n\nresponse = client.generate(\n    text=\"Hello there!\",\n    model_id=\"v3\",\n)`}];const STT_SNIPPETS=[{language:\"cURL\",syntax:\"curl\",code:`curl -X POST https://api.smallest.ai/waves/v1/pulse/get_text \\\\\n     -H \"Authorization: Bearer <BearerAuth>\" \\\\\n     -H \"Content-Type: application/octet-stream\"`}];const TTS_SNIPPETS=[{language:\"cURL\",syntax:\"curl\",code:`curl --request POST \\\\\n  --url \"https://api.smallest.ai/waves/v1/stt/?model=pulse&language=en\" \\\\\n  --header \"Authorization: Bearer $SMALLEST_API_KEY\" \\\\\n  --header \"Content-Type: audio/wav\" \\\\\n  --data-binary \"@audio.wav\"`}];function escapeHtml(text){return text.replaceAll(\"&\",\"&amp;\").replaceAll(\"<\",\"&lt;\").replaceAll(\">\",\"&gt;\");}function tokenize(code,patterns){const tokens=[];let pos=0;while(pos<code.length){let earliest=null;for(const{type,regex}of patterns){regex.lastIndex=pos;const m=regex.exec(code);if(m&&(earliest===null||m.index<earliest.start)){earliest={start:m.index,end:m.index+m[0].length,type};}}if(!earliest){tokens.push({type:null,text:code.slice(pos)});break;}if(earliest.start>pos){tokens.push({type:null,text:code.slice(pos,earliest.start)});}tokens.push({type:earliest.type,text:code.slice(earliest.start,earliest.end)});pos=earliest.end;}return tokens;}function renderTokens(tokens){return tokens.map(t=>{const escaped=escapeHtml(t.text);return t.type?`<span class=\"tok-${t.type}\">${escaped}</span>`:escaped;}).join(\"\");}const JS_PATTERNS=[{type:\"comment\",regex:/\\/\\/[^\\n]*/g},{type:\"string\",regex:/\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'/g},{type:\"keyword\",regex:/\\b(?:import|from|const|let|var|new|await|return|async)\\b/g},{type:\"property\",regex:/\\b(?:text|modelId)\\b(?=\\s*:)/g},{type:\"variable\",regex:/\\b(?:ApiClient|client|response)\\b/g}];const PY_PATTERNS=[{type:\"comment\",regex:/#[^\\n]*/g},{type:\"string\",regex:/\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'/g},{type:\"keyword\",regex:/\\b(?:from|import)\\b/g},{type:\"property\",regex:/\\b(?:client|response|text|model_id)\\b(?=\\s*[=:])/g},{type:\"variable\",regex:/\\bApiClient\\b/g}];const CURL_PATTERNS=[{type:\"string\",regex:/\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'/g},{type:\"command\",regex:/^curl\\b/g},{type:\"flag\",regex:RegExp(\"(?<=^|\\\\s)-[A-Za-z]\\\\b\",\"g\")},{type:\"env\",regex:/\\$[A-Za-z_][A-Za-z0-9_]*/g}];function highlightLine(line,syntax){if(syntax===\"typescript\"||syntax===\"javascript\"){return renderTokens(tokenize(line,JS_PATTERNS));}if(syntax===\"python\"){return renderTokens(tokenize(line,PY_PATTERNS));}if(syntax===\"curl\"){return renderTokens(tokenize(line,CURL_PATTERNS));}return escapeHtml(line);}function buttonHoverBg(hex){const value=hex.replace(\"#\",\"\").trim();if(value.length!==6)return\"#262626\";const r=Math.min(255,parseInt(value.slice(0,2),16)+18);const g=Math.min(255,parseInt(value.slice(2,4),16)+18);const b=Math.min(255,parseInt(value.slice(4,6),16)+18);return`#${r.toString(16).padStart(2,\"0\")}${g.toString(16).padStart(2,\"0\")}${b.toString(16).padStart(2,\"0\")}`;}function stripLayoutOverrides(style){if(!style)return{};const{height,minHeight,maxHeight,...rest}=style;return rest;}export default function CodeSnippetBlock(props){const{style,codeSnippets,snippetPreset=\"custom\",showLanguageDropdown,apiKeyUrl,buttonLabel,background,border,codeText,codeHighlight,buttonText,buttonBackground,copyHover,languageBackground,menuBackground,menuBorder,menuItemHover,lineNumberColor,borderRadius,fontSize,lineHeight,codeFontSize,codeLineHeight,copySuccessBackground}=props;const normalizedPreset=snippetPreset.trim().toLowerCase();const list=normalizedPreset===\"stt\"?STT_SNIPPETS:normalizedPreset===\"tts\"?TTS_SNIPPETS:codeSnippets?.length?codeSnippets:DEFAULT_SNIPPETS;const[index,setIndex]=React.useState(0);const[menuOpen,setMenuOpen]=React.useState(false);const[copied,setCopied]=React.useState(false);React.useEffect(()=>{if(!showLanguageDropdown)setMenuOpen(false);},[showLanguageDropdown]);const[menuPos,setMenuPos]=React.useState({top:0,left:0});const[cardHeight,setCardHeight]=React.useState(null);const safeIndex=Math.min(index,Math.max(0,list.length-1));const item=list[safeIndex]??list[0];const lines=item.code.split(\"\\n\");const langBtnRef=React.useRef(null);const menuRef=React.useRef(null);const measureRef=React.useRef(null);const copyTimer=React.useRef(null);const measureHeight=React.useCallback(()=>{const el=measureRef.current;if(!el)return;setCardHeight(Math.ceil(el.getBoundingClientRect().height)+2);},[]);React.useLayoutEffect(()=>{measureHeight();const el=measureRef.current;if(!el||typeof ResizeObserver===\"undefined\")return;const observer=new ResizeObserver(measureHeight);observer.observe(el);return()=>observer.disconnect();},[measureHeight,item.code,item.syntax,fontSize,lineHeight,codeFontSize,codeLineHeight,buttonLabel,borderRadius]);React.useEffect(()=>{const href=\"https://fonts.googleapis.com/css2?family=Geist:wght@400;500&family=Geist+Mono:wght@400&display=swap\";if(!document.querySelector(`link[href=\"${href}\"]`)){const link=document.createElement(\"link\");link.href=href;link.rel=\"stylesheet\";document.head.appendChild(link);}},[]);const positionMenu=React.useCallback(()=>{if(!langBtnRef.current)return;const rect=langBtnRef.current.getBoundingClientRect();setMenuPos({left:rect.left,top:rect.bottom+8});},[]);React.useEffect(()=>{if(!menuOpen)return;positionMenu();window.addEventListener(\"resize\",positionMenu);window.addEventListener(\"scroll\",positionMenu,true);return()=>{window.removeEventListener(\"resize\",positionMenu);window.removeEventListener(\"scroll\",positionMenu,true);};},[menuOpen,positionMenu]);React.useEffect(()=>{const close=event=>{const target=event.target;if(menuRef.current?.contains(target))return;if(langBtnRef.current?.contains(target))return;setMenuOpen(false);};document.addEventListener(\"click\",close);return()=>document.removeEventListener(\"click\",close);},[]);const copyCode=async()=>{try{await navigator.clipboard.writeText(item.code);setCopied(true);if(copyTimer.current){clearTimeout(copyTimer.current);}copyTimer.current=setTimeout(()=>{setCopied(false);},2200);}catch{setCopied(false);}};const buttonHover=buttonHoverBg(buttonBackground);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                .code-snippet-root .tok-keyword {\n                    color: #7c3aed;\n                }\n\n                .code-snippet-root .tok-property,\n                .code-snippet-root .tok-variable {\n                    color: var(--highlight);\n                }\n\n                .code-snippet-root .tok-string {\n                    color: #166534;\n                }\n\n                .code-snippet-root .tok-comment {\n                    color: #737373;\n                }\n\n                .code-snippet-root .tok-command {\n                    color: #7c3aed;\n                }\n\n                .code-snippet-root .tok-flag {\n                    color: #be185d;\n                }\n\n                .code-snippet-root .tok-env {\n                    color: #0f766e;\n                }\n\n                .code-snippet-root .code-scroll {\n                    width: 100%;\n                    overflow-x: auto;\n                    overflow-y: hidden;\n\n                    scrollbar-width: none;\n                    -ms-overflow-style: none;\n\n                    overscroll-behavior-x: contain;\n                    overscroll-behavior-y: auto;\n\n                    touch-action: pan-y pan-x;\n\n                    -webkit-overflow-scrolling: touch;\n                }\n\n                .code-snippet-root .code-scroll::-webkit-scrollbar {\n                    display: none;\n                    width: 0;\n                    height: 0;\n                }\n\n                .code-snippet-root .icon-btn,\n                .code-snippet-root .lang-btn,\n                .code-snippet-root .cta-btn {\n                    transition:\n                        transform 120ms cubic-bezier(0.4, 0, 0.2, 1),\n                        background-color 160ms ease,\n                        box-shadow 160ms ease;\n                }\n\n                .code-snippet-root .icon-btn:hover {\n                    background: var(--copy-hover) !important;\n                }\n\n                .code-snippet-root .icon-btn[data-copied=\"true\"] {\n                    background: var(--copy-success) !important;\n                }\n\n                .code-snippet-root .lang-btn:hover,\n                .code-snippet-root .lang-btn[data-open=\"true\"] {\n                    background: var(--language-hover) !important;\n                }\n\n                .code-snippet-root .cta-btn:hover {\n                    background: var(--button-hover) !important;\n                    box-shadow:\n                        0 2px 8px rgba(0, 0, 0, 0.18);\n                }\n\n                .code-snippet-root .icon-btn:active,\n                .code-snippet-root .lang-btn:active,\n                .code-snippet-root .cta-btn:active {\n                    transform: scale(0.96);\n                }\n            `}),/*#__PURE__*/_jsx(\"div\",{className:\"code-snippet-root\",style:{width:\"100%\",height:cardHeight??\"auto\",overflow:\"hidden\",boxSizing:\"border-box\",transition:\"height 280ms cubic-bezier(0.4, 0, 0.2, 1)\",[\"--highlight\"]:codeHighlight,[\"--copy-hover\"]:copyHover,[\"--copy-success\"]:copySuccessBackground,[\"--language-hover\"]:languageBackground,[\"--button-hover\"]:buttonHover,...stripLayoutOverrides(style)},children:/*#__PURE__*/_jsxs(\"div\",{ref:measureRef,style:{background,border:`1px solid ${border}`,borderRadius,padding:16,overflow:\"hidden\",boxSizing:\"border-box\",fontFamily:\"Geist, Inter, system-ui, sans-serif\"},children:[/*#__PURE__*/_jsx(\"div\",{className:\"code-scroll\",children:/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"28px max-content\",columnGap:10,width:\"max-content\",minWidth:\"100%\",padding:\"12px 24px 12px 6px\",boxSizing:\"border-box\",fontFamily:'\"Geist Mono\", monospace',fontSize:codeFontSize,lineHeight:`${codeLineHeight}px`,color:codeText},children:lines.map((line,idx)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"sticky\",left:0,zIndex:2,background,color:lineNumberColor,textAlign:\"right\",paddingRight:4,userSelect:\"none\",boxShadow:`10px 0 18px -4px ${background}, 4px 0 12px -2px ${background}`},children:String(idx+1).padStart(2,\"0\")}),/*#__PURE__*/_jsx(\"span\",{style:{whiteSpace:\"pre\"},dangerouslySetInnerHTML:{__html:highlightLine(line,item.syntax)||\"&nbsp;\"}})]},idx))})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",marginTop:24},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:4},children:[/*#__PURE__*/_jsx(\"button\",{className:\"icon-btn\",\"data-copied\":copied?\"true\":undefined,onClick:copyCode,style:{width:40,height:40,border:\"none\",borderRadius:12,background:\"transparent\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:!copied?/*#__PURE__*/_jsxs(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 18 18\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M6.5625 6.5625V3C6.5625 2.48223 6.98223 2.0625 7.5 2.0625H15C15.5178 2.0625 15.9375 2.48223 15.9375 3V10.5C15.9375 11.0178 15.5178 11.4375 15 11.4375H11.4375\",stroke:\"#737373\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M3 6.5625H10.5C11.0178 6.5625 11.4375 6.98223 11.4375 7.5V15C11.4375 15.5178 11.0178 15.9375 10.5 15.9375H3C2.48223 15.9375 2.0625 15.5178 2.0625 15V7.5C2.0625 6.98223 2.48223 6.5625 3 6.5625Z\",stroke:\"#737373\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]}):/*#__PURE__*/_jsxs(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\",fill:\"#16a34a\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M8 12.5l2.2 2.2 5.8-5.8\",stroke:\"#ffffff\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",fill:\"none\"})]})}),showLanguageDropdown?/*#__PURE__*/_jsxs(\"button\",{ref:langBtnRef,className:\"lang-btn\",\"data-open\":menuOpen?\"true\":\"false\",onClick:()=>setMenuOpen(!menuOpen),style:{height:40,border:\"none\",borderRadius:12,display:\"flex\",alignItems:\"center\",gap:8,padding:\"8px 16px\",background:\"transparent\",cursor:\"pointer\",fontFamily:\"Geist, sans-serif\",fontSize,fontWeight:500,color:codeText},children:[item.language,/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",style:{transition:\"transform 180ms ease\",transform:menuOpen?\"rotate(180deg)\":\"rotate(0deg)\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 9l6 6 6-6\",stroke:\"#737373\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})]}):/*#__PURE__*/_jsx(\"span\",{style:{height:40,display:\"flex\",alignItems:\"center\",padding:\"8px 16px\",boxSizing:\"border-box\",fontFamily:\"Geist, sans-serif\",fontSize,fontWeight:500,color:codeText},children:item.language})]}),/*#__PURE__*/_jsx(\"button\",{className:\"cta-btn\",onClick:()=>{if(apiKeyUrl?.trim()){window.open(apiKeyUrl.trim(),\"_blank\",\"noopener,noreferrer\");}},style:{border:\"none\",borderRadius:12,background:buttonBackground,color:buttonText,padding:\"10px 18px\",cursor:\"pointer\",fontFamily:\"Geist, sans-serif\",fontSize,fontWeight:500},children:buttonLabel})]})]})}),showLanguageDropdown&&menuOpen&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"div\",{ref:menuRef,style:{position:\"fixed\",left:menuPos.left,top:menuPos.top,zIndex:1e4,minWidth:170,padding:6,border:`1px solid ${menuBorder}`,borderRadius:12,background:menuBackground,boxShadow:\"0 10px 26px rgba(23,23,23,0.1)\"},children:list.map((snippet,i)=>/*#__PURE__*/_jsx(\"button\",{onClick:()=>{setIndex(i);setMenuOpen(false);},style:{width:\"100%\",border:\"none\",borderRadius:8,padding:\"8px 10px\",textAlign:\"left\",background:i===safeIndex?menuItemHover:\"transparent\",cursor:\"pointer\",fontFamily:\"Geist, sans-serif\",fontSize,color:codeText},children:snippet.language},`${snippet.language}-${i}`))}),document.body)]});}CodeSnippetBlock.defaultProps={codeSnippets:DEFAULT_SNIPPETS,showLanguageDropdown:true,apiKeyUrl:\"\",buttonLabel:\"Get API key\",background:\"#FFFFFF\",border:\"#E5E5E5\",codeText:\"#404040\",codeHighlight:\"#0066CC\",buttonText:\"#FAFAFA\",buttonBackground:\"#171717\",copyHover:\"#F5F5F5\",languageBackground:\"#F5F5F5\",menuBackground:\"#FFFFFF\",menuBorder:\"#EBEBEB\",menuItemHover:\"#FAFAFA\",lineNumberColor:\"#D4D4D4\",borderRadius:24,fontSize:14,lineHeight:20,codeFontSize:16,codeLineHeight:26,copySuccessBackground:\"#DCFCE7\"};addPropertyControls(CodeSnippetBlock,{snippetPreset:{title:\"Snippet Preset\",type:ControlType.String,defaultValue:\"custom\",placeholder:\"custom\",description:\"Use custom, stt, or tts.\"},showLanguageDropdown:{title:\"Language Dropdown\",type:ControlType.Boolean,defaultValue:true},codeSnippets:{title:\"Code Snippets\",type:ControlType.Array,hidden:props=>{const preset=props.snippetPreset?.trim().toLowerCase();return preset===\"stt\"||preset===\"tts\";},control:{type:ControlType.Object,controls:{language:{type:ControlType.String},syntax:{type:ControlType.Enum,options:[\"typescript\",\"javascript\",\"python\",\"curl\"]},code:{type:ControlType.String,displayTextArea:true}}}},apiKeyUrl:{type:ControlType.String},buttonLabel:{type:ControlType.String},background:{type:ControlType.Color},border:{type:ControlType.Color},codeText:{type:ControlType.Color},codeHighlight:{type:ControlType.Color},buttonText:{type:ControlType.Color},buttonBackground:{type:ControlType.Color},copyHover:{type:ControlType.Color},languageBackground:{type:ControlType.Color},menuBackground:{type:ControlType.Color},menuBorder:{type:ControlType.Color},menuItemHover:{type:ControlType.Color},lineNumberColor:{type:ControlType.Color},borderRadius:{type:ControlType.Number,min:0,max:48},fontSize:{type:ControlType.Number,min:10,max:20},lineHeight:{type:ControlType.Number,min:14,max:32},codeFontSize:{type:ControlType.Number,min:10,max:24},codeLineHeight:{type:ControlType.Number,min:16,max:40},copySuccessBackground:{type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CodeSnippetBlock\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Code_Block_v3.map"],"mappings":"wZAAgY,SAAS,EAAoB,EAAE,EAAE,CAAC,OAAO,EAAa,CAAC,EAAE,EAAE,EAAK,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAqH,SAAS,EAAW,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAM,EAAE,EAAS,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAc,EAAE,CAAC,IAAM,EAAE,CAAC,CAAC,EAAoB,OAAlB,EAAW,EAAE,EAAE,CAAC,EAAS,CAAC,CAAC,SAAS,EAAY,EAAE,EAAE,EAAc,EAAE,MAAM,EAAE,EAAE,EAAW,CAAC,IAAM,EAAE,EAAE,OAAa,EAAE,EAAE,EAAE,OAA4B,OAArB,EAAE,GAAG,EAAW,EAAE,CAAC,EAAS,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAS,IAAE,EAAE,EAAE,IAAb,KAAsB,IAAI,EAAEA,EAAM,EAAE,EAAE,EAAS,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,EAA0C,MAAP,GAAzB,EAAoB,EAAE,CAAK,CAAC,CAAC,CAAC,EAAS,EAAI,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAM5gC,SAAS,GAAkB,EAAE,EAAE,CAAC,OAAO,EAAK,IAAI,EAAP,EAAU,CAAC,+BAN2EA,GAAO,EAAE,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,EAAwE,EAAS,GAAc,OAAO,GAAlB,SAA0B,EAAa,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAS,EAAE,EAAE,EAAQ,GAAM,EAAE,EAAE,IAAI,CAAC,IAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAyF,GAAK,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAA0B,EAAW,GAAG,EAAQ,GAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAgoB,EAAS,GAAc,OAAO,GAAlB,wBCAtpC,iBCAwH,KCAqkB,SAAS,EAAO,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,IAAI,KAAK,EAAE,OAAO,UAAU,eAAe,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAS,GAAN,MAAsB,OAAO,OAAO,uBAA3B,WAAiD,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,sBAAsB,CAAC,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,OAAO,UAAU,qBAAqB,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,+BCAjkCK,EAAE,CAAC,EAAE,OAAO,eAAeA,EAAE,aAAa,CAAC,MAAM,EAAI,CAAC,EAAE,EAAE,QAAQ,UAAU,CAAC,EAAE,EAAE,UAAU,UAAU,CAAC,EAAUA,EAAE,WAAaA,EAAE,QAAUA,EAAE,yBCAnF,KCAmmK,SAAS,EAAgB,EAAE,EAAE,CAAkL,OAA7J,OAAO,GAAlB,SAAuB,GAAa,EAAE,KAAkB,EAAE,GAAG,SAAS,iBAAiB,CAAC,GAAE,EAAE,EAAE,IAAQ,EAAE,SAAS,iBAAiB,CAAC,EAAO,aAAa,UAAU,EAAE,CAAC,CAAC,GAAU,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAA2vK,SAAS,EAAS,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,GAAiB,OAAO,qBAArB,IAA0C,UAAU,CAAC,EAAE,IAAM,EAAE,EAAgB,CAAC,EAAQ,EAAE,IAAI,QAA6P,EAAE,IAAI,qBAAhO,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,IAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAQ,KAAM,EAAE,eAAe,CAAC,IAAM,EAAE,EAAE,CAAC,EAAe,OAAO,GAApB,WAAsB,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,MAAS,IAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAwD,CAAC,KAAK,EAAE,WAAW,EAAE,UAAqB,OAAO,GAAlB,SAAoB,EAAE,GAAE,EAAE,CAAC,EAA+B,OAA7B,EAAE,SAAS,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAY,EAAE,WAAW,CAAC,CAA2B,SAAS,EAAe,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAK,CAAC,WAAW,EAAE,UAAU,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,aAAa,YAAY,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,OAAO,EAAE,YAAY,CAAC,CAAC,SAAS,EAAa,CAAC,OAAO,EAAE,YAAY,EAAE,cAAc,GAAG,CAAC,IAAI,GAAU,EAAE,EAAE,IAAI,CAAC,IAAjB,MAAuC,EAAE,SAAS,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,MAAM,CAAC,OAAO,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,GAAU,EAAE,CAAC,EAAE,QAAQ,CAAY,CAAC,CAAC,SAAS,IAAsB,CAAe,OAAO,eAArB,MAAsC,EAAE,IAAI,eAAe,EAAS,EAAE,CAAC,SAAS,GAAc,EAAE,EAAE,CAAC,GAAG,GAAqB,EAAE,IAAM,EAAE,EAAgB,CAAC,EAAiH,OAA/G,EAAE,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,EAAM,IAAG,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,GAAE,EAAE,IAAI,CAAC,EAAS,GAAuB,QAAQ,CAAC,CAAC,EAAE,MAAY,CAAC,EAAE,SAAS,GAAG,CAAC,IAAM,EAAE,EAAE,IAAI,CAAC,EAAS,GAAuB,OAAO,CAAC,EAAU,GAAP,MAA4B,EAAE,MAAe,GAAP,MAA4B,EAAE,UAAU,CAAC,CAAE,EAAE,CAAC,CAAC,CAAuB,SAAS,GAA2B,CAAC,MAAM,CAAC,IAAM,EAAE,CAAC,MAAM,EAAO,WAAW,OAAO,EAAO,WAAW,EAAQ,EAAE,CAAC,OAAO,EAAO,KAAK,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAO,iBAAiB,SAAS,CAAC,CAAC,CAAC,SAAS,EAAa,EAAE,CAAyC,OAAxC,EAAE,IAAI,CAAC,EAAE,GAAG,EAA0B,MAAY,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,EAAE,IAAK,GAAE,CAAC,CAAC,SAAS,GAAO,EAAE,EAAE,CAAC,OAAmB,OAAO,GAApB,WAAsB,EAAa,CAAC,EAAE,GAAc,EAAE,CAAC,CAAC,CAA8S,SAAS,GAAe,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,GAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,GAAE,GAAS,EAAE,EAAE,QAAc,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,GAAG,EAAE,aAAa,EAAE,SAAS,GAAG,EAAE,SAAS,GAAG,EAAE,OAAO,OAAO,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,aAAa,EAAE,SAASM,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,IAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,GAAE,EAAEC,GAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,GAAiB,EAAE,EAAE,EAAE,CAAC,GAAe,EAAE,IAAI,EAAE,CAAC,EAAE,GAAe,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,SAAS,GAAU,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAM,EAAE,EAAE,KAAM,GAAG,IAAI,GAAE,GAAG,aAAa,YAAa,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,kBAAkB,GAAG,aAAa,oBAAoB,YAAY,EAAE,CAAC,GAAK,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,QAAQ,EAAgB,IAAd,EAAE,GAAG,EAAE,EAAE,GAAG,EAAQ,GAAW,EAAE,UAAV,OAAkB,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,CAAwH,SAAS,EAAY,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAA0B,GAAf,GAAE,KAAX,IAAK,KAAW,EAAE,GAAE,IAAOC,EAAE,CAAC,EAAE,CAAC,IAAM,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE,EAAE,EAAE,IAAI,SAAS,gBAAgB,YAAY,EAAE,SAAS,IAAI,EAAE,EAAE,EAAE,IAAI,SAAS,gBAAgB,aAAa,EAAE,CAAC,CAAe,OAAd,EAAE,CAAC,IAAI,EAAE,EAAE,GAAU,EAAE,CAAC,CAAe,SAAS,GAAc,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,QAAQ,CAAC,EAAE,EAAE,GAAM,EAAE,EAAM,EAAE,EAAuI,OAAlIC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAUD,EAAE,CAAC,IAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,GAAE,GAAG,EAAE,GAAG,GAAE,EAAE,EAAY,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAY,EAAE,GAAG,CAAC,EAAS,EAAE,CAAC,CAAoB,SAAS,GAAe,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,GAAE,KAAK,EAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAQ,EAAQ,IAAN,IAAQ,SAAS,QAAc,EAAE,IAAI,EAAiB,GAAf,GAAU,EAAE,CAAC,EAAW,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,YAAY,OAAO,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,YAAY,OAAO,EAAE,YAAY,EAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,OAAO,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,YAAkB,EAAE,EAAE,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAM,EAAE,GAAc,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,oBAAoB,KAAK,EAAE,IAAM,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAI,IAAG,EAAE,EAAE,CAAC,YAAYE,EAAEC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAE,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,GAAQ,EAAE,EAAE,EAAE,EAAE,CAAuC,GAAtC,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAK,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,KAAM,GAAG,GAAG,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,YAAa,CAAC,EAAE,EAAE,aAAa,IAAI,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,aAAa,IAAI,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAAE,gBAAgB,EAAE,YAAY,CAAC,SAAS,GAAsB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAM,EAAE,EAAE,MAAM,IAAI,MAAM,CAAC,YAAY,GAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,GAAiB,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,GAAe,EAAE,EAAE,CAAC,CAAC,EAAE,OAAoB,OAAO,GAApB,eAA0B,EAAE,CAAC,EAAE,GAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAe,EAAE,EAAE,CAAqQ,OAApQ,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,eAAgB,IAAI,EAAE,OAAOC,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,IAAM,EAAE,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,OAAO,WAAkB,GAAU,EAAE,EAAE,OAAA,EAA6B,eAAnD,MAAoF,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAY,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,CAA8H,SAAS,GAAO,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,EAAEC,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAM,IAAG,EAAE,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC,GAA6B,IAAM,EAAE,GAAsB,EAAE,EAAnD,GAAqD,EAAE,CAAC,EAAW,GAAT,EAAE,IAAI,CAAC,EAAK,CAAC,EAAG,IAAI,CAAC,EAAE,CAAC,IAAM,MAAa,CAAC,IAAM,EAAE,YAAY,IAAI,EAAE,IAAI,IAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,IAAM,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,IAAM,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,EAAG,IAAI,EAAE,CAAQ,EAAE,IAAM,EAAE,GAAe,CAAC,EAAE,EAAO,iBAAiB,SAAS,EAAS,CAAC,QAAQ,EAAI,CAAC,EAAE,IAAI,SAAS,iBAAiB,GAAG,IAAI,EAAE,GAAO,EAAE,CAAQ,CAAC,EAAE,EAAE,iBAAiB,SAAS,EAAS,CAAC,QAAQ,EAAI,CAAC,CAAC,CAAC,IAAM,EAAE,EAAG,IAAI,CAAC,EAAQ,EAAE,sBAAsB,CAAC,EAAE,UAAU,CAAC,IAAI,EAAe,OAAO,GAApB,YAAuB,EAAE,KAAK,EAAE,qBAAqB,CAAC,EAAE,IAAM,EAAE,GAAG,IAAI,CAAC,EAA2B,GAAtB,CAAC,IAAS,EAAE,OAAO,CAAC,EAAK,EAAE,MAAK,OAAO,IAAM,EAAE,EAAG,IAAI,CAAC,EAAE,EAAG,OAAO,CAAC,EAAK,IAAG,GAAe,CAAC,CAAC,CAAC,oBAAoB,SAAS,CAAC,GAAU,EAAE,GAAG,IAAI,CAAC,IAAlB,MAAwC,EAAE,EAAE,EAAO,oBAAoB,SAAS,CAAC,EAAE,CAAC,CAA62B,SAAS,GAAqB,EAAE,EAAE,EAAE,CAAC,EAAE,cAAc,IAAI,YAAY,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,cAAc,IAAI,YAAY,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,8GAAv3iB,IAAwE,IAA+B,IAAuC,IAA+G,EAAgM,GAAE,CAAC,GAAG,IAAI,IAAI,GAAG,EAAQ,GAAE,CAAC,YAAY,QAAQ,SAAS,MAAM,EAA+D,GAAE,CAAC,OAAO,UAAU,aAAa,OAAO,cAAc,GAAG,EAAE,KAAK,EAAQ,GAAE,CAAC,UAAU,CAAC,OAAO,sBAAsB,aAAa,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,OAAO,GAAE,MAAM,CAAC,OAAO,WAAW,aAAa,EAAE,cAAcD,CAAC,EAAE,KAAK,EAAC,EAAQ,GAAE,IAAI,IAAU,GAAkB,GAAG,YAAY,IAAU,GAAE,CAAC,IAAI,IAAI,GAAG,EAAE,GAAE,SAAS,GAAG,CAAC,GAAE,SAAS,GAAG,CAAC,GAAE,KAAK,EAAE,CAAC,EAAE,GAAE,IAAI,GAAkB,EAAE,CAAC,EAAE,GAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAuE,IAAI,IAAI,EAAC,EAAiuB,GAAc,GAAG,SAAS,cAAc,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,IAAI,CAAC,EAAQ,GAAE,CAAC,wBAAsC,OAAO,IAArB,KAA0B,OAAO,eAAe,KAAK,IAAI,kBAAkB,EAAE,UAAU,OAAO,eAAe,KAAK,QAAQ,UAAU,SAAS,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAS,CAAC,MAAO,EAAK,CAAC,MAAO,EAAI,EAAE,aAAa,EAAQ,GAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAS,EAAQ,GAAE,CAAC,EAAQ,GAAE,CAAC,EAAE,IAAI,IAAM,KAAK,GAAE,GAAE,QAAiB,GAAE,KAAX,IAAK,KAAW,GAAE,GAAG,GAAE,EAAE,CAAC,GAAU,GAAE,IAA8hQ,GAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAmkB,EAAE,IAAI,QAA45B,EAAE,IAAI,IAAma,GAAE,GAAS,QAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,CAAC,GAAS,QAAsB,CAAC,KAAK,EAAE,EAAE,GAAe,EAAE,EAAE,GAAe,CAAC,GAAS,GAAE,CAAC,EAAE,CAAC,OAAO,QAAQ,SAAS,MAAM,EAAE,EAAE,CAAC,OAAO,SAAS,SAAS,KAAK,CAAC,EAAmtB,GAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAQ,GAAE,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,EAA4S,GAAE,CAAC,EAAE,CAAC,EAAmO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAA8gD,EAAG,IAAI,QAAc,GAAG,IAAI,QAAc,GAAG,IAAI,QAAc,GAAe,GAAG,IAAI,SAAS,gBAAgB,EAAO,EAAy9D,GAAG,CAAC,SAAS,GAAG,EAAQ,EAAE,OAAQ,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,GAAG,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAK,CAAC,KAAK,GAAG,EAAkB,OAAO,EAAS,GAAG,GAAG,CAAwC,GAAvC,EAAE,EAAE,GAAkB,EAAE,YAAY,CAAC,EAAK,CAAC,EAAE,MAAO,IAAG,CAAC,EAAE,EAAE,GAAkB,EAAE,YAAY,CAAC,CAAC,CAAC,GAApIC,EAAE,EAAE,CAAC,MAAM,CAA4H,CAAC,CAAC,CAAC,EAAQ,IAAY,EAAE,EAAE,IAAI,GAAG,EAAI,CAAC,EAAE,aAAuB,EAAE,cAAZ,WAAyB,EAAE,EAAE,GAAqB,EAAE,EAAE,CAAC,EAAE,EAA8xB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAtyB,SAAS,GAAG,EAAQ,EAAE,MAAO,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,CAAC,IAAM,EAAE,GAAW,EAAE,aAAa,CAAC,EAAQ,EAAE,GAAW,EAAE,WAAW,CAAC,EAA4E,OAA1E,EAAE,iBAAiB,eAAe,CAAC,EAAE,EAAE,iBAAiB,eAAe,CAAC,MAAY,CAAC,EAAE,oBAAoB,eAAe,CAAC,EAAE,EAAE,oBAAoB,eAAe,CAAC,CAAC,CAAC,CAAwf,EAAE,MAAM,CAAnf,SAAS,GAAG,EAAQ,EAAE,MAAO,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,CAAC,IAAM,EAAY,GAAG,CAAC,EAAE,EAAE,GAAqB,EAAE,WAAW,CAAC,EAAE,EAAO,oBAAoB,YAAY,CAAW,CAAC,EAAQ,EAAc,GAAG,CAAC,EAAE,EAAE,GAAqB,EAAE,aAAa,CAAC,EAAE,EAAO,iBAAiB,YAAY,CAAW,CAAC,EAAkD,OAAhD,EAAE,iBAAiB,cAAc,CAAa,MAAY,CAAC,EAAE,oBAAoB,cAAc,CAAa,EAAE,EAAO,oBAAoB,YAAY,CAAW,CAAC,CAAC,CAAuC,CAAC,EAAW,CAAqB,GAAG,OAAO,KAAK,EAAE,CAAQ,KCSz8lB,SAAwB,GAAO,EAAM,CAAY,GAAG,CAAC,QAAM,CAAC,EAAE,MAAI,UAAQ,iBAAe,cAAW,gBAAa,iBAAc,cAAY,QAAM,cAAY,YAAU,aAAU,gBAAc,cAAY,SAAO,EAAW,CAAC,cAAY,WAAS,YAAU,YAAU,cAAW,EAAiB,CAAC,YAAU,cAAY,EAAoB,EAAa,EAAe,GAAG,GAAW,KAAK,GAAa,KAAK,GAAc,KAAK,EAAY,IAAI,GAAG,EAAQ,IAAsB,EAAc,EAAa,QAAQ,EAAQ,EAAS,IAAgB,EAAa,QAAQ,IAAgB,EAAa,OAAa,EAAiB,GAAoB,EACxnB,EAAc,EAAM,OAAO,OAAO,EAAQ,EAAYG,EAAS,MAAM,CAAa,EAAQ,EAAY,EAAY,EAAQ,EAAO,GAAe,CAAC,EAAQ,EAAkB,GAA2B,IAAY,GAAK,OAAO,EAAU,CAAgB,EAAQ,EAAa,IAAoB,QAAQ,IAAoB,QAAc,EAAY,GAAsB,GAAmC,GAAa,EAAO,CAAW,EAAsB,IAAM,EAAUC,EAAO,IAAI,EAAQ,EAAYC,MAAmB,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAI,CAAC,CAAC,EAAO,CAAC,EAAK,GAASC,EAAS,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,EAAkB,EAAe,KAAS,EAAc,CAAC,EAA2B,EAAY,EAAM,GAAQ,EAAK,IAAU,EAAY,EAAY,KAAK,MAAM,GAAG,CAAW,EAAE,EAAE,GAAQ,GAAM,CAAC,GAAU,GAAa,EAAK,SAAQ,EAAY,KAAK,MAAM,EAAK,OAAO,EAAK,SAAS,CAAC,EAAE,EAAE,EAAY,KAAK,IAAI,EAAY,EAAoB,EAAE,GAAQ,GAAiC,IAAM,GAAQC,MAAgB,CAAC,GAAG,GAAa,EAAU,QAAQ,CAAC,IAAM,EAAa,EAAa,EAAU,QAAQ,YAAY,EAAU,QAAQ,aAAmB,EAAM,EAAY,EAAE,CAAC,QAAQ,EAAa,EAAY,EAAE,CAAC,QAAQ,WAAW,EAAY,EAAE,CAAC,QAAQ,UAAU,EAAkM,GAAtL,EAAY,EAAE,CAAC,QAAQ,EAAa,EAAY,EAAE,CAAC,QAAQ,WAAW,EAAY,EAAE,CAAC,QAAQ,YAAY,EAAY,EAAE,CAAC,QAAQ,UAAU,EAAY,EAAE,CAAC,QAAQ,aAAa,GAA2B,EAAM,EAAI,OAAoB,CAAC,EAAQ,CAAC,OAAO,EAAa,SAAS,CAAc,CAAC,CAAE,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC,EAAQ,GAAe,EAAS,CAAC,kBAAkB,MAAM,EAAE,CAAC,EAAwC,GAAG,EAAY,CAC9pD,GAAG,CAAC,EAAS,CAGE,IAAI,EAAcH,EAAO,EAAI,EAAE,OAAqB,GAAM,KAAK,GAAQ,GAAM,EAAI,EAAS,GAAO,EAAU,SAAS,CAAC,iBAAe,CAAI,CAAC,EAAc,UAAU,EAAY,OAAO,EAAY,SAAS,GAAM,KAAK,GAAQ,GAAM,EAAI,EAAG,EAAc,QAAQ,EAAM,CAAC,GAAI,CAAC,CAAC,CAAE,CAAC,EAAeD,EAAS,IAAI,GAAe,EAAM,IAAQ,CAAC,IAAI,EAAO,IAAQ,IAAG,EAAI,EAAY,IAAmB,OAAO,EAAa,EAAE,IAAO,IAAQ,EAAc,OAAO,IAAG,EAAI,EAAY,IAAmB,OAAO,EAAa,EAAE,IAAI,IAAM,EAAK,CAAC,MAAM,EAAU,EAAM,OAAO,MAAM,OAAO,OAAO,EAAW,EAAM,OAAO,OAAO,MAAM,EAAE,OAAoB,EAAK,GAAY,CAAC,QAAQ,KAAK,SAAsB,EAAK,GAAQ,CAAK,MAAI,MAAM,EAAK,SAAsB,GAAa,EAAM,CAAC,MAAM,CAAC,GAAG,EAAM,OAAO,MAAM,GAAG,EAAK,WAAW,EAAE,GAAG,EAAc,EAAE,SAAS,EAAM,MAAM,SAAS,EAAM,MAAM,SAAS,aAAa,EAAM,IAAA,EAAS,EAAE,EAAM,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAE,CAAC,IAAM,EAAS,EAAS,GAAK,GAAU,CAAS,EAAE,GAAG,CAAC,EAAU,IAAI,IAAI,EAAE,EAAE,EAAE,EAAY,IAAK,EAAc,EAAc,OAAOA,EAAS,IAAI,GAAe,EAAM,IAAa,CAAC,IAAM,EAAK,CAAC,MAAM,EAAU,EAAM,OAAO,MAAM,OAAO,OAAO,EAAW,EAAM,OAAO,OAAO,OAAO,WAAY,EAAmB,YAAV,IAAA,EAAqB,EAAE,OAAoB,EAAK,GAAY,CAAC,QAAQ,KAAK,SAAsB,EAAK,GAAQ,CAAC,MAAM,EAAK,SAAsB,GAAa,EAAM,CAAC,IAAI,EAAE,IAAI,EAAW,MAAM,CAAC,GAAG,EAAM,OAAO,MAAM,MAAM,EAAU,EAAM,OAAO,MAAM,OAAO,OAAO,EAAW,EAAM,OAAO,OAAO,OAAO,WAAW,EAAE,GAAG,EAAc,EAAE,SAAS,EAAM,MAAM,SAAS,EAAM,MAAM,SAAS,SAAS,EAAE,IAAA,EAAS,EAAE,EAAM,OAAO,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAU,CAAC,EAAE,EAAE,KAAK,CAAU,CAAE,CAAC,CAAC,EAAI,IAAM,EAAe,EAAK,SAAS,EAAK,SAAS,KAAK,MAAM,EAAK,OAAO,EAAK,QAAQ,EAAoB,EAAO,IAAI,EAAiB,EAAO,IAAI,EAAa,EAAO,CAAC,EAAE,IAAM,GAAQC,EAAO,EAAK,EAAQ,GAAgB,GAAiB,EAAQ,GAAQA,EAAO,IAAI,EAAQ,EAAaA,EAAO,IAAI,EAE19D,GAAG,CAAC,EAAS,CAAC,MAAc,CAAI,SAAiB,CAAC,GAAgB,CAAC,GAAoP,MAArO,GAAa,QAAQ,GAAQ,QAAQ,QAAQ,CAAC,UAAU,CAAC,EAAY,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,IAAI,CAAc,EAAE,EAAM,IAAI,WAAW,IAAS,eAAe,MAAmB,OAAU,OAAO,QAAQ,CAAC,MAAY,EAAa,QAAQ,OAAO,CAAE,EAAE,CAAC,EAAY,EAAe,EAAM,CAAgB,CAAC,EAAE,IAAM,EAAYG,MAAgB,CAAC,GAAG,CAAC,EAAa,QAAQ,OAAO,IAAM,EAAO,SAAS,OAAU,GAAU,CAAC,GAAQ,EAAa,QAAQ,YAAY,SAAU,EAAa,QAAQ,KAAK,GAAY,CAAC,GAAU,IAAS,EAAa,QAAQ,YAAY,WAAW,EAAa,QAAQ,MAAM,CAAG,EAAE,CAAC,CAAQ,CAAC,EAAE,MAAc,CAAC,EAAY,CAAE,EAAE,CAAC,EAAS,EAAY,EAAe,CAAK,CAAC,EAAE,OAAe,SAAS,iBAAiB,mBAAmB,CAAW,MAAY,CAAC,SAAS,oBAAoB,mBAAmB,CAAW,CAAE,GAAI,CAAC,CAAW,CAAC,CAAE,CAAY,IAAM,GAAc,EAAa,WAAW,YAAkB,GAAe,EAAU,EAAQ,GAAa,IAAI,EAAU,EAAgG,GAAS,mBAAmB,GAAc,kBAAkB,GAAU,IAA/I,GAAM,EAAU,EAAE,EAA8I,EAAE,sBAAsB,GAAe,sBAAsB,GAAa,mBAAmB,GAAU,IAAlN,IAAI,EAA+N,IAAuW,OAA9U,EAAkW,EAAK,UAAU,CAAC,MAAM,CAAC,GAAG,GAAuB,WAAQ,gBAAgB,EAAY,GAAS,IAAA,GAAU,UAAU,EAAY,GAAS,IAAA,GAAU,SAAS,EAAS,UAAU,SAAS,QAAQ,CAAY,EAAE,IAAI,EAAU,SAAsB,EAAM,GAAO,GAAG,CAAC,IAAI,GAAQ,MAAM,CAAC,GAAG,GAAmB,MAAI,IAAI,IAAY,UAAU,GAAc,CAAc,EAAE,CAAC,EAAe,IAAA,GAAU,KAAK,IAAY,SAAS,GAAc,CAAc,EAAE,GAAgB,IAAmB,MAAM,EAAE,IAAI,IAAA,GAAU,WAAW,GAAU,SAAS,WAAW,cAAc,EAAa,MAAM,SAAS,GAAG,EAAM,WAAW,GAAU,CAAC,EAAS,OAAO,YAAY,UAAU,EAAY,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAQ,QAAQ,GAAQ,EAAa,UACh8E,EAAa,QAAQ,aAAa,EAAa,EAAE,iBAAiB,CAAC,GAAQ,QAAQ,GAAS,EAAa,UACzG,EAAa,QAAQ,aAAa,EAAG,EAAE,SAAS,CAAC,EAAe,CAAa,CAAC,CAAC,CAAC,CAAC,EAF81C,EAAM,UAAU,CAAC,MAAM,GAAkB,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,GAAY,SAAS,GAAG,CAAC,EAAe,EAAK,IAAI,CAAC,MAAM,GAAY,SAAS,oBAAoB,CAAC,EAAe,EAAK,IAAI,CAAC,MAAM,GAAe,SAAS,2DAA2D,CAAC,CAAC,CAAC,CAAC,CAEtoD,CACgpH,SAAS,IAAqB,CAA4E,MAAxE,CAAC,GAAQ,CAAC,EAAO,UAAU,CAAC,EAAO,SAAS,gBAAsB,MAAa,EAAO,SAAS,gBAAgB,MAAM,MAAM,MAAM,KAAM,CAAC,SAAS,GAA2B,EAAU,EAAiB,CAAsH,OAAlH,IAAmB,MAA0B,IAAY,OAAa,QAAW,IAAY,QAAc,OAAc,EAAzF,CAAmG,oDAnB3hI,IAAsJ,IAAiE,KAA2G,KAAmC,EAAO,GAAqB,IAAU,GAAsB,CAAC,KAAK,GAAQ,eAAe,EAAO,KAAK,MAAM,GAAQ,cAAc,EAAO,KAAK,IAAI,GAAQ,eAAe,EAAO,KAAK,OAAO,GAAQ,cAAc,EAAO,IAAI,EAkB/hB,GAAqB,GAAY,CAAC,WAAS,GAAG,GAAO,IAAM,CAAC,IAAM,EAASH,EAAO,EAAQ,EAAO,GAAU,CAAQ,EACsH,OADpH,GAAoB,MAAQ,EAAS,OAAO,EAAE,MAAc,CAAC,IAAM,EAAQ,EAAS,QAAY,IAC5S,EAAQ,EAAQ,iBAAiB,UAAU,CAAC,CAAC,QAAQ,GAAI,CAAC,IAAM,EAAK,EAAG,QAAQ,aAAgB,EAAK,EAAG,SAAS,EAAU,EAAG,gBAAgB,UAAU,CAAE,CAAC,EAAQ,EAAQ,iBAAiB,UAAU,CAAC,CAAC,QAAQ,GAAI,CAAC,IAAM,EAAK,EAAG,aAAa,UAAU,EAAK,IAAK,EAAG,QAAQ,aAAa,GAAK,EAAG,SAAS,EAAG,CAAC,EAAG,EAAE,CAAC,CAAM,CAAC,EAAsB,EAAK,KAAK,CAAC,GAAG,EAAM,cAAc,CAAC,EAAO,IAAI,EAAkB,UAAQ,CAAC,CAAE,CAAC,EAA0B,GAAO,aAAa,CAAC,IAAI,GAAG,QAAQ,GAAG,cAAc,CAAC,UAAU,GAAK,WAAW,EAAI,EAAE,YAAY,CAAC,YAAY,GAAK,SAAS,GAAM,UAAU,GAAG,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU,EAAI,EAAyB,EAAoB,GAAO,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,WAAW,QAAQ,CAAC,KAAK,EAAY,iBAAiB,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,IAAI,EAAE,IAAI,IAAI,aAAa,IAAI,KAAK,IAAI,eAAe,GAAK,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,OAAO,QAAQ,MAAM,QAAQ,EAAE,YAAY,CAAC,iBAAiB,kBAAkB,eAAe,gBAAgB,EAAE,aAAa,CAAC,OAAO,QAAQ,MAAM,QAAQ,EAAE,aAAa,OAAO,wBAAwB,EAAI,EAAE,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,QAAQ,QAAQ,CAAC,aAAa,SAAS,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,eAAe,cAAc,EAAE,KAAK,CAAC,YAAY,eAAe,cAAc,EAAE,IAAI,CAAC,aAAa,eAAe,aAAa,EAAE,OAAO,CAAC,aAAa,eAAe,aAAa,CAAC,CAAC,EAAE,aAAa,SAAS,wBAAwB,EAAI,EAAE,IAAI,CAAC,KAAK,EAAY,OAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,MAAM,UAAU,KAAK,EAAY,YAAY,UAAU,iBAAiB,aAAa,CAAC,UAAU,kBAAkB,EAAE,UAAU,CAAC,aAAa,eAAe,gBAAgB,aAAa,EAAE,YAAY,CAAC,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,SAAS,CAAC,UAAU,CAAC,KAAK,EAAY,QAAQ,MAAM,QAAQ,aAAa,OAAO,cAAc,UAAU,aAAa,EAAI,EAAE,WAAW,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,aAAa,OAAO,cAAc,UAAU,aAAa,EAAI,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,SAAS,CAAC,YAAY,CAAC,KAAK,EAAY,QAAQ,MAAM,OAAO,aAAa,EAAI,EAAE,SAAS,CAAC,KAAK,EAAY,QAAQ,MAAM,WAAW,aAAa,OAAO,cAAc,OAAO,aAAa,GAAM,OAAO,EAAM,CAAC,OAAO,EAAM,cAAc,EAAK,CAAC,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,OAAO,EAAM,CAAC,OAAO,EAAM,cAAc,EAAM,CAAC,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,OAAO,EAAM,CAAC,OAAO,EAAM,cAAc,EAAM,CAAC,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,OAAO,EAAM,CAAC,OAAO,EAAM,cAAc,EAAM,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,EAAE,KAAK,GAAG,eAAe,GAAK,YAAY,8CAA8C,CAAC,CAAC,EAAgC,GAAe,CAAC,QAAQ,OAAO,MAAM,OAAO,OAAO,OAAO,SAAS,OAAO,UAAU,OAAO,WAAW,SAAS,OAAO,EAAE,QAAQ,EAAE,cAAc,OAAO,WAAW,MAAM,EAAoB,GAAkB,CAAC,QAAQ,OAAO,MAAM,OAAO,OAAO,OAAO,aAAa,SAAS,WAAW,SAAS,cAAc,SAAS,MAAM,OAAO,WAAW,0BAA0B,SAAS,GAAG,SAAS,SAAS,QAAQ,qBAAqB,EAAQ,GAAY,CAAC,SAAS,GAAG,aAAa,EAAE,EAAQ,GAAY,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,IAAI,UAAU,QAAQ,EAAQ,GAAe,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,IAAI,WAAW,IAAI,UAAU,QAAQ,EAAgD,IAAO,EAAI,EAAI,IAAM,KAAK,IAAI,KAAK,IAAI,EAAI,CAAG,EAAE,CAAG,EAAQ,GAAc,GAAO,OAAO,GAAQ,UAAU,CAAC,MAAM,CAAK,KCguBjsH,SAAS,GAAW,EAAK,CAAC,OAAO,EAAK,WAAW,IAAI,OAAO,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,WAAW,IAAI,MAAM,CAAE,CAAC,SAAS,GAAS,EAAK,EAAS,CAAC,IAAM,EAAO,CAAC,EAAM,EAAI,EAAE,KAAM,EAAI,EAAK,QAAO,CAAC,IAAI,EAAS,KAAK,IAAI,GAAK,CAAC,OAAK,WAAS,EAAS,CAAC,EAAM,UAAU,EAAI,IAAM,EAAE,EAAM,KAAK,CAAI,EAAK,IAAI,IAAW,MAAM,EAAE,MAAM,EAAS,SAAQ,EAAS,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,MAAI,EAAG,CAAC,GAAG,CAAC,EAAS,CAAC,EAAO,KAAK,CAAC,KAAK,KAAK,KAAK,EAAK,MAAM,CAAG,CAAC,CAAC,EAAE,KAAM,CAAI,EAAS,MAAM,GAAK,EAAO,KAAK,CAAC,KAAK,KAAK,KAAK,EAAK,MAAM,EAAI,EAAS,KAAK,CAAC,CAAC,EAAG,EAAO,KAAK,CAAC,KAAK,EAAS,KAAK,KAAK,EAAK,MAAM,EAAS,MAAM,EAAS,GAAG,CAAC,CAAC,EAAE,EAAI,EAAS,GAAI,CAAC,OAAO,CAAO,CAAC,SAAS,GAAa,EAAO,CAAC,OAAO,EAAO,IAAI,GAAG,CAAC,IAAM,EAAQ,GAAW,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,IAAI,EAAQ,SAAS,CAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAE,CAAkzB,SAAS,GAAc,EAAK,EAAO,CAAiP,OAA7O,IAAS,cAAc,IAAS,aAAqB,GAAa,GAAS,EAAK,EAAW,CAAC,EAAM,IAAS,SAAiB,GAAa,GAAS,EAAK,EAAW,CAAC,EAAM,IAAS,OAAe,GAAa,GAAS,EAAK,EAAa,CAAC,EAAU,GAAW,CAAI,CAAE,CAAC,SAAS,GAAc,EAAI,CAAC,IAAM,EAAM,EAAI,QAAQ,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAM,SAAS,EAAE,MAAM,UAAU,IAAM,EAAE,KAAK,IAAI,IAAI,SAAS,EAAM,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAQ,EAAE,KAAK,IAAI,IAAI,SAAS,EAAM,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAQ,EAAE,KAAK,IAAI,IAAI,SAAS,EAAM,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,GAAI,CAAC,SAAS,GAAqB,EAAM,CAAC,GAAG,CAAC,EAAM,MAAM,CAAC,EAAE,GAAK,CAAC,SAAO,YAAU,YAAU,GAAG,GAAM,EAAM,OAAO,CAAK,CAAC,SAAwB,GAAiB,EAAM,CAAC,GAAK,CAAC,QAAM,eAAa,gBAAc,SAAS,uBAAqB,aAAU,eAAY,aAAW,UAAO,WAAS,gBAAc,cAAW,oBAAiB,aAAU,sBAAmB,kBAAe,cAAW,iBAAc,mBAAgB,eAAa,WAAS,aAAW,eAAa,iBAAe,yBAAuB,EAAY,EAAiB,EAAc,KAAK,CAAC,CAAC,YAAY,EAAQ,EAAK,IAAmB,MAAM,GAAa,IAAmB,MAAM,GAAa,GAAc,OAAO,EAAa,GAAsB,CAAC,GAAM,GAAUI,EAAe,CAAC,EAAO,CAAC,EAAS,GAAaA,EAAe,EAAK,EAAO,CAAC,EAAO,GAAWA,EAAe,EAAK,EAAE,MAAoB,CAAK,GAAqB,EAAY,EAAK,CAAE,EAAE,CAAC,CAAoB,CAAC,EAAE,GAAK,CAAC,EAAQ,GAAYA,EAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAO,CAAC,EAAW,GAAeA,EAAe,IAAI,EAAQ,EAAU,KAAK,IAAI,GAAM,KAAK,IAAI,EAAE,EAAK,OAAO,CAAC,CAAC,EAAQ,EAAK,EAAK,IAAY,EAAK,GAAS,EAAM,EAAK,KAAK,MAAM;CAAI,EAAQ,EAAWC,EAAa,IAAI,EAAQ,EAAQA,EAAa,IAAI,EAAQ,EAAWA,EAAa,IAAI,EAAQ,EAAUA,EAAa,IAAI,EAAQ,EAAcC,MAAsB,CAAC,IAAM,EAAG,EAAW,QAAY,GAAU,EAAc,KAAK,KAAK,EAAG,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAE,EAAE,CAAC,CAAC,EAAE,MAA0B,CAAC,EAAc,EAAE,IAAM,EAAG,EAAW,QAAQ,GAAG,CAAC,GAAI,OAAO,eAAiB,IAAY,OAAO,IAAM,EAAS,IAAI,eAAe,CAAa,EAAuB,OAArB,EAAS,QAAQ,CAAE,MAAY,EAAS,WAAW,CAAE,EAAE,CAAC,EAAc,EAAK,KAAK,EAAK,OAAO,EAAS,EAAW,EAAa,EAAe,GAAY,CAAY,CAAC,EAAE,MAAoB,CAAC,IAAM,EAAK,sGAAsG,GAAG,CAAC,SAAS,cAAc,cAAc,EAAK,GAAG,EAAE,CAAC,IAAM,EAAK,SAAS,cAAc,MAAM,EAAE,EAAK,KAAK,EAAK,EAAK,IAAI,aAAa,SAAS,KAAK,YAAY,CAAI,CAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAM,EAAaA,MAAsB,CAAC,GAAG,CAAC,EAAW,QAAQ,OAAO,IAAM,EAAK,EAAW,QAAQ,sBAAsB,EAAE,EAAW,CAAC,KAAK,EAAK,KAAK,IAAI,EAAK,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,EAAE,MAAoB,CAAK,KAAkI,OAAlH,EAAa,EAAE,EAAO,iBAAiB,SAAS,CAAY,EAAE,EAAO,iBAAiB,SAAS,EAAa,EAAI,MAAY,CAAC,EAAO,oBAAoB,SAAS,CAAY,EAAE,EAAO,oBAAoB,SAAS,EAAa,EAAI,CAAE,CAAE,EAAE,CAAC,EAAS,CAAY,CAAC,EAAE,MAAoB,CAAC,IAAM,EAAM,GAAO,CAAC,IAAM,EAAO,EAAM,OAAU,EAAQ,SAAS,SAAS,CAAM,GAAY,EAAW,SAAS,SAAS,CAAM,GAAS,EAAY,EAAK,CAAE,EAA2C,OAAzC,SAAS,iBAAiB,QAAQ,CAAK,MAAY,SAAS,oBAAoB,QAAQ,CAAK,CAAE,EAAE,CAAC,CAAC,EAAE,IAAM,EAAS,SAAS,CAAC,GAAG,CAAC,MAAM,GAAU,UAAU,UAAU,EAAK,IAAI,EAAE,EAAU,EAAI,EAAK,EAAU,SAAS,aAAa,EAAU,OAAO,EAAG,EAAU,QAAQ,eAAe,CAAC,EAAU,EAAK,CAAE,EAAE,IAAI,CAAE,MAAM,CAAC,EAAU,EAAK,CAAE,CAAC,EAAQ,EAAY,GAAc,EAAgB,EAAE,OAAoB,EAAMC,GAAU,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAqFz7K,CAAC,EAAe,EAAK,MAAM,CAAC,UAAU,oBAAoB,MAAM,CAAC,MAAM,OAAO,OAAO,GAAY,OAAO,SAAS,SAAS,UAAU,aAAa,WAAW,4CAA6C,cAAe,EAAe,eAAgB,GAAW,iBAAkB,EAAuB,mBAAoB,GAAoB,iBAAkB,EAAY,GAAG,GAAqB,CAAK,CAAC,EAAE,SAAsB,EAAM,MAAM,CAAC,IAAI,EAAW,MAAM,CAAC,aAAW,OAAO,aAAa,KAAS,eAAa,QAAQ,GAAG,SAAS,SAAS,UAAU,aAAa,WAAW,qCAAqC,EAAE,SAAS,CAAc,EAAK,MAAM,CAAC,UAAU,cAAc,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,oBAAoB,mBAAmB,UAAU,GAAG,MAAM,cAAc,SAAS,OAAO,QAAQ,qBAAqB,UAAU,aAAa,WAAW,0BAA0B,SAAS,EAAa,WAAW,GAAG,EAAe,IAAI,MAAM,CAAQ,EAAE,SAAS,EAAM,KAAK,EAAK,IAAmB,EAAMC,EAAe,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,SAAS,SAAS,KAAK,EAAE,OAAO,EAAE,aAAW,MAAM,GAAgB,UAAU,QAAQ,aAAa,EAAE,WAAW,OAAO,UAAU,oBAAoB,EAAW,oBAAoB,GAAY,EAAE,SAAS,OAAO,EAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAe,EAAK,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,EAAE,wBAAwB,CAAC,OAAO,GAAc,EAAK,EAAK,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,eAAe,gBAAgB,WAAW,SAAS,UAAU,EAAE,EAAE,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,IAAI,CAAC,EAAE,SAAS,CAAc,EAAK,SAAS,CAAC,UAAU,WAAW,cAAc,EAAO,OAAO,IAAA,GAAU,QAAQ,EAAS,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,OAAO,OAAO,aAAa,GAAG,WAAW,cAAc,OAAO,UAAU,QAAQ,OAAO,WAAW,SAAS,eAAe,QAAQ,EAAE,SAAU,EAAirB,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,SAAS,CAAc,EAAK,SAAS,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,0BAA0B,OAAO,UAAU,YAAY,IAAI,cAAc,QAAQ,eAAe,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,EAAt7B,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,gKAAgK,OAAO,UAAU,YAAY,MAAM,cAAc,QAAQ,eAAe,OAAO,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,mMAAmM,OAAO,UAAU,YAAY,MAAM,cAAc,QAAQ,eAAe,OAAO,CAAC,CAAC,CAAC,CAAC,CAAyS,CAAC,EAAE,EAAkC,EAAM,SAAS,CAAC,IAAI,EAAW,UAAU,WAAW,YAAY,EAAS,OAAO,QAAQ,YAAY,EAAY,CAAC,CAAQ,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,OAAO,aAAa,GAAG,QAAQ,OAAO,WAAW,SAAS,IAAI,EAAE,QAAQ,WAAW,WAAW,cAAc,OAAO,UAAU,WAAW,oBAAoB,WAAS,WAAW,IAAI,MAAM,CAAQ,EAAE,SAAS,CAAC,EAAK,SAAsB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,CAAC,WAAW,uBAAuB,UAAU,EAAS,iBAAiB,cAAc,EAAE,SAAsB,EAAK,OAAO,CAAC,EAAE,eAAe,OAAO,UAAU,YAAY,IAAI,cAAc,QAAQ,eAAe,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,QAAQ,OAAO,WAAW,SAAS,QAAQ,WAAW,UAAU,aAAa,WAAW,oBAAoB,WAAS,WAAW,IAAI,MAAM,CAAQ,EAAE,SAAS,EAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,SAAS,CAAC,UAAU,UAAU,YAAY,CAAI,IAAW,KAAK,GAAG,EAAO,KAAK,GAAU,KAAK,EAAE,SAAS,qBAAqB,CAAG,EAAE,MAAM,CAAC,OAAO,OAAO,aAAa,GAAG,WAAW,GAAiB,MAAM,GAAW,QAAQ,YAAY,OAAO,UAAU,WAAW,oBAAoB,WAAS,WAAW,GAAG,EAAE,SAAS,EAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAsB,GAAuB,EAA0B,EAAK,MAAM,CAAC,IAAI,EAAQ,MAAM,CAAC,SAAS,QAAQ,KAAK,EAAQ,KAAK,IAAI,EAAQ,IAAI,OAAO,IAAI,SAAS,IAAI,QAAQ,EAAE,OAAO,aAAa,KAAa,aAAa,GAAG,WAAW,GAAe,UAAU,gCAAgC,EAAE,SAAS,EAAK,KAAK,EAAQ,IAAiB,EAAK,SAAS,CAAC,YAAY,CAAC,EAAS,CAAC,EAAE,EAAY,EAAK,CAAE,EAAE,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,aAAa,EAAE,QAAQ,WAAW,UAAU,OAAO,WAAW,IAAI,EAAU,GAAc,cAAc,OAAO,UAAU,WAAW,oBAAoB,WAAS,MAAM,CAAQ,EAAE,SAAS,EAAQ,QAAQ,EAAE,GAAG,EAAQ,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC,CAAE,wCAzG7tJ,IAA4B,IAAoC,IAAoD,EAAO,GAAiB,CAAC,CAAC,SAAS,aAAa,OAAO,aAAa,KAAK;;;;;;;GAOxQ,EAAE,CAAC,SAAS,SAAS,OAAO,SAAS,KAAK;;;;;;;EAO3C,CAAC,EAAQ,GAAa,CAAC,CAAC,SAAS,OAAO,OAAO,OAAO,KAAK;;iDAEZ,CAAC,EAAQ,GAAa,CAAC,CAAC,SAAS,OAAO,OAAO,OAAO,KAAK;;;;6BAI/E,CAAC,EAAi0B,GAAY,CAAC,CAAC,KAAK,UAAU,MAAM,aAAa,EAAE,CAAC,KAAK,SAAS,MAAM,sCAAsC,EAAE,CAAC,KAAK,UAAU,MAAM,2DAA2D,EAAE,CAAC,KAAK,WAAW,MAAM,+BAA+B,EAAE,CAAC,KAAK,WAAW,MAAM,oCAAoC,CAAC,EAAQ,GAAY,CAAC,CAAC,KAAK,UAAU,MAAM,UAAU,EAAE,CAAC,KAAK,SAAS,MAAM,sCAAsC,EAAE,CAAC,KAAK,UAAU,MAAM,sBAAsB,EAAE,CAAC,KAAK,WAAW,MAAM,mDAAmD,EAAE,CAAC,KAAK,WAAW,MAAM,gBAAgB,CAAC,EAAQ,GAAc,CAAC,CAAC,KAAK,SAAS,MAAM,sCAAsC,EAAE,CAAC,KAAK,UAAU,MAAM,UAAU,EAAE,CAAC,KAAK,OAAO,MAAM,OAAO,yBAAyB,GAAG,CAAC,EAAE,CAAC,KAAK,MAAM,MAAM,2BAA2B,CAAC,EAqFoqG,GAAiB,aAAa,CAAC,aAAa,GAAiB,qBAAqB,GAAK,UAAU,GAAG,YAAY,cAAc,WAAW,UAAU,OAAO,UAAU,SAAS,UAAU,cAAc,UAAU,WAAW,UAAU,iBAAiB,UAAU,UAAU,UAAU,mBAAmB,UAAU,eAAe,UAAU,WAAW,UAAU,cAAc,UAAU,gBAAgB,UAAU,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,eAAe,GAAG,sBAAsB,SAAS,EAAE,EAAoB,GAAiB,CAAC,cAAc,CAAC,MAAM,iBAAiB,KAAK,EAAY,OAAO,aAAa,SAAS,YAAY,SAAS,YAAY,0BAA0B,EAAE,qBAAqB,CAAC,MAAM,oBAAoB,KAAK,EAAY,QAAQ,aAAa,EAAI,EAAE,aAAa,CAAC,MAAM,gBAAgB,KAAK,EAAY,MAAM,OAAO,GAAO,CAAC,IAAM,EAAO,EAAM,eAAe,KAAK,CAAC,CAAC,YAAY,EAAE,OAAO,IAAS,OAAO,IAAS,KAAM,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,EAAY,MAAM,EAAE,OAAO,CAAC,KAAK,EAAY,KAAK,QAAQ,CAAC,aAAa,aAAa,SAAS,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,gBAAgB,EAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,EAAE,YAAY,CAAC,KAAK,EAAY,MAAM,EAAE,WAAW,CAAC,KAAK,EAAY,KAAK,EAAE,OAAO,CAAC,KAAK,EAAY,KAAK,EAAE,SAAS,CAAC,KAAK,EAAY,KAAK,EAAE,cAAc,CAAC,KAAK,EAAY,KAAK,EAAE,WAAW,CAAC,KAAK,EAAY,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAY,KAAK,EAAE,UAAU,CAAC,KAAK,EAAY,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAY,KAAK,EAAE,eAAe,CAAC,KAAK,EAAY,KAAK,EAAE,WAAW,CAAC,KAAK,EAAY,KAAK,EAAE,cAAc,CAAC,KAAK,EAAY,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAY,KAAK,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,IAAI,GAAG,IAAI,EAAE,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,IAAI,GAAG,IAAI,EAAE,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,IAAI,GAAG,IAAI,EAAE,EAAE,eAAe,CAAC,KAAK,EAAY,OAAO,IAAI,GAAG,IAAI,EAAE,EAAE,sBAAsB,CAAC,KAAK,EAAY,KAAK,CAAC,CAAC"}