nicholai 2e476d7f34
Some checks are pending
Build and Push to Docker Hub / Push Docker image to Docker Hub (push) Waiting to run
Build and Push Docker Image / build-and-push (push) Waiting to run
1.1.design-tokens-and-typography in progress
2025-09-24 11:38:27 -06:00

11 lines
172 KiB
JavaScript

try{!function(){var a="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},b=(new a.Error).stack;b&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[b]="a9084b1b-b81e-436c-8589-1dae385802f0",a._sentryDebugIdIdentifier="sentry-dbid-a9084b1b-b81e-436c-8589-1dae385802f0")}()}catch(a){}(()=>{var a={};a.id=8974,a.ids=[8974],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8086:a=>{"use strict";a.exports=require("module")},9597:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(49431),e=c(42520),f=c(16623);function g({children:a,className:b,variants:c=f.tE}){return(0,d.jsx)(e.P.div,{className:b,variants:c,children:a})}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},15614:(a,b,c)=>{Promise.resolve().then(c.bind(c,37041))},16623:(a,b,c)=>{"use strict";c.d(b,{bK:()=>e,tE:()=>d});let d={hidden:{opacity:0,y:24,filter:"blur(2px)"},show:{opacity:1,y:0,filter:"blur(0px)",transition:{duration:.6,ease:[.2,.8,.2,1]}}},e=(a=0,b=.12)=>({hidden:{},show:{transition:{delayChildren:a,staggerChildren:b}}})},18741:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(49431),e=c(42520),f=c(16623);function g({children:a,className:b,delay:c=0,stagger:g=.12,initial:h="hidden",variants:i}){return(0,d.jsx)(e.P.section,{className:b,variants:i??(0,f.bK)(c,g),initial:h,whileInView:"show",viewport:{once:!0,amount:.15,margin:"0px 0px -10% 0px"},children:a})}},19063:a=>{"use strict";a.exports=require("require-in-the-middle")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{"use strict";a.exports=require("process")},20342:(a,b,c)=>{Promise.resolve().then(c.bind(c,21630))},21630:(a,b,c)=>{"use strict";let d;c.r(b),c.d(b,{default:()=>n,generateImageMetadata:()=>l,generateMetadata:()=>k,generateViewport:()=>m});var e=c(63033),f=c(13725),g=c(68575),h=(0,f.registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx","default");let i={...e},j="workUnitAsyncStorage"in i?i.workUnitAsyncStorage:"requestAsyncStorage"in i?i.requestAsyncStorage:void 0;d="function"==typeof h?new Proxy(h,{apply:(a,b,c)=>{let d,e,f;try{let a=j?.getStore();d=a?.headers.get("sentry-trace")??void 0,e=a?.headers.get("baggage")??void 0,f=a?.headers}catch{}return g.wrapServerComponentWithSentry(a,{componentRoute:"/",componentType:"Page",sentryTraceHeader:d,baggageHeader:e,headers:f}).apply(b,c)}}):h;let k=void 0,l=void 0,m=void 0,n=d},21820:a=>{"use strict";a.exports=require("os")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},36686:a=>{"use strict";a.exports=require("diagnostics_channel")},37041:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e$});var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F=c(49431),G=c(27490),H=c.n(G);let I="generated",J="pointerleave",K="pointermove",L="touchend",M="tsParticles - Error",N={x:0,y:0,z:0},O={a:1,b:0,c:0,d:1},P="random",Q=2*Math.PI,R="true",S="false",T="canvas",U=0;function V(a){return"boolean"==typeof a}function W(a){return"string"==typeof a}function X(a){return"number"==typeof a}function Y(a){return"object"==typeof a&&null!==a}function Z(a){return Array.isArray(a)}function $(a){return null==a}!function(a){a.bottom="bottom",a.bottomLeft="bottom-left",a.bottomRight="bottom-right",a.left="left",a.none="none",a.right="right",a.top="top",a.topLeft="top-left",a.topRight="top-right",a.outside="outside",a.inside="inside"}(d||(d={}));class _{constructor(a,b,c){if(this._updateFromAngle=(a,b)=>{this.x=Math.cos(a)*b,this.y=Math.sin(a)*b},!X(a)&&a)this.x=a.x,this.y=a.y,this.z=a.z?a.z:N.z;else if(void 0!==a&&void 0!==b)this.x=a,this.y=b,this.z=c??N.z;else throw Error(`${M} Vector3d not initialized correctly`)}static get origin(){return _.create(N.x,N.y,N.z)}get angle(){return Math.atan2(this.y,this.x)}set angle(a){this._updateFromAngle(a,this.length)}get length(){return Math.sqrt(this.getLengthSq())}set length(a){this._updateFromAngle(this.angle,a)}static clone(a){return _.create(a.x,a.y,a.z)}static create(a,b,c){return new _(a,b,c)}add(a){return _.create(this.x+a.x,this.y+a.y,this.z+a.z)}addTo(a){this.x+=a.x,this.y+=a.y,this.z+=a.z}copy(){return _.clone(this)}distanceTo(a){return this.sub(a).length}distanceToSq(a){return this.sub(a).getLengthSq()}div(a){return _.create(this.x/a,this.y/a,this.z/a)}divTo(a){this.x/=a,this.y/=a,this.z/=a}getLengthSq(){return this.x**2+this.y**2}mult(a){return _.create(this.x*a,this.y*a,this.z*a)}multTo(a){this.x*=a,this.y*=a,this.z*=a}normalize(){let a=this.length;0!=a&&this.multTo(1/a)}rotate(a){return _.create(this.x*Math.cos(a)-this.y*Math.sin(a),this.x*Math.sin(a)+this.y*Math.cos(a),N.z)}setTo(a){this.x=a.x,this.y=a.y,this.z=a.z?a.z:N.z}sub(a){return _.create(this.x-a.x,this.y-a.y,this.z-a.z)}subFrom(a){this.x-=a.x,this.y-=a.y,this.z-=a.z}}class aa extends _{constructor(a,b){super(a,b,N.z)}static get origin(){return aa.create(N.x,N.y)}static clone(a){return aa.create(a.x,a.y)}static create(a,b){return new aa(a,b)}}let ab=Math.random,ac={nextFrame:a=>requestAnimationFrame(a),cancel:a=>cancelAnimationFrame(a)};function ad(){return ae(ab(),0,1-Number.EPSILON)}function ae(a,b,c){return Math.min(Math.max(a,b),c)}function af(a,b,c,d){return Math.floor((a*c+b*d)/(c+d))}function ag(a){let b=aj(a),c=ai(a);return b===c&&(c=0),ad()*(b-c)+c}function ah(a){return X(a)?a:ag(a)}function ai(a){return X(a)?a:a.min}function aj(a){return X(a)?a:a.max}function ak(a,b){if(a===b||void 0===b&&X(a))return a;let c=ai(a),d=aj(a);return void 0!==b?{min:Math.min(c,b),max:Math.max(d,b)}:ak(c,d)}function al(a,b){let c=a.x-b.x,d=a.y-b.y;return{dx:c,dy:d,distance:Math.sqrt(c**2+d**2)}}function am(a,b){return al(a,b).distance}function an(a){return a*Math.PI/180}function ao(a,b,c,d){return aa.create(a.x*(c-d)/(c+d)+2*b.x*d/(c+d),a.y)}function ap(a){return a?a.endsWith("%")?parseFloat(a)/100:parseFloat(a):1}!function(a){a.auto="auto",a.increase="increase",a.decrease="decrease",a.random="random"}(e||(e={})),function(a){a.increasing="increasing",a.decreasing="decreasing"}(f||(f={})),function(a){a.none="none",a.max="max",a.min="min"}(g||(g={})),function(a){a.bottom="bottom",a.left="left",a.right="right",a.top="top"}(h||(h={})),function(a){a.precise="precise",a.percent="percent"}(i||(i={})),function(a){a.max="max",a.min="min",a.random="random"}(j||(j={}));let aq={debug:console.debug,error:console.error,info:console.info,log:console.log,verbose:console.log,warning:console.warn};function ar(a){let b={bounced:!1},{pSide:c,pOtherSide:d,rectSide:e,rectOtherSide:f,velocity:g,factor:h}=a;return d.min<f.min||d.min>f.max||d.max<f.min||d.max>f.max||(c.max>=e.min&&c.max<=(e.max+e.min)*.5&&g>0||c.min<=e.max&&c.min>(e.max+e.min)*.5&&g<0)&&(b.velocity=-(g*h),b.bounced=!0),b}function as(){return"undefined"==typeof window||!window||void 0===window.document||!window.document}function at(a){if(!as()&&"undefined"!=typeof matchMedia)return matchMedia(a)}function au(a,b){return a===b||Z(b)&&b.indexOf(a)>-1}async function av(a,b){try{await document.fonts.load(`${b??"400"} 36px '${a??"Verdana"}'`)}catch{}}function aw(a,b,c=!0){return a[void 0!==b&&c?b%a.length:Math.floor(ad()*a.length)]}function ax(a,b,c,d,e){var f,g,i,j;let k;return f=ay(a,d??0),g=b,i=c,k=!0,(j=e)&&j!==h.bottom||(k=f.top<g.height+i.x),k&&(!j||j===h.left)&&(k=f.right>i.x),k&&(!j||j===h.right)&&(k=f.left<g.width+i.y),k&&(!j||j===h.top)&&(k=f.bottom>i.y),k}function ay(a,b){return{bottom:a.y+b,left:a.x-b,right:a.x+b,top:a.y-b}}function az(a,...b){for(let c of b){if(null==c)continue;if(!Y(c)){a=c;continue}let b=Array.isArray(c);for(let d in b&&(Y(a)||!a||!Array.isArray(a))?a=[]:!b&&(Y(a)||!a||Array.isArray(a))&&(a={}),c){if("__proto__"===d)continue;let b=c[d],e=a;e[d]=Y(b)&&Array.isArray(b)?b.map(a=>az(e[d],a)):az(e[d],b)}}return a}function aA(a,b){return!!aH(b,b=>b.enable&&au(a,b.mode))}function aB(a,b,c){aF(b,b=>{var d,e;let f=b.mode;b.enable&&au(a,f)&&(d=b,e=c,aF(d.selectors,a=>{e(a,d)}))})}function aC(a,b){if(b&&a)return aH(a,a=>(function(a,b){let c=aF(b,b=>a.matches(b));return Z(c)?c.some(a=>a):c})(b,a.selectors))}function aD(a){return{position:a.getPosition(),radius:a.getRadius(),mass:a.getMass(),velocity:a.velocity,factor:aa.create(ah(a.options.bounce.horizontal.value),ah(a.options.bounce.vertical.value))}}function aE(a,b){let{x:c,y:d}=a.velocity.sub(b.velocity),[e,f]=[a.position,b.position],{dx:g,dy:h}=al(f,e);if(c*g+d*h<0)return;let i=-Math.atan2(h,g),j=a.mass,k=b.mass,l=a.velocity.rotate(i),m=b.velocity.rotate(i),n=ao(l,m,j,k),o=ao(m,l,j,k),p=n.rotate(-i),q=o.rotate(-i);a.velocity.x=p.x*a.factor.x,a.velocity.y=p.y*a.factor.y,b.velocity.x=q.x*b.factor.x,b.velocity.y=q.y*b.factor.y}function aF(a,b){return Z(a)?a.map((a,c)=>b(a,c)):b(a,0)}function aG(a,b,c){return Z(a)?aw(a,b,c):a}function aH(a,b){return Z(a)?a.find((a,c)=>b(a,c)):b(a,0)?a:void 0}function aI(a,b){let c=a.value,d=a.animation,g={delayTime:1e3*ah(d.delay),enable:d.enable,value:ah(a.value)*b,max:aj(c)*b,min:ai(c)*b,loops:0,maxLoops:ah(d.count),time:0};if(d.enable){switch(g.decay=1-ah(d.decay),d.mode){case e.increase:g.status=f.increasing;break;case e.decrease:g.status=f.decreasing;break;case e.random:g.status=ad()>=.5?f.increasing:f.decreasing}let a=d.mode===e.auto;switch(d.startValue){case j.min:g.value=g.min,a&&(g.status=f.increasing);break;case j.max:g.value=g.max,a&&(g.status=f.decreasing);break;case j.random:default:g.value=ag(g),a&&(g.status=ad()>=.5?f.increasing:f.decreasing)}}return g.initialValue=g.value,g}function aJ(a,b){if(a.mode!==i.percent){let{mode:b,...c}=a;return c}return"x"in a?{x:a.x/100*b.width,y:a.y/100*b.height}:{width:a.width/100*b.width,height:a.height/100*b.height}}function aK(a,b,c,d,e){if(a.destroyed||!b||!b.enable||(b.maxLoops??0)>0&&(b.loops??0)>(b.maxLoops??0))return;let h=(b.velocity??0)*e.factor,i=b.min,j=b.max,k=b.decay??1;if(b.time||(b.time=0),(b.delayTime??0)>0&&b.time<(b.delayTime??0)&&(b.time+=e.value),!((b.delayTime??0)>0)||!(b.time<(b.delayTime??0))){switch(b.status){case f.increasing:b.value>=j?(c?b.status=f.decreasing:b.value-=j,b.loops||(b.loops=0),b.loops++):b.value+=h;break;case f.decreasing:b.value<=i?(c?b.status=f.increasing:b.value+=j,b.loops||(b.loops=0),b.loops++):b.value-=h}b.velocity&&1!==k&&(b.velocity*=k);var l=b.value;switch(d){case g.max:l>=j&&a.destroy();break;case g.min:l<=i&&a.destroy()}a.destroyed||(b.value=ae(b.value,i,j))}}let aL=function(a){let b=new Map;return(...c)=>{let d=JSON.stringify(c);if(b.has(d))return b.get(d);let e=a(...c);return b.set(d,e),e}}(function(a){let b=document.createElement("div").style,c={width:"100%",height:"100%",margin:"0",padding:"0",borderWidth:"0",position:"fixed",zIndex:a.toString(10),"z-index":a.toString(10),top:"0",left:"0"};for(let a in c){let d=c[a];b.setProperty(a,d)}return b});function aM(a,b,c,d=!0){if(!b)return;let e=W(b)?{value:b}:b;if(W(e.value))return function a(b,c,d,e=!0){if(!c)return;let f=W(c)?{value:c}:c;if(W(f.value))return f.value===P?aQ():function(a,b){if(b){for(let c of a.colorManagers.values())if(b.startsWith(c.stringPrefix))return c.parseString(b)}}(b,f.value);if(Z(f.value))return a(b,{value:aw(f.value,d,e)});for(let a of b.colorManagers.values()){let b=a.handleColor(f);if(b)return b}}(a,e.value,c,d);if(Z(e.value))return aM(a,{value:aw(e.value,c,d)});for(let b of a.colorManagers.values()){let a=b.handleRangeColor(e);if(a)return a}}function aN(a,b,c,d=!0){let e=aM(a,b,c,d);return e?aO(e):void 0}function aO(a){let b=a.r/255,c=a.g/255,d=a.b/255,e=Math.max(b,c,d),f=Math.min(b,c,d),g={h:0,l:(e+f)*.5,s:0};return e!==f&&(g.s=g.l<.5?(e-f)/(e+f):(e-f)/(2-e-f),g.h=b===e?(c-d)/(e-f):g.h=c===e?2+(d-b)/(e-f):4+(b-c)/(e-f)),g.l*=100,g.s*=100,g.h*=60,g.h<0&&(g.h+=360),g.h>=360&&(g.h-=360),g}function aP(a){let b=(a.h%360+360)%360,c=Math.max(0,Math.min(100,a.s)),d=Math.max(0,Math.min(100,a.l)),e=b/360,f=c/100,g=d/100;if(0===c){let a=Math.round(255*g);return{r:a,g:a,b:a}}let h=(a,b,c)=>(c<0&&c++,c>1&&c--,6*c<1)?a+(b-a)*6*c:2*c<1?b:3*c<2?a+(b-a)*(2/3-c)*6:a,i=g<.5?g*(1+f):g+f-g*f,j=2*g-i,k=Math.min(255,255*h(j,i,e+.3333333333333333));return{r:Math.round(k),g:Math.round(Math.min(255,255*h(j,i,e))),b:Math.round(Math.min(255,255*h(j,i,e-.3333333333333333)))}}function aQ(a){let b=a??0;return{b:Math.floor(ag(ak(b,256))),g:Math.floor(ag(ak(b,256))),r:Math.floor(ag(ak(b,256)))}}function aR(a,b){return`rgba(${a.r}, ${a.g}, ${a.b}, ${b??1})`}function aS(a,b){return`hsla(${a.h}, ${a.s}%, ${a.l}%, ${b??1})`}function aT(a,b,c,d){let e=a,f=b;return void 0===e.r&&(e=aP(a)),void 0===f.r&&(f=aP(b)),{b:af(e.b,f.b,c,d),g:af(e.g,f.g,c,d),r:af(e.r,f.r,c,d)}}function aU(a,b,c){if(c===P)return aQ();if("mid"!==c)return c;{let c=a.getFillColor()??a.getStrokeColor(),d=b?.getFillColor()??b?.getStrokeColor();if(c&&d&&b)return aT(c,d,a.getRadius(),b.getRadius());{let a=c??d;if(a)return aP(a)}}}function aV(a,b,c,d){let e=W(b)?b:b.value;return e===P?d?aM(a,{value:e}):c?P:"mid":"mid"===e?"mid":aM(a,{value:e})}function aW(a){return void 0!==a?{h:a.h.value,s:a.s.value,l:a.l.value}:void 0}function aX(a,b,c){let d={h:{enable:!1,value:a.h},s:{enable:!1,value:a.s},l:{enable:!1,value:a.l}};return b&&(aY(d.h,b.h,c),aY(d.s,b.s,c),aY(d.l,b.l,c)),d}function aY(a,b,c){a.enable=b.enable,a.enable?(a.velocity=ah(b.speed)/100*c,a.decay=1-ah(b.decay),a.status=f.increasing,a.loops=0,a.maxLoops=ah(b.count),a.time=0,a.delayTime=1e3*ah(b.delay),b.sync||(a.velocity*=ad(),a.value*=ad()),a.initialValue=a.value,a.offset=ak(b.offset)):a.velocity=0}function aZ(a,b,c,d){if(!a||!a.enable||(a.maxLoops??0)>0&&(a.loops??0)>(a.maxLoops??0)||(a.time||(a.time=0),(a.delayTime??0)>0&&a.time<(a.delayTime??0)&&(a.time+=d.value),(a.delayTime??0)>0&&a.time<(a.delayTime??0)))return;let e=a.offset?ag(a.offset):0,g=(a.velocity??0)*d.factor+3.6*e,h=a.decay??1,i=aj(b),j=ai(b);c&&a.status!==f.increasing?(a.value-=g,a.value<0&&(a.loops||(a.loops=0),a.loops++,a.status=f.increasing)):(a.value+=g,a.value>i&&(a.loops||(a.loops=0),a.loops++,c?a.status=f.decreasing:a.value-=i)),a.velocity&&1!==h&&(a.velocity*=h),a.value=ae(a.value,j,i)}function a$(a,b){if(!a)return;let{h:c,s:d,l:e}=a;c&&aZ(c,{min:0,max:360},!1,b),d&&aZ(d,{min:0,max:100},!0,b),e&&aZ(e,{min:0,max:100},!0,b)}function a_(a,b,c){a.beginPath(),a.moveTo(b.x,b.y),a.lineTo(c.x,c.y),a.closePath()}function a0(a,b){a.clearRect(N.x,N.y,b.width,b.height)}function a1(a,b,c=!1){if(!b||!a)return;let d=a.style;if(!d)return;let e=new Set;for(let a in d)Object.prototype.hasOwnProperty.call(d,a)&&e.add(d[a]);for(let a in b)Object.prototype.hasOwnProperty.call(b,a)&&e.add(b[a]);for(let a of e){let e=b.getPropertyValue(a);e?d.setProperty(a,e,c?"important":""):d.removeProperty(a)}}!function(a){a.darken="darken",a.enlighten="enlighten"}(k||(k={}));class a2{constructor(a,b){this.container=a,this._applyPostDrawUpdaters=a=>{for(let b of this._postDrawUpdaters)b.afterDraw?.(a)},this._applyPreDrawUpdaters=(a,b,c,d,e,f)=>{for(let g of this._preDrawUpdaters){if(g.getColorStyles){let{fill:f,stroke:h}=g.getColorStyles(b,a,c,d);f&&(e.fill=f),h&&(e.stroke=h)}if(g.getTransformValues){let a=g.getTransformValues(b);for(let b in a)!function(a,b,c){let d=b[c];void 0!==d&&(a[c]=(a[c]??1)*d)}(f,a,b)}g.beforeDraw?.(b)}},this._applyResizePlugins=()=>{for(let a of this._resizePlugins)a.resize?.()},this._getPluginParticleColors=a=>{let b,c;for(let d of this._colorPlugins)if(!b&&d.particleFillColor&&(b=aN(this._engine,d.particleFillColor(a))),!c&&d.particleStrokeColor&&(c=aN(this._engine,d.particleStrokeColor(a))),b&&c)break;return[b,c]},this._initCover=async()=>{let a=this.container.actualOptions.backgroundMask.cover,b=a.color;if(b){let c=aM(this._engine,b);if(c){let b={...c,a:a.opacity};this._coverColorStyle=aR(b,b.a)}}else await new Promise((b,c)=>{if(!a.image)return;let d=document.createElement("img");d.addEventListener("load",()=>{this._coverImage={image:d,opacity:a.opacity},b()}),d.addEventListener("error",a=>{c(a.error)}),d.src=a.image})},this._initStyle=()=>{let a=this.element,b=this.container.actualOptions;if(a)for(let c in this._fullScreen?this._setFullScreenStyle():this._resetOriginalStyle(),b.style){if(!c||!b.style||!Object.prototype.hasOwnProperty.call(b.style,c))continue;let d=b.style[c];d&&a.style.setProperty(c,d,"important")}},this._initTrail=async()=>{let a=this.container.actualOptions.particles.move.trail,b=a.fill;if(!a.enable)return;let c=1/a.length;if(b.color){let a=aM(this._engine,b.color);if(!a)return;this._trailFill={color:{...a},opacity:c}}else await new Promise((a,d)=>{if(!b.image)return;let e=document.createElement("img");e.addEventListener("load",()=>{this._trailFill={image:e,opacity:c},a()}),e.addEventListener("error",a=>{d(a.error)}),e.src=b.image})},this._paintBase=a=>{this.draw(b=>(function(a,b,c){a.fillStyle=c??"rgba(0,0,0,0)",a.fillRect(N.x,N.y,b.width,b.height)})(b,this.size,a))},this._paintImage=(a,b)=>{this.draw(c=>(function(a,b,c,d){c&&(a.globalAlpha=d,a.drawImage(c,N.x,N.y,b.width,b.height),a.globalAlpha=1)})(c,this.size,a,b))},this._repairStyle=()=>{let a=this.element;if(!a)return;this._safeMutationObserver(a=>a.disconnect()),this._initStyle(),this.initBackground();let b=this._pointerEvents;a.style.pointerEvents=b,a.setAttribute("pointer-events",b),this._safeMutationObserver(b=>{a&&a instanceof Node&&b.observe(a,{attributes:!0})})},this._resetOriginalStyle=()=>{let a=this.element,b=this._originalStyle;a&&b&&a1(a,b,!0)},this._safeMutationObserver=a=>{this._mutationObserver&&a(this._mutationObserver)},this._setFullScreenStyle=()=>{let a=this.element;a&&a1(a,aL(this.container.actualOptions.fullScreen.zIndex),!0)},this._engine=b,this._standardSize={height:0,width:0};let c=a.retina.pixelRatio,d=this._standardSize;this.size={height:d.height*c,width:d.width*c},this._context=null,this._generated=!1,this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[],this._pointerEvents="none"}get _fullScreen(){return this.container.actualOptions.fullScreen.enable}clear(){let a=this.container.actualOptions,b=a.particles.move.trail,c=this._trailFill;a.backgroundMask.enable?this.paint():b.enable&&b.length>0&&c?c.color?this._paintBase(aR(c.color,c.opacity)):c.image&&this._paintImage(c.image,c.opacity):a.clear&&this.draw(a=>{a0(a,this.size)})}destroy(){if(this.stop(),this._generated){let a=this.element;a?.remove(),this.element=void 0}else this._resetOriginalStyle();this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[]}draw(a){let b=this._context;if(b)return a(b)}drawAsync(a){let b=this._context;if(b)return a(b)}drawParticle(a,b){if(a.spawning||a.destroyed)return;let c=a.getRadius();if(c<=0)return;let d=a.getFillColor(),e=a.getStrokeColor()??d,[f,g]=this._getPluginParticleColors(a);f||(f=d),g||(g=e),(f||g)&&this.draw(d=>{let e=this.container,h=e.actualOptions,i=a.options.zIndex,j=1-a.zIndexFactor,k=j**i.opacityRate,l=a.bubble.opacity??a.opacity?.value??1,m=a.strokeOpacity??l,n=l*k,o={},p={fill:f?aS(f,n):void 0};p.stroke=g?aS(g,m*k):p.fill,this._applyPreDrawUpdaters(d,a,c,n,p,o),function(a){let{container:b,context:c,particle:d,delta:e,colorStyles:f,backgroundMask:g,composite:h,radius:i,opacity:j,shadow:k,transform:l}=a,m=d.getPosition(),n=d.rotation+(d.pathRotation?d.velocity.angle:0),o={sin:Math.sin(n),cos:Math.cos(n)},p=!!n,q={a:o.cos*(l.a??O.a),b:p?o.sin*(l.b??1):l.b??O.b,c:p?-o.sin*(l.c??1):l.c??O.c,d:o.cos*(l.d??O.d)};c.setTransform(q.a,q.b,q.c,q.d,m.x,m.y),g&&(c.globalCompositeOperation=h);let r=d.shadowColor;k.enable&&r&&(c.shadowBlur=k.blur,c.shadowColor=aR(r),c.shadowOffsetX=k.offset.x,c.shadowOffsetY=k.offset.y),f.fill&&(c.fillStyle=f.fill);let s=d.strokeWidth??0;c.lineWidth=s,f.stroke&&(c.strokeStyle=f.stroke);let t={container:b,context:c,particle:d,radius:i,opacity:j,delta:e,transformData:q,strokeWidth:s};(function(a){let{container:b,context:c,particle:d,radius:e,opacity:f,delta:g,strokeWidth:h,transformData:i}=a;if(!d.shape)return;let j=b.shapeDrawers.get(d.shape);j&&(c.beginPath(),j.draw({context:c,particle:d,radius:e,opacity:f,delta:g,pixelRatio:b.retina.pixelRatio,transformData:{...i}}),d.shapeClose&&c.closePath(),h>0&&c.stroke(),d.shapeFill&&c.fill())})(t),function(a){let{container:b,context:c,particle:d,radius:e,opacity:f,delta:g,transformData:h}=a;if(!d.shape)return;let i=b.shapeDrawers.get(d.shape);i?.afterDraw&&i.afterDraw({context:c,particle:d,radius:e,opacity:f,delta:g,pixelRatio:b.retina.pixelRatio,transformData:{...h}})}(t),function(a){let{container:b,context:c,particle:d,radius:e,opacity:f,delta:g,transformData:h}=a;if(!d.effect)return;let i=b.effectDrawers.get(d.effect);i&&i.draw({context:c,particle:d,radius:e,opacity:f,delta:g,pixelRatio:b.retina.pixelRatio,transformData:{...h}})}(t),c.globalCompositeOperation="source-over",c.resetTransform()}({container:e,context:d,particle:a,delta:b,colorStyles:p,backgroundMask:h.backgroundMask.enable,composite:h.backgroundMask.composite,radius:c*j**i.sizeRate,opacity:n,shadow:a.options.shadow,transform:o}),this._applyPostDrawUpdaters(a)})}drawParticlePlugin(a,b,c){this.draw(d=>{a.drawParticle&&a.drawParticle(d,b,c)})}drawPlugin(a,b){this.draw(c=>{a.draw&&a.draw(c,b)})}async init(){this._safeMutationObserver(a=>a.disconnect()),this._mutationObserver=function(a){if(!as()&&"undefined"!=typeof MutationObserver)return new MutationObserver(a)}(a=>{for(let b of a)"attributes"===b.type&&"style"===b.attributeName&&this._repairStyle()}),this.resize(),this._initStyle(),await this._initCover();try{await this._initTrail()}catch(a){aq.error(a)}this.initBackground(),this._safeMutationObserver(a=>{this.element&&this.element instanceof Node&&a.observe(this.element,{attributes:!0})}),this.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){let a=this.container.actualOptions.background,b=this.element;if(!b)return;let c=b.style;if(c){if(a.color){let b=aM(this._engine,a.color);c.backgroundColor=b?aR(b,a.opacity):""}else c.backgroundColor="";c.backgroundImage=a.image||"",c.backgroundPosition=a.position||"",c.backgroundRepeat=a.repeat||"",c.backgroundSize=a.size||""}}initPlugins(){for(let a of(this._resizePlugins=[],this.container.plugins.values()))a.resize&&this._resizePlugins.push(a),(a.particleFillColor??a.particleStrokeColor)&&this._colorPlugins.push(a)}initUpdaters(){for(let a of(this._preDrawUpdaters=[],this._postDrawUpdaters=[],this.container.particles.updaters))a.afterDraw&&this._postDrawUpdaters.push(a),(a.getColorStyles??a.getTransformValues??a.beforeDraw)&&this._preDrawUpdaters.push(a)}loadCanvas(a){this._generated&&this.element&&this.element.remove(),this._generated=a.dataset&&I in a.dataset?"true"===a.dataset[I]:this._generated,this.element=a,this.element.ariaHidden="true",this._originalStyle=function(a){let b=document.createElement("div").style;if(!a)return b;for(let c in a){let d=a[c];if(!Object.prototype.hasOwnProperty.call(a,c)||$(d))continue;let e=a.getPropertyValue?.(d);if(!e)continue;let f=a.getPropertyPriority?.(d);f?b.setProperty?.(d,e,f):b.setProperty?.(d,e)}return b}(this.element.style);let b=this._standardSize;b.height=a.offsetHeight,b.width=a.offsetWidth;let c=this.container.retina.pixelRatio,d=this.size;a.height=d.height=b.height*c,a.width=d.width=b.width*c,this._context=this.element.getContext("2d"),this._safeMutationObserver(a=>a.disconnect()),this.container.retina.init(),this.initBackground(),this._safeMutationObserver(a=>{this.element&&this.element instanceof Node&&a.observe(this.element,{attributes:!0})})}paint(){let a=this.container.actualOptions;this.draw(b=>{a.backgroundMask.enable&&a.backgroundMask.cover?(a0(b,this.size),this._coverImage?this._paintImage(this._coverImage.image,this._coverImage.opacity):this._coverColorStyle?this._paintBase(this._coverColorStyle):this._paintBase()):this._paintBase()})}resize(){if(!this.element)return!1;let a=this.container,b=a.canvas._standardSize,c={width:this.element.offsetWidth,height:this.element.offsetHeight},d=a.retina.pixelRatio,e={width:c.width*d,height:c.height*d};if(c.height===b.height&&c.width===b.width&&e.height===this.element.height&&e.width===this.element.width)return!1;let f={...b};b.height=c.height,b.width=c.width;let g=this.size;return this.element.width=g.width=e.width,this.element.height=g.height=e.height,this.container.started&&a.particles.setResizeFactor({width:b.width/f.width,height:b.height/f.height}),!0}setPointerEvents(a){this.element&&(this._pointerEvents=a,this._repairStyle())}stop(){this._safeMutationObserver(a=>a.disconnect()),this._mutationObserver=void 0,this.draw(a=>a0(a,this.size))}async windowResize(){if(!this.element||!this.resize())return;let a=this.container,b=a.updateActualOptions();a.particles.setDensity(),this._applyResizePlugins(),b&&await a.refresh()}}function a3(a,b,c,d,e){if(d){let d={passive:!0};V(e)?d.capture=e:void 0!==e&&(d=e),a.addEventListener(b,c,d)}else a.removeEventListener(b,c,e)}!function(a){a.canvas="canvas",a.parent="parent",a.window="window"}(l||(l={}));class a4{constructor(a){this.container=a,this._doMouseTouchClick=a=>{let b=this.container,c=b.actualOptions;if(this._canPush){let a=b.interactivity.mouse,d=a.position;if(!d)return;a.clickPosition={...d},a.clickTime=new Date().getTime(),aF(c.interactivity.events.onClick.mode,a=>this.container.handleClickMode(a))}"touchend"===a.type&&setTimeout(()=>this._mouseTouchFinish(),500)},this._handleThemeChange=a=>{let b=this.container,c=b.options,d=c.defaultThemes,e=a.matches?d.dark:d.light,f=c.themes.find(a=>a.name===e);f?.default.auto&&b.loadTheme(e)},this._handleVisibilityChange=()=>{let a=this.container,b=a.actualOptions;this._mouseTouchFinish(),b.pauseOnBlur&&(document?.hidden?(a.pageHidden=!0,a.pause()):(a.pageHidden=!1,a.animationStatus?a.play(!0):a.draw(!0)))},this._handleWindowResize=()=>{this._resizeTimeout&&(clearTimeout(this._resizeTimeout),delete this._resizeTimeout);let a=async()=>{let a=this.container.canvas;await a?.windowResize()};this._resizeTimeout=setTimeout(()=>void a(),1e3*this.container.actualOptions.interactivity.events.resize.delay)},this._manageInteractivityListeners=(a,b)=>{let c=this._handlers,d=this.container,e=d.actualOptions,f=d.interactivity.element;if(!f)return;let g=d.canvas;g.setPointerEvents(f===g.element?"initial":"none"),(e.interactivity.events.onHover.enable||e.interactivity.events.onClick.enable)&&(a3(f,K,c.mouseMove,b),a3(f,"touchstart",c.touchStart,b),a3(f,"touchmove",c.touchMove,b),e.interactivity.events.onClick.enable?(a3(f,L,c.touchEndClick,b),a3(f,"pointerup",c.mouseUp,b),a3(f,"pointerdown",c.mouseDown,b)):a3(f,L,c.touchEnd,b),a3(f,a,c.mouseLeave,b),a3(f,"touchcancel",c.touchCancel,b))},this._manageListeners=a=>{let b=this._handlers,c=this.container,d=c.actualOptions.interactivity.detectsOn,e=c.canvas.element,f=J;d===l.window?(c.interactivity.element=window,f="pointerout"):d===l.parent&&e?c.interactivity.element=e.parentElement??e.parentNode:c.interactivity.element=e,this._manageMediaMatch(a),this._manageResize(a),this._manageInteractivityListeners(f,a),document&&a3(document,"visibilitychange",b.visibilityChange,a,!1)},this._manageMediaMatch=a=>{let b=this._handlers,c=at("(prefers-color-scheme: dark)");if(c){if(void 0!==c.addEventListener)return void a3(c,"change",b.themeChange,a);void 0!==c.addListener&&(a?c.addListener(b.oldThemeChange):c.removeListener(b.oldThemeChange))}},this._manageResize=a=>{let b=this._handlers,c=this.container;if(!c.actualOptions.interactivity.events.resize)return;if("undefined"==typeof ResizeObserver)return void a3(window,"resize",b.resize,a);let d=c.canvas.element;this._resizeObserver&&!a?(d&&this._resizeObserver.unobserve(d),this._resizeObserver.disconnect(),delete this._resizeObserver):!this._resizeObserver&&a&&d&&(this._resizeObserver=new ResizeObserver(a=>{a.find(a=>a.target===d)&&this._handleWindowResize()}),this._resizeObserver.observe(d))},this._mouseDown=()=>{let{interactivity:a}=this.container;if(!a)return;let{mouse:b}=a;b.clicking=!0,b.downPosition=b.position},this._mouseTouchClick=a=>{let b=this.container,c=b.actualOptions,{mouse:d}=b.interactivity;d.inside=!0;let e=!1,f=d.position;if(f&&c.interactivity.events.onClick.enable){for(let a of b.plugins.values())if(a.clickPositionValid&&(e=a.clickPositionValid(f)))break;e||this._doMouseTouchClick(a),d.clicking=!1}},this._mouseTouchFinish=()=>{let a=this.container.interactivity;if(!a)return;let b=a.mouse;delete b.position,delete b.clickPosition,delete b.downPosition,a.status=J,b.inside=!1,b.clicking=!1},this._mouseTouchMove=a=>{let b,c=this.container,d=c.actualOptions,e=c.interactivity,f=c.canvas.element;if(!e?.element)return;if(e.mouse.inside=!0,a.type.startsWith("pointer"))if(this._canPush=!0,e.element===window){if(f){let c=f.getBoundingClientRect();b={x:a.clientX-c.left,y:a.clientY-c.top}}}else if(d.interactivity.detectsOn===l.parent){let c=a.target,d=a.currentTarget;if(c&&d&&f){let e=c.getBoundingClientRect(),g=d.getBoundingClientRect(),h=f.getBoundingClientRect();b={x:a.offsetX+2*e.left-(g.left+h.left),y:a.offsetY+2*e.top-(g.top+h.top)}}else b={x:a.offsetX??a.clientX,y:a.offsetY??a.clientY}}else a.target===f&&(b={x:a.offsetX??a.clientX,y:a.offsetY??a.clientY});else if(this._canPush="touchmove"!==a.type,f){let c=a.touches[a.touches.length-1],d=f.getBoundingClientRect();b={x:c.clientX-(d.left??0),y:c.clientY-(d.top??0)}}let g=c.retina.pixelRatio;b&&(b.x*=g,b.y*=g),e.mouse.position=b,e.status=K},this._touchEnd=a=>{for(let b of Array.from(a.changedTouches))this._touches.delete(b.identifier);this._mouseTouchFinish()},this._touchEndClick=a=>{for(let b of Array.from(a.changedTouches))this._touches.delete(b.identifier);this._mouseTouchClick(a)},this._touchStart=a=>{for(let b of Array.from(a.changedTouches))this._touches.set(b.identifier,performance.now());this._mouseTouchMove(a)},this._canPush=!0,this._touches=new Map,this._handlers={mouseDown:()=>this._mouseDown(),mouseLeave:()=>this._mouseTouchFinish(),mouseMove:a=>this._mouseTouchMove(a),mouseUp:a=>this._mouseTouchClick(a),touchStart:a=>this._touchStart(a),touchMove:a=>this._mouseTouchMove(a),touchEnd:a=>this._touchEnd(a),touchCancel:a=>this._touchEnd(a),touchEndClick:a=>this._touchEndClick(a),visibilityChange:()=>this._handleVisibilityChange(),themeChange:a=>this._handleThemeChange(a),oldThemeChange:a=>this._handleThemeChange(a),resize:()=>{this._handleWindowResize()}}}addListeners(){this._manageListeners(!0)}removeListeners(){this._manageListeners(!1)}}!function(a){a.configAdded="configAdded",a.containerInit="containerInit",a.particlesSetup="particlesSetup",a.containerStarted="containerStarted",a.containerStopped="containerStopped",a.containerDestroyed="containerDestroyed",a.containerPaused="containerPaused",a.containerPlay="containerPlay",a.containerBuilt="containerBuilt",a.particleAdded="particleAdded",a.particleDestroyed="particleDestroyed",a.particleRemoved="particleRemoved"}(m||(m={}));class a5{constructor(){this.value=""}static create(a,b){let c=new a5;return c.load(a),void 0!==b&&(W(b)||Z(b)?c.load({value:b}):c.load(b)),c}load(a){!$(a)&&($(a.value)||(this.value=a.value))}}class a6{constructor(){this.color=new a5,this.color.value="",this.image="",this.position="",this.repeat="",this.size="",this.opacity=1}load(a){$(a)||(void 0!==a.color&&(this.color=a5.create(this.color,a.color)),void 0!==a.image&&(this.image=a.image),void 0!==a.position&&(this.position=a.position),void 0!==a.repeat&&(this.repeat=a.repeat),void 0!==a.size&&(this.size=a.size),void 0!==a.opacity&&(this.opacity=a.opacity))}}class a7{constructor(){this.opacity=1}load(a){$(a)||(void 0!==a.color&&(this.color=a5.create(this.color,a.color)),void 0!==a.image&&(this.image=a.image),void 0!==a.opacity&&(this.opacity=a.opacity))}}class a8{constructor(){this.composite="destination-out",this.cover=new a7,this.enable=!1}load(a){if(!$(a)){if(void 0!==a.composite&&(this.composite=a.composite),void 0!==a.cover){let b=a.cover,c=W(a.cover)?{color:a.cover}:a.cover;this.cover.load(void 0!==b.color||void 0!==b.image?b:{color:c})}void 0!==a.enable&&(this.enable=a.enable)}}}class a9{constructor(){this.enable=!0,this.zIndex=0}load(a){$(a)||(void 0!==a.enable&&(this.enable=a.enable),void 0!==a.zIndex&&(this.zIndex=a.zIndex))}}class ba{constructor(){this.enable=!1,this.mode=[]}load(a){$(a)||(void 0!==a.enable&&(this.enable=a.enable),void 0!==a.mode&&(this.mode=a.mode))}}!function(a){a.circle="circle",a.rectangle="rectangle"}(n||(n={}));class bb{constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=n.circle}load(a){$(a)||(void 0!==a.selectors&&(this.selectors=a.selectors),void 0!==a.enable&&(this.enable=a.enable),void 0!==a.mode&&(this.mode=a.mode),void 0!==a.type&&(this.type=a.type))}}class bc{constructor(){this.enable=!1,this.force=2,this.smooth=10}load(a){$(a)||(void 0!==a.enable&&(this.enable=a.enable),void 0!==a.force&&(this.force=a.force),void 0!==a.smooth&&(this.smooth=a.smooth))}}class bd{constructor(){this.enable=!1,this.mode=[],this.parallax=new bc}load(a){$(a)||(void 0!==a.enable&&(this.enable=a.enable),void 0!==a.mode&&(this.mode=a.mode),this.parallax.load(a.parallax))}}class be{constructor(){this.delay=.5,this.enable=!0}load(a){$(a)||(void 0!==a.delay&&(this.delay=a.delay),void 0!==a.enable&&(this.enable=a.enable))}}class bf{constructor(){this.onClick=new ba,this.onDiv=new bb,this.onHover=new bd,this.resize=new be}load(a){if($(a))return;this.onClick.load(a.onClick);let b=a.onDiv;void 0!==b&&(this.onDiv=aF(b,a=>{let b=new bb;return b.load(a),b})),this.onHover.load(a.onHover),this.resize.load(a.resize)}}class bg{constructor(a,b){this._engine=a,this._container=b}load(a){if($(a)||!this._container)return;let b=this._engine.interactors.get(this._container);if(b)for(let c of b)c.loadModeOptions&&c.loadModeOptions(this,a)}}class bh{constructor(a,b){this.detectsOn=l.window,this.events=new bf,this.modes=new bg(a,b)}load(a){if($(a))return;let b=a.detectsOn;void 0!==b&&(this.detectsOn=b),this.events.load(a.events),this.modes.load(a.modes)}}class bi{load(a){!$(a)&&(a.position&&(this.position={x:a.position.x??50,y:a.position.y??50,mode:a.position.mode??i.percent}),a.options&&(this.options=az({},a.options)))}}!function(a){a.screen="screen",a.canvas="canvas"}(o||(o={}));class bj{constructor(){this.maxWidth=1/0,this.options={},this.mode=o.canvas}load(a){!$(a)&&($(a.maxWidth)||(this.maxWidth=a.maxWidth),$(a.mode)||(a.mode===o.screen?this.mode=o.screen:this.mode=o.canvas),$(a.options)||(this.options=az({},a.options)))}}!function(a){a.any="any",a.dark="dark",a.light="light"}(p||(p={}));class bk{constructor(){this.auto=!1,this.mode=p.any,this.value=!1}load(a){$(a)||(void 0!==a.auto&&(this.auto=a.auto),void 0!==a.mode&&(this.mode=a.mode),void 0!==a.value&&(this.value=a.value))}}class bl{constructor(){this.name="",this.default=new bk}load(a){$(a)||(void 0!==a.name&&(this.name=a.name),this.default.load(a.default),void 0!==a.options&&(this.options=az({},a.options)))}}class bm{constructor(){this.count=0,this.enable=!1,this.speed=1,this.decay=0,this.delay=0,this.sync=!1}load(a){$(a)||(void 0!==a.count&&(this.count=ak(a.count)),void 0!==a.enable&&(this.enable=a.enable),void 0!==a.speed&&(this.speed=ak(a.speed)),void 0!==a.decay&&(this.decay=ak(a.decay)),void 0!==a.delay&&(this.delay=ak(a.delay)),void 0!==a.sync&&(this.sync=a.sync))}}class bn extends bm{constructor(){super(),this.mode=e.auto,this.startValue=j.random}load(a){super.load(a),$(a)||(void 0!==a.mode&&(this.mode=a.mode),void 0!==a.startValue&&(this.startValue=a.startValue))}}class bo extends bm{constructor(){super(),this.offset=0,this.sync=!0}load(a){super.load(a),$(a)||void 0!==a.offset&&(this.offset=ak(a.offset))}}class bp{constructor(){this.h=new bo,this.s=new bo,this.l=new bo}load(a){$(a)||(this.h.load(a.h),this.s.load(a.s),this.l.load(a.l))}}class bq extends a5{constructor(){super(),this.animation=new bp}static create(a,b){let c=new bq;return c.load(a),void 0!==b&&(W(b)||Z(b)?c.load({value:b}):c.load(b)),c}load(a){if(super.load(a),$(a))return;let b=a.animation;void 0!==b&&(void 0!==b.enable?this.animation.h.load(b):this.animation.load(a.animation))}}!function(a){a.absorb="absorb",a.bounce="bounce",a.destroy="destroy"}(q||(q={}));class br{constructor(){this.speed=2}load(a){$(a)||void 0!==a.speed&&(this.speed=a.speed)}}class bs{constructor(){this.enable=!0,this.retries=0}load(a){$(a)||(void 0!==a.enable&&(this.enable=a.enable),void 0!==a.retries&&(this.retries=a.retries))}}class bt{constructor(){this.value=0}load(a){!$(a)&&($(a.value)||(this.value=ak(a.value)))}}class bu extends bt{constructor(){super(),this.animation=new bm}load(a){if(super.load(a),$(a))return;let b=a.animation;void 0!==b&&this.animation.load(b)}}class bv extends bu{constructor(){super(),this.animation=new bn}load(a){super.load(a)}}class bw extends bt{constructor(){super(),this.value=1}}class bx{constructor(){this.horizontal=new bw,this.vertical=new bw}load(a){$(a)||(this.horizontal.load(a.horizontal),this.vertical.load(a.vertical))}}class by{constructor(){this.absorb=new br,this.bounce=new bx,this.enable=!1,this.maxSpeed=50,this.mode=q.bounce,this.overlap=new bs}load(a){$(a)||(this.absorb.load(a.absorb),this.bounce.load(a.bounce),void 0!==a.enable&&(this.enable=a.enable),void 0!==a.maxSpeed&&(this.maxSpeed=ak(a.maxSpeed)),void 0!==a.mode&&(this.mode=a.mode),this.overlap.load(a.overlap))}}class bz{constructor(){this.close=!0,this.fill=!0,this.options={},this.type=[]}load(a){if($(a))return;let b=a.options;if(void 0!==b)for(let a in b){let c=b[a];c&&(this.options[a]=az(this.options[a]??{},c))}void 0!==a.close&&(this.close=a.close),void 0!==a.fill&&(this.fill=a.fill),void 0!==a.type&&(this.type=a.type)}}class bA{constructor(){this.offset=0,this.value=90}load(a){$(a)||(void 0!==a.offset&&(this.offset=ak(a.offset)),void 0!==a.value&&(this.value=ak(a.value)))}}class bB{constructor(){this.distance=200,this.enable=!1,this.rotate={x:3e3,y:3e3}}load(a){if(!$(a)&&(void 0!==a.distance&&(this.distance=ak(a.distance)),void 0!==a.enable&&(this.enable=a.enable),a.rotate)){let b=a.rotate.x;void 0!==b&&(this.rotate.x=b);let c=a.rotate.y;void 0!==c&&(this.rotate.y=c)}}}class bC{constructor(){this.x=50,this.y=50,this.mode=i.percent,this.radius=0}load(a){$(a)||(void 0!==a.x&&(this.x=a.x),void 0!==a.y&&(this.y=a.y),void 0!==a.mode&&(this.mode=a.mode),void 0!==a.radius&&(this.radius=a.radius))}}class bD{constructor(){this.acceleration=9.81,this.enable=!1,this.inverse=!1,this.maxSpeed=50}load(a){$(a)||(void 0!==a.acceleration&&(this.acceleration=ak(a.acceleration)),void 0!==a.enable&&(this.enable=a.enable),void 0!==a.inverse&&(this.inverse=a.inverse),void 0!==a.maxSpeed&&(this.maxSpeed=ak(a.maxSpeed)))}}class bE{constructor(){this.clamp=!0,this.delay=new bt,this.enable=!1,this.options={}}load(a){!$(a)&&(void 0!==a.clamp&&(this.clamp=a.clamp),this.delay.load(a.delay),void 0!==a.enable&&(this.enable=a.enable),this.generator=a.generator,a.options&&(this.options=az(this.options,a.options)))}}class bF{load(a){$(a)||(void 0!==a.color&&(this.color=a5.create(this.color,a.color)),void 0!==a.image&&(this.image=a.image))}}class bG{constructor(){this.enable=!1,this.length=10,this.fill=new bF}load(a){$(a)||(void 0!==a.enable&&(this.enable=a.enable),void 0!==a.fill&&this.fill.load(a.fill),void 0!==a.length&&(this.length=a.length))}}!function(a){a.bounce="bounce",a.none="none",a.out="out",a.destroy="destroy",a.split="split"}(r||(r={}));class bH{constructor(){this.default=r.out}load(a){$(a)||(void 0!==a.default&&(this.default=a.default),this.bottom=a.bottom??a.default,this.left=a.left??a.default,this.right=a.right??a.default,this.top=a.top??a.default)}}class bI{constructor(){this.acceleration=0,this.enable=!1}load(a){!$(a)&&(void 0!==a.acceleration&&(this.acceleration=ak(a.acceleration)),void 0!==a.enable&&(this.enable=a.enable),a.position&&(this.position=az({},a.position)))}}class bJ{constructor(){this.angle=new bA,this.attract=new bB,this.center=new bC,this.decay=0,this.distance={},this.direction=d.none,this.drift=0,this.enable=!1,this.gravity=new bD,this.path=new bE,this.outModes=new bH,this.random=!1,this.size=!1,this.speed=2,this.spin=new bI,this.straight=!1,this.trail=new bG,this.vibrate=!1,this.warp=!1}load(a){if($(a))return;this.angle.load(X(a.angle)?{value:a.angle}:a.angle),this.attract.load(a.attract),this.center.load(a.center),void 0!==a.decay&&(this.decay=ak(a.decay)),void 0!==a.direction&&(this.direction=a.direction),void 0!==a.distance&&(this.distance=X(a.distance)?{horizontal:a.distance,vertical:a.distance}:{...a.distance}),void 0!==a.drift&&(this.drift=ak(a.drift)),void 0!==a.enable&&(this.enable=a.enable),this.gravity.load(a.gravity);let b=a.outModes;void 0!==b&&(Y(b)?this.outModes.load(b):this.outModes.load({default:b})),this.path.load(a.path),void 0!==a.random&&(this.random=a.random),void 0!==a.size&&(this.size=a.size),void 0!==a.speed&&(this.speed=ak(a.speed)),this.spin.load(a.spin),void 0!==a.straight&&(this.straight=a.straight),this.trail.load(a.trail),void 0!==a.vibrate&&(this.vibrate=a.vibrate),void 0!==a.warp&&(this.warp=a.warp)}}class bK extends bn{constructor(){super(),this.destroy=g.none,this.speed=2}load(a){super.load(a),$(a)||void 0!==a.destroy&&(this.destroy=a.destroy)}}class bL extends bv{constructor(){super(),this.animation=new bK,this.value=1}load(a){if($(a))return;super.load(a);let b=a.animation;void 0!==b&&this.animation.load(b)}}class bM{constructor(){this.enable=!1,this.width=1920,this.height=1080}load(a){if($(a))return;void 0!==a.enable&&(this.enable=a.enable);let b=a.width;void 0!==b&&(this.width=b);let c=a.height;void 0!==c&&(this.height=c)}}!function(a){a.delete="delete",a.wait="wait"}(s||(s={}));class bN{constructor(){this.mode=s.delete,this.value=0}load(a){$(a)||(void 0!==a.mode&&(this.mode=a.mode),void 0!==a.value&&(this.value=a.value))}}class bO{constructor(){this.density=new bM,this.limit=new bN,this.value=0}load(a){$(a)||(this.density.load(a.density),this.limit.load(a.limit),void 0!==a.value&&(this.value=a.value))}}class bP{constructor(){this.blur=0,this.color=new a5,this.enable=!1,this.offset={x:0,y:0},this.color.value="#000"}load(a){$(a)||(void 0!==a.blur&&(this.blur=a.blur),this.color=a5.create(this.color,a.color),void 0!==a.enable&&(this.enable=a.enable),void 0!==a.offset&&(void 0!==a.offset.x&&(this.offset.x=a.offset.x),void 0!==a.offset.y&&(this.offset.y=a.offset.y)))}}class bQ{constructor(){this.close=!0,this.fill=!0,this.options={},this.type="circle"}load(a){if($(a))return;let b=a.options;if(void 0!==b)for(let a in b){let c=b[a];c&&(this.options[a]=az(this.options[a]??{},c))}void 0!==a.close&&(this.close=a.close),void 0!==a.fill&&(this.fill=a.fill),void 0!==a.type&&(this.type=a.type)}}class bR extends bn{constructor(){super(),this.destroy=g.none,this.speed=5}load(a){super.load(a),$(a)||void 0!==a.destroy&&(this.destroy=a.destroy)}}class bS extends bv{constructor(){super(),this.animation=new bR,this.value=3}load(a){if(super.load(a),$(a))return;let b=a.animation;void 0!==b&&this.animation.load(b)}}class bT{constructor(){this.width=0}load(a){$(a)||(void 0!==a.color&&(this.color=bq.create(this.color,a.color)),void 0!==a.width&&(this.width=ak(a.width)),void 0!==a.opacity&&(this.opacity=ak(a.opacity)))}}class bU extends bt{constructor(){super(),this.opacityRate=1,this.sizeRate=1,this.velocityRate=1}load(a){super.load(a),$(a)||(void 0!==a.opacityRate&&(this.opacityRate=a.opacityRate),void 0!==a.sizeRate&&(this.sizeRate=a.sizeRate),void 0!==a.velocityRate&&(this.velocityRate=a.velocityRate))}}class bV{constructor(a,b){this._engine=a,this._container=b,this.bounce=new bx,this.collisions=new by,this.color=new bq,this.color.value="#fff",this.effect=new bz,this.groups={},this.move=new bJ,this.number=new bO,this.opacity=new bL,this.reduceDuplicates=!1,this.shadow=new bP,this.shape=new bQ,this.size=new bS,this.stroke=new bT,this.zIndex=new bU}load(a){if($(a))return;if(void 0!==a.groups)for(let b of Object.keys(a.groups)){if(!Object.hasOwn(a.groups,b))continue;let c=a.groups[b];void 0!==c&&(this.groups[b]=az(this.groups[b]??{},c))}void 0!==a.reduceDuplicates&&(this.reduceDuplicates=a.reduceDuplicates),this.bounce.load(a.bounce),this.color.load(bq.create(this.color,a.color)),this.effect.load(a.effect),this.move.load(a.move),this.number.load(a.number),this.opacity.load(a.opacity),this.shape.load(a.shape),this.size.load(a.size),this.shadow.load(a.shadow),this.zIndex.load(a.zIndex),this.collisions.load(a.collisions),void 0!==a.interactivity&&(this.interactivity=az({},a.interactivity));let b=a.stroke;if(b&&(this.stroke=aF(b,a=>{let b=new bT;return b.load(a),b})),this._container){let b=this._engine.updaters.get(this._container);if(b)for(let c of b)c.loadOptions&&c.loadOptions(this,a);let c=this._engine.interactors.get(this._container);if(c)for(let b of c)b.loadParticlesOptions&&b.loadParticlesOptions(this,a)}}}function bW(a,...b){for(let c of b)a.load(c)}function bX(a,b,...c){let d=new bV(a,b);return bW(d,...c),d}class bY{constructor(a,b){this._findDefaultTheme=a=>this.themes.find(b=>b.default.value&&b.default.mode===a)??this.themes.find(a=>a.default.value&&a.default.mode===p.any),this._importPreset=a=>{this.load(this._engine.getPreset(a))},this._engine=a,this._container=b,this.autoPlay=!0,this.background=new a6,this.backgroundMask=new a8,this.clear=!0,this.defaultThemes={},this.delay=0,this.fullScreen=new a9,this.detectRetina=!0,this.duration=0,this.fpsLimit=120,this.interactivity=new bh(a,b),this.manualParticles=[],this.particles=bX(this._engine,this._container),this.pauseOnBlur=!0,this.pauseOnOutsideViewport=!0,this.responsive=[],this.smooth=!1,this.style={},this.themes=[],this.zLayers=100}load(a){if($(a))return;void 0!==a.preset&&aF(a.preset,a=>this._importPreset(a)),void 0!==a.autoPlay&&(this.autoPlay=a.autoPlay),void 0!==a.clear&&(this.clear=a.clear),void 0!==a.key&&(this.key=a.key),void 0!==a.name&&(this.name=a.name),void 0!==a.delay&&(this.delay=ak(a.delay));let b=a.detectRetina;void 0!==b&&(this.detectRetina=b),void 0!==a.duration&&(this.duration=ak(a.duration));let c=a.fpsLimit;void 0!==c&&(this.fpsLimit=c),void 0!==a.pauseOnBlur&&(this.pauseOnBlur=a.pauseOnBlur),void 0!==a.pauseOnOutsideViewport&&(this.pauseOnOutsideViewport=a.pauseOnOutsideViewport),void 0!==a.zLayers&&(this.zLayers=a.zLayers),this.background.load(a.background);let d=a.fullScreen;V(d)?this.fullScreen.enable=d:this.fullScreen.load(d),this.backgroundMask.load(a.backgroundMask),this.interactivity.load(a.interactivity),a.manualParticles&&(this.manualParticles=a.manualParticles.map(a=>{let b=new bi;return b.load(a),b})),this.particles.load(a.particles),this.style=az(this.style,a.style),this._engine.loadOptions(this,a),void 0!==a.smooth&&(this.smooth=a.smooth);let e=this._engine.interactors.get(this._container);if(e)for(let b of e)b.loadOptions&&b.loadOptions(this,a);if(void 0!==a.responsive)for(let b of a.responsive){let a=new bj;a.load(b),this.responsive.push(a)}if(this.responsive.sort((a,b)=>a.maxWidth-b.maxWidth),void 0!==a.themes)for(let b of a.themes){let a=this.themes.find(a=>a.name===b.name);if(a)a.load(b);else{let a=new bl;a.load(b),this.themes.push(a)}}this.defaultThemes.dark=this._findDefaultTheme(p.dark)?.name,this.defaultThemes.light=this._findDefaultTheme(p.light)?.name}setResponsive(a,b,c){this.load(c);let d=this.responsive.find(c=>c.mode===o.screen&&screen?c.maxWidth>screen.availWidth:c.maxWidth*b>a);return this.load(d?.options),d?.maxWidth}setTheme(a){if(a){let b=this.themes.find(b=>b.name===a);b&&this.load(b.options)}else{let a=at("(prefers-color-scheme: dark)"),b=a?.matches,c=this._findDefaultTheme(b?p.dark:p.light);c&&this.load(c.options)}}}!function(a){a.external="external",a.particles="particles"}(t||(t={}));class bZ{constructor(a,b){this.container=b,this._engine=a,this._interactors=[],this._externalInteractors=[],this._particleInteractors=[]}externalInteract(a){for(let b of this._externalInteractors)b.isEnabled()&&b.interact(a)}handleClickMode(a){for(let b of this._externalInteractors)b.handleClickMode?.(a)}async init(){for(let a of(this._interactors=await this._engine.getInteractors(this.container,!0),this._externalInteractors=[],this._particleInteractors=[],this._interactors)){switch(a.type){case t.external:this._externalInteractors.push(a);break;case t.particles:this._particleInteractors.push(a)}a.init()}}particlesInteract(a,b){for(let c of this._externalInteractors)c.clear(a,b);for(let c of this._particleInteractors)c.isEnabled(a)&&c.interact(a,b)}reset(a){for(let b of this._externalInteractors)b.isEnabled()&&b.reset(a);for(let b of this._particleInteractors)b.isEnabled(a)&&b.reset(a)}}function b$(a){if(!au(a.outMode,a.checkModes))return;let b=2*a.radius;a.coord>a.maxCoord-b?a.setCb(-a.radius):a.coord<b&&a.setCb(a.radius)}!function(a){a.normal="normal",a.inside="inside",a.outside="outside"}(u||(u={}));class b_{constructor(a,b){this.container=b,this._calcPosition=(a,b,c,d=U)=>{for(let d of a.plugins.values()){let a=void 0!==d.particlePosition?d.particlePosition(b,this):void 0;if(a)return _.create(a.x,a.y,c)}let e=function(a){return{x:a.position?.x??ad()*a.size.width,y:a.position?.y??ad()*a.size.height}}({size:a.canvas.size,position:b}),f=_.create(e.x,e.y,c),g=this.getRadius(),h=this.options.move.outModes,i=b=>{b$({outMode:b,checkModes:[r.bounce],coord:f.x,maxCoord:a.canvas.size.width,setCb:a=>f.x+=a,radius:g})},j=b=>{b$({outMode:b,checkModes:[r.bounce],coord:f.y,maxCoord:a.canvas.size.height,setCb:a=>f.y+=a,radius:g})};return(i(h.left??h.default),i(h.right??h.default),j(h.top??h.default),j(h.bottom??h.default),this._checkOverlap(f,d))?this._calcPosition(a,void 0,c,d+1):f},this._calculateVelocity=()=>{let a=(function(a){let b=aa.origin;return b.length=1,b.angle=a,b})(this.direction).copy(),b=this.options.move;if(b.direction===d.inside||b.direction===d.outside)return a;let c=an(ah(b.angle.value)),e=an(ah(b.angle.offset)),f={left:e-.5*c,right:e+.5*c};return b.straight||(a.angle+=ag(ak(f.left,f.right))),b.random&&"number"==typeof b.speed&&(a.length*=ad()),a},this._checkOverlap=(a,b=U)=>{let c=this.options.collisions,d=this.getRadius();if(!c.enable)return!1;let e=c.overlap;if(e.enable)return!1;let f=e.retries;if(f>=0&&b>f)throw Error(`${M} particle is overlapping and can't be placed`);return!!this.container.particles.find(b=>am(a,b.position)<d+b.getRadius())},this._getRollColor=a=>{if(!a||!this.roll||!this.backColor&&!this.roll.alter)return a;let b=this.roll.horizontal&&this.roll.vertical?2:1,c=this.roll.horizontal?.5*Math.PI:0;return Math.floor(((this.roll.angle??0)+c)/(Math.PI/b))%2?this.backColor?this.backColor:this.roll.alter?function(a,b,c){return{h:a.h,s:a.s,l:a.l+(b===k.darken?-1:1)*c}}(a,this.roll.alter.type,this.roll.alter.value):a:a},this._initPosition=a=>{let b=this.container,c=ah(this.options.zIndex.value);this.position=this._calcPosition(b,a,ae(c,0,b.zLayers)),this.initialPosition=this.position.copy();let e=b.canvas.size;switch(this.moveCenter={...aJ(this.options.move.center,e),radius:this.options.move.center.radius??0,mode:this.options.move.center.mode??i.percent},this.direction=function(a,b,c){if(X(a))return an(a);switch(a){case d.top:return-(.5*Math.PI);case d.topRight:return-(.25*Math.PI);case d.right:return 0;case d.bottomRight:return .25*Math.PI;case d.bottom:return .5*Math.PI;case d.bottomLeft:return .75*Math.PI;case d.left:return Math.PI;case d.topLeft:return-(.75*Math.PI);case d.inside:return Math.atan2(c.y-b.y,c.x-b.x);case d.outside:return Math.atan2(b.y-c.y,b.x-c.x);default:return ad()*Q}}(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case d.inside:this.outType=u.inside;break;case d.outside:this.outType=u.outside}this.offset=aa.origin},this._engine=a}destroy(a){if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1,this.slow.inRange=!1;let b=this.container,c=this.pathGenerator,d=b.shapeDrawers.get(this.shape);for(let c of(d?.particleDestroy?.(this),b.plugins.values()))c.particleDestroyed?.(this,a);for(let c of b.particles.updaters)c.particleDestroyed?.(this,a);c?.reset(this),this._engine.dispatchEvent(m.particleDestroyed,{container:this.container,data:{particle:this}})}draw(a){let b=this.container,c=b.canvas;for(let d of b.plugins.values())c.drawParticlePlugin(d,this,a);c.drawParticle(this,a)}getFillColor(){return this._getRollColor(this.bubble.color??aW(this.color))}getMass(){return this.getRadius()**2*Math.PI*.5}getPosition(){return{x:this.position.x+this.offset.x,y:this.position.y+this.offset.y,z:this.position.z}}getRadius(){return this.bubble.radius??this.size.value}getStrokeColor(){return this._getRollColor(this.bubble.color??aW(this.strokeColor))}init(a,b,c,d){let e=this.container,f=this._engine;this.id=a,this.group=d,this.effectClose=!0,this.effectFill=!0,this.shapeClose=!0,this.shapeFill=!0,this.pathRotation=!1,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.isRotating=!1,this.rotation=0,this.misplaced=!1,this.retina={maxDistance:{}},this.outType=u.normal,this.ignoresResizeRatio=!0;let g=e.retina.pixelRatio,h=e.actualOptions,i=bX(this._engine,e,h.particles),{reduceDuplicates:j}=i,k=i.effect.type,l=i.shape.type;this.effect=aG(k,this.id,j),this.shape=aG(l,this.id,j);let m=i.effect,n=i.shape;if(c){if(c.effect?.type){let a=aG(c.effect.type,this.id,j);a&&(this.effect=a,m.load(c.effect))}if(c.shape?.type){let a=aG(c.shape.type,this.id,j);a&&(this.shape=a,n.load(c.shape))}}if(this.effect===P){let a=[...this.container.effectDrawers.keys()];this.effect=a[Math.floor(ad()*a.length)]}if(this.shape===P){let a=[...this.container.shapeDrawers.keys()];this.shape=a[Math.floor(ad()*a.length)]}this.effectData=function(a,b,c,d){let e=b.options[a];if(e)return az({close:b.close,fill:b.fill},aG(e,c,d))}(this.effect,m,this.id,j),this.shapeData=function(a,b,c,d){let e=b.options[a];if(e)return az({close:b.close,fill:b.fill},aG(e,c,d))}(this.shape,n,this.id,j),i.load(c);let o=this.effectData;o&&i.load(o.particles);let p=this.shapeData;p&&i.load(p.particles);let q=new bh(f,e);q.load(e.actualOptions.interactivity),q.load(i.interactivity),this.interactivity=q,this.effectFill=o?.fill??i.effect.fill,this.effectClose=o?.close??i.effect.close,this.shapeFill=p?.fill??i.shape.fill,this.shapeClose=p?.close??i.shape.close,this.options=i;let r=this.options.move.path;this.pathDelay=1e3*ah(r.delay.value),r.generator&&(this.pathGenerator=this._engine.getPathGenerator(r.generator),this.pathGenerator&&e.addPath(r.generator,this.pathGenerator)&&this.pathGenerator.init(e)),e.retina.initParticle(this),this.size=aI(this.options.size,g),this.bubble={inRange:!1},this.slow={inRange:!1,factor:1},this._initPosition(b),this.initialVelocity=this._calculateVelocity(),this.velocity=this.initialVelocity.copy(),this.moveDecay=1-ah(this.options.move.decay);let s=e.particles;s.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/e.zLayers,this.sides=24;let t=e.effectDrawers.get(this.effect);!t&&(t=this._engine.getEffectDrawer(this.effect))&&e.effectDrawers.set(this.effect,t),t?.loadEffect&&t.loadEffect(this);let v=e.shapeDrawers.get(this.shape);!v&&(v=this._engine.getShapeDrawer(this.shape))&&e.shapeDrawers.set(this.shape,v),v?.loadShape&&v.loadShape(this);let w=v?.getSidesCount;for(let a of(w&&(this.sides=w(this)),this.spawning=!1,this.shadowColor=aM(this._engine,this.options.shadow.color),s.updaters))a.init(this);for(let a of s.movers)a.init?.(this);for(let a of(t?.particleInit?.(e,this),v?.particleInit?.(e,this),e.plugins.values()))a.particleCreated?.(this)}isInsideCanvas(){let a=this.getRadius(),b=this.container.canvas.size,c=this.position;return c.x>=-a&&c.y>=-a&&c.y<=b.height+a&&c.x<=b.width+a}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){for(let a of this.container.particles.updaters)a.reset?.(this)}}class b0{constructor(a,b){this.position=a,this.particle=b}}!function(a){a.circle="circle",a.rectangle="rectangle"}(v||(v={}));class b1{constructor(a,b,c){this.position={x:a,y:b},this.type=c}}class b2 extends b1{constructor(a,b,c){super(a,b,v.circle),this.radius=c}contains(a){return am(a,this.position)<=this.radius}intersects(a){let b=this.position,c=a.position,d={x:Math.abs(c.x-b.x),y:Math.abs(c.y-b.y)},e=this.radius;if(a instanceof b2||a.type===v.circle)return e+a.radius>Math.sqrt(d.x**2+d.y**2);if(a instanceof b3||a.type===v.rectangle){let{width:b,height:c}=a.size;return Math.pow(d.x-b,2)+Math.pow(d.y-c,2)<=e**2||d.x<=e+b&&d.y<=e+c||d.x<=b||d.y<=c}return!1}}class b3 extends b1{constructor(a,b,c,d){super(a,b,v.rectangle),this.size={height:d,width:c}}contains(a){let b=this.size.width,c=this.size.height,d=this.position;return a.x>=d.x&&a.x<=d.x+b&&a.y>=d.y&&a.y<=d.y+c}intersects(a){if(a instanceof b2)return a.intersects(this);let b=this.size.width,c=this.size.height,d=this.position,e=a.position,f=a instanceof b3?a.size:{width:0,height:0},g=f.width,h=f.height;return e.x<d.x+b&&e.x+g>d.x&&e.y<d.y+c&&e.y+h>d.y}}class b4{constructor(a,b){this.rectangle=a,this.capacity=b,this._subdivide=()=>{let{x:a,y:b}=this.rectangle.position,{width:c,height:d}=this.rectangle.size,{capacity:e}=this;for(let f=0;f<4;f++){let g=f%2;this._subs.push(new b4(new b3(a+.5*c*g,b+.5*d*(Math.round(.5*f)-g),.5*c,.5*d),e))}this._divided=!0},this._points=[],this._divided=!1,this._subs=[]}insert(a){return!!this.rectangle.contains(a.position)&&(this._points.length<this.capacity?(this._points.push(a),!0):(this._divided||this._subdivide(),this._subs.some(b=>b.insert(a))))}query(a,b){let c=[];if(!a.intersects(this.rectangle))return[];for(let d of this._points)!a.contains(d.position)&&am(a.position,d.position)>d.particle.getRadius()&&(!b||b(d.particle))||c.push(d.particle);if(this._divided)for(let d of this._subs)c.push(...d.query(a,b));return c}queryCircle(a,b,c){return this.query(new b2(a.x,a.y,b),c)}queryRectangle(a,b,c){return this.query(new b3(a.x,a.y,b.width,b.height),c)}}let b5=a=>{let{height:b,width:c}=a;return new b3(-.25*c,-.25*b,1.5*c,1.5*b)};class b6{constructor(a,b){this._addToPool=(...a)=>{this._pool.push(...a)},this._applyDensity=(a,b,c,d)=>{let e=a.number;if(!a.number.density?.enable)return void(void 0===c?this._limit=e.limit.value:(d?.number.limit?.value??e.limit.value)&&this._groupLimits.set(c,d?.number.limit?.value??e.limit.value));let f=this._initDensityFactor(e.density),g=e.value,h=e.limit.value>0?e.limit.value:g,i=Math.min(g,h)*f+b,j=Math.min(this.count,this.filter(a=>a.group===c).length);void 0===c?this._limit=e.limit.value*f:this._groupLimits.set(c,e.limit.value*f),j<i?this.push(Math.abs(i-j),void 0,a,c):j>i&&this.removeQuantity(j-i,c)},this._initDensityFactor=a=>{let b=this._container;if(!b.canvas.element||!a.enable)return 1;let c=b.canvas.element,d=b.retina.pixelRatio;return c.width*c.height/(a.height*a.width*d**2)},this._pushParticle=(a,b,c,d)=>{try{let e=this._pool.pop();e||(e=new b_(this._engine,this._container)),e.init(this._nextId,a,b,c);let f=!0;if(d&&(f=d(e)),!f)return;return this._array.push(e),this._zArray.push(e),this._nextId++,this._engine.dispatchEvent(m.particleAdded,{container:this._container,data:{particle:e}}),e}catch(a){aq.warning(`${M} adding particle: ${a}`)}},this._removeParticle=(a,b,c)=>{let d=this._array[a];if(!d||d.group!==b)return!1;let e=this._zArray.indexOf(d);return this._array.splice(a,1),this._zArray.splice(e,1),d.destroy(c),this._engine.dispatchEvent(m.particleRemoved,{container:this._container,data:{particle:d}}),this._addToPool(d),!0},this._engine=a,this._container=b,this._nextId=0,this._array=[],this._zArray=[],this._pool=[],this._limit=0,this._groupLimits=new Map,this._needsSort=!1,this._lastZIndex=0,this._interactionManager=new bZ(a,b),this._pluginsInitialized=!1;let c=b.canvas.size;this.quadTree=new b4(b5(c),4),this.movers=[],this.updaters=[]}get count(){return this._array.length}addManualParticles(){let a=this._container;a.actualOptions.manualParticles.forEach(b=>this.addParticle(b.position?aJ(b.position,a.canvas.size):void 0,b.options))}addParticle(a,b,c,d){let e=this._container.actualOptions.particles.number.limit.mode,f=void 0===c?this._limit:this._groupLimits.get(c)??this._limit,g=this.count;if(f>0)switch(e){case s.delete:{let a=g+1-f;a>0&&this.removeQuantity(a);break}case s.wait:if(g>=f)return}return this._pushParticle(a,b,c,d)}clear(){this._array=[],this._zArray=[],this._pluginsInitialized=!1}destroy(){this._array=[],this._zArray=[],this.movers=[],this.updaters=[]}draw(a){let b=this._container,c=b.canvas;for(let d of(c.clear(),this.update(a),b.plugins.values()))c.drawPlugin(d,a);for(let b of this._zArray)b.draw(a)}filter(a){return this._array.filter(a)}find(a){return this._array.find(a)}get(a){return this._array[a]}handleClickMode(a){this._interactionManager.handleClickMode(a)}async init(){let a=this._container,b=a.actualOptions;this._lastZIndex=0,this._needsSort=!1,await this.initPlugins();let c=!1;for(let b of a.plugins.values())if(c=b.particlesInitialization?.()??c)break;if(this.addManualParticles(),!c){let a=b.particles,c=a.groups;for(let b in c){let d=c[b];for(let c=this.count,e=0;e<d.number?.value&&c<a.number.value;c++,e++)this.addParticle(void 0,d,b)}for(let b=this.count;b<a.number.value;b++)this.addParticle()}}async initPlugins(){if(this._pluginsInitialized)return;let a=this._container;for(let b of(this.movers=await this._engine.getMovers(a,!0),this.updaters=await this._engine.getUpdaters(a,!0),await this._interactionManager.init(),a.pathGenerators.values()))b.init(a)}push(a,b,c,d){for(let e=0;e<a;e++)this.addParticle(b?.position,c,d)}async redraw(){this.clear(),await this.init(),this.draw({value:0,factor:0})}remove(a,b,c){this.removeAt(this._array.indexOf(a),void 0,b,c)}removeAt(a,b=1,c,d){if(a<0||a>this.count)return;let e=0;for(let f=a;e<b&&f<this.count;f++)this._removeParticle(f,c,d)&&(f--,e++)}removeQuantity(a,b){this.removeAt(0,a,b)}setDensity(){let a=this._container.actualOptions,b=a.particles.groups,c=a.manualParticles.length;for(let a in b)this._applyDensity(b[a],c,a);this._applyDensity(a.particles,c)}setLastZIndex(a){this._lastZIndex=a,this._needsSort=this._needsSort||this._lastZIndex<a}setResizeFactor(a){this._resizeFactor=a}update(a){let b=this._container,c=new Set;for(let a of(this.quadTree=new b4(b5(b.canvas.size),4),b.pathGenerators.values()))a.update();for(let c of b.plugins.values())c.update?.(a);let d=this._resizeFactor;for(let b of this._array){for(let c of(d&&!b.ignoresResizeRatio&&(b.position.x*=d.width,b.position.y*=d.height,b.initialPosition.x*=d.width,b.initialPosition.y*=d.height),b.ignoresResizeRatio=!1,this._interactionManager.reset(b),this._container.plugins.values())){if(b.destroyed)break;c.particleUpdate?.(b,a)}for(let c of this.movers)c.isEnabled(b)&&c.move(b,a);if(b.destroyed){c.add(b);continue}this.quadTree.insert(new b0(b.getPosition(),b))}if(c.size){let a=a=>!c.has(a);for(let b of(this._array=this.filter(a),this._zArray=this._zArray.filter(a),c))this._engine.dispatchEvent(m.particleRemoved,{container:this._container,data:{particle:b}});this._addToPool(...c)}for(let b of(this._interactionManager.externalInteract(a),this._array)){for(let c of this.updaters)c.update(b,a);b.destroyed||b.spawning||this._interactionManager.particlesInteract(b,a)}if(delete this._resizeFactor,this._needsSort){let a=this._zArray;a.sort((a,b)=>b.position.z-a.position.z||a.id-b.id),this._lastZIndex=a[a.length-1].position.z,this._needsSort=!1}}}class b7{constructor(a){this.container=a,this.pixelRatio=1,this.reduceFactor=1}init(){let a=this.container,b=a.actualOptions;this.pixelRatio=!b.detectRetina||as()?1:devicePixelRatio,this.reduceFactor=1;let c=this.pixelRatio,d=a.canvas;if(d.element){let a=d.element;d.size.width=a.offsetWidth*c,d.size.height=a.offsetHeight*c}let e=b.particles,f=e.move;this.maxSpeed=ah(f.gravity.maxSpeed)*c,this.sizeAnimationSpeed=ah(e.size.animation.speed)*c}initParticle(a){let b=a.options,c=this.pixelRatio,d=b.move,e=d.distance,f=a.retina;f.moveDrift=ah(d.drift)*c,f.moveSpeed=ah(d.speed)*c,f.sizeAnimationSpeed=ah(b.size.animation.speed)*c;let g=f.maxDistance;g.horizontal=void 0!==e.horizontal?e.horizontal*c:void 0,g.vertical=void 0!==e.vertical?e.vertical*c:void 0,f.maxSpeed=ah(d.gravity.maxSpeed)*c}}function b8(a){return a&&!a.destroyed}function b9(a,b,...c){let d=new bY(a,b);return bW(d,...c),d}class ca{constructor(a,b,c){this._intersectionManager=a=>{if(b8(this)&&this.actualOptions.pauseOnOutsideViewport)for(let b of a)b.target===this.interactivity.element&&(b.isIntersecting?this.play():this.pause())},this._nextFrame=a=>{try{if(!this._smooth&&void 0!==this._lastFrameTime&&a<this._lastFrameTime+1e3/this.fpsLimit)return void this.draw(!1);this._lastFrameTime??=a;let b=function(a,b=60,c=!1){return{value:a,factor:c?60/b:60*a/1e3}}(a-this._lastFrameTime,this.fpsLimit,this._smooth);if(this.addLifeTime(b.value),this._lastFrameTime=a,b.value>1e3)return void this.draw(!1);if(this.particles.draw(b),!this.alive())return void this.destroy();this.animationStatus&&this.draw(!1)}catch(a){aq.error(`${M} in animation loop`,a)}},this._engine=a,this.id=Symbol(b),this.fpsLimit=120,this._smooth=!1,this._delay=0,this._duration=0,this._lifeTime=0,this._firstStart=!0,this.started=!1,this.destroyed=!1,this._paused=!0,this._lastFrameTime=0,this.zLayers=100,this.pageHidden=!1,this._clickHandlers=new Map,this._sourceOptions=c,this._initialSourceOptions=c,this.retina=new b7(this),this.canvas=new a2(this,this._engine),this.particles=new b6(this._engine,this),this.pathGenerators=new Map,this.interactivity={mouse:{clicking:!1,inside:!1}},this.plugins=new Map,this.effectDrawers=new Map,this.shapeDrawers=new Map,this._options=b9(this._engine,this),this.actualOptions=b9(this._engine,this),this._eventListeners=new a4(this),this._intersectionObserver=function(a){if(!as()&&"undefined"!=typeof IntersectionObserver)return new IntersectionObserver(a)}(a=>this._intersectionManager(a)),this._engine.dispatchEvent(m.containerBuilt,{container:this})}get animationStatus(){return!this._paused&&!this.pageHidden&&b8(this)}get options(){return this._options}get sourceOptions(){return this._sourceOptions}addClickHandler(a){if(!b8(this))return;let b=this.interactivity.element;if(!b)return;let c=(b,c,d)=>{if(!b8(this))return;let e=this.retina.pixelRatio,f={x:c.x*e,y:c.y*e};a(b,this.particles.quadTree.queryCircle(f,d*e))},d=a=>{if(!b8(this))return;let b={x:a.offsetX||a.clientX,y:a.offsetY||a.clientY};c(a,b,1)},e=()=>{b8(this)&&(i=!0,j=!1)},f=()=>{b8(this)&&(j=!0)},g=a=>{if(b8(this)){if(i&&!j){let b=a.touches[a.touches.length-1];if(!b&&!(b=a.changedTouches[a.changedTouches.length-1]))return;let d=this.canvas.element,e=d?d.getBoundingClientRect():void 0;c(a,{x:b.clientX-(e?e.left:0),y:b.clientY-(e?e.top:0)},Math.max(b.radiusX,b.radiusY))}i=!1,j=!1}},h=()=>{b8(this)&&(i=!1,j=!1)},i=!1,j=!1;for(let[a,c]of(this._clickHandlers.set("click",d),this._clickHandlers.set("touchstart",e),this._clickHandlers.set("touchmove",f),this._clickHandlers.set("touchend",g),this._clickHandlers.set("touchcancel",h),this._clickHandlers))b.addEventListener(a,c)}addLifeTime(a){this._lifeTime+=a}addPath(a,b,c=!1){return!(!b8(this)||!c&&this.pathGenerators.has(a))&&(this.pathGenerators.set(a,b),!0)}alive(){return!this._duration||this._lifeTime<=this._duration}clearClickHandlers(){if(b8(this)){for(let[a,b]of this._clickHandlers)this.interactivity.element?.removeEventListener(a,b);this._clickHandlers.clear()}}destroy(a=!0){if(b8(this)){for(let a of(this.stop(),this.clearClickHandlers(),this.particles.destroy(),this.canvas.destroy(),this.effectDrawers.values()))a.destroy?.(this);for(let a of this.shapeDrawers.values())a.destroy?.(this);for(let a of this.effectDrawers.keys())this.effectDrawers.delete(a);for(let a of this.shapeDrawers.keys())this.shapeDrawers.delete(a);if(this._engine.clearPlugins(this),this.destroyed=!0,a){let a=this._engine.items,b=a.findIndex(a=>a===this);b>=0&&a.splice(b,1)}this._engine.dispatchEvent(m.containerDestroyed,{container:this})}}draw(a){var b;if(!b8(this))return;let c=a,d=a=>{c&&(this._lastFrameTime=void 0,c=!1),this._nextFrame(a)};this._drawAnimationFrame=(b=a=>d(a),ac.nextFrame(b))}async export(a,b={}){for(let c of this.plugins.values()){if(!c.export)continue;let d=await c.export(a,b);if(d.supported)return d.blob}aq.error(`${M} - Export plugin with type ${a} not found`)}handleClickMode(a){if(b8(this))for(let b of(this.particles.handleClickMode(a),this.plugins.values()))b.handleClickMode?.(a)}async init(){if(!b8(this))return;for(let a of this._engine.getSupportedEffects()){let b=this._engine.getEffectDrawer(a);b&&this.effectDrawers.set(a,b)}for(let a of this._engine.getSupportedShapes()){let b=this._engine.getShapeDrawer(a);b&&this.shapeDrawers.set(a,b)}for(let[a,b]of(await this.particles.initPlugins(),this._options=b9(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=b9(this._engine,this,this._options),await this._engine.getAvailablePlugins(this)))this.plugins.set(a,b);this.retina.init(),await this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize();let{zLayers:a,duration:b,delay:c,fpsLimit:d,smooth:e}=this.actualOptions;for(let f of(this.zLayers=a,this._duration=1e3*ah(b),this._delay=1e3*ah(c),this._lifeTime=0,this.fpsLimit=d>0?d:120,this._smooth=e,this.effectDrawers.values()))await f.init?.(this);for(let a of this.shapeDrawers.values())await a.init?.(this);for(let a of this.plugins.values())await a.init?.();for(let a of(this._engine.dispatchEvent(m.containerInit,{container:this}),await this.particles.init(),this.particles.setDensity(),this.plugins.values()))a.particlesSetup?.();this._engine.dispatchEvent(m.particlesSetup,{container:this})}async loadTheme(a){b8(this)&&(this._currentTheme=a,await this.refresh())}pause(){if(b8(this)){if(void 0!==this._drawAnimationFrame){var a;a=this._drawAnimationFrame,ac.cancel(a),delete this._drawAnimationFrame}if(!this._paused){for(let a of this.plugins.values())a.pause?.();this.pageHidden||(this._paused=!0),this._engine.dispatchEvent(m.containerPaused,{container:this})}}}play(a){if(!b8(this))return;let b=this._paused||a;if(this._firstStart&&!this.actualOptions.autoPlay){this._firstStart=!1;return}if(this._paused&&(this._paused=!1),b)for(let a of this.plugins.values())a.play&&a.play();this._engine.dispatchEvent(m.containerPlay,{container:this}),this.draw(b??!1)}async refresh(){if(b8(this))return this.stop(),this.start()}async reset(a){if(b8(this))return this._initialSourceOptions=a,this._sourceOptions=a,this._options=b9(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=b9(this._engine,this,this._options),this.refresh()}async start(){b8(this)&&!this.started&&(await this.init(),this.started=!0,await new Promise(a=>{let b=async()=>{for(let a of(this._eventListeners.addListeners(),this.interactivity.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.observe(this.interactivity.element),this.plugins.values()))await a.start?.();this._engine.dispatchEvent(m.containerStarted,{container:this}),this.play(),a()};this._delayTimeout=setTimeout(()=>void b(),this._delay)}))}stop(){if(b8(this)&&this.started){for(let a of(this._delayTimeout&&(clearTimeout(this._delayTimeout),delete this._delayTimeout),this._firstStart=!0,this.started=!1,this._eventListeners.removeListeners(),this.pause(),this.particles.clear(),this.canvas.stop(),this.interactivity.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.unobserve(this.interactivity.element),this.plugins.values()))a.stop?.();for(let a of this.plugins.keys())this.plugins.delete(a);this._sourceOptions=this._options,this._engine.dispatchEvent(m.containerStopped,{container:this})}}updateActualOptions(){this.actualOptions.responsive=[];let a=this.actualOptions.setResponsive(this.canvas.size.width,this.retina.pixelRatio,this._options);return this.actualOptions.setTheme(this._currentTheme),this._responsiveMaxWidth!==a&&(this._responsiveMaxWidth=a,!0)}}class cb{constructor(){this._listeners=new Map}addEventListener(a,b){this.removeEventListener(a,b);let c=this._listeners.get(a);c||(c=[],this._listeners.set(a,c)),c.push(b)}dispatchEvent(a,b){let c=this._listeners.get(a);c?.forEach(a=>a(b))}hasEventListener(a){return!!this._listeners.get(a)}removeAllEventListeners(a){a?this._listeners.delete(a):this._listeners=new Map}removeEventListener(a,b){let c=this._listeners.get(a);if(!c)return;let d=c.length,e=c.indexOf(b);e<0||(1===d?this._listeners.delete(a):c.splice(e,1))}}async function cc(a,b,c,d=!1){let e=b.get(a);return(!e||d)&&(e=await Promise.all([...c.values()].map(b=>b(a))),b.set(a,e)),e}async function cd(a){let b=aG(a.url,a.index);if(!b)return a.fallback;let c=await fetch(b);return c.ok?await c.json():(aq.error(`${M} ${c.status} while retrieving config file`),a.fallback)}class ce{constructor(){this._configs=new Map,this._domArray=[],this._eventDispatcher=new cb,this._initialized=!1,this.plugins=[],this.colorManagers=new Map,this.easingFunctions=new Map,this._initializers={interactors:new Map,movers:new Map,updaters:new Map},this.interactors=new Map,this.movers=new Map,this.updaters=new Map,this.presets=new Map,this.effectDrawers=new Map,this.shapeDrawers=new Map,this.pathGenerators=new Map}get configs(){let a={};for(let[b,c]of this._configs)a[b]=c;return a}get items(){return this._domArray}get version(){return"3.9.1"}async addColorManager(a,b=!0){this.colorManagers.set(a.key,a),await this.refresh(b)}addConfig(a){let b=a.key??a.name??"default";this._configs.set(b,a),this._eventDispatcher.dispatchEvent(m.configAdded,{data:{name:b,config:a}})}async addEasing(a,b,c=!0){this.getEasing(a)||(this.easingFunctions.set(a,b),await this.refresh(c))}async addEffect(a,b,c=!0){aF(a,a=>{this.getEffectDrawer(a)||this.effectDrawers.set(a,b)}),await this.refresh(c)}addEventListener(a,b){this._eventDispatcher.addEventListener(a,b)}async addInteractor(a,b,c=!0){this._initializers.interactors.set(a,b),await this.refresh(c)}async addMover(a,b,c=!0){this._initializers.movers.set(a,b),await this.refresh(c)}async addParticleUpdater(a,b,c=!0){this._initializers.updaters.set(a,b),await this.refresh(c)}async addPathGenerator(a,b,c=!0){this.getPathGenerator(a)||this.pathGenerators.set(a,b),await this.refresh(c)}async addPlugin(a,b=!0){this.getPlugin(a.id)||this.plugins.push(a),await this.refresh(b)}async addPreset(a,b,c=!1,d=!0){(c||!this.getPreset(a))&&this.presets.set(a,b),await this.refresh(d)}async addShape(a,b=!0){for(let b of a.validTypes)this.getShapeDrawer(b)||this.shapeDrawers.set(b,a);await this.refresh(b)}checkVersion(a){if(this.version!==a)throw Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${this.version}. Plugin version: ${a}`)}clearPlugins(a){this.updaters.delete(a),this.movers.delete(a),this.interactors.delete(a)}dispatchEvent(a,b){this._eventDispatcher.dispatchEvent(a,b)}dom(){return this.items}domItem(a){return this.item(a)}async getAvailablePlugins(a){let b=new Map;for(let c of this.plugins)c.needsPlugin(a.actualOptions)&&b.set(c.id,await c.getPlugin(a));return b}getEasing(a){return this.easingFunctions.get(a)??(a=>a)}getEffectDrawer(a){return this.effectDrawers.get(a)}async getInteractors(a,b=!1){return cc(a,this.interactors,this._initializers.interactors,b)}async getMovers(a,b=!1){return cc(a,this.movers,this._initializers.movers,b)}getPathGenerator(a){return this.pathGenerators.get(a)}getPlugin(a){return this.plugins.find(b=>b.id===a)}getPreset(a){return this.presets.get(a)}getShapeDrawer(a){return this.shapeDrawers.get(a)}getSupportedEffects(){return this.effectDrawers.keys()}getSupportedShapes(){return this.shapeDrawers.keys()}async getUpdaters(a,b=!1){return cc(a,this.updaters,this._initializers.updaters,b)}init(){this._initialized||(this._initialized=!0)}item(a){let{items:b}=this,c=b[a];return!c||c.destroyed?void b.splice(a,1):c}async load(a){let b,c=a.id??a.element?.id??`tsparticles${Math.floor(1e4*ad())}`,{index:d,url:e}=a,f=aG(e?await cd({fallback:a.options,url:e,index:d}):a.options,d),{items:g}=this,h=g.findIndex(a=>a.id.description===c),i=new ca(this,c,f);if(h>=0){let a=this.item(h),b=+!!a;a&&!a.destroyed&&a.destroy(!1),g.splice(h,b,i)}else g.push(i);let j=(a=>{let b;if(a instanceof HTMLCanvasElement||a.tagName.toLowerCase()===T)(b=a).dataset[I]||(b.dataset[I]=S);else{let c=a.getElementsByTagName(T);c.length?(b=c[0]).dataset[I]=S:((b=document.createElement(T)).dataset[I]=R,a.appendChild(b))}let c="100%";return b.style.width||(b.style.width=c),b.style.height||(b.style.height=c),b})(((b=a.element??document.getElementById(c))||((b=document.createElement("div")).id=c,b.dataset[I]=R,document.body.append(b)),b));return i.canvas.loadCanvas(j),await i.start(),i}loadOptions(a,b){this.plugins.forEach(c=>c.loadOptions?.(a,b))}loadParticlesOptions(a,b,...c){let d=this.updaters.get(a);d&&d.forEach(a=>a.loadOptions?.(b,...c))}async refresh(a=!0){a&&await Promise.all(this.items.map(a=>a.refresh()))}removeEventListener(a,b){this._eventDispatcher.removeEventListener(a,b)}setOnClickHandler(a){let{items:b}=this;if(!b.length)throw Error(`${M} can only set click handlers after calling tsParticles.load()`);b.forEach(b=>b.addClickHandler(a))}}class cf{constructor(a){this.type=t.external,this.container=a}}class cg{constructor(a){this.type=t.particles,this.container=a}}!function(a){a.clockwise="clockwise",a.counterClockwise="counter-clockwise",a.random="random"}(w||(w={})),function(a){a.linear="linear",a.radial="radial",a.random="random"}(x||(x={})),function(a){a.easeInBack="ease-in-back",a.easeInCirc="ease-in-circ",a.easeInCubic="ease-in-cubic",a.easeInLinear="ease-in-linear",a.easeInQuad="ease-in-quad",a.easeInQuart="ease-in-quart",a.easeInQuint="ease-in-quint",a.easeInExpo="ease-in-expo",a.easeInSine="ease-in-sine",a.easeOutBack="ease-out-back",a.easeOutCirc="ease-out-circ",a.easeOutCubic="ease-out-cubic",a.easeOutLinear="ease-out-linear",a.easeOutQuad="ease-out-quad",a.easeOutQuart="ease-out-quart",a.easeOutQuint="ease-out-quint",a.easeOutExpo="ease-out-expo",a.easeOutSine="ease-out-sine",a.easeInOutBack="ease-in-out-back",a.easeInOutCirc="ease-in-out-circ",a.easeInOutCubic="ease-in-out-cubic",a.easeInOutLinear="ease-in-out-linear",a.easeInOutQuad="ease-in-out-quad",a.easeInOutQuart="ease-in-out-quart",a.easeInOutQuint="ease-in-out-quint",a.easeInOutExpo="ease-in-out-expo",a.easeInOutSine="ease-in-out-sine"}(y||(y={}));let ch=function(){let a=new ce;return a.init(),a}();as()||(window.tsParticles=ch);let ci=a=>{let b=a.id??"tsparticles";return(0,G.useEffect)(()=>{let c;return ch.load({id:b,url:a.url,options:a.options}).then(b=>{var d;c=b,null==(d=a.particlesLoaded)||d.call(a,b)}),()=>{null==c||c.destroy()}},[b,a,a.url,a.options]),(0,F.jsx)("div",{id:b,className:a.className})};async function cj(a){await a(ch)}let ck=2*Math.PI;class cl{init(a){let b=a.options.move.gravity;a.gravity={enable:b.enable,acceleration:ah(b.acceleration),inverse:b.inverse},function(a){let b=a.container,c=a.options.move.spin;if(!c.enable)return;let d=c.position??{x:50,y:50},e={x:.01*d.x*b.canvas.size.width,y:.01*d.y*b.canvas.size.height},f=am(a.getPosition(),e),g=ah(c.acceleration);a.retina.spinAcceleration=g*b.retina.pixelRatio,a.spin={center:e,direction:a.velocity.x>=0?w.clockwise:w.counterClockwise,angle:ad()*ck,radius:f,acceleration:a.retina.spinAcceleration}}(a)}isEnabled(a){return!a.destroyed&&a.options.move.enable}move(a,b){let c=a.options,d=c.move;if(!d.enable)return;let e=a.container,f=e.retina.pixelRatio;a.retina.moveSpeed??=ah(d.speed)*f,a.retina.moveDrift??=ah(a.options.move.drift)*f;let g=a.slow.inRange?a.slow.factor:1,h=e.retina.reduceFactor,i=a.retina.moveSpeed,j=a.retina.moveDrift,k=aj(c.size.value)*f,l=i*(d.size?a.getRadius()/k:1)*g*(b.factor||1)/2,m=a.retina.maxSpeed??e.retina.maxSpeed;d.spin.enable?function(a,b,c){let d=a.container;if(!a.spin)return;let e=a.spin.direction===w.clockwise,f={x:e?Math.cos:Math.sin,y:e?Math.sin:Math.cos};a.position.x=a.spin.center.x+a.spin.radius*f.x(a.spin.angle)*c,a.position.y=a.spin.center.y+a.spin.radius*f.y(a.spin.angle)*c,a.spin.radius+=a.spin.acceleration*c;let g=Math.max(d.canvas.size.width,d.canvas.size.height),h=.5*g;a.spin.radius>h?(a.spin.radius=h,a.spin.acceleration*=-1):a.spin.radius<0&&(a.spin.radius=0,a.spin.acceleration*=-1),a.spin.angle+=.01*b*(1-a.spin.radius/g)}(a,l,h):function(a,b,c,d,e,f,g){!function(a,b){let c=a.options.move.path;if(!c.enable)return;if(a.lastPathTime<=a.pathDelay){a.lastPathTime+=b.value;return}let d=a.pathGenerator?.generate(a,b);d&&a.velocity.addTo(d),c.clamp&&(a.velocity.x=ae(a.velocity.x,-1,1),a.velocity.y=ae(a.velocity.y,-1,1)),a.lastPathTime-=a.pathDelay}(a,g);let h=a.gravity,i=h?.enable&&h.inverse?-1:1;e&&c&&(a.velocity.x+=e*g.factor/(60*c)),h?.enable&&c&&(a.velocity.y+=i*(h.acceleration*g.factor)/(60*c));let j=a.moveDecay;a.velocity.multTo(j);let k=a.velocity.mult(c);h?.enable&&d>0&&(!h.inverse&&k.y>=0&&k.y>=d||h.inverse&&k.y<=0&&k.y<=-d)&&(k.y=i*d,c&&(a.velocity.y=k.y/c));let l=a.options.zIndex,m=(1-a.zIndexFactor)**l.velocityRate;k.multTo(m),k.multTo(f);let{position:n}=a;n.addTo(k),b.vibrate&&(n.x+=Math.sin(n.x*Math.cos(n.y))*f,n.y+=Math.cos(n.y*Math.sin(n.x))*f)}(a,d,l,m,j,h,b),function(a){let b=a.initialPosition,{dx:c,dy:d}=al(b,a.position),e=Math.abs(c),f=Math.abs(d),{maxDistance:g}=a.retina,h=g.horizontal,i=g.vertical;if(h||i){if((h&&e>=h||i&&f>=i)&&!a.misplaced)a.misplaced=!!h&&e>h||!!i&&f>i,h&&(a.velocity.x=.5*a.velocity.y-a.velocity.x),i&&(a.velocity.y=.5*a.velocity.x-a.velocity.y);else if((!h||e<h)&&(!i||f<i)&&a.misplaced)a.misplaced=!1;else if(a.misplaced){let c=a.position,d=a.velocity;h&&(c.x<b.x&&d.x<0||c.x>b.x&&d.x>0)&&(d.x*=-ad()),i&&(c.y<b.y&&d.y<0||c.y>b.y&&d.y>0)&&(d.y*=-ad())}}}(a)}}async function cm(a,b=!0){a.checkVersion("3.9.1"),await a.addMover("base",()=>Promise.resolve(new cl),b)}let cn=2*Math.PI,co={x:0,y:0};class cp{constructor(){this.validTypes=["circle"]}draw(a){let{context:b,particle:c,radius:d}=a;c.circleRange||(c.circleRange={min:0,max:cn});let e=c.circleRange;b.arc(co.x,co.y,d,e.min,e.max,!1)}getSidesCount(){return 12}particleInit(a,b){let c=b.shapeData,d=c?.angle??{max:360,min:0};b.circleRange=Y(d)?{min:an(d.min),max:an(d.max)}:{min:0,max:an(d)}}}async function cq(a,b=!0){a.checkVersion("3.9.1"),await a.addShape(new cp,b)}class cr{constructor(a,b){this._container=a,this._engine=b}init(a){let b=aN(this._engine,a.options.color,a.id,a.options.reduceDuplicates);b&&(a.color=aX(b,a.options.color.animation,this._container.retina.reduceFactor))}isEnabled(a){let{h:b,s:c,l:d}=a.options.color.animation,{color:e}=a;return!a.destroyed&&!a.spawning&&(e?.h.value!==void 0&&b.enable||e?.s.value!==void 0&&c.enable||e?.l.value!==void 0&&d.enable)}update(a,b){a$(a.color,b)}}async function cs(a,b=!0){a.checkVersion("3.9.1"),await a.addParticleUpdater("color",b=>Promise.resolve(new cr(b,a)),b)}!function(a){a[a.r=1]="r",a[a.g=2]="g",a[a.b=3]="b",a[a.a=4]="a"}(z||(z={}));let ct=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,cu=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i;class cv{constructor(){this.key="hex",this.stringPrefix="#"}handleColor(a){return this._parseString(a.value)}handleRangeColor(a){return this._parseString(a.value)}parseString(a){return this._parseString(a)}_parseString(a){if("string"!=typeof a||!a?.startsWith(this.stringPrefix))return;let b=a.replace(ct,(a,b,c,d,e)=>b+b+c+c+d+d+(void 0!==e?e+e:"")),c=cu.exec(b);return c?{a:void 0!==c[z.a]?parseInt(c[z.a],16)/255:1,b:parseInt(c[z.b],16),g:parseInt(c[z.g],16),r:parseInt(c[z.r],16)}:void 0}}async function cw(a,b=!0){a.checkVersion("3.9.1"),await a.addColorManager(new cv,b)}!function(a){a[a.h=1]="h",a[a.s=2]="s",a[a.l=3]="l",a[a.a=5]="a"}(A||(A={}));class cx{constructor(){this.key="hsl",this.stringPrefix="hsl"}handleColor(a){let b=a.value.hsl??a.value;if(void 0!==b.h&&void 0!==b.s&&void 0!==b.l)return aP(b)}handleRangeColor(a){let b=a.value.hsl??a.value;if(void 0!==b.h&&void 0!==b.l)return aP({h:ah(b.h),l:ah(b.l),s:ah(b.s)})}parseString(a){if(!a.startsWith("hsl"))return;let b=/hsla?\(\s*(\d+)\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i.exec(a);return b?function(a){let b=aP(a);return{a:a.a,b:b.b,g:b.g,r:b.r}}({a:b.length>4?ap(b[A.a]):1,h:parseInt(b[A.h],10),l:parseInt(b[A.l],10),s:parseInt(b[A.s],10)}):void 0}}async function cy(a,b=!0){a.checkVersion("3.9.1"),await a.addColorManager(new cx,b)}class cz{constructor(a){this.container=a}init(a){let b=a.options.opacity;a.opacity=aI(b,1);let c=b.animation;c.enable&&(a.opacity.velocity=ah(c.speed)/100*this.container.retina.reduceFactor,c.sync||(a.opacity.velocity*=ad()))}isEnabled(a){return!a.destroyed&&!a.spawning&&!!a.opacity&&a.opacity.enable&&((a.opacity.maxLoops??0)<=0||(a.opacity.maxLoops??0)>0&&(a.opacity.loops??0)<(a.opacity.maxLoops??0))}reset(a){a.opacity&&(a.opacity.time=0,a.opacity.loops=0)}update(a,b){this.isEnabled(a)&&a.opacity&&aK(a,a.opacity,!0,a.options.opacity.animation.destroy,b)}}async function cA(a,b=!0){a.checkVersion("3.9.1"),await a.addParticleUpdater("opacity",a=>Promise.resolve(new cz(a)),b)}class cB{constructor(a){this.container=a,this.modes=[r.bounce,r.split]}update(a,b,c,d){if(!this.modes.includes(d))return;let e=this.container,f=!1;for(let d of e.plugins.values())if(void 0!==d.particleBounce&&(f=d.particleBounce(a,c,b)),f)break;if(f)return;let g=a.getPosition(),i=a.offset,j=a.getRadius(),k=ay(g,j),l=e.canvas.size;!function(a){if(a.outMode!==r.bounce&&a.outMode!==r.split||a.direction!==h.left&&a.direction!==h.right)return;a.bounds.right<0&&a.direction===h.left?a.particle.position.x=a.size+a.offset.x:a.bounds.left>a.canvasSize.width&&a.direction===h.right&&(a.particle.position.x=a.canvasSize.width-a.size-a.offset.x);let b=a.particle.velocity.x,c=!1;if(a.direction===h.right&&a.bounds.right>=a.canvasSize.width&&b>0||a.direction===h.left&&a.bounds.left<=0&&b<0){let b=ah(a.particle.options.bounce.horizontal.value);a.particle.velocity.x*=-b,c=!0}if(!c)return;let d=a.offset.x+a.size;a.bounds.right>=a.canvasSize.width&&a.direction===h.right?a.particle.position.x=a.canvasSize.width-d:a.bounds.left<=0&&a.direction===h.left&&(a.particle.position.x=d),a.outMode===r.split&&a.particle.destroy()}({particle:a,outMode:d,direction:b,bounds:k,canvasSize:l,offset:i,size:j}),function(a){if(a.outMode!==r.bounce&&a.outMode!==r.split||a.direction!==h.bottom&&a.direction!==h.top)return;a.bounds.bottom<0&&a.direction===h.top?a.particle.position.y=a.size+a.offset.y:a.bounds.top>a.canvasSize.height&&a.direction===h.bottom&&(a.particle.position.y=a.canvasSize.height-a.size-a.offset.y);let b=a.particle.velocity.y,c=!1;if(a.direction===h.bottom&&a.bounds.bottom>=a.canvasSize.height&&b>0||a.direction===h.top&&a.bounds.top<=0&&b<0){let b=ah(a.particle.options.bounce.vertical.value);a.particle.velocity.y*=-b,c=!0}if(!c)return;let d=a.offset.y+a.size;a.bounds.bottom>=a.canvasSize.height&&a.direction===h.bottom?a.particle.position.y=a.canvasSize.height-d:a.bounds.top<=0&&a.direction===h.top&&(a.particle.position.y=d),a.outMode===r.split&&a.particle.destroy()}({particle:a,outMode:d,direction:b,bounds:k,canvasSize:l,offset:i,size:j})}}class cC{constructor(a){this.container=a,this.modes=[r.destroy]}update(a,b,c,d){if(!this.modes.includes(d))return;let e=this.container;switch(a.outType){case u.normal:case u.outside:if(ax(a.position,e.canvas.size,aa.origin,a.getRadius(),b))return;break;case u.inside:{let{dx:b,dy:c}=al(a.position,a.moveCenter),{x:d,y:e}=a.velocity;if(d<0&&b>a.moveCenter.radius||e<0&&c>a.moveCenter.radius||d>=0&&b<-a.moveCenter.radius||e>=0&&c<-a.moveCenter.radius)return}}e.particles.remove(a,a.group,!0)}}class cD{constructor(a){this.container=a,this.modes=[r.none]}update(a,b,c,d){if(!this.modes.includes(d)||((a.options.move.distance.horizontal&&(b===h.left||b===h.right))??(a.options.move.distance.vertical&&(b===h.top||b===h.bottom))))return;let e=a.options.move.gravity,f=this.container,g=f.canvas.size,i=a.getRadius();if(e.enable){let c=a.position;(!e.inverse&&c.y>g.height+i&&b===h.bottom||e.inverse&&c.y<-i&&b===h.top)&&f.particles.remove(a)}else{if(a.velocity.y>0&&a.position.y<=g.height+i||a.velocity.y<0&&a.position.y>=-i||a.velocity.x>0&&a.position.x<=g.width+i||a.velocity.x<0&&a.position.x>=-i)return;ax(a.position,f.canvas.size,aa.origin,i,b)||f.particles.remove(a)}}}class cE{constructor(a){this.container=a,this.modes=[r.out]}update(a,b,c,d){if(!this.modes.includes(d))return;let e=this.container;if(a.outType===u.inside){let{x:b,y:c}=a.velocity,d=aa.origin;d.length=a.moveCenter.radius,d.angle=a.velocity.angle+Math.PI,d.addTo(aa.create(a.moveCenter));let{dx:f,dy:g}=al(a.position,d);if(b<=0&&f>=0||c<=0&&g>=0||b>=0&&f<=0||c>=0&&g<=0)return;a.position.x=Math.floor(ag({min:0,max:e.canvas.size.width})),a.position.y=Math.floor(ag({min:0,max:e.canvas.size.height}));let{dx:h,dy:i}=al(a.position,a.moveCenter);a.direction=Math.atan2(-i,-h),a.velocity.angle=a.direction}else{if(ax(a.position,e.canvas.size,aa.origin,a.getRadius(),b))return;switch(a.outType){case u.outside:{a.position.x=Math.floor(ag({min:-a.moveCenter.radius,max:a.moveCenter.radius}))+a.moveCenter.x,a.position.y=Math.floor(ag({min:-a.moveCenter.radius,max:a.moveCenter.radius}))+a.moveCenter.y;let{dx:b,dy:c}=al(a.position,a.moveCenter);a.moveCenter.radius&&(a.direction=Math.atan2(c,b),a.velocity.angle=a.direction);break}case u.normal:{let c=a.options.move.warp,d=e.canvas.size,f={bottom:d.height+a.getRadius()+a.offset.y,left:-a.getRadius()-a.offset.x,right:d.width+a.getRadius()+a.offset.x,top:-a.getRadius()-a.offset.y},g=a.getRadius(),i=ay(a.position,g);b===h.right&&i.left>d.width+a.offset.x?(a.position.x=f.left,a.initialPosition.x=a.position.x,c||(a.position.y=ad()*d.height,a.initialPosition.y=a.position.y)):b===h.left&&i.right<-a.offset.x&&(a.position.x=f.right,a.initialPosition.x=a.position.x,c||(a.position.y=ad()*d.height,a.initialPosition.y=a.position.y)),b===h.bottom&&i.top>d.height+a.offset.y?(c||(a.position.x=ad()*d.width,a.initialPosition.x=a.position.x),a.position.y=f.top,a.initialPosition.y=a.position.y):b===h.top&&i.bottom<-a.offset.y&&(c||(a.position.x=ad()*d.width,a.initialPosition.x=a.position.x),a.position.y=f.bottom,a.initialPosition.y=a.position.y)}}}}}class cF{constructor(a){this._addUpdaterIfMissing=(a,b,c)=>{let d=a.options.move.outModes;!this.updaters.has(b)&&((a,b)=>a.default===b||a.bottom===b||a.left===b||a.right===b||a.top===b)(d,b)&&this.updaters.set(b,c(this.container))},this._updateOutMode=(a,b,c,d)=>{for(let e of this.updaters.values())e.update(a,d,b,c)},this.container=a,this.updaters=new Map}init(a){this._addUpdaterIfMissing(a,r.bounce,a=>new cB(a)),this._addUpdaterIfMissing(a,r.out,a=>new cE(a)),this._addUpdaterIfMissing(a,r.destroy,a=>new cC(a)),this._addUpdaterIfMissing(a,r.none,a=>new cD(a))}isEnabled(a){return!a.destroyed&&!a.spawning}update(a,b){let c=a.options.move.outModes;this._updateOutMode(a,b,c.bottom??c.default,h.bottom),this._updateOutMode(a,b,c.left??c.default,h.left),this._updateOutMode(a,b,c.right??c.default,h.right),this._updateOutMode(a,b,c.top??c.default,h.top)}}async function cG(a,b=!0){a.checkVersion("3.9.1"),await a.addParticleUpdater("outModes",a=>Promise.resolve(new cF(a)),b)}!function(a){a[a.r=1]="r",a[a.g=2]="g",a[a.b=3]="b",a[a.a=5]="a"}(B||(B={}));class cH{constructor(){this.key="rgb",this.stringPrefix="rgb"}handleColor(a){let b=a.value.rgb??a.value;if(void 0!==b.r)return b}handleRangeColor(a){let b=a.value.rgb??a.value;if(void 0!==b.r)return{r:ah(b.r),g:ah(b.g),b:ah(b.b)}}parseString(a){if(!a.startsWith(this.stringPrefix))return;let b=/rgba?\(\s*(\d{1,3})\s*[\s,]\s*(\d{1,3})\s*[\s,]\s*(\d{1,3})\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i.exec(a);return b?{a:b.length>4?ap(b[B.a]):1,b:parseInt(b[B.b],10),g:parseInt(b[B.g],10),r:parseInt(b[B.r],10)}:void 0}}async function cI(a,b=!0){a.checkVersion("3.9.1"),await a.addColorManager(new cH,b)}class cJ{init(a){let b=a.container,c=a.options.size.animation;c.enable&&(a.size.velocity=(a.retina.sizeAnimationSpeed??b.retina.sizeAnimationSpeed)/100*b.retina.reduceFactor,c.sync||(a.size.velocity*=ad()))}isEnabled(a){return!a.destroyed&&!a.spawning&&a.size.enable&&((a.size.maxLoops??0)<=0||(a.size.maxLoops??0)>0&&(a.size.loops??0)<(a.size.maxLoops??0))}reset(a){a.size.loops=0}update(a,b){this.isEnabled(a)&&aK(a,a.size,!0,a.options.size.animation.destroy,b)}}async function cK(a,b=!0){a.checkVersion("3.9.1"),await a.addParticleUpdater("size",()=>Promise.resolve(new cJ),b)}async function cL(a,b=!0){a.checkVersion("3.9.1"),await cw(a,!1),await cy(a,!1),await cI(a,!1),await cm(a,!1),await cq(a,!1),await cs(a,!1),await cA(a,!1),await cG(a,!1),await cK(a,!1),await a.refresh(b)}async function cM(a,b=!0){a.checkVersion("3.9.1"),await a.addEasing(y.easeInQuad,a=>a**2,!1),await a.addEasing(y.easeOutQuad,a=>1-(1-a)**2,!1),await a.addEasing(y.easeInOutQuad,a=>a<.5?2*a**2:1-(-2*a+2)**2/2,!1),await a.refresh(b)}let cN='"Twemoji Mozilla", Apple Color Emoji, "Segoe UI Emoji", "Noto Color Emoji", "EmojiOne Color"';class cO{constructor(){this.validTypes=["emoji"],this._emojiShapeDict=new Map}destroy(){for(let[a,b]of this._emojiShapeDict)b instanceof ImageBitmap&&b?.close(),this._emojiShapeDict.delete(a)}draw(a){let b=a.particle.emojiDataKey;if(!b)return;let c=this._emojiShapeDict.get(b);c&&function(a,b){let{context:c,opacity:d}=a,e=c.globalAlpha;if(!b)return;let f=b.width,g=.5*f;c.globalAlpha=d,c.drawImage(b,-g,-g,f,f),c.globalAlpha=e}(a,c)}async init(a){let b=a.actualOptions,{validTypes:c}=this;if(!c.find(a=>au(a,b.particles.shape.type)))return;let d=[av(cN)],e=c.map(a=>b.particles.shape.options[a]).find(a=>!!a);e&&aF(e,a=>{a.font&&d.push(av(a.font))}),await Promise.all(d)}particleDestroy(a){a.emojiDataKey=void 0}particleInit(a,b){let c,d=b.shapeData;if(!d?.value)return;let e=aG(d.value,b.randomIndexData);if(!e)return;let f="string"==typeof e?{font:d.font??cN,padding:d.padding??0,value:e}:{font:cN,padding:0,...d,...e},g=f.font,h=f.value,i=`${h}_${g}`;if(this._emojiShapeDict.has(i)){b.emojiDataKey=i;return}let j=2*f.padding,k=aj(b.size.value),l=k+j,m=2*l;if("undefined"!=typeof OffscreenCanvas){let a=new OffscreenCanvas(m,m),b=a.getContext("2d");if(!b)return;b.font=`400 ${2*k}px ${g}`,b.textBaseline="middle",b.textAlign="center",b.fillText(h,l,l),c=a.transferToImageBitmap()}else{let a=document.createElement("canvas");a.width=m,a.height=m;let b=a.getContext("2d");if(!b)return;b.font=`400 ${2*k}px ${g}`,b.textBaseline="middle",b.textAlign="center",b.fillText(h,l,l),c=a}this._emojiShapeDict.set(i,c),b.emojiDataKey=i}}async function cP(a,b=!0){a.checkVersion("3.9.1"),await a.addShape(new cO,b)}function cQ(a,b,c,d,e,f){let g=b.actualOptions.interactivity.modes.attract;if(g)for(let h of b.particles.quadTree.query(e,f)){let{dx:b,dy:e,distance:f}=al(h.position,c),i=g.speed*g.factor,j=ae(a.getEasing(g.easing)(1-f/d)*i,1,g.maxSpeed),k=aa.create(f?b/f*j:i,f?e/f*j:i);h.position.subFrom(k)}}class cR{constructor(){this.distance=200,this.duration=.4,this.easing=y.easeOutQuad,this.factor=1,this.maxSpeed=50,this.speed=1}load(a){$(a)||(void 0!==a.distance&&(this.distance=a.distance),void 0!==a.duration&&(this.duration=a.duration),void 0!==a.easing&&(this.easing=a.easing),void 0!==a.factor&&(this.factor=a.factor),void 0!==a.maxSpeed&&(this.maxSpeed=a.maxSpeed),void 0!==a.speed&&(this.speed=a.speed))}}let cS="attract";class cT extends cf{constructor(a,b){super(b),this._engine=a,b.attract||(b.attract={particles:[]}),this.handleClickMode=a=>{let c=this.container.actualOptions.interactivity.modes.attract;if(c&&a===cS){for(let a of(b.attract||(b.attract={particles:[]}),b.attract.clicking=!0,b.attract.count=0,b.attract.particles))this.isEnabled(a)&&a.velocity.setTo(a.initialVelocity);b.attract.particles=[],b.attract.finish=!1,setTimeout(()=>{b.destroyed||(b.attract||(b.attract={particles:[]}),b.attract.clicking=!1)},1e3*c.duration)}}}clear(){}init(){let a=this.container,b=a.actualOptions.interactivity.modes.attract;b&&(a.retina.attractModeDistance=b.distance*a.retina.pixelRatio)}interact(){let a=this.container,b=a.actualOptions,c=a.interactivity.status===K,d=b.interactivity.events,{enable:e,mode:f}=d.onHover,{enable:g,mode:h}=d.onClick;c&&e&&au(cS,f)?function(a,b,c){let d=b.interactivity.mouse.position,e=b.retina.attractModeDistance;e&&!(e<0)&&d&&cQ(a,b,d,e,new b2(d.x,d.y,e),a=>c(a))}(this._engine,this.container,a=>this.isEnabled(a)):g&&au(cS,h)&&function(a,b,c){b.attract||(b.attract={particles:[]});let{attract:d}=b;if(d.finish||(d.count||(d.count=0),d.count++,d.count===b.particles.count&&(d.finish=!0)),d.clicking){let d=b.interactivity.mouse.clickPosition,e=b.retina.attractModeDistance;if(!e||e<0||!d)return;cQ(a,b,d,e,new b2(d.x,d.y,e),a=>c(a))}else!1===d.clicking&&(d.particles=[])}(this._engine,this.container,a=>this.isEnabled(a))}isEnabled(a){let b=this.container,c=b.actualOptions,d=b.interactivity.mouse,e=(a?.interactivity??c.interactivity).events;if((!d.position||!e.onHover.enable)&&(!d.clickPosition||!e.onClick.enable))return!1;let f=e.onHover.mode,g=e.onClick.mode;return au(cS,f)||au(cS,g)}loadModeOptions(a,...b){for(let c of(a.attract||(a.attract=new cR),b))a.attract.load(c?.attract)}reset(){}}async function cU(a,b=!0){a.checkVersion("3.9.1"),await a.addInteractor("externalAttract",b=>Promise.resolve(new cT(a,b)),b)}let cV=.5*Math.PI;function cW(a,b,c,d,e){for(let f of a.particles.quadTree.query(d,e))d instanceof b2?aE(aD(f),{position:b,radius:c,mass:c**2*cV,velocity:aa.origin,factor:aa.origin}):d instanceof b3&&function(a,b){let c=ay(a.getPosition(),a.getRadius()),d=a.options.bounce,e=ar({pSide:{min:c.left,max:c.right},pOtherSide:{min:c.top,max:c.bottom},rectSide:{min:b.left,max:b.right},rectOtherSide:{min:b.top,max:b.bottom},velocity:a.velocity.x,factor:ah(d.horizontal.value)});e.bounced&&(void 0!==e.velocity&&(a.velocity.x=e.velocity),void 0!==e.position&&(a.position.x=e.position));let f=ar({pSide:{min:c.top,max:c.bottom},pOtherSide:{min:c.left,max:c.right},rectSide:{min:b.top,max:b.bottom},rectOtherSide:{min:b.left,max:b.right},velocity:a.velocity.y,factor:ah(d.vertical.value)});f.bounced&&(void 0!==f.velocity&&(a.velocity.y=f.velocity),void 0!==f.position&&(a.position.y=f.position))}(f,ay(b,c))}class cX{constructor(){this.distance=200}load(a){$(a)||void 0!==a.distance&&(this.distance=a.distance)}}let cY="bounce";class cZ extends cf{constructor(a){super(a)}clear(){}init(){let a=this.container,b=a.actualOptions.interactivity.modes.bounce;b&&(a.retina.bounceModeDistance=b.distance*a.retina.pixelRatio)}interact(){let a=this.container,b=a.actualOptions.interactivity.events,c=a.interactivity.status===K,d=b.onHover.enable,e=b.onHover.mode,f=b.onDiv;if(c&&d&&au(cY,e))!function(a,b){let c=a.retina.pixelRatio,d=a.interactivity.mouse.position,e=a.retina.bounceModeDistance;e&&!(e<0)&&d&&cW(a,d,e,new b2(d.x,d.y,e+10*c),b)}(this.container,a=>this.isEnabled(a));else{var g,h;g=this.container,h=a=>this.isEnabled(a),aB(cY,f,(a,b)=>(function(a,b,c,d){let e=document.querySelectorAll(b);e.length&&e.forEach(b=>{let e=a.retina.pixelRatio,f={x:(b.offsetLeft+.5*b.offsetWidth)*e,y:(b.offsetTop+.5*b.offsetHeight)*e},g=.5*b.offsetWidth*e,h=10*e,i=c.type===n.circle?new b2(f.x,f.y,g+h):new b3(b.offsetLeft*e-h,b.offsetTop*e-h,b.offsetWidth*e+2*h,b.offsetHeight*e+2*h);d(f,g,i)})})(g,a,b,(a,b,c)=>cW(g,a,b,c,h)))}}isEnabled(a){let b=this.container,c=b.actualOptions,d=b.interactivity.mouse,e=(a?.interactivity??c.interactivity).events,f=e.onDiv;return!!d.position&&e.onHover.enable&&au(cY,e.onHover.mode)||aA(cY,f)}loadModeOptions(a,...b){for(let c of(a.bounce||(a.bounce=new cX),b))a.bounce.load(c?.bounce)}reset(){}}async function c$(a,b=!0){a.checkVersion("3.9.1"),await a.addInteractor("externalBounce",a=>Promise.resolve(new cZ(a)),b)}class c_{constructor(){this.distance=200,this.duration=.4,this.mix=!1}load(a){if(!$(a)){if(void 0!==a.distance&&(this.distance=a.distance),void 0!==a.duration&&(this.duration=a.duration),void 0!==a.mix&&(this.mix=a.mix),void 0!==a.opacity&&(this.opacity=a.opacity),void 0!==a.color){let b=Z(this.color)?void 0:this.color;this.color=aF(a.color,a=>a5.create(b,a))}void 0!==a.size&&(this.size=a.size)}}}class c0 extends c_{constructor(){super(),this.selectors=[]}load(a){super.load(a),$(a)||void 0!==a.selectors&&(this.selectors=a.selectors)}}class c1 extends c_{load(a){super.load(a),$(a)||(this.divs=aF(a.divs,a=>{let b=new c0;return b.load(a),b}))}}function c2(a,b,c,d){return b>=c?ae(a+(b-c)*d,a,b):b<c?ae(a-(c-b)*d,b,a):void 0}!function(a){a.color="color",a.opacity="opacity",a.size="size"}(C||(C={}));let c3="bubble";class c4 extends cf{constructor(a,b){super(a),this._clickBubble=()=>{let a=this.container,b=a.actualOptions,c=a.interactivity.mouse.clickPosition,d=b.interactivity.modes.bubble;if(!d||!c)return;a.bubble||(a.bubble={});let e=a.retina.bubbleModeDistance;if(!e||e<0)return;let f=a.particles.quadTree.queryCircle(c,e,a=>this.isEnabled(a)),{bubble:g}=a;for(let b of f){if(!g.clicking)continue;b.bubble.inRange=!g.durationEnd;let f=am(b.getPosition(),c),h=(new Date().getTime()-(a.interactivity.mouse.clickTime??0))/1e3;h>d.duration&&(g.durationEnd=!0),h>2*d.duration&&(g.clicking=!1,g.durationEnd=!1);let i={bubbleObj:{optValue:a.retina.bubbleModeSize,value:b.bubble.radius},particlesObj:{optValue:aj(b.options.size.value)*a.retina.pixelRatio,value:b.size.value},type:C.size};this._process(b,f,h,i);let j={bubbleObj:{optValue:d.opacity,value:b.bubble.opacity},particlesObj:{optValue:aj(b.options.opacity.value),value:b.opacity?.value??1},type:C.opacity};this._process(b,f,h,j),!g.durationEnd&&f<=e?this._hoverBubbleColor(b,f):delete b.bubble.color}},this._hoverBubble=()=>{let a=this.container,b=a.interactivity.mouse.position,c=a.retina.bubbleModeDistance;if(c&&!(c<0)&&b)for(let d of a.particles.quadTree.queryCircle(b,c,a=>this.isEnabled(a))){d.bubble.inRange=!0;let e=am(d.getPosition(),b),f=1-e/c;e<=c?f>=0&&a.interactivity.status===K&&(this._hoverBubbleSize(d,f),this._hoverBubbleOpacity(d,f),this._hoverBubbleColor(d,f)):this.reset(d),a.interactivity.status===J&&this.reset(d)}},this._hoverBubbleColor=(a,b,c)=>{let d=this.container.actualOptions,e=c??d.interactivity.modes.bubble;if(e){if(!a.bubble.finalColor){let b=e.color;if(!b)return;let c=aG(b);a.bubble.finalColor=aN(this._engine,c)}if(a.bubble.finalColor)if(e.mix){a.bubble.color=void 0;let c=a.getFillColor();a.bubble.color=c?aO(aT(c,a.bubble.finalColor,1-b,b)):a.bubble.finalColor}else a.bubble.color=a.bubble.finalColor}},this._hoverBubbleOpacity=(a,b,c)=>{let d=this.container.actualOptions,e=c?.opacity??d.interactivity.modes.bubble?.opacity;if(!e)return;let f=a.options.opacity.value,g=c2(a.opacity?.value??1,e,aj(f),b);void 0!==g&&(a.bubble.opacity=g)},this._hoverBubbleSize=(a,b,c)=>{let d=this.container,e=c?.size?c.size*d.retina.pixelRatio:d.retina.bubbleModeSize;if(void 0===e)return;let f=aj(a.options.size.value)*d.retina.pixelRatio,g=c2(a.size.value,e,f,b);void 0!==g&&(a.bubble.radius=g)},this._process=(a,b,c,d)=>{let e=this.container,f=d.bubbleObj.optValue,g=e.actualOptions.interactivity.modes.bubble;if(!g||void 0===f)return;let h=g.duration,i=e.retina.bubbleModeDistance,j=d.particlesObj.optValue,k=d.bubbleObj.value,l=d.particlesObj.value??0,m=d.type;if(i&&!(i<0)&&f!==j)if(e.bubble||(e.bubble={}),e.bubble.durationEnd)k&&(m===C.size&&delete a.bubble.radius,m===C.opacity&&delete a.bubble.opacity);else if(b<=i){if((k??l)!==f){let b=l-c*(l-f)/h;m===C.size&&(a.bubble.radius=b),m===C.opacity&&(a.bubble.opacity=b)}}else m===C.size&&delete a.bubble.radius,m===C.opacity&&delete a.bubble.opacity},this._singleSelectorHover=(a,b,c)=>{let d=this.container,e=document.querySelectorAll(b),f=d.actualOptions.interactivity.modes.bubble;f&&e.length&&e.forEach(b=>{let e=d.retina.pixelRatio,g={x:(b.offsetLeft+.5*b.offsetWidth)*e,y:(b.offsetTop+.5*b.offsetHeight)*e},h=.5*b.offsetWidth*e,i=c.type===n.circle?new b2(g.x,g.y,h):new b3(b.offsetLeft*e,b.offsetTop*e,b.offsetWidth*e,b.offsetHeight*e);for(let c of d.particles.quadTree.query(i,a=>this.isEnabled(a))){if(!i.contains(c.getPosition()))continue;c.bubble.inRange=!0;let d=aC(f.divs,b);c.bubble.div&&c.bubble.div===b||(this.clear(c,a,!0),c.bubble.div=b),this._hoverBubbleSize(c,1,d),this._hoverBubbleOpacity(c,1,d),this._hoverBubbleColor(c,1,d)}})},this._engine=b,a.bubble||(a.bubble={}),this.handleClickMode=b=>{b===c3&&(a.bubble||(a.bubble={}),a.bubble.clicking=!0)}}clear(a,b,c){(!a.bubble.inRange||c)&&(delete a.bubble.div,delete a.bubble.opacity,delete a.bubble.radius,delete a.bubble.color)}init(){let a=this.container,b=a.actualOptions.interactivity.modes.bubble;b&&(a.retina.bubbleModeDistance=b.distance*a.retina.pixelRatio,void 0!==b.size&&(a.retina.bubbleModeSize=b.size*a.retina.pixelRatio))}interact(a){let b=this.container.actualOptions.interactivity.events,c=b.onHover,d=b.onClick,e=c.enable,f=c.mode,g=d.enable,h=d.mode,i=b.onDiv;e&&au(c3,f)?this._hoverBubble():g&&au(c3,h)?this._clickBubble():aB(c3,i,(b,c)=>this._singleSelectorHover(a,b,c))}isEnabled(a){let b=this.container,c=b.actualOptions,d=b.interactivity.mouse,{onClick:e,onDiv:f,onHover:g}=(a?.interactivity??c.interactivity).events,h=aA(c3,f);return!!(h||g.enable&&d.position||e.enable&&d.clickPosition)&&(au(c3,g.mode)||au(c3,e.mode)||h)}loadModeOptions(a,...b){for(let c of(a.bubble||(a.bubble=new c1),b))a.bubble.load(c?.bubble)}reset(a){a.bubble.inRange=!1}}async function c5(a,b=!0){a.checkVersion("3.9.1"),await a.addInteractor("externalBubble",b=>Promise.resolve(new c4(b,a)),b)}class c6{constructor(){this.opacity=.5}load(a){$(a)||void 0!==a.opacity&&(this.opacity=a.opacity)}}class c7{constructor(){this.distance=80,this.links=new c6,this.radius=60}load(a){$(a)||(void 0!==a.distance&&(this.distance=a.distance),this.links.load(a.links),void 0!==a.radius&&(this.radius=a.radius))}}class c8 extends cf{constructor(a){super(a)}clear(){}init(){let a=this.container,b=a.actualOptions.interactivity.modes.connect;b&&(a.retina.connectModeDistance=b.distance*a.retina.pixelRatio,a.retina.connectModeRadius=b.radius*a.retina.pixelRatio)}interact(){let a=this.container;if(a.actualOptions.interactivity.events.onHover.enable&&"pointermove"===a.interactivity.status){let b=a.interactivity.mouse.position,{connectModeDistance:c,connectModeRadius:d}=a.retina;if(!c||c<0||!d||d<0||!b)return;let e=Math.abs(d),f=a.particles.quadTree.queryCircle(b,e,a=>this.isEnabled(a));f.forEach((b,d)=>{let e=b.getPosition();for(let g of f.slice(d+1)){let d=g.getPosition(),f=Math.abs(c),h=Math.abs(e.x-d.x),i=Math.abs(e.y-d.y);h<f&&i<f&&function(a,b,c){a.canvas.draw(d=>{var e;let f=function(a,b,c,d){let e=a.actualOptions.interactivity.modes.connect;if(e)return function(a,b,c,d){let e=Math.floor(c.getRadius()/b.getRadius()),f=b.getFillColor(),g=c.getFillColor();if(!f||!g)return;let h=b.getPosition(),i=c.getPosition(),j=aT(f,g,b.getRadius(),c.getRadius()),k=a.createLinearGradient(h.x,h.y,i.x,i.y);return k.addColorStop(0,aS(f,d)),k.addColorStop(ae(e,0,1),aR(j,d)),k.addColorStop(1,aS(g,d)),k}(b,c,d,e.links.opacity)}(a,d,b,c);if(!f)return;let g=b.getPosition(),h=c.getPosition();e=b.retina.linksWidth??0,a_(d,g,h),d.lineWidth=e,d.strokeStyle=f,d.stroke()})}(a,b,g)}})}}isEnabled(a){let b=this.container,c=b.interactivity.mouse,d=(a?.interactivity??b.actualOptions.interactivity).events;return!!(d.onHover.enable&&c.position)&&au("connect",d.onHover.mode)}loadModeOptions(a,...b){for(let c of(a.connect||(a.connect=new c7),b))a.connect.load(c?.connect)}reset(){}}async function c9(a,b=!0){a.checkVersion("3.9.1"),await a.addInteractor("externalConnect",a=>Promise.resolve(new c8(a)),b)}class da{constructor(){this.blink=!1,this.consent=!1,this.opacity=1}load(a){$(a)||(void 0!==a.blink&&(this.blink=a.blink),void 0!==a.color&&(this.color=a5.create(this.color,a.color)),void 0!==a.consent&&(this.consent=a.consent),void 0!==a.opacity&&(this.opacity=a.opacity))}}class db{constructor(){this.distance=100,this.links=new da}load(a){$(a)||(void 0!==a.distance&&(this.distance=a.distance),this.links.load(a.links))}}class dc extends cf{constructor(a,b){super(a),this._engine=b}clear(){}init(){let a=this.container,b=a.actualOptions.interactivity.modes.grab;b&&(a.retina.grabModeDistance=b.distance*a.retina.pixelRatio)}interact(){let a=this.container,b=a.actualOptions.interactivity;if(!b.modes.grab||!b.events.onHover.enable||a.interactivity.status!==K)return;let c=a.interactivity.mouse.position;if(!c)return;let d=a.retina.grabModeDistance;if(d&&!(d<0))for(let e of a.particles.quadTree.queryCircle(c,d,a=>this.isEnabled(a))){let f=am(e.getPosition(),c);if(f>d)continue;let g=b.modes.grab.links,h=g.opacity,i=h-f*h/d;if(i<=0)continue;let j=g.color??e.options.links?.color;if(!a.particles.grabLineColor&&j){let c=b.modes.grab.links;a.particles.grabLineColor=aV(this._engine,j,c.blink,c.consent)}let k=aU(e,void 0,a.particles.grabLineColor);k&&function(a,b,c,d,e){a.canvas.draw(a=>{var f;let g=b.getPosition();f=b.retina.linksWidth??0,a_(a,g,e),a.strokeStyle=aR(c,d),a.lineWidth=f,a.stroke()})}(a,e,k,i,c)}}isEnabled(a){let b=this.container,c=b.interactivity.mouse,d=(a?.interactivity??b.actualOptions.interactivity).events;return d.onHover.enable&&!!c.position&&au("grab",d.onHover.mode)}loadModeOptions(a,...b){for(let c of(a.grab||(a.grab=new db),b))a.grab.load(c?.grab)}reset(){}}async function dd(a,b=!0){a.checkVersion("3.9.1"),await a.addInteractor("externalGrab",b=>Promise.resolve(new dc(b,a)),b)}class de extends cf{constructor(a){super(a),this.handleClickMode=a=>{if("pause"!==a)return;let b=this.container;b.animationStatus?b.pause():b.play()}}clear(){}init(){}interact(){}isEnabled(){return!0}reset(){}}async function df(a,b=!0){a.checkVersion("3.9.1"),await a.addInteractor("externalPause",a=>Promise.resolve(new de(a)),b)}class dg{constructor(){this.default=!0,this.groups=[],this.quantity=4}load(a){if($(a))return;void 0!==a.default&&(this.default=a.default),void 0!==a.groups&&(this.groups=a.groups.map(a=>a)),this.groups.length||(this.default=!0);let b=a.quantity;void 0!==b&&(this.quantity=ak(b)),this.particles=aF(a.particles,a=>az({},a))}}class dh extends cf{constructor(a){super(a),this.handleClickMode=a=>{if("push"!==a)return;let b=this.container,c=b.actualOptions.interactivity.modes.push;if(!c)return;let d=ah(c.quantity);if(d<=0)return;let e=aw([void 0,...c.groups]),f=az(void 0!==e?b.actualOptions.particles.groups[e]:void 0,aG(c.particles));b.particles.push(d,b.interactivity.mouse,f,e)}}clear(){}init(){}interact(){}isEnabled(){return!0}loadModeOptions(a,...b){for(let c of(a.push||(a.push=new dg),b))a.push.load(c?.push)}reset(){}}async function di(a,b=!0){a.checkVersion("3.9.1"),await a.addInteractor("externalPush",a=>Promise.resolve(new dh(a)),b)}class dj{constructor(){this.quantity=2}load(a){if($(a))return;let b=a.quantity;void 0!==b&&(this.quantity=ak(b))}}class dk extends cf{constructor(a){super(a),this.handleClickMode=a=>{let b=this.container,c=b.actualOptions;if(!c.interactivity.modes.remove||"remove"!==a)return;let d=ah(c.interactivity.modes.remove.quantity);b.particles.removeQuantity(d)}}clear(){}init(){}interact(){}isEnabled(){return!0}loadModeOptions(a,...b){for(let c of(a.remove||(a.remove=new dj),b))a.remove.load(c?.remove)}reset(){}}async function dl(a,b=!0){a.checkVersion("3.9.1"),await a.addInteractor("externalRemove",a=>Promise.resolve(new dk(a)),b)}class dm{constructor(){this.distance=200,this.duration=.4,this.factor=100,this.speed=1,this.maxSpeed=50,this.easing=y.easeOutQuad}load(a){$(a)||(void 0!==a.distance&&(this.distance=a.distance),void 0!==a.duration&&(this.duration=a.duration),void 0!==a.easing&&(this.easing=a.easing),void 0!==a.factor&&(this.factor=a.factor),void 0!==a.speed&&(this.speed=a.speed),void 0!==a.maxSpeed&&(this.maxSpeed=a.maxSpeed))}}class dn extends dm{constructor(){super(),this.selectors=[]}load(a){super.load(a),$(a)||void 0!==a.selectors&&(this.selectors=a.selectors)}}class dp extends dm{load(a){super.load(a),$(a)||(this.divs=aF(a.divs,a=>{let b=new dn;return b.load(a),b}))}}let dq="repulse";class dr extends cf{constructor(a,b){super(b),this._clickRepulse=()=>{let a=this.container,b=a.actualOptions.interactivity.modes.repulse;if(!b)return;let c=a.repulse??{particles:[]};if(c.finish||(c.count||(c.count=0),c.count++,c.count===a.particles.count&&(c.finish=!0)),c.clicking){let d=a.retina.repulseModeDistance;if(!d||d<0)return;let e=Math.pow(d/6,3),f=a.interactivity.mouse.clickPosition;if(void 0===f)return;let g=new b2(f.x,f.y,e);for(let d of a.particles.quadTree.query(g,a=>this.isEnabled(a))){let{dx:a,dy:g,distance:h}=al(f,d.position),i=h**2,j=-e*b.speed/i;if(i<=e){c.particles.push(d);let b=aa.create(a,g);b.length=j,d.velocity.setTo(b)}}}else if(!1===c.clicking){for(let a of c.particles)a.velocity.setTo(a.initialVelocity);c.particles=[]}},this._hoverRepulse=()=>{let a=this.container,b=a.interactivity.mouse.position,c=a.retina.repulseModeDistance;c&&!(c<0)&&b&&this._processRepulse(b,c,new b2(b.x,b.y,c))},this._processRepulse=(a,b,c,d)=>{let e=this.container,f=e.particles.quadTree.query(c,a=>this.isEnabled(a)),g=e.actualOptions.interactivity.modes.repulse;if(!g)return;let{easing:h,speed:i,factor:j,maxSpeed:k}=g,l=this._engine.getEasing(h),m=(d?.speed??i)*j;for(let c of f){let{dx:d,dy:e,distance:f}=al(c.position,a),g=ae(l(1-f/b)*m,0,k),h=aa.create(f?d/f*g:m,f?e/f*g:m);c.position.addTo(h)}},this._singleSelectorRepulse=(a,b)=>{let c=this.container,d=c.actualOptions.interactivity.modes.repulse;if(!d)return;let e=document.querySelectorAll(a);e.length&&e.forEach(a=>{let e=c.retina.pixelRatio,f={x:(a.offsetLeft+.5*a.offsetWidth)*e,y:(a.offsetTop+.5*a.offsetHeight)*e},g=.5*a.offsetWidth*e,h=b.type===n.circle?new b2(f.x,f.y,g):new b3(a.offsetLeft*e,a.offsetTop*e,a.offsetWidth*e,a.offsetHeight*e),i=aC(d.divs,a);this._processRepulse(f,g,h,i)})},this._engine=a,b.repulse||(b.repulse={particles:[]}),this.handleClickMode=a=>{let c=this.container.actualOptions.interactivity.modes.repulse;if(!c||a!==dq)return;b.repulse||(b.repulse={particles:[]});let d=b.repulse;for(let a of(d.clicking=!0,d.count=0,b.repulse.particles))this.isEnabled(a)&&a.velocity.setTo(a.initialVelocity);d.particles=[],d.finish=!1,setTimeout(()=>{b.destroyed||(d.clicking=!1)},1e3*c.duration)}}clear(){}init(){let a=this.container,b=a.actualOptions.interactivity.modes.repulse;b&&(a.retina.repulseModeDistance=b.distance*a.retina.pixelRatio)}interact(){let a=this.container,b=a.actualOptions,c=a.interactivity.status===K,d=b.interactivity.events,e=d.onHover,f=e.enable,g=e.mode,h=d.onClick,i=h.enable,j=h.mode,k=d.onDiv;c&&f&&au(dq,g)?this._hoverRepulse():i&&au(dq,j)?this._clickRepulse():aB(dq,k,(a,b)=>this._singleSelectorRepulse(a,b))}isEnabled(a){let b=this.container,c=b.actualOptions,d=b.interactivity.mouse,e=(a?.interactivity??c.interactivity).events,f=e.onDiv,g=e.onHover,h=e.onClick,i=aA(dq,f);if(!(i||g.enable&&d.position||h.enable&&d.clickPosition))return!1;let j=g.mode,k=h.mode;return au(dq,j)||au(dq,k)||i}loadModeOptions(a,...b){for(let c of(a.repulse||(a.repulse=new dp),b))a.repulse.load(c?.repulse)}reset(){}}async function ds(a,b=!0){a.checkVersion("3.9.1"),await a.addInteractor("externalRepulse",b=>Promise.resolve(new dr(a,b)),b)}class dt{constructor(){this.factor=3,this.radius=200}load(a){$(a)||(void 0!==a.factor&&(this.factor=a.factor),void 0!==a.radius&&(this.radius=a.radius))}}class du extends cf{constructor(a){super(a)}clear(a,b,c){(!a.slow.inRange||c)&&(a.slow.factor=1)}init(){let a=this.container,b=a.actualOptions.interactivity.modes.slow;b&&(a.retina.slowModeRadius=b.radius*a.retina.pixelRatio)}interact(){}isEnabled(a){let b=this.container,c=b.interactivity.mouse,d=(a?.interactivity??b.actualOptions.interactivity).events;return d.onHover.enable&&!!c.position&&au("slow",d.onHover.mode)}loadModeOptions(a,...b){for(let c of(a.slow||(a.slow=new dt),b))a.slow.load(c?.slow)}reset(a){a.slow.inRange=!1;let b=this.container,c=b.actualOptions,d=b.interactivity.mouse.position,e=b.retina.slowModeRadius,f=c.interactivity.modes.slow;if(!f||!e||e<0||!d)return;let g=am(d,a.getPosition()),h=f.factor,{slow:i}=a;g>e||(i.inRange=!0,i.factor=g/e/h)}}async function dv(a,b=!0){a.checkVersion("3.9.1"),await a.addInteractor("externalSlow",a=>Promise.resolve(new du(a)),b)}let dw=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function dx(a){return new Promise(b=>{a.loading=!0;let c=new Image;a.element=c,c.addEventListener("load",()=>{a.loading=!1,b()}),c.addEventListener("error",()=>{a.element=void 0,a.error=!0,a.loading=!1,aq.error(`${M} loading image: ${a.source}`),b()}),c.src=a.source})}async function dy(a){if("svg"!==a.type)return void await dx(a);a.loading=!0;let b=await fetch(a.source);b.ok?a.svgData=await b.text():(aq.error(`${M} Image not found`),a.error=!0),a.loading=!1}let dz=[0,4,2,1],dA=[8,8,4,2];class dB{constructor(a){this.pos=0,this.data=new Uint8ClampedArray(a)}getString(a){let b=this.data.slice(this.pos,this.pos+a);return this.pos+=b.length,b.reduce((a,b)=>a+String.fromCharCode(b),"")}nextByte(){return this.data[this.pos++]}nextTwoBytes(){return this.pos+=2,this.data[this.pos-2]+(this.data[this.pos-1]<<8)}readSubBlocks(){let a="",b=0;do{b=this.data[this.pos++];for(let c=b;--c>=0;a+=String.fromCharCode(this.data[this.pos++]));}while(0!==b);return a}readSubBlocksBin(){let a=this.data[this.pos],b=0;for(let c=0;0!==a;c+=a+1,a=this.data[this.pos+c])b+=a;let c=new Uint8Array(b);a=this.data[this.pos++];for(let b=0;0!==a;a=this.data[this.pos++])for(let d=a;--d>=0;c[b++]=this.data[this.pos++]);return c}skipSubBlocks(){for(;0!==this.data[this.pos];this.pos+=this.data[this.pos]+1);this.pos++}}!function(a){a[a.Replace=0]="Replace",a[a.Combine=1]="Combine",a[a.RestoreBackground=2]="RestoreBackground",a[a.RestorePrevious=3]="RestorePrevious",a[a.UndefinedA=4]="UndefinedA",a[a.UndefinedB=5]="UndefinedB",a[a.UndefinedC=6]="UndefinedC",a[a.UndefinedD=7]="UndefinedD"}(D||(D={})),function(a){a[a.Extension=33]="Extension",a[a.ApplicationExtension=255]="ApplicationExtension",a[a.GraphicsControlExtension=249]="GraphicsControlExtension",a[a.PlainTextExtension=1]="PlainTextExtension",a[a.CommentExtension=254]="CommentExtension",a[a.Image=44]="Image",a[a.EndOfFile=59]="EndOfFile"}(E||(E={}));let dC={x:0,y:0};function dD(a,b){let c=[];for(let d=0;d<b;d++)c.push({r:a.data[a.pos],g:a.data[a.pos+1],b:a.data[a.pos+2]}),a.pos+=3;return c}async function dE(a,b,c,d,e,f){let g=b.frames[d(!0)];g.left=a.nextTwoBytes(),g.top=a.nextTwoBytes(),g.width=a.nextTwoBytes(),g.height=a.nextTwoBytes();let h=a.nextByte(),i=(128&h)==128;g.sortFlag=(32&h)==32,g.reserved=(24&h)>>>3,i&&(g.localColorTable=dD(a,1<<(7&h)+1));let j=a=>{let{r:d,g:f,b:h}=(i?g.localColorTable:b.globalColorTable)[a];return a!==e(null)?{r:d,g:f,b:h,a:255}:{r:d,g:f,b:h,a:c?~~((d+f+h)/3):0}},k=(()=>{try{return new ImageData(g.width,g.height,{colorSpace:"srgb"})}catch(a){if(a instanceof DOMException&&"IndexSizeError"===a.name)return null;throw a}})();if(null==k)throw EvalError("GIF frame size is to large");let l=a.nextByte(),m=a.readSubBlocksBin(),n=1<<l,o=(a,b)=>{let c=a>>>3,d=7&a;return(m[c]+(m[c+1]<<8)+(m[c+2]<<16)&(1<<b)-1<<d)>>>d};if((64&h)==64){for(let c=0,e=l+1,h=0,i=[[0]],m=0;m<4;m++){if(dz[m]<g.height){let a=0,b=0,d=!1;for(;!d;){let f=c;if(c=o(h,e),h+=e+1,c===n){e=l+1,i.length=n+2;for(let a=0;a<i.length;a++)i[a]=a<n?[a]:[]}else{for(let d of(c>=i.length?i.push(i[f].concat(i[f][0])):f!==n&&i.push(i[f].concat(i[c][0])),i[c])){let{r:c,g:e,b:f,a:h}=j(d);k.data.set([c,e,f,h],dz[m]*g.width+dA[m]*b+a%(4*g.width)),a+=4}i.length===1<<e&&e<12&&e++}a===4*g.width*(b+1)&&(b++,dz[m]+dA[m]*b>=g.height&&(d=!0))}}f?.(a.pos/(a.data.length-1),d(!1)+1,k,{x:g.left,y:g.top},{width:b.width,height:b.height})}g.image=k,g.bitmap=await createImageBitmap(k)}else{let c=0,e=l+1,h=0,i=-4,m=!1,p=[[0]];for(;!m;){let a=c;if(c=o(h,e),h+=e,c===n){e=l+1,p.length=n+2;for(let a=0;a<p.length;a++)p[a]=a<n?[a]:[]}else{if(c===n+1){m=!0;break}for(let b of(c>=p.length?p.push(p[a].concat(p[a][0])):a!==n&&p.push(p[a].concat(p[c][0])),p[c])){let{r:a,g:c,b:d,a:e}=j(b);k.data.set([a,c,d,e],i+=4)}p.length>=1<<e&&e<12&&e++}}g.image=k,g.bitmap=await createImageBitmap(k),f?.((a.pos+1)/a.data.length,d(!1)+1,g.image,{x:g.left,y:g.top},{width:b.width,height:b.height})}}async function dF(a,b,c,d,e,f){switch(a.nextByte()){case E.EndOfFile:return!0;case E.Image:await dE(a,b,c,d,e,f);break;case E.Extension:switch(a.nextByte()){case E.GraphicsControlExtension:{let c=b.frames[d(!1)];a.pos++;let f=a.nextByte();c.GCreserved=(224&f)>>>5,c.disposalMethod=(28&f)>>>2,c.userInputDelayFlag=(2&f)==2,c.delayTime=10*a.nextTwoBytes();let g=a.nextByte();(1&f)==1&&e(g),a.pos++;break}case E.ApplicationExtension:{a.pos++;let c={identifier:a.getString(8),authenticationCode:a.getString(3),data:a.readSubBlocksBin()};b.applicationExtensions.push(c);break}case E.CommentExtension:b.comments.push([d(!1),a.readSubBlocks()]);break;case E.PlainTextExtension:if(0===b.globalColorTable.length)throw EvalError("plain text extension without global color table");a.pos++,b.frames[d(!1)].plainTextData={left:a.nextTwoBytes(),top:a.nextTwoBytes(),width:a.nextTwoBytes(),height:a.nextTwoBytes(),charSize:{width:a.nextTwoBytes(),height:a.nextTwoBytes()},foregroundColor:a.nextByte(),backgroundColor:a.nextByte(),text:a.readSubBlocks()};break;default:a.skipSubBlocks()}break;default:throw EvalError("undefined block found")}return!1}async function dG(a,b,c){c||(c=!1);let d=await fetch(a);if(!d.ok&&404===d.status)throw EvalError("file not found");let e=await d.arrayBuffer(),f={width:0,height:0,totalTime:0,colorRes:0,pixelAspectRatio:0,frames:[],sortFlag:!1,globalColorTable:[],backgroundImage:new ImageData(1,1,{colorSpace:"srgb"}),comments:[],applicationExtensions:[]},g=new dB(new Uint8ClampedArray(e));if("GIF89a"!==g.getString(6))throw Error("not a supported GIF file");f.width=g.nextTwoBytes(),f.height=g.nextTwoBytes();let h=g.nextByte(),i=(128&h)==128;f.colorRes=(112&h)>>>4,f.sortFlag=(8&h)==8;let j=g.nextByte();f.pixelAspectRatio=g.nextByte(),0!==f.pixelAspectRatio&&(f.pixelAspectRatio=(f.pixelAspectRatio+15)/64),i&&(f.globalColorTable=dD(g,1<<(7&h)+1));let k=(()=>{try{return new ImageData(f.width,f.height,{colorSpace:"srgb"})}catch(a){if(a instanceof DOMException&&"IndexSizeError"===a.name)return null;throw a}})();if(null==k)throw Error("GIF frame size is to large");let{r:l,g:m,b:n}=f.globalColorTable[j];k.data.set(i?[l,m,n,255]:[0,0,0,0]);for(let a=4;a<k.data.length;a*=2)k.data.copyWithin(a,0,a);f.backgroundImage=k;let o=-1,p=!0,q=-1,r=a=>(a&&(p=!0),o),s=a=>(null!=a&&(q=a),q);try{do p&&(f.frames.push({left:0,top:0,width:0,height:0,disposalMethod:D.Replace,image:new ImageData(1,1,{colorSpace:"srgb"}),plainTextData:null,userInputDelayFlag:!1,delayTime:0,sortFlag:!1,localColorTable:[],reserved:0,GCreserved:0}),o++,q=-1,p=!1);while(!await dF(g,f,c,r,s,b));for(let a of(f.frames.length--,f.frames)){if(a.userInputDelayFlag&&0===a.delayTime){f.totalTime=1/0;break}f.totalTime+=a.delayTime}return f}catch(a){if(a instanceof EvalError)throw Error(`error while parsing frame ${o} "${a.message}"`);throw a}}async function dH(a){if("gif"!==a.type)return void await dx(a);a.loading=!0;try{a.gifData=await dG(a.source),a.gifLoopCount=function(a){for(let b of a.applicationExtensions)if(b.identifier+b.authenticationCode==="NETSCAPE2.0")return b.data[1]+(b.data[2]<<8);return NaN}(a.gifData)??0,a.gifLoopCount||(a.gifLoopCount=1/0)}catch{a.error=!0}a.loading=!1}class dI{constructor(a){this.validTypes=["image","images"],this.loadImageShape=async a=>{if(!this._engine.loadImage)throw Error(`${M} image shape not initialized`);await this._engine.loadImage({gif:a.gif,name:a.name,replaceColor:a.replaceColor??!1,src:a.src})},this._engine=a}addImage(a){this._engine.images||(this._engine.images=[]),this._engine.images.push(a)}draw(a){let{context:b,radius:c,particle:d,opacity:e}=a,f=d.image,g=f?.element;if(f){if(b.globalAlpha=e,f.gif&&f.gifData)!function(a){let{context:b,radius:c,particle:d,delta:e}=a,f=d.image;if(!f?.gifData||!f.gif)return;let g=new OffscreenCanvas(f.gifData.width,f.gifData.height),h=g.getContext("2d");if(!h)throw Error("could not create offscreen canvas context");h.imageSmoothingQuality="low",h.imageSmoothingEnabled=!1,h.clearRect(dC.x,dC.y,g.width,g.height),void 0===d.gifLoopCount&&(d.gifLoopCount=f.gifLoopCount??0);let i=d.gifFrame??0,j={x:-(.5*f.gifData.width),y:-(.5*f.gifData.height)},k=f.gifData.frames[i];if(void 0===d.gifTime&&(d.gifTime=0),k.bitmap){switch(b.scale(c/f.gifData.width,c/f.gifData.height),k.disposalMethod){case D.UndefinedA:case D.UndefinedB:case D.UndefinedC:case D.UndefinedD:case D.Replace:h.drawImage(k.bitmap,k.left,k.top),b.drawImage(g,j.x,j.y),h.clearRect(dC.x,dC.y,g.width,g.height);break;case D.Combine:h.drawImage(k.bitmap,k.left,k.top),b.drawImage(g,j.x,j.y);break;case D.RestoreBackground:h.drawImage(k.bitmap,k.left,k.top),b.drawImage(g,j.x,j.y),h.clearRect(dC.x,dC.y,g.width,g.height),f.gifData.globalColorTable.length?h.putImageData(f.gifData.backgroundImage,j.x,j.y):h.putImageData(f.gifData.frames[0].image,j.x+k.left,j.y+k.top);break;case D.RestorePrevious:{let a=h.getImageData(dC.x,dC.y,g.width,g.height);h.drawImage(k.bitmap,k.left,k.top),b.drawImage(g,j.x,j.y),h.clearRect(dC.x,dC.y,g.width,g.height),h.putImageData(a,dC.x,dC.y)}}if(d.gifTime+=e.value,d.gifTime>k.delayTime){if(d.gifTime-=k.delayTime,++i>=f.gifData.frames.length){if(--d.gifLoopCount<=0)return;i=0,h.clearRect(dC.x,dC.y,g.width,g.height)}d.gifFrame=i}b.scale(f.gifData.width/c,f.gifData.height/c)}}(a);else if(g){let a=f.ratio,d={x:-c,y:-c},e=2*c;b.drawImage(g,d.x,d.y,e,e/a)}b.globalAlpha=1}}getSidesCount(){return 12}async init(a){let b=a.actualOptions;if(b.preload&&this._engine.loadImage)for(let a of b.preload)await this._engine.loadImage(a)}loadShape(a){if("image"!==a.shape&&"images"!==a.shape)return;this._engine.images||(this._engine.images=[]);let b=a.shapeData;b&&(this._engine.images.find(a=>a.name===b.name||a.source===b.src)||this.loadImageShape(b).then(()=>{this.loadShape(a)}))}particleInit(a,b){if("image"!==b.shape&&"images"!==b.shape)return;this._engine.images||(this._engine.images=[]);let c=this._engine.images,d=b.shapeData;if(!d)return;let e=b.getFillColor(),f=c.find(a=>a.name===d.name||a.source===d.src);if(!f)return;let g=d.replaceColor??f.replaceColor;if(f.loading)return void setTimeout(()=>{this.particleInit(a,b)});(async()=>{let a;(a=f.svgData&&e?await function(a,b,c,d){let e=function(a,b,c){let{svgData:d}=a;if(!d)return"";let e=aS(b,c);if(d.includes("fill"))return d.replace(dw,()=>e);let f=d.indexOf(">");return`${d.substring(0,f)} fill="${e}"${d.substring(f)}`}(a,c,d.opacity?.value??1),f={color:c,gif:b.gif,data:{...a,svgData:e},loaded:!1,ratio:b.width/b.height,replaceColor:b.replaceColor,source:b.src};return new Promise(b=>{let c=new Blob([e],{type:"image/svg+xml"}),d=URL||window.URL||window.webkitURL||window,g=d.createObjectURL(c),h=new Image;h.addEventListener("load",()=>{f.loaded=!0,f.element=h,b(f),d.revokeObjectURL(g)});let i=async()=>{d.revokeObjectURL(g);let c={...a,error:!1,loading:!0};await dx(c),f.loaded=!0,f.element=c.element,b(f)};h.addEventListener("error",()=>void i()),h.src=g})}(f,d,e,b):{color:e,data:f,element:f.element,gif:f.gif,gifData:f.gifData,gifLoopCount:f.gifLoopCount,loaded:!0,ratio:d.width&&d.height?d.width/d.height:f.ratio??1,replaceColor:g,source:d.src}).ratio||(a.ratio=1);let c=d.fill??b.shapeFill,h=d.close??b.shapeClose;b.image=a,b.shapeFill=c,b.shapeClose=h})()}}class dJ{constructor(){this.src="",this.gif=!1}load(a){$(a)||(void 0!==a.gif&&(this.gif=a.gif),void 0!==a.height&&(this.height=a.height),void 0!==a.name&&(this.name=a.name),void 0!==a.replaceColor&&(this.replaceColor=a.replaceColor),void 0!==a.src&&(this.src=a.src),void 0!==a.width&&(this.width=a.width))}}class dK{constructor(a){this.id="imagePreloader",this._engine=a}async getPlugin(){return await Promise.resolve(),{}}loadOptions(a,b){if(!b?.preload)return;a.preload||(a.preload=[]);let c=a.preload;for(let a of b.preload){let b=c.find(b=>b.name===a.name||b.src===a.src);if(b)b.load(a);else{let b=new dJ;b.load(a),c.push(b)}}}needsPlugin(){return!0}}async function dL(a,b=!0){a.checkVersion("3.9.1"),a.loadImage||(a.loadImage=async b=>{if(!b.name&&!b.src)throw Error(`${M} no image source provided`);if(a.images||(a.images=[]),!a.images.find(a=>a.name===b.name||a.source===b.src))try{let c,d={gif:b.gif??!1,name:b.name??b.src,source:b.src,type:b.src.substring(b.src.length-3),error:!1,loading:!0,replaceColor:b.replaceColor,ratio:b.width&&b.height?b.width/b.height:void 0};a.images.push(d),c=b.gif?dH:b.replaceColor?dy:dx,await c(d)}catch{throw Error(`${M} ${b.name??b.src} not found`)}});let c=new dK(a);await a.addPlugin(c,b),await a.addShape(new dI(a),b)}class dM extends bt{constructor(){super(),this.sync=!1}load(a){$(a)||(super.load(a),void 0!==a.sync&&(this.sync=a.sync))}}class dN extends bt{constructor(){super(),this.sync=!1}load(a){$(a)||(super.load(a),void 0!==a.sync&&(this.sync=a.sync))}}class dO{constructor(){this.count=0,this.delay=new dM,this.duration=new dN}load(a){$(a)||(void 0!==a.count&&(this.count=a.count),this.delay.load(a.delay),this.duration.load(a.duration))}}class dP{constructor(a){this.container=a}init(a){let b=this.container,c=a.options.life;c&&(a.life={delay:b.retina.reduceFactor?ah(c.delay.value)*(c.delay.sync?1:ad())/b.retina.reduceFactor*1e3:0,delayTime:0,duration:b.retina.reduceFactor?ah(c.duration.value)*(c.duration.sync?1:ad())/b.retina.reduceFactor*1e3:0,time:0,count:c.count},a.life.duration<=0&&(a.life.duration=-1),a.life.count<=0&&(a.life.count=-1),a.life&&(a.spawning=a.life.delay>0))}isEnabled(a){return!a.destroyed}loadOptions(a,...b){for(let c of(a.life||(a.life=new dO),b))a.life.load(c?.life)}update(a,b){this.isEnabled(a)&&a.life&&function(a,b,c){if(!a.life)return;let d=a.life,e=!1;if(a.spawning){if(d.delayTime+=b.value,!(d.delayTime>=a.life.delay))return;e=!0,a.spawning=!1,d.delayTime=0,d.time=0}if(-1===d.duration||a.spawning||(e?d.time=0:d.time+=b.value,d.time<d.duration))return;if(d.time=0,a.life.count>0&&a.life.count--,0===a.life.count)return a.destroy();let f=ak(0,c.width),g=ak(0,c.width);a.position.x=ag(f),a.position.y=ag(g),a.spawning=!0,d.delayTime=0,d.time=0,a.reset();let h=a.options.life;h&&(d.delay=1e3*ah(h.delay.value),d.duration=1e3*ah(h.duration.value))}(a,b,this.container.canvas.size)}}async function dQ(a,b=!0){a.checkVersion("3.9.1"),await a.addParticleUpdater("life",async a=>Promise.resolve(new dP(a)),b)}class dR{constructor(){this.validTypes=["line"]}draw(a){let{context:b,particle:c,radius:d}=a,e=c.shapeData;b.moveTo(-d,0),b.lineTo(d,0),b.lineCap=e?.cap??"butt"}getSidesCount(){return 1}}async function dS(a,b=!0){a.checkVersion("3.9.1"),await a.addShape(new dR,b)}class dT{init(){}isEnabled(a){return!as()&&!a.destroyed&&a.container.actualOptions.interactivity.events.onHover.parallax.enable}move(a){let b=a.container,c=b.actualOptions.interactivity.events.onHover.parallax;if(as()||!c.enable)return;let d=c.force,e=b.interactivity.mouse.position;if(!e)return;let f=b.canvas.size,g={x:.5*f.width,y:.5*f.height},h=c.smooth,i=a.getRadius()/d,j={x:(e.x-g.x)*i,y:(e.y-g.y)*i},{offset:k}=a;k.x+=(j.x-k.x)/h,k.y+=(j.y-k.y)/h}}async function dU(a,b=!0){a.checkVersion("3.9.1"),await a.addMover("parallax",()=>Promise.resolve(new dT),b)}class dV extends cg{constructor(a){super(a)}clear(){}init(){}interact(a){let b=this.container;void 0===a.attractDistance&&(a.attractDistance=ah(a.options.move.attract.distance)*b.retina.pixelRatio);let c=a.attractDistance,d=a.getPosition();for(let e of b.particles.quadTree.queryCircle(d,c)){if(a===e||!e.options.move.attract.enable||e.destroyed||e.spawning)continue;let{dx:b,dy:c}=al(d,e.getPosition()),f=a.options.move.attract.rotate,g=b/(1e3*f.x),h=c/(1e3*f.y),i=e.size.value/a.size.value,j=1/i;a.velocity.x-=g*i,a.velocity.y-=h*i,e.velocity.x+=g*j,e.velocity.y+=h*j}}isEnabled(a){return a.options.move.attract.enable}reset(){}}async function dW(a,b=!0){a.checkVersion("3.9.1"),await a.addInteractor("particlesAttract",a=>Promise.resolve(new dV(a)),b)}function dX(a,b,c,d,e,f){let g=ae(a.options.collisions.absorb.speed*e.factor/10,0,d);a.size.value+=.5*g,c.size.value-=g,d<=f&&(c.size.value=0,c.destroy())}let dY=a=>{void 0===a.collisionMaxSpeed&&(a.collisionMaxSpeed=ah(a.options.collisions.maxSpeed)),a.velocity.length>a.collisionMaxSpeed&&(a.velocity.length=a.collisionMaxSpeed)};function dZ(a,b){aE(aD(a),aD(b)),dY(a),dY(b)}class d$ extends cg{constructor(a){super(a)}clear(){}init(){}interact(a,b){if(a.destroyed||a.spawning)return;let c=this.container,d=a.getPosition(),e=a.getRadius();for(let f of c.particles.quadTree.queryCircle(d,2*e)){if(a===f||!f.options.collisions.enable||a.options.collisions.mode!==f.options.collisions.mode||f.destroyed||f.spawning)continue;let g=f.getPosition(),h=f.getRadius();if(!(Math.abs(Math.round(d.z)-Math.round(g.z))>e+h))am(d,g)>e+h||function(a,b,c,d){switch(a.options.collisions.mode){case q.absorb:let e=a.getRadius(),f=b.getRadius();void 0===e&&void 0!==f?a.destroy():void 0!==e&&void 0===f?b.destroy():void 0!==e&&void 0!==f&&(e>=f?dX(a,e,b,f,c,d):dX(b,f,a,e,c,d));break;case q.bounce:dZ(a,b);break;case q.destroy:a.unbreakable||b.unbreakable||dZ(a,b),void 0===a.getRadius()&&void 0!==b.getRadius()?a.destroy():void 0!==a.getRadius()&&void 0===b.getRadius()?b.destroy():void 0!==a.getRadius()&&void 0!==b.getRadius()&&(a.getRadius()>=b.getRadius()?b:a).destroy()}}(a,f,b,c.retina.pixelRatio)}}isEnabled(a){return a.options.collisions.enable}reset(){}}async function d_(a,b=!0){a.checkVersion("3.9.1"),await a.addInteractor("particlesCollisions",a=>Promise.resolve(new d$(a)),b)}class d0 extends b2{constructor(a,b,c,d){super(a,b,c),this.canvasSize=d,this.canvasSize={...d}}contains(a){let{width:b,height:c}=this.canvasSize,{x:d,y:e}=a;return super.contains(a)||super.contains({x:d-b,y:e})||super.contains({x:d-b,y:e-c})||super.contains({x:d,y:e-c})}intersects(a){if(super.intersects(a))return!0;let b={x:a.position.x-this.canvasSize.width,y:a.position.y-this.canvasSize.height};if(void 0!==a.radius){let c=new b2(b.x,b.y,2*a.radius);return super.intersects(c)}if(void 0!==a.size){let c=new b3(b.x,b.y,2*a.size.width,2*a.size.height);return super.intersects(c)}return!1}}class d1{constructor(){this.blur=5,this.color=new a5,this.color.value="#000",this.enable=!1}load(a){$(a)||(void 0!==a.blur&&(this.blur=a.blur),this.color=a5.create(this.color,a.color),void 0!==a.enable&&(this.enable=a.enable))}}class d2{constructor(){this.enable=!1,this.frequency=1}load(a){$(a)||(void 0!==a.color&&(this.color=a5.create(this.color,a.color)),void 0!==a.enable&&(this.enable=a.enable),void 0!==a.frequency&&(this.frequency=a.frequency),void 0!==a.opacity&&(this.opacity=a.opacity))}}class d3{constructor(){this.blink=!1,this.color=new a5,this.color.value="#fff",this.consent=!1,this.distance=100,this.enable=!1,this.frequency=1,this.opacity=1,this.shadow=new d1,this.triangles=new d2,this.width=1,this.warp=!1}load(a){$(a)||(void 0!==a.id&&(this.id=a.id),void 0!==a.blink&&(this.blink=a.blink),this.color=a5.create(this.color,a.color),void 0!==a.consent&&(this.consent=a.consent),void 0!==a.distance&&(this.distance=a.distance),void 0!==a.enable&&(this.enable=a.enable),void 0!==a.frequency&&(this.frequency=a.frequency),void 0!==a.opacity&&(this.opacity=a.opacity),this.shadow.load(a.shadow),this.triangles.load(a.triangles),void 0!==a.width&&(this.width=a.width),void 0!==a.warp&&(this.warp=a.warp))}}let d4={x:0,y:0};class d5 extends cg{constructor(a,b){super(a),this._setColor=a=>{if(!a.options.links)return;let b=this._linkContainer,c=a.options.links,d=void 0===c.id?b.particles.linksColor:b.particles.linksColors.get(c.id);if(d)return;let e=c.color;d=aV(this._engine,e,c.blink,c.consent),void 0===c.id?b.particles.linksColor=d:b.particles.linksColors.set(c.id,d)},this._linkContainer=a,this._engine=b}clear(){}init(){this._linkContainer.particles.linksColor=void 0,this._linkContainer.particles.linksColors=new Map}interact(a){let b;if(!a.options.links)return;a.links=[];let c=a.getPosition(),d=this.container,e=d.canvas.size;if(c.x<d4.x||c.y<d4.y||c.x>e.width||c.y>e.height)return;let f=a.options.links,g=f.opacity,h=a.retina.linksDistance??0,i=f.warp;for(let j of(b=i?new d0(c.x,c.y,h,e):new b2(c.x,c.y,h),d.particles.quadTree.query(b))){let b=j.options.links;if(a===j||!b?.enable||f.id!==b.id||j.spawning||j.destroyed||!j.links||a.links.some(a=>a.destination===j)||j.links.some(b=>b.destination===a))continue;let d=j.getPosition();if(d.x<d4.x||d.y<d4.y||d.x>e.width||d.y>e.height)continue;let k=function(a,b,c,d,e){let{dx:f,dy:g,distance:h}=al(a,b);if(!e||h<=c)return h;let i={x:Math.abs(f),y:Math.abs(g)},j={x:Math.min(i.x,d.width-i.x),y:Math.min(i.y,d.height-i.y)};return Math.sqrt(j.x**2+j.y**2)}(c,d,h,e,i&&b.warp);if(k>h)continue;let l=(1-k/h)*g;this._setColor(a),a.links.push({destination:j,opacity:l})}}isEnabled(a){return!!a.options.links?.enable}loadParticlesOptions(a,...b){for(let c of(a.links||(a.links=new d3),b))a.links.load(c?.links)}reset(){}}async function d6(a,b=!0){await a.addInteractor("particlesLinks",async b=>Promise.resolve(new d5(b,a)),b)}function d7(a,b){var c;let d=((c=a.map(a=>a.id)).sort((a,b)=>a-b),c.join("_")),e=b.get(d);return void 0===e&&(e=ad(),b.set(d,e)),e}class d8{constructor(a,b){this._drawLinkLine=(a,b)=>{let c=a.options.links;if(!c?.enable)return;let d=this._container,e=d.actualOptions,f=b.destination,g=a.getPosition(),h=f.getPosition(),i=b.opacity;d.canvas.draw(b=>{let j,k=a.options.twinkle?.lines;if(k?.enable){let a=k.frequency,b=aM(this._engine,k.color);ad()<a&&b&&(j=b,i=ah(k.opacity))}if(j||(j=aU(a,f,void 0!==c.id?d.particles.linksColors.get(c.id):d.particles.linksColor)),!j)return;let l=a.retina.linksWidth??0,m=a.retina.linksDistance??0,{backgroundMask:n}=e;!function(a){let b=!1,{begin:c,end:d,engine:e,maxDistance:f,context:g,canvasSize:h,width:i,backgroundMask:j,colorLine:k,opacity:l,links:m}=a;if(am(c,d)<=f)a_(g,c,d),b=!0;else if(m.warp){let a,e,i=al(c,{x:d.x-h.width,y:d.y});if(i.distance<=f){let b=c.y-i.dy/i.dx*c.x;a={x:0,y:b},e={x:h.width,y:b}}else{let b=al(c,{x:d.x,y:d.y-h.height});if(b.distance<=f){let d=-(c.y-b.dy/b.dx*c.x)/(b.dy/b.dx);a={x:d,y:0},e={x:d,y:h.height}}else{let b=al(c,{x:d.x-h.width,y:d.y-h.height});if(b.distance<=f){let d=c.y-b.dy/b.dx*c.x;e={x:(a={x:-d/(b.dy/b.dx),y:d}).x+h.width,y:a.y+h.height}}}}a&&e&&(a_(g,c,a),a_(g,d,e),b=!0)}if(!b)return;g.lineWidth=i,j.enable&&(g.globalCompositeOperation=j.composite),g.strokeStyle=aR(k,l);let{shadow:n}=m;if(n.enable){let a=aM(e,n.color);a&&(g.shadowBlur=n.blur,g.shadowColor=aR(a))}g.stroke()}({context:b,width:l,begin:g,end:h,engine:this._engine,maxDistance:m,canvasSize:d.canvas.size,links:c,backgroundMask:n,colorLine:j,opacity:i})})},this._drawLinkTriangle=(a,b,c)=>{let d=a.options.links;if(!d?.enable)return;let e=d.triangles;if(!e.enable)return;let f=this._container,g=f.actualOptions,h=b.destination,i=c.destination,j=e.opacity??(b.opacity+c.opacity)*.5;j<=0||f.canvas.draw(b=>{let c=a.getPosition(),k=h.getPosition(),l=i.getPosition(),m=a.retina.linksDistance??0;if(am(c,k)>m||am(l,k)>m||am(l,c)>m)return;let n=aM(this._engine,e.color);n||(n=aU(a,h,void 0!==d.id?f.particles.linksColors.get(d.id):f.particles.linksColor)),n&&function(a){let{context:b,pos1:c,pos2:d,pos3:e,backgroundMask:f,colorTriangle:g,opacityTriangle:h}=a;b.beginPath(),b.moveTo(c.x,c.y),b.lineTo(d.x,d.y),b.lineTo(e.x,e.y),b.closePath(),f.enable&&(b.globalCompositeOperation=f.composite),b.fillStyle=aR(g,h),b.fill()}({context:b,pos1:c,pos2:k,pos3:l,backgroundMask:g.backgroundMask,colorTriangle:n,opacityTriangle:j})})},this._drawTriangles=(a,b,c,d)=>{let e=c.destination;if(!(a.links?.triangles.enable&&e.options.links?.triangles.enable))return;let f=e.links?.filter(a=>{let b=this._getLinkFrequency(e,a.destination);return e.options.links&&b<=e.options.links.frequency&&d.findIndex(b=>b.destination===a.destination)>=0});if(f?.length)for(let d of f){let f=d.destination;this._getTriangleFrequency(b,e,f)>a.links.triangles.frequency||this._drawLinkTriangle(b,c,d)}},this._getLinkFrequency=(a,b)=>d7([a,b],this._freqs.links),this._getTriangleFrequency=(a,b,c)=>d7([a,b,c],this._freqs.triangles),this._container=a,this._engine=b,this._freqs={links:new Map,triangles:new Map}}drawParticle(a,b){let{links:c,options:d}=b;if(!c?.length)return;let e=c.filter(a=>d.links&&(d.links.frequency>=1||this._getLinkFrequency(b,a.destination)<=d.links.frequency));for(let a of e)this._drawTriangles(d,b,a,e),a.opacity>0&&(b.retina.linksWidth??0)>0&&this._drawLinkLine(b,a)}async init(){this._freqs.links=new Map,this._freqs.triangles=new Map,await Promise.resolve()}particleCreated(a){if(a.links=[],!a.options.links)return;let b=this._container.retina.pixelRatio,{retina:c}=a,{distance:d,width:e}=a.options.links;c.linksDistance=d*b,c.linksWidth=e*b}particleDestroyed(a){a.links=[]}}class d9{constructor(a){this.id="links",this._engine=a}getPlugin(a){return Promise.resolve(new d8(a,this._engine))}loadOptions(){}needsPlugin(){return!0}}async function ea(a,b=!0){let c=new d9(a);await a.addPlugin(c,b)}async function eb(a,b=!0){a.checkVersion("3.9.1"),await d6(a,b),await ea(a,b)}let ec={x:0,y:0};class ed{draw(a){let{particle:b,radius:c}=a;!function(a,b,c){let{context:d}=a,e=c.count.numerator*c.count.denominator,f=c.count.numerator/c.count.denominator,g=Math.PI-an(180*(f-2)/f);if(d){d.beginPath(),d.translate(b.x,b.y),d.moveTo(ec.x,ec.y);for(let a=0;a<e;a++)d.lineTo(c.length,ec.y),d.translate(c.length,ec.y),d.rotate(g)}}(a,this.getCenter(b,c),this.getSidesData(b,c))}getSidesCount(a){let b=a.shapeData;return Math.round(ah(b?.sides??5))}}class ee extends ed{constructor(){super(...arguments),this.validTypes=["polygon"]}getCenter(a,b){return{x:-b/(a.sides/3.5),y:-b/.76}}getSidesData(a,b){let c=a.sides;return{count:{denominator:1,numerator:c},length:2.66*b/(c/3)}}}class ef extends ed{constructor(){super(...arguments),this.validTypes=["triangle"]}getCenter(a,b){return{x:-b,y:b/1.66}}getSidesCount(){return 3}getSidesData(a,b){return{count:{denominator:2,numerator:3},length:2*b}}}async function eg(a,b=!0){a.checkVersion("3.9.1"),await a.addShape(new ee,b)}async function eh(a,b=!0){a.checkVersion("3.9.1"),await a.addShape(new ef,b)}async function ei(a,b=!0){a.checkVersion("3.9.1"),await eg(a,b),await eh(a,b)}class ej{constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(a){$(a)||(void 0!==a.enable&&(this.enable=a.enable),void 0!==a.speed&&(this.speed=ak(a.speed)),void 0!==a.decay&&(this.decay=ak(a.decay)),void 0!==a.sync&&(this.sync=a.sync))}}class ek extends bt{constructor(){super(),this.animation=new ej,this.direction=w.clockwise,this.path=!1,this.value=0}load(a){$(a)||(super.load(a),void 0!==a.direction&&(this.direction=a.direction),this.animation.load(a.animation),void 0!==a.path&&(this.path=a.path))}}let el=2*Math.PI;class em{constructor(a){this.container=a}init(a){let b=a.options.rotate;if(!b)return;a.rotate={enable:b.animation.enable,value:an(ah(b.value)),min:0,max:el},a.pathRotation=b.path;let c=b.direction;switch(c===w.random&&(c=Math.floor(2*ad())>0?w.counterClockwise:w.clockwise),c){case w.counterClockwise:case"counterClockwise":a.rotate.status=f.decreasing;break;case w.clockwise:a.rotate.status=f.increasing}let d=b.animation;d.enable&&(a.rotate.decay=1-ah(d.decay),a.rotate.velocity=ah(d.speed)/360*this.container.retina.reduceFactor,d.sync||(a.rotate.velocity*=ad())),a.rotation=a.rotate.value}isEnabled(a){let b=a.options.rotate;return!!b&&!a.destroyed&&!a.spawning&&(!!b.value||b.animation.enable||b.path)}loadOptions(a,...b){for(let c of(a.rotate||(a.rotate=new ek),b))a.rotate.load(c?.rotate)}update(a,b){this.isEnabled(a)&&(a.isRotating=!!a.rotate,a.rotate&&(aK(a,a.rotate,!1,g.none,b),a.rotation=a.rotate.value))}}async function en(a,b=!0){a.checkVersion("3.9.1"),await a.addParticleUpdater("rotate",a=>Promise.resolve(new em(a)),b)}let eo=Math.sqrt(2);class ep{constructor(){this.validTypes=["edge","square"]}draw(a){let{context:b,radius:c}=a,d=c/eo,e=2*d;b.rect(-d,-d,e,e)}getSidesCount(){return 4}}async function eq(a,b=!0){a.checkVersion("3.9.1"),await a.addShape(new ep,b)}let er={x:0,y:0};class es{constructor(){this.validTypes=["star"]}draw(a){let{context:b,particle:c,radius:d}=a,e=c.sides,f=c.starInset??2;b.moveTo(er.x,er.y-d);for(let a=0;a<e;a++)b.rotate(Math.PI/e),b.lineTo(er.x,er.y-d*f),b.rotate(Math.PI/e),b.lineTo(er.x,er.y-d)}getSidesCount(a){let b=a.shapeData;return Math.round(ah(b?.sides??5))}particleInit(a,b){let c=b.shapeData;b.starInset=ah(c?.inset??2)}}async function et(a,b=!0){a.checkVersion("3.9.1"),await a.addShape(new es,b)}class eu{constructor(a,b){this._container=a,this._engine=b}init(a){let b=this._container,c=a.options,d=aG(c.stroke,a.id,c.reduceDuplicates);a.strokeWidth=ah(d.width)*b.retina.pixelRatio,a.strokeOpacity=ah(d.opacity??1),a.strokeAnimation=d.color?.animation;let e=aN(this._engine,d.color)??a.getFillColor();e&&(a.strokeColor=aX(e,a.strokeAnimation,b.retina.reduceFactor))}isEnabled(a){let b=a.strokeAnimation,{strokeColor:c}=a;return!a.destroyed&&!a.spawning&&!!b&&(c?.h.value!==void 0&&c.h.enable||c?.s.value!==void 0&&c.s.enable||c?.l.value!==void 0&&c.l.enable)}update(a,b){this.isEnabled(a)&&a$(a.strokeColor,b)}}async function ev(a,b=!0){a.checkVersion("3.9.1"),await a.addParticleUpdater("strokeColor",b=>Promise.resolve(new eu(b,a)),b)}async function ew(a,b=!0){a.checkVersion("3.9.1"),await dU(a,!1),await cU(a,!1),await c$(a,!1),await c5(a,!1),await c9(a,!1),await dd(a,!1),await df(a,!1),await di(a,!1),await dl(a,!1),await ds(a,!1),await dv(a,!1),await dW(a,!1),await d_(a,!1),await eb(a,!1),await cM(a,!1),await cP(a,!1),await dL(a,!1),await dS(a,!1),await ei(a,!1),await eq(a,!1),await et(a,!1),await dQ(a,!1),await en(a,!1),await ev(a,!1),await cL(a,b)}var ex=c(76004),ey=c(48825),ez=c(11600),eA=c(79936),eB=c(85566),eC=c(96752);function eD(a,b){[...b].reverse().forEach(c=>{let d=a.getVariant(c);d&&(0,eB.U)(a,d),a.variantChildren&&a.variantChildren.forEach(a=>{eD(a,b)})})}function eE(){let a=!1,b=new Set,c={subscribe:a=>(b.add(a),()=>void b.delete(a)),start(c,d){(0,eA.V)(a,"controls.start() should only be called after a component has mounted. Consider calling within a useEffect hook.");let e=[];return b.forEach(a=>{e.push((0,eC._)(a,c,{transitionOverride:d}))}),Promise.all(e)},set:c=>((0,eA.V)(a,"controls.set() should only be called after a component has mounted. Consider calling within a useEffect hook."),b.forEach(a=>{var b,d;b=a,Array.isArray(d=c)?eD(b,d):"string"==typeof d?eD(b,[d]):(0,eB.U)(b,d)})),stop(){b.forEach(a=>{a.values.forEach(a=>a.stop())})},mount:()=>(a=!0,()=>{a=!1,c.stop()})};return c}let eF=function(){let a=(0,ey.M)(eE);return(0,ez.E)(a.mount,[]),a};var eG=c(42520),eH=c(84401),eI=c(74835),eJ=c(1871),eK=c(41506);class eL extends G.Component{getSnapshotBeforeUpdate(a){let b=this.props.childRef.current;if(b&&a.isPresent&&!this.props.isPresent){let a=b.offsetParent,c=(0,eJ.s)(a)&&a.offsetWidth||0,d=this.props.sizeRef.current;d.height=b.offsetHeight||0,d.width=b.offsetWidth||0,d.top=b.offsetTop,d.left=b.offsetLeft,d.right=c-d.width-d.left}return null}componentDidUpdate(){}render(){return this.props.children}}function eM({children:a,isPresent:b,anchorX:c,root:d}){let e=(0,G.useId)(),f=(0,G.useRef)(null),g=(0,G.useRef)({width:0,height:0,top:0,left:0,right:0}),{nonce:h}=(0,G.useContext)(eK.Q);return(0,G.useInsertionEffect)(()=>{let{width:a,height:i,top:j,left:k,right:l}=g.current;if(b||!f.current||!a||!i)return;let m="left"===c?`left: ${k}`:`right: ${l}`;f.current.dataset.motionPopId=e;let n=document.createElement("style");h&&(n.nonce=h);let o=d??document.head;return o.appendChild(n),n.sheet&&n.sheet.insertRule(`
[data-motion-pop-id="${e}"] {
position: absolute !important;
width: ${a}px !important;
height: ${i}px !important;
${m}px !important;
top: ${j}px !important;
}
`),()=>{o.contains(n)&&o.removeChild(n)}},[b]),(0,F.jsx)(eL,{isPresent:b,childRef:f,sizeRef:g,children:G.cloneElement(a,{ref:f})})}let eN=({children:a,initial:b,isPresent:c,onExitComplete:d,custom:e,presenceAffectsLayout:f,mode:g,anchorX:h,root:i})=>{let j=(0,ey.M)(eO),k=(0,G.useId)(),l=!0,m=(0,G.useMemo)(()=>(l=!1,{id:k,initial:b,isPresent:c,custom:e,onExitComplete:a=>{for(let b of(j.set(a,!0),j.values()))if(!b)return;d&&d()},register:a=>(j.set(a,!1),()=>j.delete(a))}),[c,j,d]);return f&&l&&(m={...m}),(0,G.useMemo)(()=>{j.forEach((a,b)=>j.set(b,!1))},[c]),G.useEffect(()=>{c||j.size||!d||d()},[c]),"popLayout"===g&&(a=(0,F.jsx)(eM,{isPresent:c,anchorX:h,root:i,children:a})),(0,F.jsx)(eI.t.Provider,{value:m,children:a})};function eO(){return new Map}var eP=c(3608);let eQ=a=>a.key||"";function eR(a){let b=[];return G.Children.forEach(a,a=>{(0,G.isValidElement)(a)&&b.push(a)}),b}let eS=({children:a,custom:b,initial:c=!0,onExitComplete:d,presenceAffectsLayout:e=!0,mode:f="sync",propagate:g=!1,anchorX:h="left",root:i})=>{let[j,k]=(0,eP.xQ)(g),l=(0,G.useMemo)(()=>eR(a),[a]),m=g&&!j?[]:l.map(eQ),n=(0,G.useRef)(!0),o=(0,G.useRef)(l),p=(0,ey.M)(()=>new Map),[q,r]=(0,G.useState)(l),[s,t]=(0,G.useState)(l);(0,ez.E)(()=>{n.current=!1,o.current=l;for(let a=0;a<s.length;a++){let b=eQ(s[a]);m.includes(b)?p.delete(b):!0!==p.get(b)&&p.set(b,!1)}},[s,m.length,m.join("-")]);let u=[];if(l!==q){let a=[...l];for(let b=0;b<s.length;b++){let c=s[b],d=eQ(c);m.includes(d)||(a.splice(b,0,c),u.push(c))}return"wait"===f&&u.length&&(a=u),t(eR(a)),r(l),null}let{forceRender:v}=(0,G.useContext)(eH.L);return(0,F.jsx)(F.Fragment,{children:s.map(a=>{let q=eQ(a),r=(!g||!!j)&&(l===s||m.includes(q));return(0,F.jsx)(eN,{isPresent:r,initial:(!n.current||!!c)&&void 0,custom:b,presenceAffectsLayout:e,mode:f,root:i,onExitComplete:r?void 0:()=>{if(!p.has(q))return;p.set(q,!0);let a=!0;p.forEach(b=>{b||(a=!1)}),a&&(v?.(),t(o.current),g&&k?.(),d&&d())},anchorX:h,children:a},q)})})};var eT={outline:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},filled:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"currentColor",stroke:"none"}};let eU=((a,b,c,d)=>{let e=(0,G.forwardRef)(({color:c="currentColor",size:e=24,stroke:f=2,title:g,className:h,children:i,...j},k)=>(0,G.createElement)("svg",{ref:k,...eT[a],width:e,height:e,className:["tabler-icon",`tabler-icon-${b}`,h].join(" "),..."filled"===a?{fill:c}:{strokeWidth:f,stroke:c},...j},[g&&(0,G.createElement)("title",{key:"svg-title"},g),...d.map(([a,b])=>(0,G.createElement)(a,b)),...Array.isArray(i)?i:[i]]));return e.displayName=`${c}`,e})("outline","dots-vertical","DotsVertical",[["path",{d:"M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M12 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-1"}],["path",{d:"M12 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]),eV=({firstImage:a="",secondImage:b="",className:c,firstImageClassName:d,secondImageClassname:e,initialSliderPercentage:f=50,slideMode:g="hover",showHandlebar:h=!0,autoplay:i=!1,autoplayDuration:j=5e3,aspectRatio:k="16:9"})=>{let[l,m]=(0,G.useState)(f),[n,o]=(0,G.useState)(!1),p=(0,G.useRef)(null),[q,r]=(0,G.useState)(!1),s=(0,G.useRef)(null),t=(0,G.useCallback)(()=>{if(!i)return;let a=Date.now(),b=()=>{let c=(Date.now()-a)%(2*j)/j;m(c<=1?100*c:(2-c)*100),s.current=setTimeout(b,16)};b()},[i,j]),u=(0,G.useCallback)(()=>{s.current&&(clearTimeout(s.current),s.current=null)},[]);(0,G.useEffect)(()=>(t(),()=>u()),[t,u]);let v=(0,G.useCallback)(a=>{"drag"===g&&o(!0)},[g]),w=(0,G.useCallback)(()=>{"drag"===g&&o(!1)},[g]),x=(0,G.useCallback)(a=>{if(p.current&&("hover"===g||"drag"===g&&n)){let b=p.current.getBoundingClientRect(),c=(a-b.left)/b.width*100;requestAnimationFrame(()=>{m(Math.max(0,Math.min(100,c)))})}},[g,n]),y=(0,G.useCallback)(a=>v(a.clientX),[v]),z=(0,G.useCallback)(()=>w(),[w]),A=(0,G.useCallback)(a=>x(a.clientX),[x]),B=(0,G.useCallback)(a=>{i||v(a.touches[0].clientX)},[v,i]),C=(0,G.useCallback)(()=>{i||w()},[w,i]),D=(0,G.useCallback)(a=>{i||x(a.touches[0].clientX)},[x,i]);return(0,F.jsxs)("div",{ref:p,className:(0,ex.cn)("w-full",c),style:{position:"relative",cursor:"drag"===g?"grab":"col-resize"},onMouseMove:A,onMouseLeave:function(){r(!1),"hover"===g&&m(f),"drag"===g&&o(!1),t()},onMouseEnter:function(){r(!0),u()},onMouseDown:y,onMouseUp:z,onTouchStart:B,onTouchEnd:C,onTouchMove:D,children:[(0,F.jsx)(eS,{initial:!1,children:(0,F.jsxs)(eG.P.div,{className:"h-full w-px absolute top-0 m-auto z-30 bg-gradient-to-b from-transparent from-[5%] to-[95%] via-indigo-500 to-transparent",style:{left:`${l}%`,top:"0",zIndex:40},transition:{duration:0},children:[(0,F.jsx)("div",{className:"w-36 h-full [mask-image:radial-gradient(100px_at_left,white,transparent)] absolute top-1/2 -translate-y-1/2 left-0 bg-gradient-to-r from-indigo-400 via-transparent to-transparent z-20 opacity-50"}),(0,F.jsx)("div",{className:"w-10 h-1/2 [mask-image:radial-gradient(50px_at_left,white,transparent)] absolute top-1/2 -translate-y-1/2 left-0 bg-gradient-to-r from-cyan-100 via-transparent to-transparent z-10 opacity-100"}),(0,F.jsx)("div",{className:"w-10 h-3/4 top-1/2 -translate-y-1/2 absolute -right-10 [mask-image:radial-gradient(100px_at_left,white,transparent)]",children:(0,F.jsx)(eW,{background:"transparent",minSize:.4,maxSize:1,particleDensity:0,className:"w-full h-full",particleColor:"#FFFFFF"})}),h&&(0,F.jsx)("div",{className:"h-5 w-5 rounded-md top-1/2 -translate-y-1/2 bg-white z-30 -right-2.5 absolute flex items-center justify-center shadow-[0px_-1px_0px_0px_#FFFFFF40]",children:(0,F.jsx)(eU,{className:"h-4 w-4 text-black"})})]})}),(0,F.jsx)("div",{className:"overflow-hidden w-full h-full relative z-20 pointer-events-none",children:(0,F.jsx)(eS,{initial:!1,children:a?(0,F.jsx)(eG.P.div,{className:(0,ex.cn)("absolute inset-0 z-20 rounded-2xl shrink-0 w-full h-full select-none overflow-hidden",d),style:{clipPath:`inset(0 ${100-l}% 0 0)`},transition:{duration:0},children:(0,F.jsx)("img",{alt:"first image",src:a,className:(0,ex.cn)("absolute inset-0 z-20 rounded-2xl shrink-0 w-full h-full select-none",d),draggable:!1})}):null})}),(0,F.jsx)(eS,{initial:!1,children:b?(0,F.jsx)(eG.P.img,{className:(0,ex.cn)("absolute top-0 left-0 z-[19] rounded-2xl w-full h-full select-none",e),alt:"second image",src:b,draggable:!1}):null})]})},eW=H().memo(a=>{let{id:b,className:c,background:d,minSize:e,maxSize:f,speed:g,particleColor:h,particleDensity:i}=a,[j,k]=(0,G.useState)(!1);(0,G.useEffect)(()=>{cj(async a=>{await ew(a)}).then(()=>{k(!0)})},[]);let l=eF(),m=async a=>{a&&l.start({opacity:1,transition:{duration:1}})},n=(0,G.useId)();return(0,F.jsx)(eG.P.div,{animate:l,className:(0,ex.cn)("opacity-0",c),children:j&&(0,F.jsx)(ci,{id:b||n,className:(0,ex.cn)("h-full w-full"),particlesLoaded:m,options:{background:{color:{value:d||"#0d47a1"}},fullScreen:{enable:!1,zIndex:1},fpsLimit:120,interactivity:{events:{onClick:{enable:!0,mode:"push"},onHover:{enable:!1,mode:"repulse"},resize:!0},modes:{push:{quantity:4},repulse:{distance:200,duration:.4}}},particles:{bounce:{horizontal:{value:1},vertical:{value:1}},collisions:{absorb:{speed:2},bounce:{horizontal:{value:1},vertical:{value:1}},enable:!1,maxSpeed:50,mode:"bounce",overlap:{enable:!0,retries:0}},color:{value:h||"#ffffff",animation:{h:{count:0,enable:!1,speed:1,decay:0,delay:0,sync:!0,offset:0},s:{count:0,enable:!1,speed:1,decay:0,delay:0,sync:!0,offset:0},l:{count:0,enable:!1,speed:1,decay:0,delay:0,sync:!0,offset:0}}},effect:{close:!0,fill:!0,options:{},type:{}},groups:{},move:{angle:{offset:0,value:90},attract:{distance:200,enable:!1,rotate:{x:3e3,y:3e3}},center:{x:50,y:50,mode:"percent",radius:0},decay:0,distance:{},direction:"none",drift:0,enable:!0,gravity:{acceleration:9.81,enable:!1,inverse:!1,maxSpeed:50},path:{clamp:!0,delay:{value:0},enable:!1,options:{}},outModes:{default:"out"},random:!1,size:!1,speed:{min:.1,max:1},spin:{acceleration:0,enable:!1},straight:!1,trail:{enable:!1,length:10,fill:{}},vibrate:!1,warp:!1},number:{density:{enable:!0,width:400,height:400},limit:{mode:"delete",value:0},value:i||120},opacity:{value:{min:.1,max:1},animation:{count:0,enable:!0,speed:g||4,decay:0,delay:0,sync:!1,mode:"auto",startValue:"random",destroy:"none"}},reduceDuplicates:!1,shadow:{blur:0,color:{value:"#000"},enable:!1,offset:{x:0,y:0}},shape:{close:!0,fill:!0,options:{},type:"circle"},size:{value:{min:e||1,max:f||3},animation:{count:0,enable:!1,speed:5,decay:0,delay:0,sync:!1,mode:"auto",startValue:"random",destroy:"none"}},stroke:{width:0},zIndex:{value:0,opacityRate:1,sizeRate:1,velocityRate:1},destroy:{bounds:{},mode:"none",split:{count:1,factor:{value:3},rate:{value:{min:4,max:9}},sizeOffset:!0}},roll:{darken:{enable:!1,value:0},enable:!1,enlighten:{enable:!1,value:0},mode:"vertical",speed:25},tilt:{value:0,animation:{enable:!1,speed:0,decay:0,sync:!1},direction:"clockwise",enable:!1},twinkle:{lines:{enable:!1,frequency:.05,opacity:1},particles:{enable:!1,frequency:.05,opacity:1}},wobble:{distance:5,enable:!1,speed:{angle:50,move:10}},life:{count:0,delay:{value:0,sync:!1},duration:{value:0,sync:!1}},rotate:{value:0,animation:{enable:!1,speed:0,decay:0,sync:!1},direction:"clockwise",path:!1},orbit:{animation:{count:0,enable:!1,speed:1,decay:0,delay:0,sync:!1},enable:!1,opacity:1,rotation:{value:45},width:1},links:{blink:!1,color:{value:"#fff"},consent:!1,distance:100,enable:!1,frequency:1,opacity:1,shadow:{blur:5,color:{value:"#000"},enable:!1},triangles:{enable:!1,frequency:1},width:1,warp:!1},repulse:{value:0,enabled:!1,distance:1,duration:1,factor:1,speed:1}},detectRetina:!0}})})});var eX=c(18741),eY=c(9597);function eZ({children:a}){return(0,F.jsx)(F.Fragment,{children:a})}function e$(){return(0,F.jsx)(eZ,{children:(0,F.jsxs)("main",{className:"min-h-screen",children:[(0,F.jsxs)("section",{className:"relative h-screen overflow-hidden",children:[(0,F.jsxs)("div",{className:"absolute inset-0",children:[(0,F.jsx)("video",{"data-autoplay":!0,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,poster:"/images/Splash.jpg",preload:"metadata",className:"w-full h-full object-cover",children:(0,F.jsx)("source",{src:"/videos/reel.mp4",type:"video/mp4"})}),(0,F.jsx)("div",{className:"absolute inset-0 bg-black/50"})]}),(0,F.jsx)("div",{className:"relative z-10 h-full flex items-center justify-center",children:(0,F.jsxs)("div",{className:"max-w-3xl mx-auto text-center",children:[(0,F.jsx)(eG.P.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:1,ease:"easeOut",delay:.2},children:(0,F.jsx)("h1",{className:"text-4xl sm:text-6xl md:text-8xl font-bold mb-6 md:mb-8 tracking-tight",children:(0,F.jsx)("span",{className:"bg-clip-text text-transparent bg-gradient-to-b from-white to-white/80",children:"Biohazard VFX"})})}),(0,F.jsx)(eG.P.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:1,ease:"easeOut",delay:.4},children:(0,F.jsx)("p",{className:"text-base sm:text-lg md:text-xl text-white/40 mb-8 leading-relaxed font-light tracking-wide max-w-xl mx-auto px-4",children:"Innovative VFX Studio."})})]})})]}),(0,F.jsx)("section",{"aria-label":"Before and After",className:"py-8 md:py-12",children:(0,F.jsx)("div",{className:"mx-80 max-w-9xl px-4",children:(0,F.jsx)(eX.A,{children:(0,F.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 md:gap-12 items-center",children:[(0,F.jsxs)(eY.A,{className:"order-2 md:order-1",children:[(0,F.jsx)("h2",{className:"text-3xl md:text-4xl font-bold ",children:"Before / After"}),(0,F.jsx)("p",{className:"text-2xl text-muted-foreground",children:"Biohazard VFX is a coordinated team of visual researchers specialized in crafting exceptional commercials music videos, tv shows and movies."})]}),(0,F.jsx)(eY.A,{className:"order-1 md:order-2",children:(0,F.jsx)("div",{className:"w-full aspect-video md:aspect-[16/9]",children:(0,F.jsx)(eV,{firstImage:"/images/beforeafter/Before.jpg",secondImage:"/images/beforeafter/After.jpg",slideMode:"drag",showHandlebar:!0,initialSliderPercentage:55,className:"w-full h-full rounded-2xl",firstImageClassName:"object-cover",secondImageClassname:"object-cover"})})})]})})})})]})})}},37067:a=>{"use strict";a.exports=require("node:http")},38522:a=>{"use strict";a.exports=require("node:zlib")},38928:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>B.default,__next_app__:()=>H,handler:()=>J,pages:()=>G,routeModule:()=>I,tree:()=>F});var d=c(72787),e=c(35964),f=c(21688),g=c(71389),h=c(47291),i=c(80763),j=c(96914),k=c(58031),l=c(11909),m=c(96145),n=c(84166),o=c(59016),p=c(30769),q=c(261),r=c(88664),s=c(72189),t=c(26713),u=c(90849),v=c(94314),w=c(50094),x=c(81523),y=c(76013),z=c(10799),A=c(86439),B=c(2197),C=c(38441),D=c(16960),E={};for(let a in C)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(E[a]=()=>C[a]);c.d(b,E);let F={children:["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,21630)),"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,12401))).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}}]},{layout:[()=>Promise.resolve().then(c.bind(c,51241)),"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,2197)),"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/global-error.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,2197)),"/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,90069,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,77720,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,99179,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,12401))).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}}]}.children,G=["/home/Nicholai/Documents/Dev/biohazard-vfx-2/src/app/page.tsx"],H={require:c,loadChunk:()=>Promise.resolve()},I=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:F},distDir:".next",projectDir:""});async function J(a,b,c){var d;let E="/page";"/index"===E&&(E="/");let K="false",L=(0,h.getRequestMeta)(a,"postponed"),M=(0,h.getRequestMeta)(a,"minimalMode"),N=await I.prepare(a,b,{srcPage:E,multiZoneDraftMode:K});if(!N)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:O,query:P,params:Q,parsedUrl:R,pageIsDynamic:S,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,serverActionsManifest:W,clientReferenceManifest:X,subresourceIntegrityManifest:Y,prerenderManifest:Z,isDraftMode:$,resolvedPathname:_,revalidateOnlyGenerated:aa,routerServerContext:ab,nextConfig:ac}=N,ad=R.pathname||"/",ae=(0,q.normalizeAppPath)(E),{isOnDemandRevalidate:af}=N,ag=Z.dynamicRoutes[ae],ah=Z.routes[_],ai=!!(ag||ah||Z.routes[ae]),aj=a.headers["user-agent"]||"",ak=(0,t.getBotType)(aj),al=(0,o.isHtmlBotRequest)(a),am=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??!!a.headers[s.NEXT_ROUTER_PREFETCH_HEADER],an=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[s.RSC_HEADER],ao=(0,r.getIsPossibleServerAction)(a),ap=(0,l.checkIsAppPPREnabled)(ac.experimental.ppr)&&(null==(d=Z.routes[ae]??Z.dynamicRoutes[ae])?void 0:d.renderingMode)==="PARTIALLY_STATIC",aq=!1,ar=!1,as=ap?L:void 0,at=ap&&an&&!am,au=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),av=!aj||(0,o.shouldServeStreamingMetadata)(aj,ac.htmlLimitedBots);al&&ap&&(ai=!1,av=!1);let aw=!0===I.isDev||!ai||"string"==typeof L||at,ax=al&&ap,ay=null;$||!ai||aw||ao||as||at||(ay=_);let az=ay;!az&&I.isDev&&(az=_);let aA={...C,tree:F,pages:G,GlobalError:B.default,handler:J,routeModule:I,__next_app__:H};W&&X&&(0,n.setReferenceManifestsSingleton)({page:E,clientReferenceManifest:X,serverActionsManifest:W,serverModuleMap:(0,p.createServerModuleMap)({serverActionsManifest:W})});let aB=a.method||"GET",aC=(0,g.getTracer)(),aD=aC.getActiveScopeSpan();try{let d=async(c,d)=>{let e=new k.NodeNextRequest(a),f=new k.NodeNextResponse(b);return I.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aC.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aB} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aB} ${a.url}`)})},f=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:P,params:Q,page:ae,sharedContext:{buildId:O},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aA,Component:(0,j.T)(aA),params:Q,routeModule:I,page:E,postponed:f,shouldWaitOnAllReady:ax,serveStreamingMetadata:av,supportsDynamicResponse:"string"==typeof f||aw,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,subresourceIntegrityManifest:Y,serverActionsManifest:W,clientReferenceManifest:X,setIsrStatus:null==ab?void 0:ab.setIsrStatus,dir:I.projectDir,isDraftMode:$,isRevalidate:ai&&!f&&!at,botType:ak,isOnDemandRevalidate:af,isPossibleServerAction:ao,assetPrefix:ac.assetPrefix,nextConfigOutput:ac.output,crossOrigin:ac.crossOrigin,trailingSlash:ac.trailingSlash,previewProps:Z.preview,deploymentId:ac.deploymentId,enableTainting:ac.experimental.taint,htmlLimitedBots:ac.htmlLimitedBots,devtoolSegmentExplorer:ac.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ac.reactMaxHeadersLength,multiZoneDraftMode:K,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ac.experimental.cacheLife,basePath:ac.basePath,serverActions:ac.experimental.serverActions,...aq?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:aq}:{},experimental:{isRoutePPREnabled:ap,expireTime:ac.expireTime,staleTimes:ac.experimental.staleTimes,dynamicIO:!!ac.experimental.dynamicIO,clientSegmentCache:!!ac.experimental.clientSegmentCache,dynamicOnHover:!!ac.experimental.dynamicOnHover,inlineCss:!!ac.experimental.inlineCss,authInterrupts:!!ac.experimental.authInterrupts,clientTraceMetadata:ac.experimental.clientTraceMetadata||[]},waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>I.onRequestError(a,b,d,ab),err:(0,h.getRequestMeta)(a,"invokeError"),dev:I.isDev}},k=await d(e,i),{metadata:l}=k,{cacheControl:m,headers:n={},fetchTags:o}=l;if(o&&(n[x.NEXT_CACHE_TAGS_HEADER]=o),a.fetchMetrics=l.fetchMetrics,ai&&(null==m?void 0:m.revalidate)===0&&!I.isDev&&!ap){let a=l.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${_}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:u.CachedRouteKind.APP_PAGE,html:k,headers:n,rscData:l.flightData,postponed:l.postponed,status:l.statusCode,segmentData:l.segmentData},cacheControl:m}},l=async({hasResolved:d,previousCacheEntry:g,isRevalidating:i,span:j})=>{let k,l=!1===I.isDev,n=d||b.writableEnded;if(af&&aa&&!g&&!M)return(null==ab?void 0:ab.render404)?await ab.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ag&&(k=(0,v.parseFallbackField)(ag.fallback)),k===v.FallbackMode.PRERENDER&&(0,t.isBot)(aj)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(af=!0),af&&(k!==v.FallbackMode.NOT_FOUND||g)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),!M&&k!==v.FallbackMode.BLOCKING_STATIC_RENDER&&az&&!n&&!$&&S&&(l||!ah)){let b;if((l||ag)&&k===v.FallbackMode.NOT_FOUND)throw new A.NoFallbackError;if(ap&&!an){if(b=await I.handleResponse({cacheKey:l?ae:null,req:a,nextConfig:ac,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:Z,isRoutePPREnabled:ap,responseGenerator:async()=>f({span:j,postponed:void 0,fallbackRouteParams:l||ar?(0,m.u)(ae):null}),waitUntil:c.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=af||i||!as?void 0:as;if(aq&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:u.CachedRouteKind.PAGES,html:w.default.fromStatic(""),pageData:{},headers:void 0,status:void 0}};let p=S&&ap&&((0,h.getRequestMeta)(a,"renderFallbackShell")||ar)?(0,m.u)(ad):null;return f({span:j,postponed:o,fallbackRouteParams:p})},n=async d=>{var g,i,j,k,m;let n,o=await I.handleResponse({cacheKey:ay,responseGenerator:a=>l({span:d,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:af,isRoutePPREnabled:ap,req:a,nextConfig:ac,prerenderManifest:Z,waitUntil:c.waitUntil});if($&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),I.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(ay)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(g=o.value)?void 0:g.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(j=o.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;ai&&!at&&(!p||am)&&(M||b.setHeader("x-nextjs-cache",af?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(s.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(as)n={revalidate:0,expire:void 0};else if(M&&an&&!am&&ap)n={revalidate:0,expire:void 0};else if(!I.isDev)if($)n={revalidate:0,expire:void 0};else if(ai){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});n={revalidate:o.cacheControl.revalidate,expire:(null==(k=o.cacheControl)?void 0:k.expire)??ac.expireTime}}else n={revalidate:x.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(n={revalidate:0,expire:void 0});if(o.cacheControl=n,"string"==typeof au&&(null==q?void 0:q.kind)===u.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(m=q.headers)?void 0:m[x.NEXT_CACHE_TAGS_HEADER];M&&ai&&c&&"string"==typeof c&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(au);return void 0!==d?(0,z.sendRenderResult)({req:a,res:b,type:"rsc",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(d),cacheControl:o.cacheControl}):(b.statusCode=204,(0,z.sendRenderResult)({req:a,res:b,type:"rsc",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(""),cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&as)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(M&&ai||delete a[x.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let t=null==(i=q.headers)?void 0:i[x.NEXT_CACHE_TAGS_HEADER];if(M&&ai&&t&&"string"==typeof t&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,t),!q.status||an&&ap||(b.statusCode=q.status),!M&&q.status&&D.RedirectStatusCode[q.status]&&an&&(b.statusCode=200),p&&b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"1"),an&&!$){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,z.sendRenderResult)({req:a,res:b,type:"rsc",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:q.html,cacheControl:at?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,z.sendRenderResult)({req:a,res:b,type:"rsc",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(q.rscData),cacheControl:o.cacheControl})}let v=q.html;if(!p||M)return(0,z.sendRenderResult)({req:a,res:b,type:"html",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:o.cacheControl});if(aq)return v.chain(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:a,res:b,type:"html",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}});let A=new TransformStream;return v.chain(A.readable),f({span:d,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(A.writable)}).catch(a=>{A.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,z.sendRenderResult)({req:a,res:b,type:"html",generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})};if(!aD)return await aC.withPropagatedContext(a.headers,()=>aC.trace(i.BaseServerSpan.handleRequest,{spanName:`${aB} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aB,"http.target":a.url}},n));await n(aD)}catch(b){throw aD||b instanceof A.NoFallbackError||await I.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ai,isOnDemandRevalidate:af})},ab),b}}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},44708:a=>{"use strict";a.exports=require("node:https")},48161:a=>{"use strict";a.exports=require("node:os")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},56801:a=>{"use strict";a.exports=require("import-in-the-middle")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},73566:a=>{"use strict";a.exports=require("worker_threads")},74998:a=>{"use strict";a.exports=require("perf_hooks")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},79551:a=>{"use strict";a.exports=require("url")},79646:a=>{"use strict";a.exports=require("child_process")},80481:a=>{"use strict";a.exports=require("node:readline")},83997:a=>{"use strict";a.exports=require("tty")},84297:a=>{"use strict";a.exports=require("async_hooks")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},86592:a=>{"use strict";a.exports=require("node:inspector")},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[1793,8575,229,8251],()=>b(b.s=38928));module.exports=c})();
//# sourceMappingURL=page.js.map