PageSourceSearch

https://trustandsafetyindia.org/_next/static/immutable/chunks/34ut0lscm4so3.js

js trustandsafetyindia.org collected 2026-10-06 03:18:49 UTC 146,678 bytes, 4 lines download raw bytes

1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="c2a154cc-6b99-b14f-6d65-fe3e4cd040ed")}catch(e){}}();
2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,363067,135605,775880,t=>{"use strict";let e,i,s="generated",a="pointerleave",o="pointermove",n="touchend",r="tsParticles - Error",l="random",c=2*Math.PI,h="true",d="false",u="canvas",p=0;function f(t){return"boolean"==typeof t}function v(t){return"string"==typeof t}function g(t){return"number"==typeof t}function m(t){return"object"==typeof t&&null!==t}function y(t){return Array.isArray(t)}function b(t){return null==t}(eW=ii||(ii={})).bottom="bottom",eW.bottomLeft="bottom-left",eW.bottomRight="bottom-right",eW.left="left",eW.none="none",eW.right="right",eW.top="top",eW.topLeft="top-left",eW.topRight="top-right",eW.outside="outside",eW.inside="inside";class w{constructor(t,e,i){if(this._updateFromAngle=(t,e)=>{this.x=Math.cos(t)*e,this.y=Math.sin(t)*e},!g(t)&&t)this.x=t.x,this.y=t.y,this.z=t.z?t.z:0;else if(void 0!==t&&void 0!==e)this.x=t,this.y=e,this.z=i??0;else throw Error(`${r} Vector3d not initialized correctly`)}static get origin(){return w.create(0,0,0)}get angle(){return Math.atan2(this.y,this.x)}set angle(t){this._updateFromAngle(t,this.length)}get length(){return Math.sqrt(this.getLengthSq())}set length(t){this._updateFromAngle(this.angle,t)}static clone(t){return w.create(t.x,t.y,t.z)}static create(t,e,i){return new w(t,e,i)}add(t){return w.create(this.x+t.x,this.y+t.y,this.z+t.z)}addTo(t){this.x+=t.x,this.y+=t.y,this.z+=t.z}copy(){return w.clone(this)}distanceTo(t){return this.sub(t).length}distanceToSq(t){return this.sub(t).getLengthSq()}div(t){return w.create(this.x/t,this.y/t,this.z/t)}divTo(t){this.x/=t,this.y/=t,this.z/=t}getLengthSq(){return this.x**2+this.y**2}mult(t){return w.create(this.x*t,this.y*t,this.z*t)}multTo(t){this.x*=t,this.y*=t,this.z*=t}normalize(){let t=this.length;0!=t&&this.multTo(1/t)}rotate(t){return w.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t),0)}setTo(t){this.x=t.x,this.y=t.y,this.z=t.z?t.z:0}sub(t){return w.create(this.x-t.x,this.y-t.y,this.z-t.z)}subFrom(t){this.x-=t.x,this.y-=t.y,this.z-=t.z}}class x extends w{constructor(t,e){super(t,e,0)}static get origin(){return x.create(0,0)}static clone(t){return x.create(t.x,t.y)}static create(t,e){return new x(t,e)}}let _=Math.random;function k(){return C(_(),0,1-Number.EPSILON)}function C(t,e,i){return Math.min(Math.max(t,e),i)}function z(t,e,i,s){return Math.floor((t*i+e*s)/(i+s))}function M(t){let e=O(t),i=S(t);return e===i&&(i=0),k()*(e-i)+i}function P(t){return g(t)?t:M(t)}function S(t){return g(t)?t:t.min}function O(t){return g(t)?t:t.max}function T(t,e){if(t===e||void 0===e&&g(t))return t;let i=S(t),s=O(t);return void 0!==e?{min:Math.min(i,e),max:Math.max(s,e)}:T(i,s)}function E(t,e){let i=t.x-e.x,s=t.y-e.y;return{dx:i,dy:s,distance:Math.sqrt(i**2+s**2)}}function R(t,e){return E(t,e).distance}function D(t){return t*Math.PI/180}function I(t,e,i,s){return x.create(t.x*(i-s)/(i+s)+2*e.x*s/(i+s),t.y)}function L(t){return t?t.endsWith("%")?parseFloat(t)/100:parseFloat(t):1}(ej=is||(is={})).auto="auto",ej.increase="increase",ej.decrease="decrease",ej.random="random",(e$=ia||(ia={})).increasing="increasing",e$.decreasing="decreasing",(eG=io||(io={})).none="none",eG.max="max",eG.min="min",(eN=ir||(ir={})).bottom="bottom",eN.left="left",eN.right="right",eN.top="top",(eQ=il||(il={})).precise="precise",eQ.percent="percent",(eX=ic||(ic={})).max="max",eX.min="min",eX.random="random";let B={debug:console.debug,error:console.error,info:console.info,log:console.log,verbose:console.log,warning:console.warn};function F(t){let e={bounced:!1},{pSide:i,pOtherSide:s,rectSide:a,rectOtherSide:o,velocity:n,factor:r}=t;return s.min<o.min||s.min>o.max||s.max<o.min||s.max>o.max||(i.max>=a.min&&i.max<=(a.max+a.min)*.5&&n>0||i.min<=a.max&&i.min>(a.max+a.min)*.5&&n<0)&&(e.velocity=-(n*r),e.bounced=!0),e}function A(){return"u"<typeof window||!window||void 0===window.document||!window.document}function q(t){if(!A()&&"u">typeof matchMedia)return matchMedia(t)}function V(t,e){return t===e||y(e)&&e.indexOf(t)>-1}async function H(t,e){try{await document.fonts.load(`${e??"400"} 36px '${t??"Verdana"}'`)}catch{}}function U(t,e,i=!0){return t[void 0!==e&&i?e%t.length:Math.floor(k()*t.length)]}function W(t,e,i,s,a){var o,n,r,l;let c;return o=j(t,s??0),n=e,r=i,c=!0,(l=a)&&l!==ir.bottom||(c=o.top<n.height+r.x),c&&(!l||l===ir.left)&&(c=o.right>r.x),c&&(!l||l===ir.right)&&(c=o.left<n.width+r.y),c&&(!l||l===ir.top)&&
2(c=o.bottom>r.y),c}function j(t,e){return{bottom:t.y+e,left:t.x-e,right:t.x+e,top:t.y-e}}function $(t,...e){for(let i of e){if(null==i)continue;if(!m(i)){t=i;continue}let e=Array.isArray(i);for(let s in e&&(m(t)||!t||!Array.isArray(t))?t=[]:!e&&(m(t)||!t||Array.isArray(t))&&(t={}),i){if("__proto__"===s)continue;let e=i[s],a=t;a[s]=m(e)&&Array.isArray(e)?e.map(t=>$(a[s],t)):$(a[s],e)}}return t}function G(t,e){return!!J(e,e=>e.enable&&V(t,e.mode))}function N(t,e,i){Z(e,e=>{var s,a;let o=e.mode;e.enable&&V(t,o)&&(s=e,a=i,Z(s.selectors,t=>{a(t,s)}))})}function Q(t,e){if(e&&t)return J(t,t=>{let i;return y(i=Z(t.selectors,t=>e.matches(t)))?i.some(t=>t):i})}function X(t){return{position:t.getPosition(),radius:t.getRadius(),mass:t.getMass(),velocity:t.velocity,factor:x.create(P(t.options.bounce.horizontal.value),P(t.options.bounce.vertical.value))}}function Y(t,e){let{x:i,y:s}=t.velocity.sub(e.velocity),[a,o]=[t.position,e.position],{dx:n,dy:r}=E(o,a);if(i*n+s*r<0)return;let l=-Math.atan2(r,n),c=t.mass,h=e.mass,d=t.velocity.rotate(l),u=e.velocity.rotate(l),p=I(d,u,c,h),f=I(u,d,c,h),v=p.rotate(-l),g=f.rotate(-l);t.velocity.x=v.x*t.factor.x,t.velocity.y=v.y*t.factor.y,e.velocity.x=g.x*e.factor.x,e.velocity.y=g.y*e.factor.y}function Z(t,e){return y(t)?t.map((t,i)=>e(t,i)):e(t,0)}function K(t,e,i){return y(t)?U(t,e,i):t}function J(t,e){return y(t)?t.find((t,i)=>e(t,i)):e(t,0)?t:void 0}function tt(t,e){let i=t.value,s=t.animation,a={delayTime:1e3*P(s.delay),enable:s.enable,value:P(t.value)*e,max:O(i)*e,min:S(i)*e,loops:0,maxLoops:P(s.count),time:0};if(s.enable){switch(a.decay=1-P(s.decay),s.mode){case is.increase:a.status=ia.increasing;break;case is.decrease:a.status=ia.decreasing;break;case is.random:a.status=k()>=.5?ia.increasing:ia.decreasing}let t=s.mode===is.auto;switch(s.startValue){case ic.min:a.value=a.min,t&&(a.status=ia.increasing);break;case ic.max:a.value=a.max,t&&(a.status=ia.decreasing);break;case ic.random:default:a.value=M(a),t&&(a.status=k()>=.5?ia.increasing:ia.decreasing)}}return a.initialValue=a.value,a}function te(t,e){return function(t,e){if(t.mode!==il.percent){let{mode:e,...i}=t;return i}return"x"in t?{x:t.x/100*e.width,y:t.y/100*e.height}:{width:t.width/100*e.width,height:t.height/100*e.height}}(t,e)}function ti(t,e,i,s,a){if(t.destroyed||!e||!e.enable||(e.maxLoops??0)>0&&(e.loops??0)>(e.maxLoops??0))return;let o=(e.velocity??0)*a.factor,n=e.min,r=e.max,l=e.decay??1;if(e.time||(e.time=0),(e.delayTime??0)>0&&e.time<(e.delayTime??0)&&(e.time+=a.value),!((e.delayTime??0)>0)||!(e.time<(e.delayTime??0))){switch(e.status){case ia.increasing:e.value>=r?(i?e.status=ia.decreasing:e.value-=r,e.loops||(e.loops=0),e.loops++):e.value+=o;break;case ia.decreasing:e.value<=n?(i?e.status=ia.increasing:e.value+=r,e.loops||(e.loops=0),e.loops++):e.value-=o}e.velocity&&1!==l&&(e.velocity*=l);var c=e.value;switch(s){case io.max:c>=r&&t.destroy();break;case io.min:c<=n&&t.destroy()}t.destroyed||(e.value=C(e.value,n,r))}}let ts=(eY=function(t){let e=document.createElement("div").style,i={width:"100%",height:"100%",margin:"0",padding:"0",borderWidth:"0",position:"fixed",zIndex:t.toString(10),"z-index":t.toString(10),top:"0",left:"0"};for(let t in i){let s=i[t];e.setProperty(t,s)}return e},e=new Map,(...t)=>{let i=JSON.stringify(t);if(e.has(i))return e.get(i);let s=eY(...t);return e.set(i,s),s});function ta(t,e,i,s=!0){if(!e)return;let a=v(e)?{value:e}:e;if(v(a.value))return function t(e,i,s,a=!0){if(!i)return;let o=v(i)?{value:i}:i;if(v(o.value))return o.value===l?tl():function(t,e){if(e){for(let i of t.colorManagers.values())if(e.startsWith(i.stringPrefix))return i.parseString(e)}}(e,o.value);if(y(o.value))return t(e,{value:U(o.value,s,a)});for(let t of e.colorManagers.values()){let e=t.handleColor(o);if(e)return e}}(t,a.value,i,s);if(y(a.value))return ta(t,{value:U(a.value,i,s)});for(let e of t.colorManagers.values()){let t=e.handleRangeColor(a);if(t)return t}}function to(t,e,i,s=!0){let a=ta(t,e,i,s);return a?tn(a):void 0}function tn(t){let e=t.r/255,i=t.g/255,s=t.b/255,a=Math.max(e,i,s),o=Math.min(e,i,s),n={h:0,l:(a+o)*.5,s:0};return a!==o&&(n.s=n.l<.5?(a-o)/(a+o):(a-o)/(2-a-o),n.h=e===a?(i-s)/(a-o):n.h=i===a?2+(s-e)/(a-o):4+(e-i)/(a-o)),n.l*=100,n.s*=100,n.h*=60,n.h<0&&(n.h+=360),n.h>=360&&(n.h-=360),n}function tr(t){let e=(t.h%360+360)%360,i=Math.max(0,Math.min(100,t.s)),s=Math.max(0,Math.min(100,t.l)),a=e/360,o=i/100,n=s/100;if(0===i){let t=Math.round(255*n);return{r:t,g:t,b:t}}let r=(t,e,i)=>(i<0&&i++,i>1&&i--,6*i<1)?t+(e-t)*6*i:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t,l=n<.5?
2n*(1+o):n+o-n*o,c=2*n-l;return{r:Math.round(Math.min(255,255*r(c,l,a+.3333333333333333))),g:Math.round(Math.min(255,255*r(c,l,a))),b:Math.round(Math.min(255,255*r(c,l,a-.3333333333333333)))}}function tl(t){let e=t??0;return{b:Math.floor(M(T(e,256))),g:Math.floor(M(T(e,256))),r:Math.floor(M(T(e,256)))}}function tc(t,e){return`rgba(${t.r}, ${t.g}, ${t.b}, ${e??1})`}function th(t,e){return`hsla(${t.h}, ${t.s}%, ${t.l}%, ${e??1})`}function td(t,e,i,s){let a=t,o=e;return void 0===a.r&&(a=tr(t)),void 0===o.r&&(o=tr(e)),{b:z(a.b,o.b,i,s),g:z(a.g,o.g,i,s),r:z(a.r,o.r,i,s)}}function tu(t,e,i){if(i===l)return tl();if("mid"!==i)return i;{let i=t.getFillColor()??t.getStrokeColor(),s=e?.getFillColor()??e?.getStrokeColor();if(i&&s&&e)return td(i,s,t.getRadius(),e.getRadius());{let t=i??s;if(t)return tr(t)}}}function tp(t,e,i,s){let a=v(e)?e:e.value;return a===l?s?ta(t,{value:a}):i?l:"mid":"mid"===a?"mid":ta(t,{value:a})}function tf(t){return void 0!==t?{h:t.h.value,s:t.s.value,l:t.l.value}:void 0}function tv(t,e,i){let s={h:{enable:!1,value:t.h},s:{enable:!1,value:t.s},l:{enable:!1,value:t.l}};return e&&(tg(s.h,e.h,i),tg(s.s,e.s,i),tg(s.l,e.l,i)),s}function tg(t,e,i){t.enable=e.enable,t.enable?(t.velocity=P(e.speed)/100*i,t.decay=1-P(e.decay),t.status=ia.increasing,t.loops=0,t.maxLoops=P(e.count),t.time=0,t.delayTime=1e3*P(e.delay),e.sync||(t.velocity
2*=k(),t.value*=k()),t.initialValue=t.value,t.offset=T(e.offset)):t.velocity=0}function tm(t,e,i,s){if(!t||!t.enable||(t.maxLoops??0)>0&&(t.loops??0)>(t.maxLoops??0)||(t.time||(t.time=0),(t.delayTime??0)>0&&t.time<(t.delayTime??0)&&(t.time+=s.value),(t.delayTime??0)>0&&t.time<(t.delayTime??0)))return;let a=t.offset?M(t.offset):0,o=(t.velocity??0)*s.factor+3.6*a,n=t.decay??1,r=O(e),l=S(e);i&&t.status!==ia.increasing?(t.value-=o,t.value<0&&(t.loops||(t.loops=0),t.loops++,t.status=ia.increasing)):(t.value+=o,t.value>r&&(t.loops||(t.loops=0),t.loops++,i?t.status=ia.decreasing:t.value-=r)),t.velocity&&1!==n&&(t.velocity*=n),t.value=C(t.value,l,r)}function ty(t,e){if(!t)return;let{h:i,s,l:a}=t;i&&tm(i,{min:0,max:360},!1,e),s&&tm(s,{min:0,max:100},!0,e),a&&tm(a,{min:0,max:100},!0,e)}function tb(t,e,i){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(i.x,i.y),t.closePath()}function tw(t,e){t.clearRect(0,0,e.width,e.height)}function tx(t,e,i=!1){if(!e||!t)return;let s=t.style;if(!s)return;let a=new Set;for(let t in s)Object.prototype.hasOwnProperty.call(s,t)&&a.add(s[t]);for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&a.add(e[t]);for(let t of a){let a=e.getPropertyValue(t);a?s.setProperty(t,a,i?"important":""):s.removeProperty(t)}}(eZ=ih||(ih={})).darken="darken",eZ.enlighten="enlighten";class t_{constructor(t,e){this.container=t,this._applyPostDrawUpdaters=t=>{for(let e of this._postDrawUpdaters)e.afterDraw?.(t)},this._applyPreDrawUpdaters=(t,e,i,s,a,o)=>{for(let n of this._preDrawUpdaters){if(n.getColorStyles){let{fill:o,stroke:r}=n.getColorStyles(e,t,i,s);o&&(a.fill=o),r&&(a.stroke=r)}if(n.getTransformValues){let t=n.getTransformValues(e);for(let e in t)!function(t,e,i){let s=e[i];void 0!==s&&(t[i]=(t[i]??1)*s)}(o,t,e)}n.beforeDraw?.(e)}},this._applyResizePlugins=()=>{for(let t of this._resizePlugins)t.resize?.()},this._getPluginParticleColors=t=>{let e,i;for(let s of this._colorPlugins)if(!e&&s.particleFillColor&&(e=to(this._engine,s.particleFillColor(t))),!i&&s.particleStrokeColor&&(i=to(this._engine,s.particleStrokeColor(t))),e&&i)break;return[e,i]},this._initCover=async()=>{let t=this.container.actualOptions.backgroundMask.cover,e=t.color;if(e){let i=ta(this._engine,e);if(i){let e={...i,a:t.opacity};this._coverColorStyle=tc(e,e.a)}}else await new Promise((e,i)=>{if(!t.image)return;let s=document.createElement("img");s.addEventListener("load",()=>{this._coverImage={image:s,opacity:t.opacity},e()}),s.addEventListener("error",t=>{i(t.error)}),s.src=t.image})},this._initStyle=()=>{let t=this.element,e=this.container.actualOptions;if(t)for(let i in this._fullScreen?this._setFullScreenStyle():this._resetOriginalStyle(),e.style){if(!i||!e.style||!Object.prototype.hasOwnProperty.call(e.style,i))continue;let s=e.style[i];s&&t.style.setProperty(i,s,"important")}},this._initTrail=async()=>{let t=this.container.actualOptions.particles.move.trail,e=t.fill;if(!t.enable)return;let i=1/t.length;if(e.color){let t=ta(this._engine,e.color);if(!t)return;this._trailFill={color:{...t},opacity:i}}else await new Promise((t,s)=>{if(!e.image)return;let a=document.createElement("img");a.addEventListener("load",()=>{this._trailFill={image:a,opacity:i},t()}),a.addEventListener("error",t=>{s(t.error)}),a.src=e.image})},this._paintBase=t=>{this.draw(e=>{var i;return i=this.size,void(e.fillStyle=t??"rgba(0,0,0,0)",e.fillRect(0,0,i.width,i.height))})},this._paintImage=(t,e)=>{this.draw(i=>{var s;return s=this.size,void(t&&(i.globalAlpha=e,i.drawImage(t,0,0,s.width,s.height),i.globalAlpha=1))})},this._repairStyle=()=>{let t=this.element;if(!t)return;this._safeMutationObserver(t=>
2t.disconnect()),this._initStyle(),this.initBackground();let e=this._pointerEvents;t.style.pointerEvents=e,t.setAttribute("pointer-events",e),this._safeMutationObserver(e=>{t&&t instanceof Node&&e.observe(t,{attributes:!0})})},this._resetOriginalStyle=()=>{let t=this.element,e=this._originalStyle;t&&e&&tx(t,e,!0)},this._safeMutationObserver=t=>{this._mutationObserver&&t(this._mutationObserver)},this._setFullScreenStyle=()=>{let t=this.element;t&&tx(t,ts(this.container.actualOptions.fullScreen.zIndex),!0)},this._engine=e,this._standardSize={height:0,width:0};const i=t.retina.pixelRatio,s=this._standardSize;this.size={height:s.height*i,width:s.width*i},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 t=this.container.actualOptions,e=t.particles.move.trail,i=this._trailFill;t.backgroundMask.enable?this.paint():e.enable&&e.length>0&&i?i.color?this._paintBase(tc(i.color,i.opacity)):i.image&&this._paintImage(i.image,i.opacity):t.clear&&this.draw(t=>{tw(t,this.size)})}destroy(){if(this.stop(),this._generated){let t=this.element;t?.remove(),this.element=void 0}else this._resetOriginalStyle();this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[]}draw(t){let e=this._context;if(e)return t(e)}drawAsync(t){let e=this._context;if(e)return t(e)}drawParticle(t,e){if(t.spawning||t.destroyed)return;let i=t.getRadius();if(i<=0)return;let s=t.getFillColor(),a=t.getStrokeColor()??s,[o,n]=this._getPluginParticleColors(t);o||(o=s),n||(n=a),(o||n)&&this.draw(s=>{let a=this.container,r=a.actualOptions,l=t.options.zIndex,c=1-t.zIndexFactor,h=c**l.opacityRate,d=t.bubble.opacity??t.opacity?.value??1,u=t.strokeOpacity??d,p=d*h,f={},v={fill:o?th(o,p):void 0};v.stroke=n?th(n,u*h):v.fill,this._applyPreDrawUpdaters(s,t,i,p,v,f),function(t){let{container:e,context:i,particle:s,delta:a,colorStyles:o,backgroundMask:n,composite:r,radius:l,opacity:c,shadow:h,transform:d}=t,u=s.getPosition(),p=s.rotation+(s.pathRotation?s.velocity.angle:0),f={sin:Math.sin(p),cos:Math.cos(p)},v=!!p,g={a:f.cos*(d.a??1),b:v?f.sin*(d.b??1):d.b??0,c:v?-f.sin*(d.c??1):d.c??0,d:f.cos*(d.d??1)};i.setTransform(g.a,g.b,g.c,g.d,u.x,u.y),n&&(i.globalCompositeOperation=r);let m=s.shadowColor;h.enable&&m&&(i.shadowBlur=h.blur,i.shadowColor=tc(m),i.shadowOffsetX=h.offset.x,i.shadowOffsetY=h.offset.y),o.fill&&(i.fillStyle=o.fill);let y=s.strokeWidth??0;i.lineWidth=y,o.stroke&&(i.strokeStyle=o.stroke);let b={container:e,context:i,particle:s,radius:l,opacity:c,delta:a,transformData:g,strokeWidth:y};(function(t){let{container:e,context:i,particle:s,radius:a,opacity:o,delta:n,strokeWidth:r,transformData:l}=t;if(!s.shape)return;let c=e.shapeDrawers.get(s.shape);c&&(i.beginPath(),c.draw({context:i,particle:s,radius:a,opacity:o,delta:n,pixelRatio:e.retina.pixelRatio,transformData:{...l}}),s.shapeClose&&i.closePath(),r>0&&i.stroke(),s.shapeFill&&i.fill())})(b),function(t){let{container:e,context:i,particle:s,radius:a,opacity:o,delta:n,transformData:r}=t;if(!s.shape)return;let l=e.shapeDrawers.get(s.shape);l?.afterDraw&&l.afterDraw({context:i,particle:s,radius:a,opacity:o,delta:n,pixelRatio:e.retina.pixelRatio,transformData:{...r}})}(b),function(t){let{container:e,context:i,particle:s,radius:a,opacity:o,delta:n,transformData:r}=t;if(!s.effect)return;let l=e.effectDrawers.get(s.effect);l&&l.draw({context:i,particle:s,radius:a,opacity:o,delta:n,pixelRatio:e.retina.pixelRatio,transformData:{...r}})}(b),i.globalCompositeOperation="source-over",i.resetTransform()}({container:a,context:s,particle:t,delta:e,colorStyles:v,backgroundMask:r.backgroundMask.enable,composite:r.backgroundMask.composite,radius:i*c**l.sizeRate,opacity:p,shadow:t.options.shadow,transform:f}),this._applyPostDrawUpdaters(t)})}drawParticlePlugin(t,e,i){this.draw(s=>{t.drawParticle&&t.drawParticle(s,e,i)})}drawPlugin(t,e){this.draw(i=>{t.draw&&t.draw(i,e)})}
2async init(){this._safeMutationObserver(t=>t.disconnect()),this._mutationObserver=function(t){if(!A()&&"u">typeof MutationObserver)return new MutationObserver(t)}(t=>{for(let e of t)"attributes"===e.type&&"style"===e.attributeName&&this._repairStyle()}),this.resize(),this._initStyle(),await this._initCover();try{await this._initTrail()}catch(t){B.error(t)}this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})}),this.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){let t=this.container.actualOptions.background,e=this.element;if(!e)return;let i=e.style;if(i){if(t.color){let e=ta(this._engine,t.color);i.backgroundColor=e?tc(e,t.opacity):""}else i.backgroundColor="";i.backgroundImage=t.image||"",i.backgroundPosition=t.position||"",i.backgroundRepeat=t.repeat||"",i.backgroundSize=t.size||""}}initPlugins(){for(let t of(this._resizePlugins=[],this.container.plugins.values()))t.resize&&this._resizePlugins.push(t),(t.particleFillColor??t.particleStrokeColor)&&this._colorPlugins.push(t)}initUpdaters(){for(let t of(this._preDrawUpdaters=[],this._postDrawUpdaters=[],this.container.particles.updaters))t.afterDraw&&this._postDrawUpdaters.push(t),(t.getColorStyles??t.getTransformValues??t.beforeDraw)&&this._preDrawUpdaters.push(t)}loadCanvas(t){this._generated&&this.element&&this.element.remove(),this._generated=t.dataset&&s in t.dataset?"true"===t.dataset[s]:this._generated,this.element=t,this.element.ariaHidden="true",this._originalStyle=function(t){let e=document.createElement("div").style;if(!t)return e;for(let i in t){let s=t[i];if(!Object.prototype.hasOwnProperty.call(t,i)||b(s))continue;let a=t.getPropertyValue?.(s);if(!a)continue;let o=t.getPropertyPriority?.(s);o?e.setProperty?.(s,a,o):e.setProperty?.(s,a)}return e}(this.element.style);let e=this._standardSize;e.height=t.offsetHeight,e.width=t.offsetWidth;let i=this.container.retina.pixelRatio,a=this.size;t.height=a.height=e.height*i,t.width=a.width=e.width*i,this._context=this.element.getContext("2d"),this._safeMutationObserver(t=>
2t.disconnect()),this.container.retina.init(),this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})})}paint(){let t=this.container.actualOptions;this.draw(e=>{t.backgroundMask.enable&&t.backgroundMask.cover?(tw(e,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 t=this.container,e=t.canvas._standardSize,i={width:this.element.offsetWidth,height:this.element.offsetHeight},s=t.retina.pixelRatio,a={width:i.width*s,height:i.height*s};if(i.height===e.height&&i.width===e.width&&a.height===this.element.height&&a.width===this.element.width)return!1;let o={...e};e.height=i.height,e.width=i.width;let n=this.size;return this.element.width=n.width=a.width,this.element.height=n.height=a.height,this.container.started&&t.particles.setResizeFactor({width:e.width/o.width,height:e.height/o.height}),!0}setPointerEvents(t){this.element&&(this._pointerEvents=t,this._repairStyle())}stop(){this._safeMutationObserver(t=>t.disconnect()),this._mutationObserver=void 0,this.draw(t=>tw(t,this.size))}async windowResize(){if(!this.element||!this.resize())return;let t=this.container,e=t.updateActualOptions();t.particles.setDensity(),this._applyResizePlugins(),e&&await t.refresh()}}function tk(t,e,i,s,a){if(s){let s={passive:!0};f(a)?s.capture=a:void 0!==a&&(s=a),t.addEventListener(e,i,s)}else t.removeEventListener(e,i,a)}(eK=id||(id={})).canvas="canvas",eK.parent="parent",eK.window="window";class tC{constructor(t){this.container=t,this._doMouseTouchClick=t=>{let e=this.container,i=e.actualOptions;if(this._canPush){let t=e.interactivity.mouse,s=t.position;if(!s)return;t.clickPosition={...s},t.clickTime=new Date().getTime(),Z(i.interactivity.events.onClick.mode,t=>this.container.handleClickMode(t))}"touchend"===t.type&&setTimeout(()=>this._mouseTouchFinish(),500)},this._handleThemeChange=t=>{let e=this.container,i=e.options,s=i.defaultThemes,a=t.matches?s.dark:s.light,o=i.themes.find(t=>t.name===a);o?.default.auto&&e.loadTheme(a)},this._handleVisibilityChange=()=>{let t=this.container,e=t.actualOptions;this._mouseTouchFinish(),e.pauseOnBlur&&(document?.hidden?(t.pageHidden=!0,t.pause()):(t.pageHidden=!1,t.animationStatus?t.play(!0):t.draw(!0)))},this._handleWindowResize=()=>{this._resizeTimeout&&(clearTimeout(this._resizeTimeout),delete this._resizeTimeout);let t=async()=>{let t=this.container.canvas;await t?.windowResize()};this._resizeTimeout=setTimeout(()=>void t(),1e3*this.container.actualOptions.interactivity.events.resize.delay)},this._manageInteractivityListeners=(t,e)=>{let i=this._handlers,s=this.container,a=s.actualOptions,r=s.interactivity.element;if(!r)return;let l=s.canvas;l.setPointerEvents(r===l.element?"initial":"none"),(a.interactivity.events.onHover.enable||a.interactivity.events.onClick.enable)&&(tk(r,o,i.mouseMove,e),tk(r,"touchstart",i.touchStart,e),tk(r,"touchmove",i.touchMove,e),a.interactivity.events.onClick.enable?(tk(r,n,i.touchEndClick,e),tk(r,"pointerup",i.mouseUp,e),tk(r,"pointerdown",i.mouseDown,e)):tk(r,n,i.touchEnd,e),tk(r,t,i.mouseLeave,e),tk(r,"touchcancel",i.touchCancel,e))},this._manageListeners=t=>{let e=this._handlers,i=this.container,s=i.actualOptions.interactivity.detectsOn,o=i.canvas.element,n=a;s===id.window?(i.interactivity.element=window,n="pointerout"):s===id.parent&&o?i.interactivity.element=o.parentElement??o.parentNode:i.interactivity.element=o,this._manageMediaMatch(t),this._manageResize(t),this._manageInteractivityListeners(n,t),document&&tk(document,"visibilitychange",e.visibilityChange,t,!1)},this._manageMediaMatch=t=>{let e=this._handlers,i=q("(prefers-color-scheme: dark)");i&&(void 0!==i.addEventListener?tk(i,"change",e.themeChange,t):void 0!==i.addListener&&(t?i.addListener(e.oldThemeChange):i.removeListener(e.oldThemeChange)))},this._manageResize=t=>{let e=this._handlers,i=this.container;if(!i.actualOptions.interactivity.events.resize)return;if("u"<typeof ResizeObserver)return void tk(window,"resize",e.resize,t);let s=i.canvas.element;this._resizeObserver&&!t?(s&&this._resizeObserver.unobserve(s),this._resizeObserver.disconnect(),delete this._resizeObserver):!this._resizeObserver&&t&&s&&(this._resizeObserver=new ResizeObserver(t=>{t.find(t=>t.target===s)&&this._handleWindowResize()}),this._resizeObserver.observe(s))},this._mouseDown=()=>{let{interactivity:t}=this.container;if(!t)return;let{mouse:e}=t;e.clicking=!0,e.downPosition=e.position},this._mouseTouchClick=t=>{let e=this.container,i=e.actualOptions,{mouse:s}=e.interactivity;s.inside=!0;let a=!1,o=s.position;if(o&&i.interactivity.events.onClick.enable){for(let t of e.plugins.values())if(t.clickPositionValid&&
2(a=t.clickPositionValid(o)))break;a||this._doMouseTouchClick(t),s.clicking=!1}},this._mouseTouchFinish=()=>{let t=this.container.interactivity;if(!t)return;let e=t.mouse;delete e.position,delete e.clickPosition,delete e.downPosition,t.status=a,e.inside=!1,e.clicking=!1},this._mouseTouchMove=t=>{let e,i=this.container,s=i.actualOptions,a=i.interactivity,n=i.canvas.element;if(!a?.element)return;if(a.mouse.inside=!0,t.type.startsWith("pointer"))if(this._canPush=!0,a.element===window){if(n){let i=n.getBoundingClientRect();e={x:t.clientX-i.left,y:t.clientY-i.top}}}else if(s.interactivity.detectsOn===id.parent){let i=t.target,s=t.currentTarget;if(i&&s&&n){let a=i.getBoundingClientRect(),o=s.getBoundingClientRect(),r=n.getBoundingClientRect();e={x:t.offsetX+2*a.left-(o.left+r.left),y:t.offsetY+2*a.top-(o.top+r.top)}}else e={x:t.offsetX??t.clientX,y:t.offsetY??t.clientY}}else t.target===n&&(e={x:t.offsetX??t.clientX,y:t.offsetY??t.clientY});else if(this._canPush="touchmove"!==t.type,n){let i=t.touches[t.touches.length-1],s=n.getBoundingClientRect();e={x:i.clientX-(s.left??0),y:i.clientY-(s.top??0)}}let r=i.retina.pixelRatio;e&&(e.x*=r,e.y*=r),a.mouse.position=e,a.status=o},this._touchEnd=t=>{for(let e of Array.from(t.changedTouches))this._touches.delete(e.identifier);this._mouseTouchFinish()},this._touchEndClick=t=>{for(let e of Array.from(t.changedTouches))this._touches.delete(e.identifier);this._mouseTouchClick(t)},this._touchStart=t=>{for(let e of Array.from(t.changedTouches))this._touches.set(e.identifier,performance.now());this._mouseTouchMove(t)},this._canPush=!0,this._touches=new Map,this._handlers={mouseDown:()=>this._mouseDown(),mouseLeave:()=>this._mouseTouchFinish(),mouseMove:t=>this._mouseTouchMove(t),mouseUp:t=>this._mouseTouchClick(t),touchStart:t=>this._touchStart(t),touchMove:t=>this._mouseTouchMove(t),touchEnd:t=>this._touchEnd(t),touchCancel:t=>this._touchEnd(t),touchEndClick:t=>this._touchEndClick(t),visibilityChange:()=>this._handleVisibilityChange(),themeChange:t=>this._handleThemeChange(t),oldThemeChange:t=>this._handleThemeChange(t),resize:()=>{this._handleWindowResize()}}}addListeners(){this._manageListeners(!0)}removeListeners(){this._manageListeners(!1)}}(eJ=iu||(iu={})).configAdded="configAdded",eJ.containerInit="containerInit",eJ.particlesSetup="particlesSetup",eJ.containerStarted="containerStarted",eJ.containerStopped="containerStopped",eJ.containerDestroyed="containerDestroyed",eJ.containerPaused="containerPaused",eJ.containerPlay="containerPlay",eJ.containerBuilt="containerBuilt",eJ.particleAdded="particleAdded",eJ.particleDestroyed="particleDestroyed",eJ.particleRemoved="particleRemoved";class tz{constructor(){this.value=""}static create(t,e){let i=new tz;return i.load(t),void 0!==e&&(v(e)||y(e)?i.load({value:e}):i.load(e)),i}load(t){!b(t)&&(b(t.value)||(this.value=t.value))}}class tM{constructor(){this.color=new tz,this.color.value="",this.image="",this.position="",this.repeat="",this.size="",this.opacity=1}load(t){b(t)||(void 0!==t.color&&(this.color=tz.create(this.color,t.color)),void 0!==t.image&&(this.image=t.image),void 0!==t.position&&(this.position=t.position),void 0!==t.repeat&&(this.repeat=t.repeat),void 0!==t.size&&(this.size=t.size),void 0!==t.opacity&&(this.opacity=t.opacity))}}class tP{constructor(){this.opacity=1}load(t){b(t)||(void 0!==t.color&&(this.color=tz.create(this.color,t.color)),void 0!==t.image&&(this.image=t.image),void 0!==t.opacity&&(this.opacity=t.opacity))}}class tS{constructor(){this.composite="destination-out",this.cover=new tP,this.enable=!1}load(t){if(!b(t)){if(void 0!==t.composite&&(this.composite=t.composite),void 0!==t.cover){let e=t.cover,i=v(t.cover)?{color:t.cover}:t.cover;this.cover.load(void 0!==e.color||void 0!==e.image?e:{color:i})}void 0!==t.enable&&(this.enable=t.enable)}}}class tO{constructor(){this.enable=!0,this.zIndex=0}load(t){b(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.zIndex&&(this.zIndex=t.zIndex))}}class tT{constructor(){this.enable=!1,this.mode=[]}load(t){b(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode))}}(e0=ip||(ip={})).circle="circle",e0.rectangle="rectangle";class tE{constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=ip.circle}load(t){b(t)||(void 0!==t.selectors&&(this.selectors=t.selectors),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.type&&(this.t
2ype=t.type))}}class tR{constructor(){this.enable=!1,this.force=2,this.smooth=10}load(t){b(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.force&&(this.force=t.force),void 0!==t.smooth&&(this.smooth=t.smooth))}}class tD{constructor(){this.enable=!1,this.mode=[],this.parallax=new tR}load(t){b(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),this.parallax.load(t.parallax))}}class tI{constructor(){this.delay=.5,this.enable=!0}load(t){b(t)||(void 0!==t.delay&&(this.delay=t.delay),void 0!==t.enable&&(this.enable=t.enable))}}class tL{constructor(){this.onClick=new tT,this.onDiv=new tE,this.onHover=new tD,this.resize=new tI}load(t){if(b(t))return;this.onClick.load(t.onClick);let e=t.onDiv;void 0!==e&&(this.onDiv=Z(e,t=>{let e=new tE;return e.load(t),e})),this.onHover.load(t.onHover),this.resize.load(t.resize)}}class tB{constructor(t,e){this._engine=t,this._container=e}load(t){if(b(t)||!this._container)return;let e=this._engine.interactors.get(this._container);if(e)for(let i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}class tF{constructor(t,e){this.detectsOn=id.window,this.events=new tL,this.modes=new tB(t,e)}load(t){if(b(t))return;let e=t.detectsOn;void 0!==e&&(this.detectsOn=e),this.events.load(t.events),this.modes.load(t.modes)}}class tA{load(t){!b(t)&&(t.position&&(this.position={x:t.position.x??50,y:t.position.y??50,mode:t.position.mode??il.percent}),t.options&&(this.options=$({},t.options)))}}(e1=iv||(iv={})).screen="screen",e1.canvas="canvas";class tq{constructor(){this.maxWidth=1/0,this.options={},this.mode=iv.canvas}load(t){!b(t)&&(b(t.maxWidth)||(this.maxWidth=t.maxWidth),b(t.mode)||(t.mode===iv.screen?this.mode=iv.screen:this.mode=iv.canvas),b(t.options)||(this.options=$({},t.options)))}}(e2=ig||(ig={})).any="any",e2.dark="dark",e2.light="light";class tV{constructor(){this.auto=!1,this.mode=ig.any,this.value=!1}load(t){b(t)||(void 0!==t.auto&&(this.auto=t.auto),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.value&&(this.value=t.value))}}class tH{constructor(){this.name="",this.default=new tV}load(t){b(t)||(void 0!==t.name&&(this.name=t.name),this.default.load(t.default),void 0!==t.options&&(this.options=$({},t.options)))}}class tU{constructor(){this.count=0,this.enable=!1,this.speed=1,this.decay=0,this.delay=0,this.sync=!1}load(t){b(t)||(void 0!==t.count&&(this.count=T(t.count)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=T(t.speed)),void 0!==t.decay&&(this.decay=T(t.decay)),void 0!==t.delay&&(this.delay=T(t.delay)),void 0!==t.sync&&(this.sync=t.sync))}}class tW extends tU{constructor(){super(),this.mode=is.auto,this.startValue=ic.random}load(t){super.load(t),b(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.startValue&&(this.startValue=t.startValue))}}class tj extends tU{constructor(){super(),this.offset=0,this.sync=!0}load(t){super.load(t),b(t)||void 0!==t.offset&&(this.offset=T(t.offset))}}class t${constructor(){this.h=new tj,this.s=new tj,this.l=new tj}load(t){b(t)||(this.h.load(t.h),this.s.load(t.s),this.l.load(t.l))}}class tG extends tz{constructor(){super(),this.animation=new t$}static create(t,e){let i=new tG;return i.load(t),void 0!==e&&(v(e)||y(e)?i.load({value:e}):i.load(e)),i}load(t){if(super.load(t),b(t))return;let e=t.animation;void 0!==e&&(void 0!==e.enable?this.animation.h.load(e):this.animation.load(t.animation))}}(e3=im||(im={})).absorb="absorb",e3.bounce="bounce",e3.destroy="destroy";class tN{constructor(){this.speed=2}load(t){b(t)||void 0!==t.speed&&(this.speed=t.speed)}}class tQ{constructor(){this.enable=!0,this.retries=0}load(t){b(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.retries&&(this.retries=t.retries))}}class tX{constructor(){this.value=0}load(t){!b(t)&&(b(t.value)||(this.value=T(t.value)))}}class tY extends tX{constructor(){super(),this.animation=new tU}load(t){if(super.load(t),b(t))return;let e=t.animation;void 0!==e&&this.animation.load(e)}}class tZ extends tY{constructor(){super(),this.animation=new tW}load(t){super.load(t)}}class tK extends tX{constructor(){super(),this.value=1}}class tJ{constructor(){this.horizontal=new tK,this.vertical=new tK}load(t){b(t)||(this.horizontal.load(t.horizontal),this.vertical.load(t.vertical))}}class t0{constructor(){this.absorb=new tN,this.bounce=new tJ,this.enable=!1,this.maxSpeed=50,this.mode=im.bounce,this.overlap=new tQ}load(t){b(t)||(this.absorb.load(t.absorb),this.bounce.load(t.bounce),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.maxSpeed&&(this.maxSpeed=T(t.maxSpeed)),void 0!==t.mode&&(this.mode=t.mode),this.overlap.load(t.overlap))}}class t1{constructor(){this.close=!0,this.fill=!0,this.options={},this.type=[]}load(t){if(b(t))return;let e=t.options;if(void 0!==e)for(let t in e){let i=e[t];i&&(this.options[t]=$(this.options[t]??{},i))}void 0!==t.close&&(this.close=t.close),void 0!==t.fill&&(this.fill=t.fill),void 0!==t.type&&(this.t
2ype=t.type)}}class t2{constructor(){this.offset=0,this.value=90}load(t){b(t)||(void 0!==t.offset&&(this.offset=T(t.offset)),void 0!==t.value&&(this.value=T(t.value)))}}class t3{constructor(){this.distance=200,this.enable=!1,this.rotate={x:3e3,y:3e3}}load(t){if(!b(t)&&(void 0!==t.distance&&(this.distance=T(t.distance)),void 0!==t.enable&&(this.enable=t.enable),t.rotate)){let e=t.rotate.x;void 0!==e&&(this.rotate.x=e);let i=t.rotate.y;void 0!==i&&(this.rotate.y=i)}}}class t5{constructor(){this.x=50,this.y=50,this.mode=il.percent,this.radius=0}load(t){b(t)||(void 0!==t.x&&(this.x=t.x),void 0!==t.y&&(this.y=t.y),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.radius&&(this.radius=t.radius))}}class t4{constructor(){this.acceleration=9.81,this.enable=!1,this.inverse=!1,this.maxSpeed=50}load(t){b(t)||(void 0!==t.acceleration&&(this.acceleration=T(t.acceleration)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.inverse&&(this.inverse=t.inverse),void 0!==t.maxSpeed&&(this.maxSpeed=T(t.maxSpeed)))}}class t6{constructor(){this.clamp=!0,this.delay=new tX,this.enable=!1,this.options={}}load(t){!b(t)&&(void 0!==t.clamp&&(this.clamp=t.clamp),this.delay.load(t.delay),void 0!==t.enable&&(this.enable=t.enable),this.generator=t.generator,t.options&&(this.options=$(this.options,t.options)))}}class t9{load(t){b(t)||(void 0!==t.color&&(this.color=tz.create(this.color,t.color)),void 0!==t.image&&(this.image=t.image))}}class t8{constructor(){this.enable=!1,this.length=10,this.fill=new t9}load(t){b(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.fill&&this.fill.load(t.fill),void 0!==t.length&&(this.length=t.length))}}(e5=iy||(iy={})).bounce="bounce",e5.none="none",e5.out="out",e5.destroy="destroy",e5.split="split";class t7{constructor(){this.default=iy.out}load(t){b(t)||(void 0!==t.default&&(this.default=t.default),this.bottom=t.bottom??t.default,this.left=t.left??t.default,this.right=t.right??t.default,this.top=t.top??t.default)}}class et{constructor(){this.acceleration=0,this.enable=!1}load(t){!b(t)&&(void 0!==t.acceleration&&(this.acceleration=T(t.acceleration)),void 0!==t.enable&&(this.enable=t.enable),t.position&&(this.position=$({},t.position)))}}class ee{constructor(){this.angle=new t2,this.attract=new t3,this.center=new t5,this.decay=0,this.distance={},this.direction=ii.none,this.drift=0,this.enable=!1,this.gravity=new t4,this.path=new t6,this.outModes=new t7,this.random=!1,this.size=!1,this.speed=2,this.spin=new et,this.straight=!1,this.trail=new t8,this.vibrate=!1,this.warp=!1}load(t){if(b(t))return;this.angle.load(g(t.angle)?{value:t.angle}:t.angle),this.attract.load(t.attract),this.center.load(t.center),void 0!==t.decay&&(this.decay=T(t.decay)),void 0!==t.direction&&(this.direction=t.direction),void 0!==t.distance&&(this.distance=g(t.distance)?{horizontal:t.distance,vertical:t.distance}:{...t.distance}),void 0!==t.drift&&(this.drift=T(t.drift)),void 0!==t.enable&&(this.enable=t.enable),this.gravity.load(t.gravity);let e=t.outModes;void 0!==e&&(m(e)?this.outModes.load(e):this.outModes.load({default:e})),this.path.load(t.path),void 0!==t.random&&(this.random=t.random),void 0!==t.size&&(this.size=t.size),void 0!==t.speed&&(this.speed=T(t.speed)),this.spin.load(t.spin),void 0!==t.straight&&(this.straight=t.straight),this.trail.load(t.trail),void 0!==t.vibrate&&(this.vibrate=t.vibrate),void 0!==t.warp&&(this.warp=t.warp)}}class ei extends tW{constructor(){super(),this.destroy=io.none,this.speed=2}load(t){super.load(t),b(t)||void 0!==t.destroy&&(this.destroy=t.destroy)}}class es extends tZ{constructor(){super(),this.animation=new ei,this.value=1}load(t){if(b(t))return;super.load(t);let e=t.animation;void 0!==e&&this.animation.load(e)}}class ea{constructor(){this.enable=!1,this.width=1920,this.height=1080}load(t){if(b(t))return;void 0!==t.enable&&(this.enable=t.enable);let e=t.width;void 0!==e&&(this.width=e);let i=t.height;void 0!==i&&(this.height=i)}}(e4=ib||(ib={})).delete="delete",e4.wait="wait";class eo{constructor(){this.mode=ib.delete,this.value=0}load(t){b(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.value&&(this.value=t.value))}}class en{constructor(){this.density=new ea,this.limit=new eo,this.value=0}load(t){b(t)||(this.density.load(t.density),this.limit.load(t.limit),void 0!==t.value&&(this.value=t.value))}}class er{constructor(){this.blur=0,this.color=new tz,this.enable=!1,this.offset={x:0,y:0},this.color.value="#000"}load(t){b(t)||(void 0!==t.blur&&(this.blur=t.blur),this.color=tz.create(this.color,t.color),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.offset&&(void 0!==t.offset.x&&(this.offset.x=t.offset.x),void 0!==t.offset.y&&(this.offset.y=t.offset.y)))}}
2class el{constructor(){this.close=!0,this.fill=!0,this.options={},this.type="circle"}load(t){if(b(t))return;let e=t.options;if(void 0!==e)for(let t in e){let i=e[t];i&&(this.options[t]=$(this.options[t]??{},i))}void 0!==t.close&&(this.close=t.close),void 0!==t.fill&&(this.fill=t.fill),void 0!==t.type&&(this.type=t.type)}}class ec extends tW{constructor(){super(),this.destroy=io.none,this.speed=5}load(t){super.load(t),b(t)||void 0!==t.destroy&&(this.destroy=t.destroy)}}class eh extends tZ{constructor(){super(),this.animation=new ec,this.value=3}load(t){if(super.load(t),b(t))return;let e=t.animation;void 0!==e&&this.animation.load(e)}}class ed{constructor(){this.width=0}load(t){b(t)||(void 0!==t.color&&(this.color=tG.create(this.color,t.color)),void 0!==t.width&&(this.width=T(t.width)),void 0!==t.opacity&&(this.opacity=T(t.opacity)))}}class eu extends tX{constructor(){super(),this.opacityRate=1,this.sizeRate=1,this.velocityRate=1}load(t){super.load(t),b(t)||(void 0!==t.opacityRate&&(this.opacityRate=t.opacityRate),void 0!==t.sizeRate&&(this.sizeRate=t.sizeRate),void 0!==t.velocityRate&&(this.velocityRate=t.velocityRate))}}class ep{constructor(t,e){this._engine=t,this._container=e,this.bounce=new tJ,this.collisions=new t0,this.color=new tG,this.color.value="#fff",this.effect=new t1,this.groups={},this.move=new ee,this.number=new en,this.opacity=new es,this.reduceDuplicates=!1,this.shadow=new er,this.shape=new el,this.size=new eh,this.stroke=new ed,this.zIndex=new eu}load(t){if(b(t))return;if(void 0!==t.groups)for(let e of Object.keys(t.groups)){if(!Object.hasOwn(t.groups,e))continue;let i=t.groups[e];void 0!==i&&(this.groups[e]=$(this.groups[e]??{},i))}void 0!==t.reduceDuplicates&&(this.reduceDuplicates=t.reduceDuplicates),this.bounce.load(t.bounce),this.color.load(tG.create(this.color,t.color)),this.effect.load(t.effect),this.move.load(t.move),this.number.load(t.number),this.opacity.load(t.opacity),this.shape.load(t.shape),this.size.load(t.size),this.shadow.load(t.shadow),this.zIndex.load(t.zIndex),this.collisions.load(t.collisions),void 0!==t.interactivity&&(this.interactivity=$({},t.interactivity));let e=t.stroke;if(e&&(this.stroke=Z(e,t=>{let e=new ed;return e.load(t),e})),this._container){let e=this._engine.updaters.get(this._container);if(e)for(let i of e)i.loadOptions&&i.loadOptions(this,t);let i=this._engine.interactors.get(this._container);if(i)for(let e of i)e.loadParticlesOptions&&e.loadParticlesOptions(this,t)}}}function ef(t,...e){for(let i of e)t.load(i)}function ev(t,e,...i){let s=new ep(t,e);return ef(s,...i),s}class eg{constructor(t,e){this._findDefaultTheme=t=>this.themes.find(e=>e.default.value&&e.default.mode===t)??this.themes.find(t=>t.default.value&&t.default.mode===ig.any),this._importPreset=t=>{this.load(this._engine.getPreset(t))},this._engine=t,this._container=e,this.autoPlay=!0,this.background=new tM,this.backgroundMask=new tS,this.clear=!0,this.defaultThemes={},this.delay=0,this.fullScreen=new tO,this.detectRetina=!0,this.duration=0,this.fpsLimit=120,this.interactivity=new tF(t,e),this.manualParticles=[],this.particles=ev(this._engine,this._container),this.pauseOnBlur=!0,this.pauseOnOutsideViewport=!0,this.responsive=[],this.smooth=!1,this.style={},this.themes=[],this.zLayers=100}load(t){if(b(t))return;void 0!==t.preset&&Z(t.preset,t=>this._importPreset(t)),void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.clear&&(this.clear=t.clear),void 0!==t.key&&(this.key=t.key),void 0!==t.name&&(this.name=t.name),void 0!==t.delay&&(this.delay=T(t.delay));let e=t.detectRetina;void 0!==e&&(this.detectRetina=e),void 0!==t.duration&&(this.duration=T(t.duration));let i=t.fpsLimit;void 0!==i&&(this.fpsLimit=i),void 0!==t.pauseOnBlur&&(this.pauseOnBlur=t.pauseOnBlur),void 0!==t.pauseOnOutsideViewport&&(this.pauseOnOutsideViewport=t.pauseOnOutsideViewport),void 0!==t.zLayers&&(this.zLayers=t.zLayers),this.background.load(t.background);let s=t.fullScreen;f(s)?this.fullScreen.enable=s:this.fullScreen.load(s),this.backgroundMask.load(t.backgroundMask),this.interactivity.load(t.interactivity),t.manualParticles&&(this.manualParticles=t.manualParticles.map(t=>{let e=new tA;return e.load(t),e})),this.particles.load(t.particles),this.style=$(this.style,t.style),this._engine.loadOptions(this,t),void 0!==t.smooth&&(this.smooth=t.smooth);let a=this._engine.interactors.get(this._container);if(a)for(let e of a)e.loadOptions&&e.loadOptions(this,t);if(void 0!==t.responsive)for(let e of t.responsive){let t=new tq;t.load(e),this.responsive.push(t)}if(this.responsive.sort((t,e)=>t.maxWidth-e.maxWidth),void 0!==t.themes)for(let e of t.themes){let t=this.themes.find(t=>t.name===e.name);if(t)t.load(e);else{let t=new tH;t.load(e),this.themes.push(t)}}
2this.defaultThemes.dark=this._findDefaultTheme(ig.dark)?.name,this.defaultThemes.light=this._findDefaultTheme(ig.light)?.name}setResponsive(t,e,i){this.load(i);let s=this.responsive.find(i=>i.mode===iv.screen&&screen?i.maxWidth>screen.availWidth:i.maxWidth*e>t);return this.load(s?.options),s?.maxWidth}setTheme(t){if(t){let e=this.themes.find(e=>e.name===t);e&&this.load(e.options)}else{let t=q("(prefers-color-scheme: dark)"),e=t?.matches,i=this._findDefaultTheme(e?ig.dark:ig.light);i&&this.load(i.options)}}}(e6=iw||(iw={})).external="external",e6.particles="particles";class em{constructor(t,e){this.container=e,this._engine=t,this._interactors=[],this._externalInteractors=[],this._particleInteractors=[]}externalInteract(t){for(let e of this._externalInteractors)e.isEnabled()&&e.interact(t)}handleClickMode(t){for(let e of this._externalInteractors)e.handleClickMode?.(t)}async init(){for(let t of(this._interactors=await this._engine.getInteractors(this.container,!0),this._externalInteractors=[],this._particleInteractors=[],this._interactors)){switch(t.type){case iw.external:this._externalInteractors.push(t);break;case iw.particles:this._particleInteractors.push(t)}t.init()}}particlesInteract(t,e){for(let i of this._externalInteractors)i.clear(t,e);for(let i of this._particleInteractors)i.isEnabled(t)&&i.interact(t,e)}reset(t){for(let e of this._externalInteractors)e.isEnabled()&&e.reset(t);for(let e of this._particleInteractors)e.isEnabled(t)&&e.reset(t)}}function ey(t){if(!V(t.outMode,t.checkModes))return;let e=2*t.radius;t.coord>t.maxCoord-e?t.setCb(-t.radius):t.coord<e&&t.setCb(t.radius)}(e9=ix||(ix={})).normal="normal",e9.inside="inside",e9.outside="outside";class eb{constructor(t,e){this.container=e,this._calcPosition=(t,e,i,s=p)=>{var a;for(let s of t.plugins.values()){let t=void 0!==s.particlePosition?s.particlePosition(e,this):void 0;if(t)return w.create(t.x,t.y,i)}let o=(a={size:t.canvas.size,position:e},{x:a.position?.x??k()*a.size.width,y:a.position?.y??k()*a.size.height}),n=w.create(o.x,o.y,i),r=this.getRadius(),l=this.options.move.outModes,c=e=>{ey({outMode:e,checkModes:[iy.bounce],coord:n.x,maxCoord:t.canvas.size.width,setCb:t=>n.x+=t,radius:r})},h=e=>{ey({outMode:e,checkModes:[iy.bounce],coord:n.y,maxCoord:t.canvas.size.height,setCb:t=>n.y+=t,radius:r})};return(c(l.left??l.default),c(l.right??l.default),h(l.top??l.default),h(l.bottom??l.default),this._checkOverlap(n,s))?this._calcPosition(t,void 0,i,s+1):n},this._calculateVelocity=()=>{var t;let e,i=(t=this.direction,(e=x.origin).length=1,e.angle=t,e).copy(),s=this.options.move;if(s.direction===ii.inside||s.direction===ii.outside)return i;let a=D(P(s.angle.value)),o=D(P(s.angle.offset)),n={left:o-.5*a,right:o+.5*a};return s.straight||(i.angle+=M(T(n.left,n.right))),s.random&&"number"==typeof s.speed&&(i.length*=k()),i},this._checkOverlap=(t,e=p)=>{let i=this.options.collisions,s=this.getRadius();if(!i.enable)return!1;let a=i.overlap;if(a.enable)return!1;let o=a.retries;if(o>=0&&e>o)throw Error(`${r} particle is overlapping and can't be placed`);return!!this.container.particles.find(e=>R(t,e.position)<s+e.getRadius())},this._getRollColor=t=>{if(!t||!this.roll||!this.backColor&&!this.roll.alter)return t;let e=this.roll.horizontal&&this.roll.vertical?2:1,i=this.roll.horizontal?.5*Math.PI:0;if(!(Math.floor(((this.roll.angle??0)+i)/(Math.PI/e))%2))return t;if(this.backColor)return this.backColor;if(this.roll.alter){var s,a;return s=this.roll.alter.type,a=this.roll.alter.value,{h:t.h,s:t.s,l:t.l+(s===ih.darken?-1:1)*a}}return t},this._initPosition=t=>{let e=this.container,i=P(this.options.zIndex.value);this.position=this._calcPosition(e,t,C(i,0,e.zLayers)),this.initialPosition=this.position.copy();let s=e.canvas.size;switch(this.moveCenter={...te(this.options.move.center,s),radius:this.options.move.center.radius??0,mode:this.options.move.center.mode??il.percent},this.direction=function(t,e,i){if(g(t))return D(t);switch(t){case ii.top:return-(.5*Math.PI);case ii.topRight:return-(.25*Math.PI);case ii.right:return 0;case ii.bottomRight:return .25*Math.PI;case ii.bottom:return .5*Math.PI;case ii.bottomLeft:return .75*Math.PI;case ii.left:return Math.PI;case ii.topLeft:return-(.75*Math.PI);case ii.inside:return Math.atan2(i.y-e.y,i.x-e.x);case ii.outside:return Math.atan2(e.y-i.y,e.x-i.x);default:return k()*c}}(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case ii.inside:this.outType=ix.inside;break;case ii.outside:this.outType=ix.outside}this.offset=x.origin},this._engine=t}destroy(t){if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1,this.slow.inRange=!1;let e=this.container,i=this.pathGenerator,s=e.shapeDrawers.get(this.shape);
2for(let i of(s?.particleDestroy?.(this),e.plugins.values()))i.particleDestroyed?.(this,t);for(let i of e.particles.updaters)i.particleDestroyed?.(this,t);i?.reset(this),this._engine.dispatchEvent(iu.particleDestroyed,{container:this.container,data:{particle:this}})}draw(t){let e=this.container,i=e.canvas;for(let s of e.plugins.values())i.drawParticlePlugin(s,this,t);i.drawParticle(this,t)}getFillColor(){return this._getRollColor(this.bubble.color??tf(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??tf(this.strokeColor))}init(t,e,i,s){let a=this.container,o=this._engine;this.id=t,this.group=s,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=ix.normal,this.ignoresResizeRatio=!0;let n=a.retina.pixelRatio,r=a.actualOptions,c=ev(this._engine,a,r.particles),{reduceDuplicates:h}=c,d=c.effect.type,u=c.shape.type;this.effect=K(d,this.id,h),this.shape=K(u,this.id,h);let p=c.effect,f=c.shape;if(i){if(i.effect?.type){let t=K(i.effect.type,this.id,h);t&&(this.effect=t,p.load(i.effect))}if(i.shape?.type){let t=K(i.shape.type,this.id,h);t&&(this.shape=t,f.load(i.shape))}}if(this.effect===l){let t=[...this.container.effectDrawers.keys()];this.effect=t[Math.floor(k()*t.length)]}if(this.shape===l){let t=[...this.container.shapeDrawers.keys()];this.shape=t[Math.floor(k()*t.length)]}this.effectData=function(t,e,i,s){let a=e.options[t];if(a)return $({close:e.close,fill:e.fill},K(a,i,s))}(this.effect,p,this.id,h),this.shapeData=function(t,e,i,s){let a=e.options[t];if(a)return $({close:e.close,fill:e.fill},K(a,i,s))}(this.shape,f,this.id,h),c.load(i);let v=this.effectData;v&&c.load(v.particles);let g=this.shapeData;g&&c.load(g.particles);let m=new tF(o,a);m.load(a.actualOptions.interactivity),m.load(c.interactivity),this.interactivity=m,this.effectFill=v?.fill??c.effect.fill,this.effectClose=v?.close??c.effect.close,this.shapeFill=g?.fill??c.shape.fill,this.shapeClose=g?.close??c.shape.close,this.options=c;let y=this.options.move.path;this.pathDelay=1e3*P(y.delay.value),y.generator&&(this.pathGenerator=this._engine.getPathGenerator(y.generator),this.pathGenerator&&a.addPath(y.generator,this.pathGenerator)&&this.pathGenerator.init(a)),a.retina.initParticle(this),this.size=tt(this.options.size,n),this.bubble={inRange:!1},this.slow={inRange:!1,factor:1},this._initPosition(e),this.initialVelocity=this._calculateVelocity(),this.velocity=this.initialVelocity.copy(),this.moveDecay=1-P(this.options.move.decay);let b=a.particles;b.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/a.zLayers,this.sides=24;let w=a.effectDrawers.get(this.effect);!w&&(w=this._engine.getEffectDrawer(this.effect))&&a.effectDrawers.set(this.effect,w),w?.loadEffect&&w.loadEffect(this);let x=a.shapeDrawers.get(this.shape);!x&&(x=this._engine.getShapeDrawer(this.shape))&&a.shapeDrawers.set(this.shape,x),x?.loadShape&&x.loadShape(this);let _=x?.getSidesCount;for(let t of(_&&(this.sides=_(this)),this.spawning=!1,this.shadowColor=ta(this._engine,this.options.shadow.color),b.updaters))t.init(this);for(let t of b.movers)t.init?.(this);for(let t of(w?.particleInit?.(a,this),x?.particleInit?.(a,this),a.plugins.values()))t.particleCreated?.(this)}isInsideCanvas(){let t=this.getRadius(),e=this.container.canvas.size,i=this.position;return i.x>=-t&&i.y>=-t&&i.y<=e.height+t&&i.x<=e.width+t}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){for(let t of this.container.particles.updaters)t.reset?.(this)}}class ew{constructor(t,e){this.position=t,this.particle=e}}(e8=i_||(i_={})).circle="circle",e8.rectangle="rectangle";class ex{constructor(t,e,i){this.position={x:t,y:e},this.type=i}}class e_ extends ex{constructor(t,e,i){super(t,e,i_.circle),this.radius=i}contains(t){return R(t,this.position)<=this.radius}intersects(t){let e=this.position,i=t.position,s={x:Math.abs(i.x-e.x),y:Math.abs(i.y-e.y)},a=this.radius;if(t instanceof e_||t.type===i_.circle)return a+t.radius>Math.sqrt(s.x**2+s.y**2);if(t instanceof ek||t.type===i_.rectangle){let{width:e,height:i}=t.size;return Math.pow(s.x-e,2)+Math.pow(s.y-i,2)<=a**2||s.x<=a+e&&s.y<=a+i||s.x<=e||s.y<=i}return!1}}class ek extends ex{constructor(t,e,i,s){super(t,e,i_.rectangle),this.size={height:s,width:i}}contains(t){let e=this.size.width,i=this.size.height,s=this.position;return t.x>=s.x&&t.x<=s.x+e&&t.y>=s.y&&t.y<=s.y+i}intersects(t){if(t instanceof e_)return t.intersects(this);let e=this.size.width,i=this.size.height,s=this.position,a=t.position,o=t instanceof ek?t.size:{width:0,height:0},n=o.width,r=o.height;return a.x<s.x+e&&a.x+n>s.x&&a.y<s.y+i&&a.y+r>s.y}}class eC{constructor(t,e){this.rectangle=t,this.capacity=e,this._subdivide=()=>{let{x:t,y:e}=this.rectangle.position,{width:i,height:s}=this.rectangle.size,{capacity:a}=this;for(let o=0;o<4;o++){let n=o%2;this._subs.push(new eC(new ek(t+.5*i*n,e+.5*s*(Math.round(.5*o)-n),.5*i,.5*s),a))}this._divided=!0},this._points=[],this._divided=!1,this._subs=[]}insert(t){return!!this.rectangle.contains(t.position)&&(this._points.length<this.capacity?(this._points.push(t),!0):(this._divided||this._subdivide(),this._subs.some(e=>e.insert(t))))}query(t,e){let i=[];if(!t.intersects(this.rectangle))return[];for(let s of this._points)!t.contains(s.position)&&R(t.position,s.position)>s.particle.getRadius()&&(!e||e(s.particle))||i.push(s.particle);if(this._divided)for(let s of this._subs)i.push(...s.query(t,e));return i}queryCircle(t,e,i){return this.query(new e_(t.x,t.y,e),i)}queryRectangle(t,e,i){return this.query(new ek(t.x,t.y,e.width,e.height),i)}}let ez=t=>{let{height:e,width:i}=t;return new ek(-.25*i,-.25*e,1.5*i,1.5*e)};class eM{constructor(t,e){this._addToPool=(...t)=>{this._pool.push(...t)},this._applyDensity=(t,e,i,s)=>{let a=t.number;if(!t.number.density?.enable)return void(void 0===i?this._limit=a.limit.value:(s?.number.limit?.value??a.limit.value)&&this._groupLimits.set(i,s?.number.limit?.value??a.limit.value));let o=this._initDensityFactor(a.density),n=a.value,r=a.limit.value>0?a.limit.value:n,l=Math.min(n,r)*o+e,c=Math.min(this.count,this.filter(t=>t.group===i).length);void 0===i?this._limit=a.limit.value*o:this._groupLimits.set(i,a.limit.value*o),c<l?this.push(Math.abs(l-c),void 0,t,i):c>l&&this.removeQuantity(c-l,i)},this._initDensityFactor=t=>{let e=this._container;if(!e.canvas.element||!t.enable)return 1;let i=e.canvas.element,s=e.retina.pixelRatio;return i.width*i.height/(t.height*t.width*s**2)},this._pushParticle=(t,e,i,s)=>{try{let a=this._pool.pop();a||(a=new eb(this._engine,this._container)),a.init(this._nextId,t,e,i);let o=!0;if(s&&(o=s(a)),!o)return;return this._array.push(a),this._zArray.push(a),this._nextId++,this._engine.dispatchEvent(iu.particleAdded,{container:this._container,data:{particle:a}}),a}catch(t){B.warning(`${r} adding particle: ${t}`)}},this._removeParticle=(t,e,i)=>{let s=this._array[t];if(!s||s.group!==e)return!1;let a=this._zArray.indexOf(s);return this._array.splice(t,1),this._zArray.splice(a,1),s.destroy(i),this._engine.dispatchEvent(iu.particleRemoved,{container:this._container,data:{particle:s}}),this._addToPool(s),!0},this._engine=t,this._container=e,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 em(t,e),this._pluginsInitialized=!1;const i=e.canvas.size;this.quadTree=new eC(ez(i),4),this.movers=[],this.updaters=[]}get count(){return this._array.length}
2addManualParticles(){let t=this._container;t.actualOptions.manualParticles.forEach(e=>this.addParticle(e.position?te(e.position,t.canvas.size):void 0,e.options))}addParticle(t,e,i,s){let a=this._container.actualOptions.particles.number.limit.mode,o=void 0===i?this._limit:this._groupLimits.get(i)??this._limit,n=this.count;if(o>0)switch(a){case ib.delete:{let t=n+1-o;t>0&&this.removeQuantity(t);break}case ib.wait:if(n>=o)return}return this._pushParticle(t,e,i,s)}clear(){this._array=[],this._zArray=[],this._pluginsInitialized=!1}destroy(){this._array=[],this._zArray=[],this.movers=[],this.updaters=[]}draw(t){let e=this._container,i=e.canvas;for(let s of(i.clear(),this.update(t),e.plugins.values()))i.drawPlugin(s,t);for(let e of this._zArray)e.draw(t)}filter(t){return this._array.filter(t)}find(t){return this._array.find(t)}get(t){return this._array[t]}handleClickMode(t){this._interactionManager.handleClickMode(t)}async init(){let t=this._container,e=t.actualOptions;this._lastZIndex=0,this._needsSort=!1,await this.initPlugins();let i=!1;for(let e of t.plugins.values())if(i=e.particlesInitialization?.()??i)break;if(this.addManualParticles(),!i){let t=e.particles,i=t.groups;for(let e in i){let s=i[e];for(let i=this.count,a=0;a<s.number?.value&&i<t.number.value;i++,a++)this.addParticle(void 0,s,e)}for(let e=this.count;e<t.number.value;e++)this.addParticle()}}async initPlugins(){if(this._pluginsInitialized)return;let t=this._container;for(let e of(this.movers=await this._engine.getMovers(t,!0),this.updaters=await this._engine.getUpdaters(t,!0),await this._interactionManager.init(),t.pathGenerators.values()))e.init(t)}push(t,e,i,s){for(let a=0;a<t;a++)this.addParticle(e?.position,i,s)}async redraw(){this.clear(),await this.init(),this.draw({value:0,factor:0})}remove(t,e,i){this.removeAt(this._array.indexOf(t),void 0,e,i)}removeAt(t,e=1,i,s){if(t<0||t>this.count)return;let a=0;for(let o=t;a<e&&o<this.count;o++)this._removeParticle(o,i,s)&&(o--,a++)}removeQuantity(t,e){this.removeAt(0,t,e)}setDensity(){let t=this._container.actualOptions,e=t.particles.groups,i=t.manualParticles.length;for(let t in e)this._applyDensity(e[t],i,t);this._applyDensity(t.particles,i)}setLastZIndex(t){this._lastZIndex=t,this._needsSort=this._needsSort||this._lastZIndex<t}setResizeFactor(t){this._resizeFactor=t}update(t){let e=this._container,i=new Set;for(let t of(this.quadTree=new eC(ez(e.canvas.size),4),e.pathGenerators.values()))t.update();for(let i of e.plugins.values())i.update?.(t);let s=this._resizeFactor;for(let e of this._array){for(let i of(s&&!e.ignoresResizeRatio&&(e.position.x*=s.width,e.position.y*=s.height,e.initialPosition.x*=s.width,e.initialPosition.y*=s.height),e.ignoresResizeRatio=!1,this._interactionManager.reset(e),this._container.plugins.values())){if(e.destroyed)break;i.particleUpdate?.(e,t)}for(let i of this.movers)i.isEnabled(e)&&i.move(e,t);if(e.destroyed){i.add(e);continue}this.quadTree.insert(new ew(e.getPosition(),e))}if(i.size){let t=t=>!i.has(t);for(let e of(this._array=this.filter(t),this._zArray=this._zArray.filter(t),i))this._engine.dispatchEvent(iu.particleRemoved,{container:this._container,data:{particle:e}});this._addToPool(...i)}for(let e of(this._interactionManager.externalInteract(t),this._array)){for(let i of this.updaters)i.update(e,t);e.destroyed||e.spawning||this._interactionManager.particlesInteract(e,t)}if(delete this._resizeFactor,this._needsSort){let t=this._zArray;t.sort((t,e)=>e.position.z-t.position.z||t.id-e.id),this._lastZIndex=t[t.length-1].position.z,this._needsSort=!1}}}class eP{constructor(t){this.container=t,this.pixelRatio=1,this.reduceFactor=1}init(){let t=this.container,e=t.actualOptions;this.pixelRatio=!e.detectRetina||A()?1:devicePixelRatio,this.reduceFactor=1;let i=this.pixelRatio,s=t.canvas;if(s.element){let t=s.element;s.size.width=t.offsetWidth*i,s.size.height=t.offsetHeight*i}let a=e.particles,o=a.move;this.maxSpeed=P(o.gravity.maxSpeed)*i,this.sizeAnimationSpeed=P(a.size.animation.speed)*i}initParticle(t){let e=t.options,i=this.pixelRatio,s=e.move,a=s.distance,o=t.retina;o.moveDrift=P(s.drift)*i,o.moveSpeed=P(s.speed)*i,o.sizeAnimationSpeed=P(e.size.animation.speed)*i;let n=o.maxDistance;n.horizontal=void 0!==a.horizontal?a.horizontal*i:void 0,n.vertical=void 0!==a.vertical?a.vertical*i:void 0,o.maxSpeed=P(s.gravity.maxSpeed)*i}}function eS(t){return t&&!t.destroyed}function eO(t,e,...i){let s=new eg(t,e);return ef(s,...i),s}class eT{constructor(t,e,i){this._intersectionManager=t=>{if(eS(this)&&this.actualOptions.pauseOnOutsideViewport)for(let e of t)e.target===this.interactivity.element&&(e.isIntersecting?this.play():this.pause())},this._nextFrame=t=>{try{if(!this._smooth&&void 0!==this._lastFrameTime&&t<this._lastFrameTime+1e3/this.fpsLimit)return void this.draw(!1);this._lastFrameTime??=t;let e=function(t,e=60,i=!1){return{value:t,factor:i?60/e:60*t/1e3}}(t-this._lastFrameTime,this.fpsLimit,this._smooth);if(this.addLifeTime(e.value),this._lastFrameTime=t,e.value>1e3)return void this.draw(!1);if(this.particles.draw(e),!this.alive())return void this.destroy();this.animationStatus&&this.draw(!1)}catch(t){B.error(`${r} in animation loop`,t)}},this._engine=t,this.id=Symbol(e),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=i,this._initialSourceOptions=i,this.retina=new eP(this),this.canvas=new t_(this,this._engine),this.particles=new eM(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=eO(this._engine,this),this.actualOptions=eO(this._engine,this),this._eventListeners=new tC(this),this._intersectionObserver=function(t){if(!A()&&"u">typeof IntersectionObserver)return new IntersectionObserver(t)}(t=>this._intersectionManager(t)),this._engine.dispatchEvent(iu.containerBuilt,{container:this})}get animationStatus(){return!this._paused&&!this.pageHidden&&eS(this)}get options(){return this._options}get sourceOptions(){return this._sourceOptions}addClickHandler(t){if(!eS(this))return;let e=this.interactivity.element;if(!e)return;let i=(e,i,s)=>{if(!eS(this))return;let a=this.retina.pixelRatio,o={x:i.x*a,y:i.y*a};t(e,this.particles.quadTree.queryCircle(o,s*a))},s=t=>{if(!eS(this))return;let e={x:t.offsetX||t.clientX,y:t.offsetY||t.clientY};i(t,e,1)},a=()=>{eS(this)&&(l=!0,c=!1)},o=()=>{eS(this)&&(c=!0)},n=t=>{if(eS(this)){if(l&&!c){let e=t.touches[t.touches.length-1];if(!e&&!(e=t.changedTouches[t.changedTouches.length-1]))return;let s=this.canvas.element,a=s?s.getBoundingClientRect():void 0;i(t,{x:e.clientX-(a?a.left:0),y:e.clientY-(a?a.top:0)},Math.max(e.radiusX,e.radiusY))}l=!1,c=!1}},r=()=>{eS(this)&&(l=!1,c=!1)}
2,l=!1,c=!1;for(let[t,i]of(this._clickHandlers.set("click",s),this._clickHandlers.set("touchstart",a),this._clickHandlers.set("touchmove",o),this._clickHandlers.set("touchend",n),this._clickHandlers.set("touchcancel",r),this._clickHandlers))e.addEventListener(t,i)}addLifeTime(t){this._lifeTime+=t}addPath(t,e,i=!1){return!(!eS(this)||!i&&this.pathGenerators.has(t))&&(this.pathGenerators.set(t,e),!0)}alive(){return!this._duration||this._lifeTime<=this._duration}clearClickHandlers(){if(eS(this)){for(let[t,e]of this._clickHandlers)this.interactivity.element?.removeEventListener(t,e);this._clickHandlers.clear()}}destroy(t=!0){if(eS(this)){for(let t of(this.stop(),this.clearClickHandlers(),this.particles.destroy(),this.canvas.destroy(),this.effectDrawers.values()))t.destroy?.(this);for(let t of this.shapeDrawers.values())t.destroy?.(this);for(let t of this.effectDrawers.keys())this.effectDrawers.delete(t);for(let t of this.shapeDrawers.keys())this.shapeDrawers.delete(t);if(this._engine.clearPlugins(this),this.destroyed=!0,t){let t=this._engine.items,e=t.findIndex(t=>t===this);e>=0&&t.splice(e,1)}this._engine.dispatchEvent(iu.containerDestroyed,{container:this})}}draw(t){if(!eS(this))return;let e=t,i=t=>{e&&(this._lastFrameTime=void 0,e=!1),this._nextFrame(t)};this._drawAnimationFrame=requestAnimationFrame(t=>i(t))}async export(t,e={}){for(let i of this.plugins.values()){if(!i.export)continue;let s=await i.export(t,e);if(s.supported)return s.blob}B.error(`${r} - Export plugin with type ${t} not found`)}handleClickMode(t){if(eS(this))for(let e of(this.particles.handleClickMode(t),this.plugins.values()))e.handleClickMode?.(t)}
2async init(){if(!eS(this))return;for(let t of this._engine.getSupportedEffects()){let e=this._engine.getEffectDrawer(t);e&&this.effectDrawers.set(t,e)}for(let t of this._engine.getSupportedShapes()){let e=this._engine.getShapeDrawer(t);e&&this.shapeDrawers.set(t,e)}for(let[t,e]of(await this.particles.initPlugins(),this._options=eO(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=eO(this._engine,this,this._options),await this._engine.getAvailablePlugins(this)))this.plugins.set(t,e);this.retina.init(),await this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize();let{zLayers:t,duration:e,delay:i,fpsLimit:s,smooth:a}=this.actualOptions;for(let o of(this.zLayers=t,this._duration=1e3*P(e),this._delay=1e3*P(i),this._lifeTime=0,this.fpsLimit=s>0?s:120,this._smooth=a,this.effectDrawers.values()))await o.init?.(this);for(let t of this.shapeDrawers.values())await t.init?.(this);for(let t of this.plugins.values())await t.init?.();for(let t of(this._engine.dispatchEvent(iu.containerInit,{container:this}),await this.particles.init(),this.particles.setDensity(),this.plugins.values()))t.particlesSetup?.();this._engine.dispatchEvent(iu.particlesSetup,{container:this})}async loadTheme(t){eS(this)&&(this._currentTheme=t,await this.refresh())}pause(){if(eS(this)){if(void 0!==this._drawAnimationFrame){var t;t=this._drawAnimationFrame,cancelAnimationFrame(t),delete this._drawAnimationFrame}if(!this._paused){for(let t of this.plugins.values())t.pause?.();this.pageHidden||(this._paused=!0),this._engine.dispatchEvent(iu.containerPaused,{container:this})}}}play(t){if(!eS(this))return;let e=this._paused||t;if(this._firstStart&&!this.actualOptions.autoPlay){this._firstStart=!1;return}if(this._paused&&(this._paused=!1),e)for(let t of this.plugins.values())t.play&&t.play();this._engine.dispatchEvent(iu.containerPlay,{container:this}),this.draw(e??!1)}async refresh(){if(eS(this))return this.stop(),this.start()}async reset(t){if(eS(this))return this._initialSourceOptions=t,this._sourceOptions=t,this._options=eO(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=eO(this._engine,this,this._options),this.refresh()}async start(){eS(this)&&!this.started&&(await this.init(),this.started=!0,await new Promise(t=>{let e=async()=>{for(let t of(this._eventListeners.addListeners(),this.interactivity.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.observe(this.interactivity.element),this.plugins.values()))await t.start?.();this._engine.dispatchEvent(iu.containerStarted,{container:this}),this.play(),t()};this._delayTimeout=setTimeout(()=>void e(),this._delay)}))}stop(){if(eS(this)&&this.started){for(let t 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()))t.stop?.();for(let t of this.plugins.keys())this.plugins.delete(t);this._sourceOptions=this._options,this._engine.dispatchEvent(iu.containerStopped,{container:this})}}updateActualOptions(){this.actualOptions.responsive=[];let t=this.actualOptions.setResponsive(this.canvas.size.width,this.retina.pixelRatio,this._options);return this.actualOptions.setTheme(this._currentTheme),this._responsiveMaxWidth!==t&&(this._responsiveMaxWidth=t,!0)}}class eE{constructor(){this._listeners=new Map}addEventListener(t,e){this.removeEventListener(t,e);let i=this._listeners.get(t);i||(i=[],this._listeners.set(t,i)),i.push(e)}dispatchEvent(t,e){let i=this._listeners.get(t);i?.forEach(t=>t(e))}hasEventListener(t){return!!this._listeners.get(t)}removeAllEventListeners(t){t?this._listeners.delete(t):this._listeners=new Map}removeEventListener(t,e){let i=this._listeners.get(t);if(!i)return;let s=i.length,a=i.indexOf(e);a<0||(1===s?this._listeners.delete(t):i.splice(a,1))}}
2async function eR(t,e,i,s=!1){let a=e.get(t);return(!a||s)&&(a=await Promise.all([...i.values()].map(e=>e(t))),e.set(t,a)),a}async function eD(t){let e=K(t.url,t.index);if(!e)return t.fallback;let i=await fetch(e);return i.ok?await i.json():(B.error(`${r} ${i.status} while retrieving config file`),t.fallback)}class eI{constructor(t){this.type=iw.external,this.container=t}}class eL{constructor(t){this.type=iw.particles,this.container=t}}(e7=ik||(ik={})).clockwise="clockwise",e7.counterClockwise="counter-clockwise",e7.random="random",(it=iC||(iC={})).linear="linear",it.radial="radial",it.random="random",(ie=iz||(iz={})).easeInBack="ease-in-back",ie.easeInCirc="ease-in-circ",ie.easeInCubic="ease-in-cubic",ie.easeInLinear="ease-in-linear",ie.easeInQuad="ease-in-quad",ie.easeInQuart="ease-in-quart",ie.easeInQuint="ease-in-quint",ie.easeInExpo="ease-in-expo",ie.easeInSine="ease-in-sine",ie.easeOutBack="ease-out-back",ie.easeOutCirc="ease-out-circ",ie.easeOutCubic="ease-out-cubic",ie.easeOutLinear="ease-out-linear",ie.easeOutQuad="ease-out-quad",ie.easeOutQuart="ease-out-quart",ie.easeOutQuint="ease-out-quint",ie.easeOutExpo="ease-out-expo",ie.easeOutSine="ease-out-sine",ie.easeInOutBack="ease-in-out-back",ie.easeInOutCirc="ease-in-out-circ",ie.easeInOutCubic="ease-in-out-cubic",ie.easeInOutLinear="ease-in-out-linear",ie.easeInOutQuad="ease-in-out-quad",ie.easeInOutQuart="ease-in-out-quart",ie.easeInOutQuint="ease-in-out-quint",ie.easeInOutExpo="ease-in-out-expo",ie.easeInOutSine="ease-in-out-sine";let eB=((i=new class t{constructor(){this._configs=new Map,this._domArray=[],this._eventDispatcher=new eE,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 t={};for(let[e,i]of this._configs)t[e]=i;return t}get items(){return this._domArray}get version(){return"3.9.1"}async addColorManager(t,e=!0){this.colorManagers.set(t.key,t),await this.refresh(e)}addConfig(t){let e=t.key??t.name??"default";this._configs.set(e,t),this._eventDispatcher.dispatchEvent(iu.configAdded,{data:{name:e,config:t}})}async addEasing(t,e,i=!0){this.getEasing(t)||(this.easingFunctions.set(t,e),await this.refresh(i))}async addEffect(t,e,i=!0){Z(t,t=>{this.getEffectDrawer(t)||this.effectDrawers.set(t,e)}),await this.refresh(i)}addEventListener(t,e){this._eventDispatcher.addEventListener(t,e)}async addInteractor(t,e,i=!0){this._initializers.interactors.set(t,e),await this.refresh(i)}async addMover(t,e,i=!0){this._initializers.movers.set(t,e),await this.refresh(i)}async addParticleUpdater(t,e,i=!0){this._initializers.updaters.set(t,e),await this.refresh(i)}async addPathGenerator(t,e,i=!0){this.getPathGenerator(t)||this.pathGenerators.set(t,e),await this.refresh(i)}async addPlugin(t,e=!0){this.getPlugin(t.id)||this.plugins.push(t),await this.refresh(e)}async addPreset(t,e,i=!1,s=!0){(i||!this.getPreset(t))&&this.presets.set(t,e),await this.refresh(s)}async addShape(t,e=!0){for(let e of t.validTypes)this.getShapeDrawer(e)||this.shapeDrawers.set(e,t);await this.refresh(e)}checkVersion(t){if(this.version!==t)throw Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${this.version}. Plugin version: ${t}`)}clearPlugins(t){this.updaters.delete(t),this.movers.delete(t),this.interactors.delete(t)}dispatchEvent(t,e){this._eventDispatcher.dispatchEvent(t,e)}dom(){return this.items}domItem(t){return this.item(t)}async getAvailablePlugins(t){let e=new Map;for(let i of this.plugins)i.needsPlugin(t.actualOptions)&&e.set(i.id,await i.getPlugin(t));return e}getEasing(t){return this.easingFunctions.get(t)??(t=>t)}getEffectDrawer(t){return this.effectDrawers.get(t)}async getInteractors(t,e=!1){return eR(t,this.interactors,this._initializers.interactors,e)}async getMovers(t,e=!1){return eR(t,this.movers,this._initializers.movers,e)}getPathGenerator(t){return this.pathGenerators.get(t)}getPlugin(t){return this.plugins.find(e=>e.id===t)}getPreset(t){return this.presets.get(t)}getShapeDrawer(t){return this.shapeDrawers.get(t)}getSupportedEffects(){return this.effectDrawers.keys()}getSupportedShapes(){return this.shapeDrawers.keys()}async getUpdaters(t,e=!1){return eR(t,this.updaters,this._initializer
2s.updaters,e)}init(){this._initialized||(this._initialized=!0)}item(t){let{items:e}=this,i=e[t];return!i||i.destroyed?void e.splice(t,1):i}async load(t){let e,i=t.id??t.element?.id??`tsparticles${Math.floor(1e4*k())}`,{index:a,url:o}=t,n=K(o?await eD({fallback:t.options,url:o,index:a}):t.options,a),{items:r}=this,l=r.findIndex(t=>t.id.description===i),c=new eT(this,i,n);if(l>=0){let t=this.item(l),e=+!!t;t&&!t.destroyed&&t.destroy(!1),r.splice(l,e,c)}else r.push(c);let p=(t=>{let e;if(t instanceof HTMLCanvasElement||t.tagName.toLowerCase()===u)(e=t).dataset[s]||(e.dataset[s]=d);else{let i=t.getElementsByTagName(u);i.length?(e=i[0]).dataset[s]=d:((e=document.createElement(u)).dataset[s]=h,t.appendChild(e))}let i="100%";return e.style.width||(e.style.width=i),e.style.height||(e.style.height=i),e})(((e=t.element??document.getElementById(i))||((e=document.createElement("div")).id=i,e.dataset[s]=h,document.body.append(e)),e));return c.canvas.loadCanvas(p),await c.start(),c}loadOptions(t,e){this.plugins.forEach(i=>i.loadOptions?.(t,e))}loadParticlesOptions(t,e,...i){let s=this.updaters.get(t);s&&s.forEach(t=>t.loadOptions?.(e,...i))}async refresh(t=!0){t&&await Promise.all(this.items.map(t=>t.refresh()))}removeEventListener(t,e){this._eventDispatcher.removeEventListener(t,e)}setOnClickHandler(t){let{items:e}=this;if(!e.length)throw Error(`${r} can only set click handlers after calling tsParticles.load()`);e.forEach(e=>e.addClickHandler(t))}}).init(),i);A()||(window.tsParticles=eB);var eF,eA,eq,eV,eH,eU,eW,ej,e$,eG,eN,eQ,eX,eY,eZ,eK,eJ,e0,e1,e2,e3,e5,e4,e6,e9,e8,e7,it,ie,ii,is,ia,io,ir,il,ic,ih,id,iu,ip,iv,ig,im,iy,ib,iw,ix,i_,ik,iC,iz,iM,iP,iS,iO,iT,iE,iR=t.i(843476),iD=t.i(271645);async function iI(t){await t(eB)}t.s(["default",0,t=>{let e=t.id??"tsparticles";return(0,iD.useEffect)(()=>{let i;return eB.load({id:e,url:t.url,options:t.options}).then(e=>{var s;i=e,null==(s=t.particlesLoaded)||s.call(t,e)}),()=>{null==i||i.destroy()}},[e,t,t.url,t.options]),(0,iR.jsx)("div",{id:e,className:t.className})}],135605),t.s(["initParticlesEngine",0,iI],363067);let iL=2*Math.PI;class iB{init(t){let e=t.options.move.gravity;t.gravity={enable:e.enable,acceleration:P(e.acceleration),inverse:e.inverse},function(t){let e=t.container,i=t.options.move.spin;if(!i.enable)return;let s=i.position??{x:50,y:50},a={x:.01*s.x*e.canvas.size.width,y:.01*s.y*e.canvas.size.height},o=R(t.getPosition(),a),n=P(i.acceleration);t.retina.spinAcceleration=n*e.retina.pixelRatio,t.spin={center:a,direction:t.velocity.x>=0?ik.clockwise:ik.counterClockwise,angle:k()*iL,radius:o,acceleration:t.retina.spinAcceleration}}(t)}isEnabled(t){return!t.destroyed&&t.options.move.enable}move(t,e){let i=t.options,s=i.move;if(!s.enable)return;let a=t.container,o=a.retina.pixelRatio;t.retina.moveSpeed??=P(s.speed)*o,t.retina.moveDrift??=P(t.options.move.drift)*o;let n=t.slow.inRange?t.slow.factor:1,r=a.retina.reduceFactor,l=t.retina.moveSpeed,c=t.retina.moveDrift,h=O(i.size.value)*o,d=l*(s.size?t.getRadius()/h:1)*n*(e.factor||1)/2,u=t.retina.maxSpeed??a.retina.maxSpeed;s.spin.enable?function(t,e,i){let s=t.container;if(!t.spin)return;let a=t.spin.direction===ik.clockwise,o={x:a?Math.cos:Math.sin,y:a?Math.sin:Math.cos};t.position.x=t.spin.center.x+t.spin.radius*o.x(t.spin.angle)*i,t.position.y=t.spin.center.y+t.spin.radius*o.y(t.spin.angle)*i,t.spin.radius+=t.spin.acceleration*i;let n=Math.max(s.canvas.size.width,s.canvas.size.height),r=.5*n;t.spin.radius>r?(t.spin.radius=r,t.spin.acceleration*=-1):t.spin.radius<0&&(t.spin.radius=0,t.spin.acceleration*=-1),t.spin.angle+=.01*e*(1-t.spin.radius/n)}(t,d,r):function(t,e,i,s,a,o,n){!function(t,e){let i=t.options.move.path;if(!i.enable)return;if(t.lastPathTime<=t.pathDelay){t.lastPathTime+=e.value;return}let s=t.pathGenerator?.generate(t,e);s&&t.velocity.addTo(s),i.clamp&&(t.velocity.x=C(t.velocity.x,-1,1),t.velocity.y=C(t.velocity.y,-1,1)),t.lastPathTime-=t.pathDelay}(t,n);let r=t.gravity,l=r?.enable&&r.inverse?-1:1;a&&i&&(t.velocity.x+=a*n.factor/(60*i)),r?.enable&&i&&(t.velocity.y+=l*(r.acceleration*n.factor)/(60*i));let c=t.moveDecay;t.velocity.multTo(c);let h=t.velocity.mult(i);r?.enable&&s>0&&(!r.inverse&&h.y>=0&&h.y>=s||r.inverse&&h.y<=0&&h.y<=-s)&&(h.y=l*s,i&&(t.velocity.y=h.y/i));let d=t.options.zIndex,u=(1-t.zIndexFactor)**d.velocityRate;h.multTo(u),h.multTo(o);let{position:p}=t;p.addTo(h),e.vibrate&&(p.x+=Math.sin(p.x*Math.cos(p.y))*o,p.y+=Math.cos(p.y*Math.sin(p.x))*o)}(t,s,d,u,c,r,e),function(t){let e=t.initialPosition,{dx:i,dy:s}=E(e,t.position),a=Math.abs(i),o=Math.abs(s),{maxDistance:n}=t.retina,r=n.horizontal,l=n.vertical;if(r||l){if((r&&a>=r||l&&o>=l)&&!t.misplaced)t.misplaced=!!r&&a>r||!!l&&o>l,r&&(t.velocity.x=.5*t.velocity.y-t.velocity.x),l&&(t.velocity.y=.5*t.velocity.x-t.velocity.y);else if((!r||a<r)&&(!l||o<l)&&t.misplaced)t.misplaced=!1;else if(t.misplaced){let i=t.position,s=t.velocity;r&&(i.x<e.x&&s.x<0||i.x>e.x&&s.x>0)&&(s.x*=-k()),l&&(i.y<e.y&&s.y<0||i.y>e.y&&s.y>0)&&(s.y*=-k())}}}(t)}}async function iF(t,e=!0){t.checkVersion("3.9.1"),await t.addMover("base",()=>Promise.resolve(new iB),e)}let iA=2*Math.PI;class iq{constructor(){this.validTypes=["circle"]}draw(t){!function(t){let{context:e,particle:i,radius:s}=t;i.circleRange||(i.circleRange={min:0,max:iA});let a=i.circleRange;e.arc(0,0,s,a.min,a.max,!1)}(t)}getSidesCount(){return 12}particleInit(t,e){let i=e.shapeData,s=i?.angle??{max:360,min:0};e.circleRange=m(s)?{min:D(s.min),max:D(s.max)}:{min:0,max:D(s)}}}async function iV(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new iq,e)}class iH{constructor(t,e){this._container=t,this._engine=e}init(t){let e=to(this._engine,t.options.color,t.id,t.options.reduceDuplicates);e&&(t.color=tv(e,t.options.color.animation,this._container.retina.reduceFactor))}isEnabled(t){let{h:e,s:i,l:s}=t.options.color.animation,{color:a}=t;return!t.destroyed&&!t.spawning&&(a?.h.value!==void 0&&e.enable||a?.s.value!==void 0&&i.enable||a?.l.value!==void 0&&s.enable)}update(t,e){ty(t.color,e)}}async function iU(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("color",e=>Promise.resolve(new iH(e,t)),e)}(eF=iM||(iM={}))[eF.r=1]="r",eF[eF.g=2]="g",eF[eF.b=3]="b",eF[eF.a=4]="a";let iW=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,ij=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i;class i${constructor(){this.key="hex",this.stringPrefix="#"}handleColor(t){return this._parseString(t.value)}handleRangeColor(t){return this._parseString(t.value)}parseString(t){return this._parseString(t)}_parseString(t){if("string"!=typeof t||!t?.startsWith(this.stringPrefix))return;let e=t.replace(iW,(t,e,i,s,a)=>e+e+i+i+s+s+(void 0!==a?a+a:"")),i=ij.exec(e);return i?{a:void 0!==i[iM.a]?parseInt(i[iM.a],16)/255:1,b:parseInt(i[iM.b],16),g:parseInt(i[iM.g],16),r:parseInt(i[iM.r],16)}:void 0}}async function iG(t,e=!0){t.checkVersion("3.9.1"),await t.addColorManager(new i$,e)}(eA=iP||(iP={}))[eA.h=1]="h",eA[eA.s=2]="s",eA[eA.l=3]="l",eA[eA.a=5]="a";class iN{constructor(){this.key="hsl",this.stringPrefix="hsl"}handleColor(t){let e=t.value.hsl??t.value;if(void 0!==e.h&&void 0!==e.s&&void 0!==e.l)return tr(e)}handleRangeColor(t){let e=t.value.hsl??t.value;if(void 0!==e.h&&void 0!==e.l)return tr({h:P(e.h),l:P(e.l),s:P(e.s)})}parseString(t){var e;let i;if(!t.startsWith("hsl"))return;let s=/hsla?\(\s*(\d+)\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i.exec(t);return s?(i=tr(e={a:s.length>4?L(s[iP.a]):1,h:parseInt(s[iP.h],10),l:parseInt(s[iP.l],10),s:parseInt(s[iP.
2s],10)}),{a:e.a,b:i.b,g:i.g,r:i.r}):void 0}}async function iQ(t,e=!0){t.checkVersion("3.9.1"),await t.addColorManager(new iN,e)}class iX{constructor(t){this.container=t}init(t){let e=t.options.opacity;t.opacity=tt(e,1);let i=e.animation;i.enable&&(t.opacity.velocity=P(i.speed)/100*this.container.retina.reduceFactor,i.sync||(t.opacity.velocity*=k()))}isEnabled(t){return!t.destroyed&&!t.spawning&&!!t.opacity&&t.opacity.enable&&((t.opacity.maxLoops??0)<=0||(t.opacity.maxLoops??0)>0&&(t.opacity.loops??0)<(t.opacity.maxLoops??0))}reset(t){t.opacity&&(t.opacity.time=0,t.opacity.loops=0)}update(t,e){this.isEnabled(t)&&t.opacity&&ti(t,t.opacity,!0,t.options.opacity.animation.destroy,e)}}async function iY(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("opacity",t=>Promise.resolve(new iX(t)),e)}class iZ{constructor(t){this.container=t,this.modes=[iy.bounce,iy.split]}update(t,e,i,s){if(!this.modes.includes(s))return;let a=this.container,o=!1;for(let s of a.plugins.values())if(void 0!==s.particleBounce&&(o=s.particleBounce(t,i,e)),o)break;if(o)return;let n=t.getPosition(),r=t.offset,l=t.getRadius(),c=j(n,l),h=a.canvas.size;!function(t){if(t.outMode!==iy.bounce&&t.outMode!==iy.split||t.direction!==ir.left&&t.direction!==ir.right)return;t.bounds.right<0&&t.direction===ir.left?t.particle.position.x=t.size+t.offset.x:t.bounds.left>t.canvasSize.width&&t.direction===ir.right&&(t.particle.position.x=t.canvasSize.width-t.size-t.offset.x);let e=t.particle.velocity.x,i=!1;if(t.direction===ir.right&&t.bounds.right>=t.canvasSize.width&&e>0||t.direction===ir.left&&t.bounds.left<=0&&e<0){let e=P(t.particle.options.bounce.horizontal.value);t.particle.velocity.x*=-e,i=!0}if(!i)return;let s=t.offset.x+t.size;t.bounds.right>=t.canvasSize.width&&t.direction===ir.right?t.particle.position.x=t.canvasSize.width-s:t.bounds.left<=0&&t.direction===ir.left&&(t.particle.position.x=s),t.outMode===iy.split&&t.particle.destroy()}({particle:t,outMode:s,direction:e,bounds:c,canvasSize:h,offset:r,size:l}),function(t){if(t.outMode!==iy.bounce&&t.outMode!==iy.split||t.direction!==ir.bottom&&t.direction!==ir.top)return;t.bounds.bottom<0&&t.direction===ir.top?t.particle.position.y=t.size+t.offset.y:t.bounds.top>t.canvasSize.height&&t.direction===ir.bottom&&(t.particle.position.y=t.canvasSize.height-t.size-t.offset.y);let e=t.particle.velocity.y,i=!1;if(t.direction===ir.bottom&&t.bounds.bottom>=t.canvasSize.height&&e>0||t.direction===ir.top&&t.bounds.top<=0&&e<0){let e=P(t.particle.options.bounce.vertical.value);t.particle.velocity.y*=-e,i=!0}if(!i)return;let s=t.offset.y+t.size;t.bounds.bottom>=t.canvasSize.height&&t.direction===ir.bottom?t.particle.position.y=t.canvasSize.height-s:t.bounds.top<=0&&t.direction===ir.top&&(t.particle.position.y=s),t.outMode===iy.split&&t.particle.destroy()}({particle:t,outMode:s,direction:e,bounds:c,canvasSize:h,offset:r,size:l})}}class iK{constructor(t){this.container=t,this.modes=[iy.destroy]}update(t,e,i,s){if(!this.modes.includes(s))return;let a=this.container;switch(t.outType){case ix.normal:case ix.outside:if(W(t.position,a.canvas.size,x.origin,t.getRadius(),e))return;break;case ix.inside:{let{dx:e,dy:i}=E(t.position,t.moveCenter),{x:s,y:a}=t.velocity;if(s<0&&e>t.moveCenter.radius||a<0&&i>t.moveCenter.radius||s>=0&&e<-t.moveCenter.radius||a>=0&&i<-t.moveCenter.radius)return}}a.particles.remove(t,t.group,!0)}}class iJ{constructor(t){this.container=t,this.modes=[iy.none]}update(t,e,i,s){if(!this.modes.includes(s)||((t.options.move.distance.horizontal&&(e===ir.left||e===ir.right))??(t.options.move.distance.vertical&&(e===ir.top||e===ir.bottom))))return;let a=t.options.move.gravity,o=this.container,n=o.canvas.size,r=t.getRadius();if(a.enable){let i=t.position;(!a.inverse&&i.y>n.height+r&&e===ir.bottom||a.inverse&&i.y<-r&&e===ir.top)&&o.particles.remove(t)}else{if(t.velocity.y>0&&t.position.y<=n.height+r||t.velocity.y<0&&t.position.y>=-r||t.velocity.x>0&&t.position.x<=n.width+r||t.velocity.x<0&&t.position.x>=-r)return;W(t.position,o.canvas.size,x.origin,r,e)||o.particles.remove(t)}}}class i0{constructor(t){this.container=t,this.modes=[iy.out]}update(t,e,i,s){if(!this.modes.includes(s))return;let a=this.container;if(t.outType===ix.inside){let{x:e,y:i}=t.velocity,s=x.origin;s.length=t.moveCenter.radius,s.angle=t.velocity.angle+Math.PI,s.addTo(x.create(t.moveCenter));let{dx:o,dy:n}=E(t.position,s);if(e<=0&&o>=0||i<=0&&n>=0||e>=0&&o<=0||i>=0&&n<=0)return;t.position.x=Math.floor(M({min:0,max:a.canvas.size.width})),t.position.y=Math.floor(M({min:0,max:a.canvas.size.height}));let{dx:r,dy:l}=E(t.position,t.moveCenter);t.direction=Math.atan2(-l,-r),t.velocity.angle=t.direction}else{if(W(t.position,a.canvas.size,x.origin,t.getRadius(),e))return;switch(t.outType){case ix.outside:{t.position.x=Math.floor(M({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.x,t.position.y=Math.floor(M({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.y;let{dx:e,dy:i}=E(t.position,t.moveCenter);t.moveCenter.radius&&(t.direction=Math.atan2(i,e),t.velocity.angle=t.direction);break}case ix.normal:{let i=t.options.move.warp,s=a.canvas.size,o={bottom:s.height+t.getRadius()+t.offset.y,left
2:-t.getRadius()-t.offset.x,right:s.width+t.getRadius()+t.offset.x,top:-t.getRadius()-t.offset.y},n=t.getRadius(),r=j(t.position,n);e===ir.right&&r.left>s.width+t.offset.x?(t.position.x=o.left,t.initialPosition.x=t.position.x,i||(t.position.y=k()*s.height,t.initialPosition.y=t.position.y)):e===ir.left&&r.right<-t.offset.x&&(t.position.x=o.right,t.initialPosition.x=t.position.x,i||(t.position.y=k()*s.height,t.initialPosition.y=t.position.y)),e===ir.bottom&&r.top>s.height+t.offset.y?(i||(t.position.x=k()*s.width,t.initialPosition.x=t.position.x),t.position.y=o.top,t.initialPosition.y=t.position.y):e===ir.top&&r.bottom<-t.offset.y&&(i||(t.position.x=k()*s.width,t.initialPosition.x=t.position.x),t.position.y=o.bottom,t.initialPosition.y=t.position.y)}}}}}class i1{constructor(t){this._addUpdaterIfMissing=(t,e,i)=>{let s=t.options.move.outModes;this.updaters.has(e)||s.default!==e&&s.bottom!==e&&s.left!==e&&s.right!==e&&s.top!==e||this.updaters.set(e,i(this.container))},this._updateOutMode=(t,e,i,s)=>{for(let a of this.updaters.values())a.update(t,s,e,i)},this.container=t,this.updaters=new Map}init(t){this._addUpdaterIfMissing(t,iy.bounce,t=>new iZ(t)),this._addUpdaterIfMissing(t,iy.out,t=>new i0(t)),this._addUpdaterIfMissing(t,iy.destroy,t=>new iK(t)),this._addUpdaterIfMissing(t,iy.none,t=>new iJ(t))}isEnabled(t){return!t.destroyed&&!t.spawning}update(t,e){let i=t.options.move.outModes;this._updateOutMode(t,e,i.bottom??i.default,ir.bottom),this._updateOutMode(t,e,i.left??i.default,ir.left),this._updateOutMode(t,e,i.right??i.default,ir.right),this._updateOutMode(t,e,i.top??i.default,ir.top)}}async function i2(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("outModes",t=>Promise.resolve(new i1(t)),e)}(eq=iS||(iS={}))[eq.r=1]="r",eq[eq.g=2]="g",eq[eq.b=3]="b",eq[eq.a=5]="a";class i3{constructor(){this.key="rgb",this.stringPrefix="rgb"}handleColor(t){let e=t.value.rgb??t.value;if(void 0!==e.r)return e}handleRangeColor(t){let e=t.value.rgb??t.value;if(void 0!==e.r)return{r:P(e.r),g:P(e.g),b:P(e.b)}}parseString(t){if(!t.startsWith(this.stringPrefix))return;let e=/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(t);return e?{a:e.length>4?L(e[iS.a]):1,b:parseInt(e[iS.b],10),g:parseInt(e[iS.g],10),r:parseInt(e[iS.r],10)}:void 0}}async function i5(t,e=!0){t.checkVersion("3.9.1"),await t.addColorManager(new i3,e)}class i4{init(t){let e=t.container,i=t.options.size.animation;i.enable&&(t.size.velocity=(t.retina.sizeAnimationSpeed??e.retina.sizeAnimationSpeed)/100*e.retina.reduceFactor,i.sync||(t.size.velocity*=k()))}isEnabled(t){return!t.destroyed&&!t.spawning&&t.size.enable&&((t.size.maxLoops??0)<=0||(t.size.maxLoops??0)>0&&(t.size.loops??0)<(t.size.maxLoops??0))}reset(t){t.size.loops=0}update(t,e){this.isEnabled(t)&&ti(t,t.size,!0,t.options.size.animation.destroy,e)}}async function i6(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("size",()=>Promise.resolve(new i4),e)}async function i9(t,e=!0){t.checkVersion("3.9.1"),await iG(t,!1),await iQ(t,!1),await i5(t,!1),await iF(t,!1),await iV(t,!1),await iU(t,!1),await iY(t,!1),await i2(t,!1),await i6(t,!1),await t.refresh(e)}async function i8(t,e=!0){t.checkVersion("3.9.1"),await t.addEasing(iz.easeInQuad,t=>t**2,!1),await t.addEasing(iz.easeOutQuad,t=>1-(1-t)**2,!1),await t.addEasing(iz.easeInOutQuad,t=>t<.5?2*t**2:1-(-2*t+2)**2/2,!1),await t.refresh(e)}let i7='"Twemoji Mozilla", Apple Color Emoji, "Segoe UI Emoji", "Noto Color Emoji", "EmojiOne Color"';class st{constructor(){this.validTypes=["emoji"],this._emojiShapeDict=new Map}destroy(){for(let[t,e]of this._emojiShapeDict)e instanceof ImageBitmap&&e?.close(),this._emojiShapeDict.delete(t)}draw(t){let e=t.particle.emojiDataKey;if(!e)return;let i=this._emojiShapeDict.get(e);i&&function(t,e){let{context:i,opacity:s}=t,a=i.globalAlpha;if(!e)return;let o=e.width,n=.5*o;i.globalAlpha=s,i.drawImage(e,-n,-n,o,o),i.globalAlpha=a}(t,i)}async init(t){let e=t.actualOptions,{validTypes:i}=this;if(!i.find(t=>V(t,e.particles.shape.type)))return;let s=[H(i7)],a=i.map(t=>e.particles.shape.options[t]).find(t=>!!t);a&&Z(a,t=>{t.font&&s.push(H(t.font))}),await Promise.all(s)}particleDestroy(t){t.emojiDataKey=void 0}particleInit(t,e){let i,s=e.shapeData;if(!s?.value)return;let a=K(s.value,e.randomIndexData);if(!a)return;let o="string"==typeof a?{font:s.font??i7,padding:s.padding??0,value:a}:{font:i7,padding:0,...s,...a},n=o.font,r=o.value,l=`${r}_${n}`;if(this._emojiShapeDict.has(l)){e.emojiDataKey=l;return}let c=2*o.padding,h=O(e.size.value),d=h+c,u=2*d;if("u">typeof OffscreenCanvas){let t=new OffscreenCanvas(u,u),e=t.getContext("2d");if(!e)return;e.font=`400 ${2*h}px ${n}`,e.textBaseline="middle",e.textAlign="center",e.fillText(r,d,d),i=t.transferToImageBitmap()}else{let t=document.createElement("canvas");t.width=u,t.height=u;let e=t.getContext("2d");if(!e)return;e.font=`400 ${2*h}px ${n}`,e.textBaseline="middle",e.textAlign="center",e.fillText(r,d,d),i=t}this._emojiShapeDict.set(l,i),e.emojiDataKey=l}}async function se(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new st,e)}
2function si(t,e,i,s,a,o){let n=e.actualOptions.interactivity.modes.attract;if(n)for(let r of e.particles.quadTree.query(a,o)){let{dx:e,dy:a,distance:o}=E(r.position,i),l=n.speed*n.factor,c=C(t.getEasing(n.easing)(1-o/s)*l,1,n.maxSpeed),h=x.create(o?e/o*c:l,o?a/o*c:l);r.position.subFrom(h)}}class ss{constructor(){this.distance=200,this.duration=.4,this.easing=iz.easeOutQuad,this.factor=1,this.maxSpeed=50,this.speed=1}load(t){b(t)||(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.easing&&(this.easing=t.easing),void 0!==t.factor&&(this.factor=t.factor),void 0!==t.maxSpeed&&(this.maxSpeed=t.maxSpeed),void 0!==t.speed&&(this.speed=t.speed))}}let sa="attract";class so extends eI{constructor(t,e){super(e),this._engine=t,e.attract||(e.attract={particles:[]}),this.handleClickMode=t=>{let i=this.container.actualOptions.interactivity.modes.attract;if(i&&t===sa){for(let t of(e.attract||(e.attract={particles:[]}),e.attract.clicking=!0,e.attract.count=0,e.attract.particles))this.isEnabled(t)&&t.velocity.setTo(t.initialVelocity);e.attract.particles=[],e.attract.finish=!1,setTimeout(()=>{e.destroyed||(e.attract||(e.attract={particles:[]}),e.attract.clicking=!1)},1e3*i.duration)}}}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.attract;e&&(t.retina.attractModeDistance=e.distance*t.retina.pixelRatio)}interact(){let t=this.container,e=t.actualOptions,i=t.interactivity.status===o,s=e.interactivity.events,{enable:a,mode:n}=s.onHover,{enable:r,mode:l}=s.onClick;if(i&&a&&V(sa,n)){var c,h,d;let t,e;c=this._engine,h=this.container,d=t=>this.isEnabled(t),t=h.interactivity.mouse.position,(e=h.retina.attractModeDistance)&&!(e<0)&&t&&si(c,h,t,e,new e_(t.x,t.y,e),t=>d(t))}else r&&V(sa,l)&&function(t,e,i){e.attract||(e.attract={particles:[]});let{attract:s}=e;if(s.finish||(s.count||(s.count=0),s.count++,s.count===e.particles.count&&(s.finish=!0)),s.clicking){let s=e.interactivity.mouse.clickPosition,a=e.retina.attractModeDistance;if(!a||a<0||!s)return;si(t,e,s,a,new e_(s.x,s.y,a),t=>i(t))}else!1===s.clicking&&(s.particles=[])}(this._engine,this.container,t=>this.isEnabled(t))}isEnabled(t){let e=this.container,i=e.actualOptions,s=e.interactivity.mouse,a=(t?.interactivity??i.interactivity).events;if((!s.position||!a.onHover.enable)&&(!s.clickPosition||!a.onClick.enable))return!1;let o=a.onHover.mode,n=a.onClick.mode;return V(sa,o)||V(sa,n)}loadModeOptions(t,...e){for(let i of(t.attract||(t.attract=new ss),e))t.attract.load(i?.attract)}reset(){}}async function sn(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalAttract",e=>Promise.resolve(new so(t,e)),e)}let sr=.5*Math.PI;function sl(t,e,i,s,a){for(let o of t.particles.quadTree.query(s,a))s instanceof e_?Y(X(o),{position:e,radius:i,mass:i**2*sr,velocity:x.origin,factor:x.origin}):s instanceof ek&&function(t,e){let i=j(t.getPosition(),t.getRadius()),s=t.options.bounce,a=F({pSide:{min:i.left,max:i.right},pOtherSide:{min:i.top,max:i.bottom},rectSide:{min:e.left,max:e.right},rectOtherSide:{min:e.top,max:e.bottom},velocity:t.velocity.x,factor:P(s.horizontal.value)});a.bounced&&(void 0!==a.velocity&&(t.velocity.x=a.velocity),void 0!==a.position&&(t.position.x=a.position));let o=F({pSide:{min:i.top,max:i.bottom},pOtherSide:{min:i.left,max:i.right},rectSide:{min:e.top,max:e.bottom},rectOtherSide:{min:e.left,max:e.right},velocity:t.velocity.y,factor:P(s.vertical.value)});o.bounced&&(void 0!==o.velocity&&(t.velocity.y=o.velocity),void 0!==o.position&&(t.position.y=o.position))}(o,j(e,i))}class sc{constructor(){this.distance=200}load(t){b(t)||void 0!==t.distance&&(this.distance=t.distance)}}let sh="bounce";class sd extends eI{constructor(t){super(t)}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.bounce;e&&(t.retina.bounceModeDistance=e.distance*t.retina.pixelRatio)}interact(){var t,e,i,s;let a=this.container,n=a.actualOptions.interactivity.events,r=a.interactivity.status===o,l=n.onHover.enable,c=n.onHover.mode,h=n.onDiv;if(r&&l&&V(sh,c)){let i,s,a;t=this.container,e=t=>this.isEnabled(t),i=t.retina.pixelRatio,s=t.interactivity.mouse.position,(a=t.retina.bounceModeDistance)&&!(a<0)&&s&&sl(t,s,a,new e_(s.x,s.y,a+10*i),e)}else i=this.container,s=t=>this.isEnabled(t),N(sh,h,(t,e)=>{var a;let o;return a=(t,e,a)=>sl(i,t,e,a,s),void((o=document.querySelectorAll(t)).length&&o.forEach(t=>{let s=i.retina.pixelRatio,o={x:(t.offsetLeft+.5*t.offsetWidth)*s,y:(t.offsetTop+.5*t.offsetHeight)*s},n=.5*t.offsetWidth*s,r=10*s,l=e.type===ip.circle?new e_(o.x,o.y,n+r):new ek(t.offsetLeft*s-r,t.offsetTop*s-r,t.offsetWidth*s+2*r,t.offsetHeight*s+2*r);a(o,n,l)}))})}isEnabled(t){let e=this.container,i=e.actualOptions,s=e.interactivity.mouse,a=(t?.interactivity??i.interactivity).events,o=a.onDiv;return!!s.position&&a.onHover.enable&&V(sh,a.onHover.mode)||G(sh,o)}loadModeOptions(t,...e){for(let i of(t.bounce||(t.bounce=new sc),e))t.bounce.load(i?.bounce)}reset(){}}async function su(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalBounce",t=>Promise.resolve(new sd(t)),e)}class sp{constructor(){this.distance=200,this.duration=.4,this.mix=!1}load(t){if(!b(t)){if(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.mix&&(this.mix=t.mix),void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.color){let e=y(this.color)?void 0:this.color;this.color=Z(t.color,t=>tz.create(e,t))}void 0!==t.size&&(this.size=t.size)}}}class sf extends sp{constructor(){super(),this.selectors=[]}load(t){super.load(t),b(t)||void 0!==t.selectors&&(this.selectors=t.selectors)}}class sv extends sp{load(t){super.load(t),b(t)||(this.divs=Z(t.divs,t=>{let e=new sf;return e.load(t),e}))}}function sg(t,e,i,s){return e>=i?C(t+(e-i)*s,t,e):e<i?C(t-(i-e)*s,e,t):void 0}(eV=iO||(iO={})).color="color",eV.opacity="opacity",eV.size="size";let sm="bubble";class sy extends eI{constructor(t,e){super(t),this._clickBubble=()=>{let t=this.container,e=t.actualOptions,i=t.interactivity.mouse.clickPosition,s=e.interactivity.modes.bubble;if(!s||!i)return;t.bubble||(t.bubble={});let a=t.retina.bubbleModeDistance;if(!a||a<0)return;let o=t.particles.quadTree.queryCircle(i,a,t=>this.isEnabled(t)),{bubble:n}=t;
2for(let e of o){if(!n.clicking)continue;e.bubble.inRange=!n.durationEnd;let o=R(e.getPosition(),i),r=(new Date().getTime()-(t.interactivity.mouse.clickTime??0))/1e3;r>s.duration&&(n.durationEnd=!0),r>2*s.duration&&(n.clicking=!1,n.durationEnd=!1);let l={bubbleObj:{optValue:t.retina.bubbleModeSize,value:e.bubble.radius},particlesObj:{optValue:O(e.options.size.value)*t.retina.pixelRatio,value:e.size.value},type:iO.size};this._process(e,o,r,l);let c={bubbleObj:{optValue:s.opacity,value:e.bubble.opacity},particlesObj:{optValue:O(e.options.opacity.value),value:e.opacity?.value??1},type:iO.opacity};this._process(e,o,r,c),!n.durationEnd&&o<=a?this._hoverBubbleColor(e,o):delete e.bubble.color}},this._hoverBubble=()=>{let t=this.container,e=t.interactivity.mouse.position,i=t.retina.bubbleModeDistance;if(i&&!(i<0)&&e)for(let s of t.particles.quadTree.queryCircle(e,i,t=>this.isEnabled(t))){s.bubble.inRange=!0;let n=R(s.getPosition(),e),r=1-n/i;n<=i?r>=0&&t.interactivity.status===o&&(this._hoverBubbleSize(s,r),this._hoverBubbleOpacity(s,r),this._hoverBubbleColor(s,r)):this.reset(s),t.interactivity.status===a&&this.reset(s)}},this._hoverBubbleColor=(t,e,i)=>{let s=this.container.actualOptions,a=i??s.interactivity.modes.bubble;if(a){if(!t.bubble.finalColor){let e=a.color;if(!e)return;let i=K(e);t.bubble.finalColor=to(this._engine,i)}if(t.bubble.finalColor)if(a.mix){t.bubble.color=void 0;let i=t.getFillColor();t.bubble.color=i?tn(td(i,t.bubble.finalColor,1-e,e)):t.bubble.finalColor}else t.bubble.color=t.bubble.finalColor}},this._hoverBubbleOpacity=(t,e,i)=>{let s=this.container.actualOptions,a=i?.opacity??s.interactivity.modes.bubble?.opacity;if(!a)return;let o=t.options.opacity.value,n=sg(t.opacity?.value??1,a,O(o),e);void 0!==n&&(t.bubble.opacity=n)},this._hoverBubbleSize=(t,e,i)=>{let s=this.container,a=i?.size?i.size*s.retina.pixelRatio:s.retina.bubbleModeSize;if(void 0===a)return;let o=O(t.options.size.value)*s.retina.pixelRatio,n=sg(t.size.value,a,o,e);void 0!==n&&(t.bubble.radius=n)},this._process=(t,e,i,s)=>{let a=this.container,o=s.bubbleObj.optValue,n=a.actualOptions.interactivity.modes.bubble;if(!n||void 0===o)return;let r=n.duration,l=a.retina.bubbleModeDistance,c=s.particlesObj.optValue,h=s.bubbleObj.value,d=s.particlesObj.value??0,u=s.type;if(l&&!(l<0)&&o!==c)if(a.bubble||(a.bubble={}),a.bubble.durationEnd)h&&(u===iO.size&&delete t.bubble.radius,u===iO.opacity&&delete t.bubble.opacity);else if(e<=l){if((h??d)!==o){let e=d-i*(d-o)/r;u===iO.size&&(t.bubble.radius=e),u===iO.opacity&&(t.bubble.opacity=e)}}else u===iO.size&&delete t.bubble.radius,u===iO.opacity&&delete t.bubble.opacity},this._singleSelectorHover=(t,e,i)=>{let s=this.container,a=document.querySelectorAll(e),o=s.actualOptions.interactivity.modes.bubble;o&&a.length&&a.forEach(e=>{let a=s.retina.pixelRatio,n={x:(e.offsetLeft+.5*e.offsetWidth)*a,y:(e.offsetTop+.5*e.offsetHeight)*a},r=.5*e.offsetWidth*a,l=i.type===ip.circle?new e_(n.x,n.y,r):new ek(e.offsetLeft*a,e.offsetTop*a,e.offsetWidth*a,e.offsetHeight*a);for(let i of s.particles.quadTree.query(l,t=>this.isEnabled(t))){if(!l.contains(i.getPosition()))continue;i.bubble.inRange=!0;let s=Q(o.divs,e);i.bubble.div&&i.bubble.div===e||(this.clear(i,t,!0),i.bubble.div=e),this._hoverBubbleSize(i,1,s),this._hoverBubbleOpacity(i,1,s),this._hoverBubbleColor(i,1,s)}})},this._engine=e,t.bubble||(t.bubble={}),this.handleClickMode=e=>{e===sm&&(t.bubble||(t.bubble={}),t.bubble.clicking=!0)}}clear(t,e,i){(!t.bubble.inRange||i)&&(delete t.bubble.div,delete t.bubble.opacity,delete t.bubble.radius,delete t.bubble.color)}init(){let t=this.container,e=t.actualOptions.interactivity.modes.bubble;e&&(t.retina.bubbleModeDistance=e.distance*t.retina.pixelRatio,void 0!==e.size&&(t.retina.bubbleModeSize=e.size*t.retina.pixelRatio))}interact(t){let e=this.container.actualOptions.interactivity.events,i=e.onHover,s=e.onClick,a=i.enable,o=i.mode,n=s.enable,r=s.mode,l=e.onDiv;a&&V(sm,o)?this._hoverBubble():n&&V(sm,r)?this._clickBubble():N(sm,l,(e,i)=>this._singleSelectorHover(t,e,i))}isEnabled(t){let e=this.container,i=e.actualOptions,s=e.interactivity.mouse,{onClick:a,onDiv:o,onHover:n}=(t?.interactivity??i.interactivity).events,r=G(sm,o);return!!(r||n.enable&&s.position||a.enable&&s.clickPosition)&&(V(sm,n.mode)||V(sm,a.mode)||r)}loadModeOptions(t,...e){for(let i of(t.bubble||(t.bubble=new sv),e))t.bubble.load(i?.bubble)}reset(t){t.bubble.inRange=!1}}
2async function sb(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalBubble",e=>Promise.resolve(new sy(e,t)),e)}class sw{constructor(){this.opacity=.5}load(t){b(t)||void 0!==t.opacity&&(this.opacity=t.opacity)}}class sx{constructor(){this.distance=80,this.links=new sw,this.radius=60}load(t){b(t)||(void 0!==t.distance&&(this.distance=t.distance),this.links.load(t.links),void 0!==t.radius&&(this.radius=t.radius))}}class s_ extends eI{constructor(t){super(t)}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.connect;e&&(t.retina.connectModeDistance=e.distance*t.retina.pixelRatio,t.retina.connectModeRadius=e.radius*t.retina.pixelRatio)}interact(){let t=this.container;if(t.actualOptions.interactivity.events.onHover.enable&&"pointermove"===t.interactivity.status){let e=t.interactivity.mouse.position,{connectModeDistance:i,connectModeRadius:s}=t.retina;if(!i||i<0||!s||s<0||!e)return;let a=Math.abs(s),o=t.particles.quadTree.queryCircle(e,a,t=>this.isEnabled(t));o.forEach((e,s)=>{let a=e.getPosition();for(let n of o.slice(s+1)){let s=n.getPosition(),o=Math.abs(i),r=Math.abs(a.x-s.x),l=Math.abs(a.y-s.y);r<o&&l<o&&function(t,e,i){t.canvas.draw(s=>{var a;let o=function(t,e,i,s){let a=t.actualOptions.interactivity.modes.connect;if(a)return function(t,e,i,s){let a=Math.floor(i.getRadius()/e.getRadius()),o=e.getFillColor(),n=i.getFillColor();if(!o||!n)return;let r=e.getPosition(),l=i.getPosition(),c=td(o,n,e.getRadius(),i.getRadius()),h=t.createLinearGradient(r.x,r.y,l.x,l.y);return h.addColorStop(0,th(o,s)),h.addColorStop(C(a,0,1),tc(c,s)),h.addColorStop(1,th(n,s)),h}(e,i,s,a.links.opacity)}(t,s,e,i);if(!o)return;let n=e.getPosition(),r=i.getPosition();a=e.retina.linksWidth??0,tb(s,n,r),s.lineWidth=a,s.strokeStyle=o,s.stroke()})}(t,e,n)}})}}isEnabled(t){let e=this.container,i=e.interactivity.mouse,s=(t?.interactivity??e.actualOptions.interactivity).events;return!!(s.onHover.enable&&i.position)&&V("connect",s.onHover.mode)}loadModeOptions(t,...e){for(let i of(t.connect||(t.connect=new sx),e))t.connect.load(i?.connect)}reset(){}}async function sk(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalConnect",t=>Promise.resolve(new s_(t)),e)}class sC{constructor(){this.blink=!1,this.consent=!1,this.opacity=1}load(t){b(t)||(void 0!==t.blink&&(this.blink=t.blink),void 0!==t.color&&(this.color=tz.create(this.color,t.color)),void 0!==t.consent&&(this.consent=t.consent),void 0!==t.opacity&&(this.opacity=t.opacity))}}class sz{constructor(){this.distance=100,this.links=new sC}load(t){b(t)||(void 0!==t.distance&&(this.distance=t.distance),this.links.load(t.links))}}class sM extends eI{constructor(t,e){super(t),this._engine=e}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.grab;e&&(t.retina.grabModeDistance=e.distance*t.retina.pixelRatio)}interact(){let t=this.container,e=t.actualOptions.interactivity;if(!e.modes.grab||!e.events.onHover.enable||t.interactivity.status!==o)return;let i=t.interactivity.mouse.position;if(!i)return;let s=t.retina.grabModeDistance;if(s&&!(s<0))for(let a of t.particles.quadTree.queryCircle(i,s,t=>this.isEnabled(t))){let o=R(a.getPosition(),i);if(o>s)continue;let n=e.modes.grab.links,r=n.opacity,l=r-o*r/s;if(l<=0)continue;let c=n.color??a.options.links?.color;if(!t.particles.grabLineColor&&c){let i=e.modes.grab.links;t.particles.grabLineColor=tp(this._engine,c,i.blink,i.consent)}let h=tu(a,void 0,t.particles.grabLineColor);h&&function(t,e,i,s,a){t.canvas.draw(t=>{var o;let n=e.getPosition();o=e.retina.linksWidth??0,tb(t,n,a),t.strokeStyle=tc(i,s),t.lineWidth=o,t.stroke()})}(t,a,h,l,i)}}isEnabled(t){let e=this.container,i=e.interactivity.mouse,s=(t?.interactivity??e.actualOptions.interactivity).events;return s.onHover.enable&&!!i.position&&V("grab",s.onHover.mode)}loadModeOptions(t,...e){for(let i of(t.grab||(t.grab=new sz),e))t.grab.load(i?.grab)}reset(){}}async function sP(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalGrab",e=>Promise.resolve(new sM(e,t)),e)}class sS extends eI{constructor(t){super(t),this.handleClickMode=t=>{if("pause"!==t)return;let e=this.container;e.animationStatus?e.pause():e.play()}}clear(){}init(){}interact(){}isEnabled(){return!0}reset(){}}async function sO(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalPause",t=>Promise.resolve(new sS(t)),e)}class sT{constructor(){this.default=!0,this.groups=[],this.quantity=4}load(t){if(b(t))return;void 0!==t.default&&(this.default=t.default),void 0!==t.groups&&(this.groups=t.groups.map(t=>t)),this.groups.length||(this.default=!0);let e=t.quantity;void 0!==e&&(this.quantity=T(e)),this.particles=Z(t.particles,t=>$({},t))}}class sE extends eI{constructor(t){super(t),this.handleClickMode=t=>
2{if("push"!==t)return;let e=this.container,i=e.actualOptions.interactivity.modes.push;if(!i)return;let s=P(i.quantity);if(s<=0)return;let a=U([void 0,...i.groups]),o=$(void 0!==a?e.actualOptions.particles.groups[a]:void 0,K(i.particles));e.particles.push(s,e.interactivity.mouse,o,a)}}clear(){}init(){}interact(){}isEnabled(){return!0}loadModeOptions(t,...e){for(let i of(t.push||(t.push=new sT),e))t.push.load(i?.push)}reset(){}}async function sR(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalPush",t=>Promise.resolve(new sE(t)),e)}class sD{constructor(){this.quantity=2}load(t){if(b(t))return;let e=t.quantity;void 0!==e&&(this.quantity=T(e))}}class sI extends eI{constructor(t){super(t),this.handleClickMode=t=>{let e=this.container,i=e.actualOptions;if(!i.interactivity.modes.remove||"remove"!==t)return;let s=P(i.interactivity.modes.remove.quantity);e.particles.removeQuantity(s)}}clear(){}init(){}interact(){}isEnabled(){return!0}loadModeOptions(t,...e){for(let i of(t.remove||(t.remove=new sD),e))t.remove.load(i?.remove)}reset(){}}async function sL(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalRemove",t=>Promise.resolve(new sI(t)),e)}class sB{constructor(){this.distance=200,this.duration=.4,this.factor=100,this.speed=1,this.maxSpeed=50,this.easing=iz.easeOutQuad}load(t){b(t)||(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.easing&&(this.easing=t.easing),void 0!==t.factor&&(this.factor=t.factor),void 0!==t.speed&&(this.speed=t.speed),void 0!==t.maxSpeed&&(this.maxSpeed=t.maxSpeed))}}class sF extends sB{constructor(){super(),this.selectors=[]}load(t){super.load(t),b(t)||void 0!==t.selectors&&(this.selectors=t.selectors)}}class sA extends sB{load(t){super.load(t),b(t)||(this.divs=Z(t.divs,t=>{let e=new sF;return e.load(t),e}))}}let sq="repulse";class sV extends eI{constructor(t,e){super(e),this._clickRepulse=()=>{let t=this.container,e=t.actualOptions.interactivity.modes.repulse;if(!e)return;let i=t.repulse??{particles:[]};if(i.finish||(i.count||(i.count=0),i.count++,i.count===t.particles.count&&(i.finish=!0)),i.clicking){let s=t.retina.repulseModeDistance;if(!s||s<0)return;let a=Math.pow(s/6,3),o=t.interactivity.mouse.clickPosition;if(void 0===o)return;let n=new e_(o.x,o.y,a);for(let s of t.particles.quadTree.query(n,t=>this.isEnabled(t))){let{dx:t,dy:n,distance:r}=E(o,s.position),l=r**2,c=-a*e.speed/l;if(l<=a){i.particles.push(s);let e=x.create(t,n);e.length=c,s.velocity.setTo(e)}}}else if(!1===i.clicking){for(let t of i.particles)t.velocity.setTo(t.initialVelocity);i.particles=[]}},this._hoverRepulse=()=>{let t=this.container,e=t.interactivity.mouse.position,i=t.retina.repulseModeDistance;i&&!(i<0)&&e&&this._processRepulse(e,i,new e_(e.x,e.y,i))},this._processRepulse=(t,e,i,s)=>{let a=this.container,o=a.particles.quadTree.query(i,t=>this.isEnabled(t)),n=a.actualOptions.interactivity.modes.repulse;if(!n)return;let{easing:r,speed:l,factor:c,maxSpeed:h}=n,d=this._engine.getEasing(r),u=(s?.speed??l)*c;for(let i of o){let{dx:s,dy:a,distance:o}=E(i.position,t),n=C(d(1-o/e)*u,0,h),r=x.create(o?s/o*n:u,o?a/o*n:u);i.position.addTo(r)}},this._singleSelectorRepulse=(t,e)=>{let i=this.container,s=i.actualOptions.interactivity.modes.repulse;if(!s)return;let a=document.querySelectorAll(t);a.length&&a.forEach(t=>{let a=i.retina.pixelRatio,o={x:(t.offsetLeft+.5*t.offsetWidth)*a,y:(t.offsetTop+.5*t.offsetHeight)*a},n=.5*t.offsetWidth*a,r=e.type===ip.circle?new e_(o.x,o.y,n):new ek(t.offsetLeft*a,t.offsetTop*a,t.offsetWidth*a,t.offsetHeight*a),l=Q(s.divs,t);this._processRepulse(o,n,r,l)})},this._engine=t,e.repulse||(e.repulse={particles:[]}),this.handleClickMode=t=>{let i=this.container.actualOptions.interactivity.modes.repulse;if(!i||t!==sq)return;e.repulse||(e.repulse={particles:[]});let s=e.repulse;for(let t of(s.clicking=!0,s.count=0,e.repulse.particles))this.isEnabled(t)&&t.velocity.setTo(t.initialVelocity);s.particles=[],s.finish=!1,setTimeout(()=>{e.destroyed||(s.clicking=!1)},1e3*i.duration)}}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity.modes.repulse;e&&(t.retina.repulseModeDistance=e.distance*t.retina.pixelRatio)}interact(){let t=this.container,e=t.actualOptions,i=t.interactivity.status===o,s=e.interactivity.events,a=s.onHover,n=a.enable,r=a.mode,l=s.onClick,c=l.enable,h=l.mode,d=s.onDiv;i&&n&&V(sq,r)?this._hoverRepulse():c&&V(sq,h)?this._clickRepulse():N(sq,d,(t,e)=>this._singleSelectorRepulse(t,e))}isEnabled(t){let e=this.container,i=e.actualOptions,s=e.interactivity.mouse,a=(t?.interactivity??i.interactivity).events,o=a.onDiv,n=a.onHover,r=a.onClick,l=G(sq,o);if(!(l||n.enable&&s.position||r.enable&&s.clickPosition))return!1;let c=n.mode,h=r.mode;return V(sq,c)||V(sq,h)||l}loadModeOptions(t,...e){for(let i of(t.repulse||(t.repulse=new sA),e))t.repulse.load(i?.repulse)}reset(){}}async function sH(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalRepulse",e=>Promise.resolve(new sV(t,e)),e)}class sU{constructor(){this.factor=3,this.radius=200}load(t){b(t)||(void 0!==t.factor&&(this.factor=t.factor),void 0!==t.radius&&(this.radius=t.radius))}}class sW extends eI{constructor(t){super(t)}clear(t,e,i){(!t.slow.inRange||i)&&(t.slow.factor=1)}init(){let t=this.container,e=t.actualOptions.interactivity.modes.slow;e&&(t.retina.slowModeRadius=e.radius*t.retina.pixelRatio)}interact(){}isEnabled(t){let e=this.container,i=e.interactivity.mouse,s=(t?.interactivity??e.actualOptions.interactivity).events;return s.onHover.enable&&!!i.position&&V("slow",s.onHover.mode)}loadModeOptions(t,...e){for(let i of(t.slow||(t.slow=new sU),e))t.slow.load(i?.slow)}reset(t){t.slow.inRange=!1;let e=this.container,i=e.actualOptions,s=e.interactivity.mouse.position,a=e.retina.slowModeRadius,o=i.interactivity.modes.slow;if(!o||!a||a<0||!s)return;let n=R(s,t.getPosition()),r=o.factor,{slow:l}=t;n>a||(l.inRange=!0,l.factor=n/a/r)}}async function sj(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalSlow",t=>Promise.resolve(new sW(t)),e)}let s$=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function sG(t){return new Promise(e=>{t.loading=!0;let i=new Image;t.element=i,i.addEventListener("load",()=>{t.loading=!1,e()}),i.addEventListener("error",()=>{t.element=void 0,t.error=!0,t.loading=!1,B.error(`${r} loading image: ${t.source}`),e()}),i.src=t.source})}async function sN(t){if("svg"!==t.type)return void await sG(t);t.loading=!0;let e=await fetch(t.source);e.ok?t.svgData=await e.text():(B.error(`${r} Image not found`),t.error=!0),t.loading=!1}let sQ=[0,4,2,1],sX=[8,8,4,2];class sY{constructor(t){this.pos=0,this.data=new Uint8ClampedArray(t)}getString(t){let e=this.data.slice(this.pos,this.pos+t);return this.pos+=e.length,e.reduce((t,e)=>t+String.fromCharCode(e),"")}nextByte(){return this.data[this.pos++]}nextTwoBytes(){return this.pos+=2,this.data[this.pos-2]+(this.data[this.pos-1]<<8)}readSubBlocks(){let t="",e=0;do{e=this.data[this.pos++];for(let i=e;--i>=0;t+=String.fromCharCode(this.data[this.pos++]));}while(0!==e)return t}readSubBlocksBin(){let t=this.data[this.pos],e=0;for(let i=0;0!==t;i+=t+1,t=this.data[this.pos+i])e+=t;let i=new Uint8Array(e);t=this.data[this.pos++];for(let e=0;0!==t;t=this.data[this.pos++])for(let s=t;--s>=0;i[e++]=this.data[this.pos++]);return i}skipSubBlocks(){for(;0!==this.data[this.pos];this.pos+=this.data[this.pos]+1);this.pos++}}(eH=iT||(iT={}))[eH.Replace=0]="Replace",eH[eH.Combine=1]="Combine",eH[eH.RestoreBackgroun
2d=2]="RestoreBackground",eH[eH.RestorePrevious=3]="RestorePrevious",eH[eH.UndefinedA=4]="UndefinedA",eH[eH.UndefinedB=5]="UndefinedB",eH[eH.UndefinedC=6]="UndefinedC",eH[eH.UndefinedD=7]="UndefinedD",(eU=iE||(iE={}))[eU.Extension=33]="Extension",eU[eU.ApplicationExtension=255]="ApplicationExtension",eU[eU.GraphicsControlExtension=249]="GraphicsControlExtension",eU[eU.PlainTextExtension=1]="PlainTextExtension",eU[eU.CommentExtension=254]="CommentExtension",eU[eU.Image=44]="Image",eU[eU.EndOfFile=59]="EndOfFile";function sZ(t,e){let i=[];for(let s=0;s<e;s++)i.push({r:t.data[t.pos],g:t.data[t.pos+1],b:t.data[t.pos+2]}),t.pos+=3;return i}async function sK(t,e,i,s,a,o){let n=e.frames[s(!0)];n.left=t.nextTwoBytes(),n.top=t.nextTwoBytes(),n.width=t.nextTwoBytes(),n.height=t.nextTwoBytes();let r=t.nextByte(),l=(128&r)==128;n.sortFlag=(32&r)==32,n.reserved=(24&r)>>>3,l&&(n.localColorTable=sZ(t,1<<(7&r)+1));let c=t=>{let{r:s,g:o,b:r}=(l?n.localColorTable:e.globalColorTable)[t];return t!==a(null)?{r:s,g:o,b:r,a:255}:{r:s,g:o,b:r,a:i?~~((s+o+r)/3):0}},h=(()=>{try{return new ImageData(n.width,n.height,{colorSpace:"srgb"})}catch(t){if(t instanceof DOMException&&"IndexSizeError"===t.name)return null;throw t}})();if(null==h)throw EvalError("GIF frame size is to large");let d=t.nextByte(),u=t.readSubBlocksBin(),p=1<<d,f=(t,e)=>{let i=t>>>3,s=7&t;return(u[i]+(u[i+1]<<8)+(u[i+2]<<16)&(1<<e)-1<<s)>>>s};if((64&r)==64){for(let i=0,a=d+1,r=0,l=[[0]],u=0;u<4;u++){if(sQ[u]<n.height){let t=0,e=0,s=!1;for(;!s;){let o=i;if(i=f(r,a),r+=a+1,i===p){a=d+1,l.length=p+2;for(let t=0;t<l.length;t++)l[t]=t<p?[t]:[]}else{for(let s of(i>=l.length?l.push(l[o].concat(l[o][0])):o!==p&&l.push(l[o].concat(l[i][0])),l[i])){let{r:i,g:a,b:o,a:r}=c(s);h.data.set([i,a,o,r],sQ[u]*n.width+sX[u]*e+t%(4*n.width)),t+=4}l.length===1<<a&&a<12&&a++}t===4*n.width*(e+1)&&(e++,sQ[u]+sX[u]*e>=n.height&&(s=!0))}}o?.(t.pos/(t.data.length-1),s(!1)+1,h,{x:n.left,y:n.top},{width:e.width,height:e.height})}n.image=h,n.bitmap=await createImageBitmap(h)}else{let i=0,a=d+1,r=0,l=-4,u=!1,v=[[0]];for(;!u;){let t=i;if(i=f(r,a),r+=a,i===p){a=d+1,v.length=p+2;for(let t=0;t<v.length;t++)v[t]=t<p?[t]:[]}else{if(i===p+1){u=!0;break}for(let e of(i>=v.length?v.push(v[t].concat(v[t][0])):t!==p&&v.push(v[t].concat(v[i][0])),v[i])){let{r:t,g:i,b:s,a}=c(e);h.data.set([t,i,s,a],l+=4)}v.length>=1<<a&&a<12&&a++}}n.image=h,n.bitmap=await createImageBitmap(h),o?.((t.pos+1)/t.data.length,s(!1)+1,n.image,{x:n.left,y:n.top},{width:e.width,height:e.height})}}async function sJ(t,e,i,s,a,o){switch(t.nextByte()){case iE.EndOfFile:return!0;case iE.Image:await sK(t,e,i,s,a,o);break;case iE.Extension:switch(t.nextByte()){case iE.GraphicsControlExtension:{let i=e.frames[s(!1)];t.pos++;let o=t.nextByte();i.GCreserved=(224&o)>>>5,i.disposalMethod=(28&o)>>>2,i.userInputDelayFlag=(2&o)==2,i.delayTime=10*t.nextTwoBytes();let n=t.nextByte();(1&o)==1&&a(n),t.pos++;break}case iE.ApplicationExtension:{t.pos++;let i={identifier:t.getString(8),authenticationCode:t.getString(3),data:t.readSubBlocksBin()};e.applicationExtensions.push(i);break}case iE.CommentExtension:e.comments.push([s(!1),t.readSubBlocks()]);break;case iE.PlainTextExtension:if(0===e.globalColorTable.length)throw EvalError("plain text extension without global color table");t.pos++,e.frames[s(!1)].plainTextData={left:t.nextTwoBytes(),top:t.nextTwoBytes(),width:t.nextTwoBytes(),height:t.nextTwoBytes(),charSize:{width:t.nextTwoBytes(),height:t.nextTwoBytes()},foregroundColor:t.nextByte(),backgroundColor:t.nextByte(),text:t.readSubBlocks()};break;default:t.skipSubBlocks()}break;default:throw EvalError("undefined block found")}return!1}async function s0(t,e,i){i||(i=!1);let s=await fetch(t);if(!s.ok&&404===s.status)throw EvalError("file not found");let a=await s.arrayBuffer(),o={width:0,height:0,totalTime:0,colorRes:0,pixelAspectRatio:0,frames:[],sortFlag:!1,globalColorTable:[],backgroundImage:new ImageData(1,1,{colorSpace:"srgb"}),comments:[],applicationExtensions:[]},n=new sY(new Uint8ClampedArray(a));if("GIF89a"!==n.getString(6))throw Error("not a supported GIF file");o.width=n.nextTwoBytes(),o.height=n.nextTwoBytes();let r=n.nextByte(),l=(128&r)==128;o.colorRes=(112&r)>>>4,o.sortFlag=(8&r)==8;let c=n.nextByte();o.pixelAspectRatio=n.nextByte(),0!==o.pixelAspectRatio&&(o.pixelAspectRatio=(o.pixelAspectRatio+15)/64),l&&(o.globalColorTable=sZ(n,1<<(7&r)+1));let h=(()=>{try{return new ImageData(o.width,o.height,{colorSpace:"srgb"})}catch(t){if(t instanceof DOMException&&"IndexSizeError"===t.name)return null;throw t}})();if(null==h)throw Error("GIF frame size is to large");let{r:d,g:u,b:p}=o.globalColorTable[c];h.data.set(l?[d,u,p,255]:[0,0,0,0]);for(let t=4;t<h.data.length;t*=2)h.data.copyWithin(t,0,t);o.backgroundImage=h;let f=-1,v=!0,g=-1,m=t=>(t&&(v=!0),f),y=t=>(null!=t&&(g=t),g);try{do v&&(o.frames.push({left:0,top:0,width:0,height:0,disposalMethod:iT.Replace,image:new ImageData(1,1,{colorSpace:"srgb"}
2),plainTextData:null,userInputDelayFlag:!1,delayTime:0,sortFlag:!1,localColorTable:[],reserved:0,GCreserved:0}),f++,g=-1,v=!1);while(!await sJ(n,o,i,m,y,e))for(let t of(o.frames.length--,o.frames)){if(t.userInputDelayFlag&&0===t.delayTime){o.totalTime=1/0;break}o.totalTime+=t.delayTime}return o}catch(t){if(t instanceof EvalError)throw Error(`error while parsing frame ${f} "${t.message}"`);throw t}}async function s1(t){if("gif"!==t.type)return void await sG(t);t.loading=!0;try{t.gifData=await s0(t.source),t.gifLoopCount=function(t){for(let e of t.applicationExtensions)if(e.identifier+e.authenticationCode==="NETSCAPE2.0")return e.data[1]+(e.data[2]<<8);return NaN}(t.gifData)??0,t.gifLoopCount||(t.gifLoopCount=1/0)}catch{t.error=!0}t.loading=!1}class s2{constructor(t){this.validTypes=["image","images"],this.loadImageShape=async t=>{if(!this._engine.loadImage)throw Error(`${r} image shape not initialized`);await this._engine.loadImage({gif:t.gif,name:t.name,replaceColor:t.replaceColor??!1,src:t.src})},this._engine=t}addImage(t){this._engine.images||(this._engine.images=[]),this._engine.images.push(t)}draw(t){let{context:e,radius:i,particle:s,opacity:a}=t,o=s.image,n=o?.element;if(o){if(e.globalAlpha=a,o.gif&&o.gifData)!function(t){let{context:e,radius:i,particle:s,delta:a}=t,o=s.image;if(!o?.gifData||!o.gif)return;let n=new OffscreenCanvas(o.gifData.width,o.gifData.height),r=n.getContext("2d");if(!r)throw Error("could not create offscreen canvas context");r.imageSmoothingQuality="low",r.imageSmoothingEnabled=!1,r.clearRect(0,0,n.width,n.height),void 0===s.gifLoopCount&&(s.gifLoopCount=o.gifLoopCount??0);let l=s.gifFrame??0,c={x:-(.5*o.gifData.width),y:-(.5*o.gifData.height)},h=o.gifData.frames[l];if(void 0===s.gifTime&&(s.gifTime=0),h.bitmap){switch(e.scale(i/o.gifData.width,i/o.gifData.height),h.disposalMethod){case iT.UndefinedA:case iT.UndefinedB:case iT.UndefinedC:case iT.UndefinedD:case iT.Replace:r.drawImage(h.bitmap,h.left,h.top),e.drawImage(n,c.x,c.y),r.clearRect(0,0,n.width,n.height);break;case iT.Combine:r.drawImage(h.bitmap,h.left,h.top),e.drawImage(n,c.x,c.y);break;
2case iT.RestoreBackground:r.drawImage(h.bitmap,h.left,h.top),e.drawImage(n,c.x,c.y),r.clearRect(0,0,n.width,n.height),o.gifData.globalColorTable.length?r.putImageData(o.gifData.backgroundImage,c.x,c.y):r.putImageData(o.gifData.frames[0].image,c.x+h.left,c.y+h.top);break;case iT.RestorePrevious:{let t=r.getImageData(0,0,n.width,n.height);r.drawImage(h.bitmap,h.left,h.top),e.drawImage(n,c.x,c.y),r.clearRect(0,0,n.width,n.height),r.putImageData(t,0,0)}}if(s.gifTime+=a.value,s.gifTime>h.delayTime){if(s.gifTime-=h.delayTime,++l>=o.gifData.frames.length){if(--s.gifLoopCount<=0)return;l=0,r.clearRect(0,0,n.width,n.height)}s.gifFrame=l}e.scale(o.gifData.width/i,o.gifData.height/i)}}(t);else if(n){let t=o.ratio,s={x:-i,y:-i},a=2*i;e.drawImage(n,s.x,s.y,a,a/t)}e.globalAlpha=1}}getSidesCount(){return 12}async init(t){let e=t.actualOptions;if(e.preload&&this._engine.loadImage)for(let t of e.preload)await this._engine.loadImage(t)}loadShape(t){if("image"!==t.shape&&"images"!==t.shape)return;this._engine.images||(this._engine.images=[]);let e=t.shapeData;!e||this._engine.images.find(t=>t.name===e.name||t.source===e.src)||this.loadImageShape(e).then(()=>{this.loadShape(t)})}particleInit(t,e){if("image"!==e.shape&&"images"!==e.shape)return;this._engine.images||(this._engine.images=[]);let i=this._engine.images,s=e.shapeData;if(!s)return;let a=e.getFillColor(),o=i.find(t=>t.name===s.name||t.source===s.src);if(!o)return;let n=s.replaceColor??o.replaceColor;o.loading?setTimeout(()=>{this.particleInit(t,e)}):(async()=>{let t;if(o.svgData&&a){let i,n;t=await (i=function(t,e,i){let{svgData:s}=t;if(!s)return"";let a=th(e,i);if(s.includes("fill"))return s.replace(s$,()=>a);let o=s.indexOf(">");return`${s.substring(0,o)} fill="${a}"${s.substring(o)}`}(o,a,e.opacity?.value??1),n={color:a,gif:s.gif,data:{...o,svgData:i},loaded:!1,ratio:s.width/s.height,replaceColor:s.replaceColor,source:s.src},new Promise(t=>{let e=new Blob([i],{type:"image/svg+xml"}),s=URL||window.URL||window.webkitURL||window,a=s.createObjectURL(e),r=new Image;r.addEventListener("load",()=>{n.loaded=!0,n.element=r,t(n),s.revokeObjectURL(a)});let l=async()=>{s.revokeObjectURL(a);let e={...o,error:!1,loading:!0};await sG(e),n.loaded=!0,n.element=e.element,t(n)};r.addEventListener("error",()=>void l()),r.src=a}))}else t={color:a,data:o,element:o.element,gif:o.gif,gifData:o.gifData,gifLoopCount:o.gifLoopCount,loaded:!0,ratio:s.width&&s.height?s.width/s.height:o.ratio??1,replaceColor:n,source:s.src};t.ratio||(t.ratio=1);let i=s.fill??e.shapeFill,r=s.close??e.shapeClose;e.image=t,e.shapeFill=i,e.shapeClose=r})()}}class s3{constructor(){this.src="",this.gif=!1}load(t){b(t)||(void 0!==t.gif&&(this.gif=t.gif),void 0!==t.height&&(this.height=t.height),void 0!==t.name&&(this.name=t.name),void 0!==t.replaceColor&&(this.replaceColor=t.replaceColor),void 0!==t.src&&(this.src=t.src),void 0!==t.width&&(this.width=t.width))}}class s5{constructor(t){this.id="imagePreloader",this._engine=t}async getPlugin(){return await Promise.resolve(),{}}loadOptions(t,e){if(!e?.preload)return;t.preload||(t.preload=[]);let i=t.preload;for(let t of e.preload){let e=i.find(e=>e.name===t.name||e.src===t.src);if(e)e.load(t);else{let e=new s3;e.load(t),i.push(e)}}}needsPlugin(){return!0}}async function s4(t,e=!0){t.checkVersion("3.9.1"),t.loadImage||(t.loadImage=async e=>{if(!e.name&&!e.src)throw Error(`${r} no image source provided`);if(t.images||(t.images=[]),!t.images.find(t=>t.name===e.name||t.source===e.src))try{let i,s={gif:e.gif??!1,name:e.name??e.src,source:e.src,type:e.src.substring(e.src.length-3),error:!1,loading:!0,replaceColor:e.replaceColor,ratio:e.width&&e.height?e.width/e.height:void 0};t.images.push(s),i=e.gif?s1:e.replaceColor?sN:sG,await i(s)}catch{throw Error(`${r} ${e.name??e.src} not found`)}});let i=new s5(t);await t.addPlugin(i,e),await t.addShape(new s2(t),e)}class s6 extends tX{constructor(){super(),this.sync=!1}load(t){b(t)||(super.load(t),void 0!==t.sync&&(this.sync=t.sync))}}class s9 extends tX{constructor(){super(),this.sync=!1}load(t){b(t)||(super.load(t),void 0!==t.sync&&(this.sync=t.sync))}}class s8{constructor(){this.count=0,this.delay=new s6,this.duration=new s9}load(t){b(t)||(void 0!==t.count&&(this.count=t.count),this.delay.load(t.delay),this.duration.load(t.duration))}}class s7{constructor(t){this.container=t}init(t){let e=this.container,i=t.options.life;i&&(t.life={delay:e.retina.reduceFactor?P(i.delay.value)*(i.delay.sync?1:k())/e.retina.reduceFactor*1e3:0,delayTime:0,duration:e.retina.reduceFactor?P(i.duration.value)*(i.duration.sync?1:k())/e.retina.reduceFactor*1e3:0,time:0,count:i.count},t.life.duration<=0&&(t.life.duration=-1),t.life.count<=0&&(t.life.count=-1),t.life&&(t.spawning=t.life.delay>0))}isEnabled(t){return!t.destroyed}loadOptions(t,...e){for(let i of(t.life||(t.life=new s8),e))t.life.load(i?.life)}
2update(t,e){this.isEnabled(t)&&t.life&&function(t,e,i){if(!t.life)return;let s=t.life,a=!1;if(t.spawning){if(s.delayTime+=e.value,!(s.delayTime>=t.life.delay))return;a=!0,t.spawning=!1,s.delayTime=0,s.time=0}if(-1===s.duration||t.spawning||(a?s.time=0:s.time+=e.value,s.time<s.duration))return;if(s.time=0,t.life.count>0&&t.life.count--,0===t.life.count)return t.destroy();let o=T(0,i.width),n=T(0,i.width);t.position.x=M(o),t.position.y=M(n),t.spawning=!0,s.delayTime=0,s.time=0,t.reset();let r=t.options.life;r&&(s.delay=1e3*P(r.delay.value),s.duration=1e3*P(r.duration.value))}(t,e,this.container.canvas.size)}}async function at(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("life",async t=>Promise.resolve(new s7(t)),e)}class ae{constructor(){this.validTypes=["line"]}draw(t){!function(t){let{context:e,particle:i,radius:s}=t,a=i.shapeData;e.moveTo(-s,0),e.lineTo(s,0),e.lineCap=a?.cap??"butt"}(t)}getSidesCount(){return 1}}async function ai(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new ae,e)}class as{init(){}isEnabled(t){return!A()&&!t.destroyed&&t.container.actualOptions.interactivity.events.onHover.parallax.enable}move(t){let e=t.container,i=e.actualOptions.interactivity.events.onHover.parallax;if(A()||!i.enable)return;let s=i.force,a=e.interactivity.mouse.position;if(!a)return;let o=e.canvas.size,n={x:.5*o.width,y:.5*o.height},r=i.smooth,l=t.getRadius()/s,c={x:(a.x-n.x)*l,y:(a.y-n.y)*l},{offset:h}=t;h.x+=(c.x-h.x)/r,h.y+=(c.y-h.y)/r}}async function aa(t,e=!0){t.checkVersion("3.9.1"),await t.addMover("parallax",()=>Promise.resolve(new as),e)}class ao extends eL{constructor(t){super(t)}clear(){}init(){}interact(t){let e=this.container;void 0===t.attractDistance&&(t.attractDistance=P(t.options.move.attract.distance)*e.retina.pixelRatio);let i=t.attractDistance,s=t.getPosition();for(let a of e.particles.quadTree.queryCircle(s,i)){if(t===a||!a.options.move.attract.enable||a.destroyed||a.spawning)continue;let{dx:e,dy:i}=E(s,a.getPosition()),o=t.options.move.attract.rotate,n=e/(1e3*o.x),r=i/(1e3*o.y),l=a.size.value/t.size.value,c=1/l;t.velocity.x-=n*l,t.velocity.y-=r*l,a.velocity.x+=n*c,a.velocity.y+=r*c}}isEnabled(t){return t.options.move.attract.enable}reset(){}}async function an(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("particlesAttract",t=>Promise.resolve(new ao(t)),e)}function ar(t,e,i,s,a,o){let n=C(t.options.collisions.absorb.speed*a.factor/10,0,s);t.size.value+=.5*n,i.size.value-=n,s<=o&&(i.size.value=0,i.destroy())}let al=t=>{void 0===t.collisionMaxSpeed&&(t.collisionMaxSpeed=P(t.options.collisions.maxSpeed)),t.velocity.length>t.collisionMaxSpeed&&(t.velocity.length=t.collisionMaxSpeed)};function ac(t,e){Y(X(t),X(e)),al(t),al(e)}class ah extends eL{constructor(t){super(t)}clear(){}init(){}interact(t,e){if(t.destroyed||t.spawning)return;let i=this.container,s=t.getPosition(),a=t.getRadius();for(let o of i.particles.quadTree.queryCircle(s,2*a)){if(t===o||!o.options.collisions.enable||t.options.collisions.mode!==o.options.collisions.mode||o.destroyed||o.spawning)continue;let n=o.getPosition(),r=o.getRadius();if(!(Math.abs(Math.round(s.z)-Math.round(n.z))>a+r))R(s,n)>a+r||function(t,e,i,s){switch(t.options.collisions.mode){case im.absorb:let a,o;a=t.getRadius(),o=e.getRadius(),void 0===a&&void 0!==o?t.destroy():void 0!==a&&void 0===o?e.destroy():void 0!==a&&void 0!==o&&(a>=o?ar(t,a,e,o,i,s):ar(e,o,t,a,i,s));break;case im.bounce:ac(t,e);break;case im.destroy:t.unbreakable||e.unbreakable||ac(t,e),void 0===t.getRadius()&&void 0!==e.getRadius()?t.destroy():void 0!==t.getRadius()&&void 0===e.getRadius()?e.destroy():void 0!==t.getRadius()&&void 0!==e.getRadius()&&(t.getRadius()>=e.getRadius()?e:t).destroy()}}(t,o,e,i.retina.pixelRatio)}}isEnabled(t){return t.options.collisions.enable}reset(){}}async function ad(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("particlesCollisions",t=>Promise.resolve(new ah(t)),e)}class au extends e_{constructor(t,e,i,s){super(t,e,i),this.canvasSize=s,this.canvasSize={...s}}contains(t){let{width:e,height:i}=this.canvasSize,{x:s,y:a}=t;return super.contains(t)||super.contains({x:s-e,y:a})||super.contains({x:s-e,y:a-i})||super.contains({x:s,y:a-i})}intersects(t){if(super.intersects(t))return!0;let e={x:t.position.x-this.canvasSize.width,y:t.position.y-this.canvasSize.height};if(void 0!==t.radius){let i=new e_(e.x,e.y,2*t.radius);return super.intersects(i)}if(void 0!==t.size){let i=new ek(e.x,e.y,2*t.size.width,2*t.size.height);return super.intersects(i)}return!1}}class ap{constructor(){this.blur=5,this.color=new tz,this.color.value="#000",this.enable=!1}load(t){b(t)||(void 0!==t.blur&&(this.blur=t.blur),this.color=tz.create(this.color,t.color),void 0!==t.enable&&(this.enable=t.enable))}}class af{constructor(){this.enable=!1,this.frequency=1}load(t){b(t)||(void 0!==t.color&&(this.color=tz.create(this.color,t.color)),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.frequency&&(this.frequency=t.frequency),void 0!==t.opacity&&(this.opacity=t.opacity))}}class av{constructor(){this.blink=!1,this.color=new tz,this.color.value="#fff",this.consent=!1,this.distance=100,this.enable=!1,this.frequency=1,this.opacity=1,this.shadow=new ap,this.triangles=new af,this.width=1,this.warp=!1}load(t){b(t)||(void 0!==t.id&&(this.id=t.id),void 0!==t.blink&&(this.blink=t.blink),this.color=tz.create(this.color,t.color),void 0!==t.consent&&(this.consent=t.consent),void 0!==t.distance&&(this.distance=t.distance),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.frequency&&(this.frequency=t.frequency),void 0!==t.opacity&&(this.opacity=t.opacity),this.shadow.load(t.shadow),this.triangles.load(t.triangles),void 0!==t.width&&(this.width=t.width),void 0!==t.warp&&(this.warp=t.warp))}}class ag extends eL{constructor(t,e){super(t),this._setColor=t=>{if(!t.options.links)return;let e=this._linkContainer,i=t.options.links,s=void 0===i.id?e.particles.linksColor:e.particles.linksColors.get(i.id);if(s)return;let a=i.color;s=tp(this._engine,a,i.blink,i.consent),void 0===i.id?e.particles.linksColor=s:e.particles.linksColors.set(i.id,s)},this._linkContainer=t,this._engine=e}clear(){}init(){this._linkContainer.particles.linksColor=void 0,this._linkContainer.particles.linksColors=new Map}interact(t){let e;if(!t.options.links)return;t.links=[];let i=t.getPosition(),s=this.container,a=s.canvas.size;if(i.x<0||i.y<0||i.x>a.width||i.y>a.height)return;let o=t.options.links,n=o.opacity,r=t.retina.linksDistance??0,l=o.warp;for(let c of(e=l?new au(i.x,i.y,r,a):new e_(i.x,i.y,r),s.particles.quadTree.query(e))){let e=c.options.links;
2if(t===c||!e?.enable||o.id!==e.id||c.spawning||c.destroyed||!c.links||t.links.some(t=>t.destination===c)||c.links.some(e=>e.destination===t))continue;let s=c.getPosition();if(s.x<0||s.y<0||s.x>a.width||s.y>a.height)continue;let h=function(t,e,i,s,a){let{dx:o,dy:n,distance:r}=E(t,e);if(!a||r<=i)return r;let l={x:Math.abs(o),y:Math.abs(n)},c={x:Math.min(l.x,s.width-l.x),y:Math.min(l.y,s.height-l.y)};return Math.sqrt(c.x**2+c.y**2)}(i,s,r,a,l&&e.warp);if(h>r)continue;let d=(1-h/r)*n;this._setColor(t),t.links.push({destination:c,opacity:d})}}isEnabled(t){return!!t.options.links?.enable}loadParticlesOptions(t,...e){for(let i of(t.links||(t.links=new av),e))t.links.load(i?.links)}reset(){}}async function am(t,e=!0){await t.addInteractor("particlesLinks",async e=>Promise.resolve(new ag(e,t)),e)}function ay(t,e){var i;let s=((i=t.map(t=>t.id)).sort((t,e)=>t-e),i.join("_")),a=e.get(s);return void 0===a&&(a=k(),e.set(s,a)),a}class ab{constructor(t,e){this._drawLinkLine=(t,e)=>{let i=t.options.links;if(!i?.enable)return;let s=this._container,a=s.actualOptions,o=e.destination,n=t.getPosition(),r=o.getPosition(),l=e.opacity;s.canvas.draw(e=>{let c,h=t.options.twinkle?.lines;if(h?.enable){let t=h.frequency,e=ta(this._engine,h.color);k()<t&&e&&(c=e,l=P(h.opacity))}if(c||(c=tu(t,o,void 0!==i.id?s.particles.linksColors.get(i.id):s.particles.linksColor)),!c)return;let d=t.retina.linksWidth??0,u=t.retina.linksDistance??0,{backgroundMask:p}=a;!function(t){let e=!1,{begin:i,end:s,engine:a,maxDistance:o,context:n,canvasSize:r,width:l,backgroundMask:c,colorLine:h,opacity:d,links:u}=t;if(R(i,s)<=o)tb(n,i,s),e=!0;else if(u.warp){let t,a,l=E(i,{x:s.x-r.width,y:s.y});if(l.distance<=o){let e=i.y-l.dy/l.dx*i.x;t={x:0,y:e},a={x:r.width,y:e}}else{let e=E(i,{x:s.x,y:s.y-r.height});if(e.distance<=o){let s=-(i.y-e.dy/e.dx*i.x)/(e.dy/e.dx);t={x:s,y:0},a={x:s,y:r.height}}else{let e=E(i,{x:s.x-r.width,y:s.y-r.height});if(e.distance<=o){let s=i.y-e.dy/e.dx*i.x;a={x:(t={x:-s/(e.dy/e.dx),y:s}).x+r.width,y:t.y+r.height}}}}t&&a&&(tb(n,i,t),tb(n,s,a),e=!0)}if(!e)return;n.lineWidth=l,c.enable&&(n.globalCompositeOperation=c.composite),n.strokeStyle=tc(h,d);let{shadow:p}=u;if(p.enable){let t=ta(a,p.color);t&&(n.shadowBlur=p.blur,n.shadowColor=tc(t))}n.stroke()}({context:e,width:d,begin:n,end:r,engine:this._engine,maxDistance:u,canvasSize:s.canvas.size,links:i,backgroundMask:p,colorLine:c,opacity:l})})},this._drawLinkTriangle=(t,e,i)=>{let s=t.options.links;if(!s?.enable)return;let a=s.triangles;if(!a.enable)return;let o=this._container,n=o.actualOptions,r=e.destination,l=i.destination,c=a.opacity??(e.opacity+i.opacity)*.5;c<=0||o.canvas.draw(e=>{let i=t.getPosition(),h=r.getPosition(),d=l.getPosition(),u=t.retina.linksDistance??0;if(R(i,h)>u||R(d,h)>u||R(d,i)>u)return;let p=ta(this._engine,a.color);p||(p=tu(t,r,void 0!==s.id?o.particles.linksColors.get(s.id):o.particles.linksColor)),p&&function(t){let{context:e,pos1:i,pos2:s,pos3:a,backgroundMask:o,colorTriangle:n,opacityTriangle:r}=t;e.beginPath(),e.moveTo(i.x,i.y),e.lineTo(s.x,s.y),e.lineTo(a.x,a.y),e.closePath(),o.enable&&(e.globalCompositeOperation=o.composite),e.fillStyle=tc(n,r),e.fill()}({context:e,pos1:i,pos2:h,pos3:d,backgroundMask:n.backgroundMask,colorTriangle:p,opacityTriangle:c})})},this._drawTriangles=(t,e,i,s)=>{let a=i.destination;if(!(t.links?.triangles.enable&&a.options.links?.triangles.enable))return;let o=a.links?.filter(t=>{let e=this._getLinkFrequency(a,t.destination);return a.options.links&&e<=a.options.links.frequency&&s.findIndex(e=>e.destination===t.destination)>=0});if(o?.length)for(let s of o){let o=s.destination;this._getTriangleFrequency(e,a,o)>t.links.triangles.frequency||this._drawLinkTriangle(e,i,s)}},this._getLinkFrequency=(t,e)=>ay([t,e],this._freqs.links),this._getTriangleFrequency=(t,e,i)=>ay([t,e,i],this._freqs.triangles),this._container=t,this._engine=e,this._freqs={links:new Map,triangles:new Map}}drawParticle(t,e){let{links:i,options:s}=e;if(!i?.length)return;let a=i.filter(t=>s.links&&(s.links.frequency>=1||this._getLinkFrequency(e,t.destination)<=s.links.frequency));for(let t of a)this._drawTriangles(s,e,t,a),t.opacity>0&&(e.retina.linksWidth??0)>0&&this._drawLinkLine(e,t)}
2async init(){this._freqs.links=new Map,this._freqs.triangles=new Map,await Promise.resolve()}particleCreated(t){if(t.links=[],!t.options.links)return;let e=this._container.retina.pixelRatio,{retina:i}=t,{distance:s,width:a}=t.options.links;i.linksDistance=s*e,i.linksWidth=a*e}particleDestroyed(t){t.links=[]}}class aw{constructor(t){this.id="links",this._engine=t}getPlugin(t){return Promise.resolve(new ab(t,this._engine))}loadOptions(){}needsPlugin(){return!0}}async function ax(t,e=!0){let i=new aw(t);await t.addPlugin(i,e)}async function a_(t,e=!0){t.checkVersion("3.9.1"),await am(t,e),await ax(t,e)}class ak{draw(t){let{particle:e,radius:i}=t;!function(t,e,i){let{context:s}=t,a=i.count.numerator*i.count.denominator,o=i.count.numerator/i.count.denominator,n=Math.PI-D(180*(o-2)/o);if(s){s.beginPath(),s.translate(e.x,e.y),s.moveTo(0,0);for(let t=0;t<a;t++)s.lineTo(i.length,0),s.translate(i.length,0),s.rotate(n)}}(t,this.getCenter(e,i),this.getSidesData(e,i))}getSidesCount(t){let e=t.shapeData;return Math.round(P(e?.sides??5))}}class aC extends ak{constructor(){super(...arguments),this.validTypes=["polygon"]}getCenter(t,e){return{x:-e/(t.sides/3.5),y:-e/.76}}getSidesData(t,e){let i=t.sides;return{count:{denominator:1,numerator:i},length:2.66*e/(i/3)}}}class az extends ak{constructor(){super(...arguments),this.validTypes=["triangle"]}getCenter(t,e){return{x:-e,y:e/1.66}}getSidesCount(){return 3}getSidesData(t,e){return{count:{denominator:2,numerator:3},length:2*e}}}async function aM(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new aC,e)}async function aP(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new az,e)}async function aS(t,e=!0){t.checkVersion("3.9.1"),await aM(t,e),await aP(t,e)}class aO{constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(t){b(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=T(t.speed)),void 0!==t.decay&&(this.decay=T(t.decay)),void 0!==t.sync&&(this.sync=t.sync))}}class aT extends tX{constructor(){super(),this.animation=new aO,this.direction=ik.clockwise,this.path=!1,this.value=0}load(t){b(t)||(super.load(t),void 0!==t.direction&&(this.direction=t.direction),this.animation.load(t.animation),void 0!==t.path&&(this.path=t.path))}}let aE=2*Math.PI;class aR{constructor(t){this.container=t}init(t){let e=t.options.rotate;if(!e)return;t.rotate={enable:e.animation.enable,value:D(P(e.value)),min:0,max:aE},t.pathRotation=e.path;let i=e.direction;switch(i===ik.random&&(i=Math.floor(2*k())>0?ik.counterClockwise:ik.clockwise),i){case ik.counterClockwise:case"counterClockwise":t.rotate.status=ia.decreasing;break;case ik.clockwise:t.rotate.status=ia.increasing}let s=e.animation;s.enable&&(t.rotate.decay=1-P(s.decay),t.rotate.velocity=P(s.speed)/360*this.container.retina.reduceFactor,s.sync||(t.rotate.velocity*=k())),t.rotation=t.rotate.value}isEnabled(t){let e=t.options.rotate;return!!e&&!t.destroyed&&!t.spawning&&(!!e.value||e.animation.enable||e.path)}loadOptions(t,...e){for(let i of(t.rotate||(t.rotate=new aT),e))t.rotate.load(i?.rotate)}update(t,e){!this.isEnabled(t)||(t.isRotating=!!t.rotate,t.rotate&&(ti(t,t.rotate,!1,io.none,e),t.rotation=t.rotate.value))}}async function aD(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("rotate",t=>Promise.resolve(new aR(t)),e)}let aI=Math.sqrt(2);class aL{constructor(){this.validTypes=["edge","square"]}draw(t){!function(t){let{context:e,radius:i}=t,s=i/aI,a=2*s;e.rect(-s,-s,a,a)}(t)}getSidesCount(){return 4}}async function aB(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new aL,e)}class aF{constructor(){this.validTypes=["star"]}draw(t){!function(t){let{context:e,particle:i,radius:s}=t,a=i.sides,o=i.starInset??2;e.moveTo(0,0-s);for(let t=0;t<a;t++)e.rotate(Math.PI/a),e.lineTo(0,0-s*o),e.rotate(Math.PI/a),e.lineTo(0,0-s)}(t)}getSidesCount(t){let e=t.shapeData;return Math.round(P(e?.sides??5))}particleInit(t,e){let i=e.shapeData;e.starInset=P(i?.inset??2)}}async function aA(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new aF,e)}class aq{constructor(t,e){this._container=t,this._engine=e}init(t){let e=this._container,i=t.options,s=K(i.stroke,t.id,i.reduceDuplicates);t.strokeWidth=P(s.width)*e.retina.pixelRatio,t.strokeOpacity=P(s.opacity??1),t.strokeAnimation=s.color?.animation;let a=to(this._engine,s.color)??t.getFillColor();a&&(t.strokeColor=tv(a,t.strokeAnimation,e.retina.reduceFactor))}isEnabled(t){let e=t.strokeAnimation,{strokeColor:i}=t;return!t.destroyed&&!t.spawning&&!!e&&(i?.h.value!==void 0&&i.h.enable||i?.s.value!==void 0&&i.s.enable||i?.l.value!==void 0&&i.l.enable)}update(t,e){this.isEnabled(t)&&ty(t.strokeColor,e)}}async function aV(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("strokeColor",e=>Promise.resolve(new aq(e,t)),e)}async function aH(t,e=!0){t.checkVersion("3.9.1"),await aa(t,!1),await sn(t,!1),await su(t,!1),await sb(t,!1),await sk(t,!1),await sP(t,!1),await sO(t,!1),await sR(t,!1),await sL(t,!1),await sH(t,!1),await sj(t,!1),await an(t,!1),await ad(t,!1),await a_(t,!1),await i8(t,!1),await se(t,!1),await s4(t,!1),await ai(t,!1),await aS(t,!1),await aB(t,!1),await aA(t,!1),await at(t,!1),await aD(t,!1),await aV(t,!1),await i9(t,e)}t.s(["loadSlim",0,aH],775880)},876595,t=>{"use strict";var e=t.i(843476),i=t.i(271645),s=t.i(363067),a=t.i(135605),o=t.i(775880),n=t.i(846932),r=t.i(947414),l=t.i(674008),c=t.i(876859),h=t.i(347834),d=t.i(965566);
2function u(t,e){[...e].reverse().forEach(i=>{let s=t.getVariant(i);s&&(0,h.setTarget)(t,s),t.variantChildren&&t.variantChildren.forEach(t=>{u(t,e)})})}function p(){let t=!1,e=new Set,i={subscribe:t=>(e.add(t),()=>void e.delete(t)),start(i,s){(0,d.invariant)(t,"controls.start() should only be called after a component has mounted. Consider calling within a useEffect hook.");let a=[];return e.forEach(t=>{a.push((0,c.animateVisualElement)(t,i,{transitionOverride:s}))}),Promise.all(a)},set:i=>((0,d.invariant)(t,"controls.set() should only be called after a component has mounted. Consider calling within a useEffect hook."),e.forEach(t=>{var e,s;e=t,Array.isArray(s=i)?u(e,s):"string"==typeof s?u(e,[s]):(0,h.setTarget)(e,s)})),stop(){e.forEach(t=>{t.values.forEach(t=>t.stop())})},mount:()=>(t=!0,()=>{t=!1,i.stop()})};return i}let f=function(){let t=(0,r.useConstant)(p);return(0,l.useIsomorphicLayoutEffect)(t.mount,[]),t};var v=t.i(380064);function g({id:t,className:r,background:l,minSize:c,maxSize:h,speed:d,particleColor:u,particleDensity:p}){let[m,y]=(0,i.useState)(!1),b=f(),w=(0,i.useId)();(0,i.useEffect)(()=>{(0,s.initParticlesEngine)(async t=>{await (0,o.loadSlim)(t)}).then(()=>{y(!0)})},[]);let x=async t=>{t&&b.start({opacity:1,transition:{duration:1}})};return(0,e.jsx)(n.motion.div,{animate:b,className:(0,v.cn)("opacity-0",r),children:m?(0,e.jsx)(a.default,{id:t||w,className:"h-full w-full",particlesLoaded:x,options:{background:{color:{value:l||"transparent"}},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:u||"#ffffff"},move:{direction:"none",enable:!0,outModes:{default:"out"},random:!1,speed:{min:.1,max:1},straight:!1},number:{density:{enable:!0,width:400,height:400},value:p||120},opacity:{value:{min:.1,max:1},animation:{enable:!0,speed:d||4,sync:!1,mode:"auto",startValue:"random"}},shape:{type:"circle"},size:{value:{min:c||1,max:h||3}},links:{enable:!1}},detectRetina:!0}}):null})}t.s(["default",0,function(){return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"pointer-events-none absolute inset-0 hidden dark:block [background:radial-gradient(circle_at_20%_18%,rgba(6,182,212,0.2),transparent_34%),radial-gradient(circle_at_82%_8%,rgba(232,121,249,0.16),transparent_34%),radial-gradient(circle_at_50%_100%,rgba(59,130,246,0.14),transparent_42%)]"}),(0,e.jsx)(g,{className:"pointer-events-none absolute inset-0 hidden dark:block",background:"transparent",minSize:.8,maxSize:2.3,speed:2,particleColor:"#e2e8f0",particleDensity:95})]})}],876595)},354635,t=>{"use strict";var e=t.i(843476),i=t.i(271645),s=t.i(363067),a=t.i(135605),o=t.i(775880);t.s(["default",0,function(){let[t,n]=(0,i.useState)(!1);return((0,i.useEffect)(()=>{let t=!0;return(0,s.initParticlesEngine)(async t=>{await (0,o.loadSlim)(t)}).then(()=>{t&&n(!0)}),()=>{t=!1}},[]),t)?(0,e.jsx)(a.default,{id:"light-hero-particles",className:"pointer-events-none absolute inset-0 opacity-70 dark:hidden","aria-hidden":"true",options:{fullScreen:{enable:!1},fpsLimit:120,detectRetina:!0,interactivity:{events:{onHover:{enable:!0,mode:"grab"},onClick:{enable:!0,mode:"push"},resize:{enable:!0}},modes:{grab:{distance:220,links:{opacity:.45}},push:{quantity:4},repulse:{distance:180,duration:.4}}},particles:{color:{value:"#ffe7a8"},links:{enable:!0,distance:160,color:"#f7b267",opacity:.22,width:1},move:{enable:!0,speed:2,random:!0,outModes:{default:"bounce"}},number:{value:140,density:{enable:!0,width:800,height:800}},opacity:{value:{min:.18,max:.48},animation:{enable:!0,speed:1}},shape:{type:"circle",options:{circle:{stroke:{width:.5,color:"#f4845f"}}}},size:{value:{min:1,max:3},animation:{enable:!0,speed:2}}}}}):(0,e.jsx)("div",{id:"light-hero-particles",className:"pointer-events-none absolute inset-0 opacity-70 dark:hidden","aria-hidden":"true"})}])}]);
3
4//# debugId=c2a154cc-6b99-b14f-6d65-fe3e4cd040ed

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.