vendor: 19,193 bytes, line 1
1import{j as p,u as Ss,n as Rs,S as Es,N as Os,a8 as Ds,U as Oi,T as Is,o as Di,p as Ii,a9 as Ti,A as $t,aa as qt,X as Ts,z as Ls}from"./index-s7cxMHZ5.js";import{r as I}from"./vendor-react-0R6VX6ld.js";import{c as js}from"./index-eD7lYc4e.js";import{H as Fs}from"./index-zMxkKZQp.js";import Bs from"./Footer-3pdh7hf8.js";import{m as ge,A as Ut}from"./vendor-framer-JqHIcSWX.js";import"./vendor-three-dec0Z_i3.js";import"./vendor-icons-LlCGcXb-.js";import"./index-v2SWm-nz.js";const Be="generated",Ns="pointerdown",As="pointerup",ci="pointerleave",$s="pointerout",Ue="pointermove",qs="touchstart",Li="touchend",Us="touchmove",Vs="touchcancel",Hs="resize",Ws="visibilitychange",ce="tsParticles - Error",Me=100,B=.5,H=1e3,V={x:0,y:0,z:0},vt={a:1,b:0,c:0,d:1},ot="random",St="mid",W=2,Qs=Math.PI*W,Vt=60,Bn="true",ji="false",Ht="canvas",Fi=0,ke=2,Bi=4,Gs=1,Ni=1,Ai=1,Xs=4,Nn=1,Rt=255,Ne=360,li=100,ui=100,$i=0,hi=0,Ys=60,Ks=0,Ot=.25,qi=B+Ot,Ui=0,Zs=1,Js=0,eo=0,to=1,vi=1,io=1,Vi=1,Dt=0,An=1,no=0,so=120,oo=0,ro=0,ao=1e4,co=0,lo=1,It=0,$n=1,uo=1,ho=0,Hi=1,fo=0,po=0,Wi=-Ot,Qi=1.5,Gi=0,mo=1,yo=0,di=0,qn=1,go=1,Tt=1,bo=500,Xi=50,vo=0,fi=1,Un=0,Yi=1,xo=0,De=255,Wt=3,Qt=6,wo=1,_o=1,ko=0,Co=0,Po=0,zo=0;var U;(function(t){t.bottom="bottom",t.bottomLeft="bottom-left",t.bottomRight="bottom-right",t.left="left",t.none="none",t.right="right",t.top="top",t.topLeft="top-left",t.topRight="top-right",t.outside="outside",t.inside="inside"})(U||(U={}));function Vn(t){return typeof t=="boolean"}function Ee(t){return typeof t=="string"}function Oe(t){return typeof t=="number"}function Ke(t){return typeof t=="object"&&t!==null}function xe(t){return Array.isArray(t)}function b(t){return t==null}class te{constructor(e,i,n){if(this._updateFromAngle=(s,o)=>{this.x=Math.cos(s)*o,this.y=Math.sin(s)*o},!Oe(e)&&e){this.x=e.x,this.y=e.y;const s=e;this.z=s.z?s.z:V.z}else if(e!==void 0&&i!==void 0)this.x=e,this.y=i,this.z=n??V.z;else throw new Error(`${ce} Vector3d not initialized correctly`)}static get origin(){return te.create(V.x,V.y,V.z)}get angle(){return Math.atan2(this.y,this.x)}set angle(e){this._updateFromAngle(e,this.length)}get length(){return Math.sqrt(this.getLengthSq())}set length(e){this._updateFromAngle(this.angle,e)}static clone(e){return te.create(e.x,e.y,e.z)}static create(e,i,n){return new te(e,i,n)}add(e){return te.create(this.x+e.x,this.y+e.y,this.z+e.z)}addTo(e){this.x+=e.x,this.y+=e.y,this.z+=e.z}copy(){return te.clone(this)}distanceTo(e){return this.sub(e).length}distanceToSq(e){return this.sub(e).getLengthSq()}div(e){return te.create(this.x/e,this.y/e,this.z/e)}divTo(e){this.x/=e,this.y/=e,this.z/=e}getLengthSq(){return this.x**ke+this.y**ke}mult(e){return te.create(this.x*e,this.y*e,this.z*e)}multTo(e){this.x*=e,this.y*=e,this.z*=e}normalize(){const e=this.length;e!=It&&this.multTo(Nn/e)}rotate(e){return te.create(this.x*Math.cos(e)-this.y*Math.sin(e),this.x*Math.sin(e)+this.y*Math.cos(e),V.z)}setTo(e){this.x=e.x,this.y=e.y;const i=e;this.z=i.z?i.z:V.z}sub(e){return te.create(this.x-e.x,this.y-e.y,this.z-e.z)}subFrom(e){this.x-=e.x,this.y-=e.y,this.z-=e.z}}class A extends te{constructor(e,i){super(e,i,V.z)}static get origin(){return A.create(V.x,V.y)}static clone(e){return A.create(e.x,e.y)}static create(e,i){return new A(e,i)}}let Mo=Math.random;const Hn={nextFrame:t=>requestAnimationFrame(t),cancel:t=>cancelAnimationFrame(t)};function E(){return le(Mo(),0,1-Number.EPSILON)}function So(t){return Hn.nextFrame(t)}function Ro(t){Hn.cancel(t)}function le(t,e,i){return Math.min(Math.max(t,e),i)}function Gt(t,e,i,n){return Math.floor((t*i+e*n)/(i+n))}function ie(t){const e=ve(t),i=0;let n=Ft(t);return e===n&&(n=i),E()*(e-n)+n}function k(t){return Oe(t)?t:ie(t)}function Ft(t){return Oe(t)?t:t.min}function ve(t){return Oe(t)?t:t.max}function S(t,e){if(t===e||e===void 0&&Oe(t))return t;const i=Ft(t),n=ve(t);return e!==void 0?{min:Math.min(i,e),max:Math.max(n,e)}:S(i,n)}function Z(t,e){const i=t.x-e.x,n=t.y-e.y,s=2;return{dx:i,dy:n,distance:Math.sqrt(i**s+n**s)}}function ne(t,e){return Z(t,e).distance}function Re(t){return t*Math.PI/180}function Eo(t,e,i){if(Oe(t))return Re(t);switch(t){case U.top:return-Math.PI*B;case U.topRight:return-Math.PI*Ot;case U.right:return Ks;case U.bottomRight:return Math.PI*Ot;case U.bottom:return Math.PI*B;case U.bottomLeft:return Math.PI*qi;case U.left:return Math.PI;case U.topLeft:return-Math.PI*qi;case U.inside:return Math.atan2(i.y-e.y,i.x-e.x);case U.outside:return Math.atan2(e.y-i.y,e.x-i.x);default:return E()*Qs}}function Oo(t){const e=A.origin;return e.length=1,e.angle=t,e}function Ki(t,e,i,n){return A.create(t.x*(i-n)/(i+n)+e.x*W*n/(i+n),t.y)}function Do(t){var e,i;return{x:((e=t.position)==null?void 0:e.x)??E()*t.size.width,y:((i=t.position)==null?void 0:i.y)??E()*t.size.height}}function Wn(t){return t?t.endsWith("%")?parseFloat(t)/Me:parseFloat(t):1}var Ae;(function(t){t.auto="auto",t.increase="increase",t.decrease="decrease",t.random="random"})(Ae||(Ae={}));var L;(function(t){t.increasing="increasing",t.decreasing="decreasing"})(L||(L={}));var Ve;(function(t){t.none="none",t.max="max",t.min="min"})(Ve||(Ve={}));var M;(function(t){t.bottom="bottom",t.left="left",t.right="right",t.top="top"})(M||(M={}));var rt;(function(t){t.precise="precise",t.percent="percent"})(rt||(rt={}));var et;(function(t){t.max="max",t.min="min",t.random="random"})(et||(et={}));const Io={debug:console.debug,error:console.error,info:console.info,log:console.log,verbose:console.log,warning:console.warn};function He(){return Io}function To(t){const e=new Map;return(...i)=>{const n=JSON.stringify(i);if(e.has(n))return e.get(n);const s=t(...i);return e.set(n,s),s}}function Zi(t){const e={bounced:!1},{pSide:i,pOtherSide:n,rectSide:s,rectOtherSide:o,velocity:r,factor:a}=t;return n.min<o.min||n.min>o.max||n.max<o.min||n.max>o.max||(i.max>=s.min&&i.max<=(s.max+s.min)*B&&r>Ui||i.min<=s.max&&i.min>(s.max+s.min)*B&&r<Ui)&&(e.velocity=r*-a,e.bounced=!0),e}function Lo(t,e){const i=se(e,n=>t.matches(n));return xe(i)?i.some(n=>n):i}function We(){return typeof window>"u"||!window||typeof window.document>"u"||!window.document}function jo(){return!We()&&typeof matchMedia<"u"}function Qn(t){if(jo())return matchMedia(t)}function Fo(t){if(!(We()||typeof IntersectionObserver>"u"))return new IntersectionObserver(t)}function Bo(t){if(!(We()||typeof MutationObserver>"u"))return new MutationObserver(t)}function T(t,e){return t===e||xe(e)&&e.indexOf(t)>-1}async function Ji(t,e){try{await document.fonts.load(`${e??"400"} 36px '${t??"Verdana"}'`)}catch{}}function No(t){return Math.floor(E()*t.length)}function Bt(t,e,i=!0){return t[e!==void 0&&i?e%t.length:No(t)]}function xi(t,e,i,n,s){return Ao(gt(t,n??0),e,i,s)}function Ao(t,e,i,n){let s=!0;return(!n||n===M.bottom)&&(s=t.top<e.height+i.x),s&&(!n||n===M.left)&&(s=t.right>i.x),s&&(!n||n===M.right)&&(s=t.left<e.width+i.y),s&&(!n||n===M.top)&&(s=t.bottom>i.y),s}function gt(t,e){return{bottom:t.y+e,left:t.x-e,right:t.x+e,top:t.y-e}}function G(t,...e){for(const i of e){if(i==null)continue;if(!Ke(i)){t=i;continue}const n=Array.isArray(i);n&&(Ke(t)||!t||!Array.isArray(t))?t=[]:!n&&(Ke(t)||!t||Array.isArray(t))&&(t={});for(const s in i){if(s==="__proto__")continue;const o=i,r=o[s],a=t;a[s]=Ke(r)&&Array.isArray(r)?r.map(c=>G(a[s],c)):G(a[s],r)}}return t}function wi(t,e){return!!Yn(e,i=>i.enable&&T(t,i.mode))}function _i(t,e,i){se(e,n=>{const s=n.mode;n.enable&&T(t,s)&&$o(n,i)})}function $o(t,e){const i=t.selectors;se(i,n=>{e(n,t)})}function Gn(t,e){if(!(!e||!t))return Yn(t,i=>Lo(e,i.selectors))}function pi(t){return{position:t.getPosition(),radius:t.getRadius(),mass:t.getMass(),velocity:t.velocity,factor:A.create(k(t.options.bounce.horizontal.value),k(t.options.bounce.vertical.value))}}function Xn(t,e){const{x:i,y:n}=t.velocity.sub(e.velocity),[s,o]=[t.position,e.position],{dx:r,dy:a}=Z(o,s);if(i*r+n*a<0)return;const l=-Math.atan2(a,r),u=t.mass,h=e.mass,f=t.velocity.rotate(l),d=e.velocity.rotate(l),m=Ki(f,d,u,h),g=Ki(d,f,u,h),y=m.rotate(-l),_=g.rotate(-l);t.velocity.x=y.x*t.factor.x,t.velocity.y=y.y*t.factor.y,e.velocity.x=_.x*e.factor.x,e.velocity.y=_.y*e.factor.y}function qo(t,e){const i=t.getPosition(),n=t.getRadius(),s=gt(i,n),o=t.options.bounce,r=Zi({pSide:{min:s.left,max:s.right},pOtherSide:{min:s.top,max:s.bottom},rectSide:{min:e.left,max:e.right},rectOtherSide:{min:e.top,max:e.bottom},velocity:t.velocity.x,factor:k(o.horizontal.value)});r.bounced&&(r.velocity!==void 0&&(t.velocity.x=r.velocity),r.position!==void 0&&(t.position.x=r.position));const a=Zi({pSide:{min:s.top,max:s.bottom},pOtherSide:{min:s.left,max:s.right},rectSide:{min:e.top,max:e.bottom},rectOtherSide:{min:e.left,max:e.right},velocity:t.velocity.y,factor:k(o.vertical.value)});a.bounced&&(a.velocity!==void 0&&(t.velocity.y=a.velocity),a.position!==void 0&&(t.position.y=a.position))}function se(t,e){return xe(t)?t.map((n,s)=>e(n,s)):e(t,0)}function ae(t,e,i){return xe(t)?Bt(t,e,i):t}function Yn(t,e){return xe(t)?t.find((n,s)=>e(n,s)):e(t,0)?t:void 0}function Kn(t,e){const i=t.value,n=t.animation,s={delayTime:k(n.delay)*H,enable:n.enable,value:k(t.value)*e,max:ve(i)*e,min:Ft(i)*e,loops:0,maxLoops:k(n.count),time:0},o=1;if(n.enable){switch(s.decay=o-k(n.decay),n.mode){case Ae.increase:s.status=L.increasing;break;case Ae.decrease:s.status=L.decreasing;break;case Ae.random:s.status=E()>=B?L.increasing:L.decreasing;break}const r=n.mode===Ae.auto;switch(n.startValue){case et.min:s.value=s.min,r&&(s.status=L.increasing);break;case et.max:s.value=s.max,r&&(s.status=L.decreasing);break;case et.random:default:s.value=ie(s),r&&(s.status=E()>=B?L.increasing:L.decreasing);break}}return s.initialValue=s.value,s}function Uo(t,e){if(!(t.mode===rt.percent)){const{mode:s,...o}=t;return o}return"x"in t?{x:t.x/Me*e.width,y:t.y/Me*e.height}:{width:t.width/Me*e.width,height:t.height/Me*e.height}}function Zn(t,e){return Uo(t,e)}function Vo(t,e,i,n,s){switch(e){case Ve.max:i>=s&&t.destroy();break;case Ve.min:i<=n&&t.destroy();break}}function ki(t,e,i,n,s){if(t.destroyed||!e||!e.enable||(e.maxLoops??0)>0&&(e.loops??0)>(e.maxLoops??0))return;const u=(e.velocity??0)*s.factor,h=e.min,f=e.max,d=e.decay??1;if(e.time||(e.time=0),(e.delayTime??0)>0&&e.time<(e.delayTime??0)&&(e.time+=s.value),!((e.delayTime??0)>0&&e.time<(e.delayTime??0))){switch(e.status){case L.increasing:e.value>=f?(i?e.status=L.decreasing:e.value-=f,e.loops||(e.loops=0),e.loops++):e.value+=u;break;case L.decreasing:e.value<=h?(i?e.status=L.increasing:e.value+=f,e.loops||(e.loops=0),e.loops++):e.value-=u}e.velocity&&d!==1&&(e.velocity*=d),Vo(t,n,e.value,h,f),t.destroyed||(e.value=le(e.value,h,f))}}function Ho(t){var i,n,s,o;const e=document.createElement("div").style;if(!t)return e;for(const r in t){const a=t[r];if(!Object.prototype.hasOwnProperty.call(t,r)||b(a))continue;const c=(i=t.getPropertyValue)==null?void 0:i.call(t,a);if(!c)continue;const l=(n=t.getPropertyPriority)==null?void 0:n.call(t,a);l?(o=e.setProperty)==null||o.call(e,a,c,l):(s=e.setProperty)==null||s.call(e,a,c)}return e}function Wo(t){const e=document.createElement("div").style,i=10,n={width:"100%",height:"100%",margin:"0",padding:"0",borderWidth:"0",position:"fixed",zIndex:t.toString(i),"z-index":t.toString(i),top:"0",left:"0"};for(const s in n){const o=n[s];e.setProperty(s,o)}return e}const Qo=To(Wo);var mi;(function(t){t.darken="darken",t.enlighten="enlighten"})(mi||(mi={}));function Go(t,e){if(e){for(const i of t.colorManagers.values())if(e.startsWith(i.stringPrefix))return i.parseString(e)}}function fe(t,e,i,n=!0){if(!e)return;const s=Ee(e)?{value:e}:e;if(Ee(s.value))return Jn(t,s.value,i,n);if(xe(s.value))return fe(t,{value:Bt(s.value,i,n)});for(const o of t.colorManagers.values()){const r=o.handleRangeColor(s);if(r)return r}}function Jn(t,e,i,n=!0){if(!e)return;const s=Ee(e)?{value:e}:e;if(Ee(s.value))return s.value===ot?ts():Xo(t,s.value);if(xe(s.value))return Jn(t,{value:Bt(s.value,i,n)});for(const o of t.colorManagers.values()){const r=o.handleColor(s);if(r)return r}}function ft(t,e,i,n=!0){const s=fe(t,e,i,n);return s?es(s):void 0}function es(t){const e=t.r/Rt,i=t.g/Rt,n=t.b/Rt,s=Math.max(e,i,n),o=Math.min(e,i,n),r={h:$i,l:(s+o)*B,s:hi};return s!==o&&(r.s=r.l<B?(s-o)/(s+o):(s-o)/(W-s-o),r.h=e===s?(i-n)/(s-o):r.h=i===s?W+(n-e)/(s-o):W*W+(e-i)/(s-o)),r.l*=ui,r.s*=li,r.h*=Ys,r.h<$i&&(r.h+=Ne),r.h>=Ne&&(r.h-=Ne),r}function Xo(t,e){return Go(t,e)}function at(t){const e=(t.h%Ne+Ne)%Ne,i=Math.max(hi,Math.min(li,t.s)),n=Math.max(xo,Math.min(ui,t.l)),s=e/Ne,o=i/li,r=n/ui;if(i===hi){const m=Math.round(r*De);return{r:m,g:m,b:m}}const a=(m,g,y)=>{if(y<0&&y++,y>1&&y--,y*Qt<1)return m+(g-m)*Qt*y;if(y*W<1)return g;if(y*Wt<1*W){const C=W/Wt;return m+(g-m)*(C-y)*Qt}return m},c=r<B?r*(wo+o):r+o-r*o,l=W*r-c,u=_o/Wt,h=Math.min(De,De*a(l,c,s+u)),f=Math.min(De,De*a(l,c,s)),d=Math.min(De,De*a(l,c,s-u));return{r:Math.round(h),g:Math.round(f),b:Math.round(d)}}function Yo(t){const e=at(t);return{a:t.a,b:e.b,g:e.g,r:e.r}}function ts(t){const e=t??ko,i=Rt+fi;return{b:Math.floor(ie(S(e,i))),g:Math.floor(ie(S(e,i))),r:Math.floor(ie(S(e,i)))}}function Pe(t,e){return`rgba(${t.r}, ${t.g}, ${t.b}, ${e??vi})`}function pt(t,e){return`hsla(${t.h}, ${t.s}%, ${t.l}%, ${e??vi})`}function Ci(t,e,i,n){let s=t,o=e;return s.r===void 0&&(s=at(t)),o.r===void 0&&(o=at(e)),{b:Gt(s.b,o.b,i,n),g:Gt(s.g,o.g,i,n),r:Gt(s.r,o.r,i,n)}}function yi(t,e,i){if(i===ot)return ts();if(i===St){const n=t.getFillColor()??t.getStrokeColor(),s=(e==null?void 0:e.getFillColor())??(e==null?void 0:e.getStrokeColor());if(n&&s&&e)return Ci(n,s,t.getRadius(),e.getRadius());{const o=n??s;if(o)return at(o)}}else return i}function is(t,e,i,n){const s=Ee(e)?e:e.value;return s===ot?n?fe(t,{value:s}):i?ot:St:s===St?St:fe(t,{value:s})}function en(t){return t!==void 0?{h:t.h.value,s:t.s.value,l:t.l.value}:void 0}function ns(t,e,i){const n={h:{enable:!1,value:t.h},s:{enable:!1,value:t.s},l:{enable:!1,value:t.l}};return e&&(Xt(n.h,e.h,i),Xt(n.s,e.s,i),Xt(n.l,e.l,i)),n}function Xt(t,e,i){t.enable=e.enable,t.enable?(t.velocity=k(e.speed)/Me*i,t.decay=$n-k(e.decay),t.status=L.increasing,t.loops=Po,t.maxLoops=k(e.count),t.time=zo,t.delayTime=k(e.delay)*H,e.sync||(t.velocity*=E(),t.value*=E()),t.initialValue=t.value,t.offset=S(e.offset)):t.velocity=Co}function Yt(t,e,i,n){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+=n.value),(t.delayTime??0)>0&&t.time<(t.delayTime??0)))return;const u=t.offset?ie(t.offset):0,h=(t.velocity??0)*n.factor+u*3.6,f=t.decay??1,d=ve(e),m=Ft(e);!i||t.status===L.increasing?(t.value+=h,t.value>d&&(t.loops||(t.loops=0),t.loops++,i?t.status=L.decreasing:t.value-=d)):(t.value-=h,t.value<0&&(t.loops||(t.loops=0),t.loops++,t.status=L.increasing)),t.velocity&&f!==1&&(t.velocity*=f),t.value=le(t.value,m,d)}function ss(t,e){if(!t)return;const{h:i,s:n,l:s}=t,o={h:{min:0,max:360},s:{min:0,max:100},l:{min:0,max:100}};i&&Yt(i,o.h,!1,e),n&&Yt(n,o.s,!0,e),s&&Yt(s,o.l,!0,e)}function dt(t,e,i){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(i.x,i.y),t.closePath()}function Ko(t,e,i){t.fillStyle=i??"rgba(0,0,0,0)",t.fillRect(V.x,V.y,e.width,e.height)}function Zo(t,e,i,n){i&&(t.globalAlpha=n,t.drawImage(i,V.x,V.y,e.width,e.height),t.globalAlpha=1)}function Kt(t,e){t.clearRect(V.x,V.y,e.width,e.height)}function Jo(t){const{container:e,context:i,particle:n,delta:s,colorStyles:o,backgroundMask:r,composite:a,radius:c,opacity:l,shadow:u,transform:h}=t,f=n.getPosition(),d=n.rotation+(n.pathRotation?n.velocity.angle:vo),m={sin:Math.sin(d),cos:Math.cos(d)},g=!!d,y={a:m.cos*(h.a??vt.a),b:g?m.sin*(h.b??fi):h.b??vt.b,c:g?-m.sin*(h.c??fi):h.c??vt.c,d:m.cos*(h.d??vt.d)};i.setTransform(y.a,y.b,y.c,y.d,f.x,f.y),r&&(i.globalCompositeOperation=a);const _=n.shadowColor;u.enable&&_&&(i.shadowBlur=u.blur,i.shadowColor=Pe(_),i.shadowOffsetX=u.offset.x,i.shadowOffsetY=u.offset.y),o.fill&&(i.fillStyle=o.fill);const w=n.strokeWidth??Un;i.lineWidth=w,o.stroke&&(i.strokeStyle=o.stroke);const C={container:e,context:i,particle:n,radius:c,opacity:l,delta:s,transformData:y,strokeWidth:w};tr(C),ir(C),er(C),i.globalCompositeOperation="source-over",i.resetTransform()}function er(t){const{container:e,context:i,particle:n,radius:s,opacity:o,delta:r,transformData:a}=t;if(!n.effect)return;const c=e.effectDrawers.get(n.effect);c&&c.draw({context:i,particle:n,radius:s,opacity:o,delta:r,pixelRatio:e.retina.pixelRatio,transformData:{...a}})}function tr(t){const{container:e,context:i,particle:n,radius:s,opacity:o,delta:r,strokeWidth:a,transformData:c}=t;if(!n.shape)return;const l=e.shapeDrawers.get(n.shape);l&&(i.beginPath(),l.draw({context:i,particle:n,radius:s,opacity:o,delta:r,pixelRatio:e.retina.pixelRatio,transformData:{...c}}),n.shapeClose&&i.closePath(),a>Un&&i.stroke(),n.shapeFill&&i.fill())}function ir(t){const{container:e,context:i,particle:n,radius:s,opacity:o,delta:r,transformData:a}=t;if(!n.shape)return;const c=e.shapeDrawers.get(n.shape);c!=null&&c.afterDraw&&c.afterDraw({context:i,particle:n,radius:s,opacity:o,delta:r,pixelRatio:e.retina.pixelRatio,transformData:{...a}})}function nr(t,e,i){e.draw&&e.draw(t,i)}function sr(t,e,i,n){e.drawParticle&&e.drawParticle(t,i,n)}function or(t,e,i){return{h:t.h,s:t.s,l:t.l+(e===mi.darken?-Yi:Yi)*i}}function rr(t,e,i){const n=e[i];n!==void 0&&(t[i]=(t[i]??Zs)*n)}function tn(t,e,i=!1){if(!e)return;const n=t;if(!n)return;const s=n.style;if(!s)return;const o=new Set;for(const r in s)Object.prototype.hasOwnProperty.call(s,r)&&o.add(s[r]);for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&o.add(e[r]);for(const r of o){const a=e.getPropertyValue(r);a?s.setProperty(r,a,i?"important":""):s.removeProperty(r)}}class ar{constructor(e,i){this.container=e,this._applyPostDrawUpdaters=o=>{var r;for(const a of this._postDrawUpdaters)(r=a.afterDraw)==null||r.call(a,o)},this._applyPreDrawUpdaters=(o,r,a,c,l,u)=>{var h;for(const f of this._preDrawUpdaters){if(f.getColorStyles){const{fill:d,stroke:m}=f.getColorStyles(r,o,a,c);d&&(l.fill=d),m&&(l.stroke=m)}if(f.getTransformValues){const d=f.getTransformValues(r);for(const m in d)rr(u,d,m)}(h=f.beforeDraw)==null||h.call(f,r)}},this._applyResizePlugins=()=>{var o;for(const r of this._resizePlugins)(o=r.resize)==null||o.call(r)},this._getPluginParticleColors=o=>{let r,a;for(const c of this._colorPlugins)if(!r&&c.particleFillColor&&(r=ft(this._engine,c.particleFillColor(o))),!a&&c.particleStrokeColor&&(a=ft(this._engine,c.particleStrokeColor(o))),r&&a)break;return[r,a]},this._initCover=async()=>{const o=this.container.actualOptions,r=o.backgroundMask.cover,a=r.color;if(a){const c=fe(this._engine,a);if(c){const l={...c,a:r.opacity};this._coverColorStyle=Pe(l,l.a)}}else await new Promise((c,l)=>{if(!r.image)return;const u=document.createElement("img");u.addEventListener("load",()=>{this._coverImage={image:u,opacity:r.opacity},c()}),u.addEventListener("error",h=>{l(h.error)}),u.src=r.image})},this._initStyle=()=>{const o=this.element,r=this.container.actualOptions;if(o){this._fullScreen?this._setFullScreenStyle():this._resetOriginalStyle();for(const a in r.style){if(!a||!r.style||!Object.prototype.hasOwnProperty.call(r.style,a))continue;const c=r.style[a];c&&o.style.setProperty(a,c,"important")}}}
1,this._initTrail=async()=>{const o=this.container.actualOptions,r=o.particles.move.trail,a=r.fill;if(!r.enable)return;const c=Nn/r.length;if(a.color){const l=fe(this._engine,a.color);if(!l)return;this._trailFill={color:{...l},opacity:c}}else await new Promise((l,u)=>{if(!a.image)return;const h=document.createElement("img");h.addEventListener("load",()=>{this._trailFill={image:h,opacity:c},l()}),h.addEventListener("error",f=>{u(f.error)}),h.src=a.image})},this._paintBase=o=>{this.draw(r=>Ko(r,this.size,o))},this._paintImage=(o,r)=>{this.draw(a=>Zo(a,this.size,o,r))},this._repairStyle=()=>{const o=this.element;if(!o)return;this._safeMutationObserver(a=>a.disconnect()),this._initStyle(),this.initBackground();const r=this._pointerEvents;o.style.pointerEvents=r,o.setAttribute("pointer-events",r),this._safeMutationObserver(a=>{!o||!(o instanceof Node)||a.observe(o,{attributes:!0})})},this._resetOriginalStyle=()=>{const o=this.element,r=this._originalStyle;!o||!r||tn(o,r,!0)},this._safeMutationObserver=o=>{this._mutationObserver&&o(this._mutationObserver)},this._setFullScreenStyle=()=>{const o=this.element;o&&tn(o,Qo(this.container.actualOptions.fullScreen.zIndex),!0)},this._engine=i,this._standardSize={height:0,width:0};const n=e.retina.pixelRatio,s=this._standardSize;this.size={height:s.height*n,width:s.width*n},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(){const e=this.container.actualOptions,i=e.particles.move.trail,n=this._trailFill;e.backgroundMask.enable?this.paint():i.enable&&i.length>eo&&n?n.color?this._paintBase(Pe(n.color,n.opacity)):n.image&&this._paintImage(n.image,n.opacity):e.clear&&this.draw(s=>{Kt(s,this.size)})}destroy(){if(this.stop(),this._generated){const e=this.element;e==null||e.remove(),this.element=void 0}else this._resetOriginalStyle();this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[]}draw(e){const i=this._context;if(i)return e(i)}drawAsync(e){const i=this._context;if(i)return e(i)}drawParticle(e,i){if(e.spawning||e.destroyed)return;const n=e.getRadius();if(n<=Js)return;const s=e.getFillColor(),o=e.getStrokeColor()??s;let[r,a]=this._getPluginParticleColors(e);r||(r=s),a||(a=o),!(!r&&!a)&&this.draw(c=>{var v;const l=this.container,u=l.actualOptions,h=e.options.zIndex,f=to-e.zIndexFactor,d=f**h.opacityRate,m=e.bubble.opacity??((v=e.opacity)==null?void 0:v.value)??vi,g=e.strokeOpacity??m,y=m*d,_=g*d,w={},C={fill:r?pt(r,y):void 0};C.stroke=a?pt(a,_):C.fill,this._applyPreDrawUpdaters(c,e,n,y,C,w),Jo({container:l,context:c,particle:e,delta:i,colorStyles:C,backgroundMask:u.backgroundMask.enable,composite:u.backgroundMask.composite,radius:n*f**h.sizeRate,opacity:y,shadow:e.options.shadow,transform:w}),this._applyPostDrawUpdaters(e)})}drawParticlePlugin(e,i,n){this.draw(s=>sr(s,e,i,n))}drawPlugin(e,i){this.draw(n=>nr(n,e,i))}
vendor: 25,711 bytes, line 1
1async init(){this._safeMutationObserver(e=>e.disconnect()),this._mutationObserver=Bo(e=>{for(const i of e)i.type==="attributes"&&i.attributeName==="style"&&this._repairStyle()}),this.resize(),this._initStyle(),await this._initCover();try{await this._initTrail()}catch(e){He().error(e)}this.initBackground(),this._safeMutationObserver(e=>{!this.element||!(this.element instanceof Node)||e.observe(this.element,{attributes:!0})}),this.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){const e=this.container.actualOptions,i=e.background,n=this.element;if(!n)return;const s=n.style;if(s){if(i.color){const o=fe(this._engine,i.color);s.backgroundColor=o?Pe(o,i.opacity):""}else s.backgroundColor="";s.backgroundImage=i.image||"",s.backgroundPosition=i.position||"",s.backgroundRepeat=i.repeat||"",s.backgroundSize=i.size||""}}initPlugins(){this._resizePlugins=[];for(const e of this.container.plugins.values())e.resize&&this._resizePlugins.push(e),(e.particleFillColor??e.particleStrokeColor)&&this._colorPlugins.push(e)}initUpdaters(){this._preDrawUpdaters=[],this._postDrawUpdaters=[];for(const e of this.container.particles.updaters)e.afterDraw&&this._postDrawUpdaters.push(e),(e.getColorStyles??e.getTransformValues??e.beforeDraw)&&this._preDrawUpdaters.push(e)}loadCanvas(e){this._generated&&this.element&&this.element.remove(),this._generated=e.dataset&&Be in e.dataset?e.dataset[Be]==="true":this._generated,this.element=e,this.element.ariaHidden="true",this._originalStyle=Ho(this.element.style);const i=this._standardSize;i.height=e.offsetHeight,i.width=e.offsetWidth;const n=this.container.retina.pixelRatio,s=this.size;e.height=s.height=i.height*n,e.width=s.width=i.width*n,this._context=this.element.getContext("2d"),this._safeMutationObserver(o=>o.disconnect()),this.container.retina.init(),this.initBackground(),this._safeMutationObserver(o=>{!this.element||!(this.element instanceof Node)||o.observe(this.element,{attributes:!0})})}paint(){const e=this.container.actualOptions;this.draw(i=>{e.backgroundMask.enable&&e.backgroundMask.cover?(Kt(i,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;const e=this.container,i=e.canvas._standardSize,n={width:this.element.offsetWidth,height:this.element.offsetHeight},s=e.retina.pixelRatio,o={width:n.width*s,height:n.height*s};if(n.height===i.height&&n.width===i.width&&o.height===this.element.height&&o.width===this.element.width)return!1;const r={...i};i.height=n.height,i.width=n.width;const a=this.size;return this.element.width=a.width=o.width,this.element.height=a.height=o.height,this.container.started&&e.particles.setResizeFactor({width:i.width/r.width,height:i.height/r.height}),!0}setPointerEvents(e){this.element&&(this._pointerEvents=e,this._repairStyle())}stop(){this._safeMutationObserver(e=>e.disconnect()),this._mutationObserver=void 0,this.draw(e=>Kt(e,this.size))}async windowResize(){if(!this.element||!this.resize())return;const e=this.container,i=e.updateActualOptions();e.particles.setDensity(),this._applyResizePlugins(),i&&await e.refresh()}}var tt;(function(t){t.canvas="canvas",t.parent="parent",t.window="window"})(tt||(tt={}));function re(t,e,i,n,s){if(n){let o={passive:!0};Vn(s)?o.capture=s:s!==void 0&&(o=s),t.addEventListener(e,i,o)}else{const o=s;t.removeEventListener(e,i,o)}}class cr{constructor(e){this.container=e,this._doMouseTouchClick=i=>{const n=this.container,s=n.actualOptions;if(this._canPush){const o=n.interactivity.mouse,r=o.position;if(!r)return;o.clickPosition={...r},o.clickTime=new Date().getTime();const a=s.interactivity.events.onClick;se(a.mode,c=>this.container.handleClickMode(c))}i.type==="touchend"&&setTimeout(()=>this._mouseTouchFinish(),bo)},this._handleThemeChange=i=>{const n=i,s=this.container,o=s.options,r=o.defaultThemes,a=n.matches?r.dark:r.light,c=o.themes.find(l=>l.name===a);c!=null&&c.default.auto&&s.loadTheme(a)},this._handleVisibilityChange=()=>{const i=this.container,n=i.actualOptions;this._mouseTouchFinish(),n.pauseOnBlur&&(document!=null&&document.hidden?(i.pageHidden=!0,i.pause()):(i.pageHidden=!1,i.animationStatus?i.play(!0):i.draw(!0)))},this._handleWindowResize=()=>{this._resizeTimeout&&(clearTimeout(this._resizeTimeout),delete this._resizeTimeout);const i=async()=>{const n=this.container.canvas;await(n==null?void 0:n.windowResize())};this._resizeTimeout=setTimeout(()=>void i(),this.container.actualOptions.interactivity.events.resize.delay*H)},this._manageInteractivityListeners=(i,n)=>{const s=this._handlers,o=this.container,r=o.actualOptions,a=o.interactivity.element;if(!a)return;const c=a,l=o.canvas;l.setPointerEvents(c===l.element?"initial":"none"),(r.interactivity.events.onHover.enable||r.interactivity.events.onClick.enable)&&(re(a,Ue,s.mouseMove,n),re(a,qs,s.touchStart,n),re(a,Us,s.touchMove,n),r.interactivity.events.onClick.enable?(re(a,Li,s.touchEndClick,n),re(a,As,s.mouseUp,n),re(a,Ns,s.mouseDown,n)):re(a,Li,s.touchEnd,n),re(a,i,s.mouseLeave,n),re(a,Vs,s.touchCancel,n))},this._manageListeners=i=>{const n=this._handlers,s=this.container,o=s.actualOptions,r=o.interactivity.detectsOn,a=s.canvas.element;let c=ci;r===tt.window?(s.interactivity.element=window,c=$s):r===tt.parent&&a?s.interactivity.element=a.parentElement??a.parentNode:s.interactivity.element=a,this._manageMediaMatch(i),this._manageResize(i),this._manageInteractivityListeners(c,i),document&&re(document,Ws,n.visibilityChange,i,!1)},this._manageMediaMatch=i=>{const n=this._handlers,s=Qn("(prefers-color-scheme: dark)");if(s){if(s.addEventListener!==void 0){re(s,"change",n.themeChange,i);return}s.addListener!==void 0&&(i?s.addListener(n.oldThemeChange):s.removeListener(n.oldThemeChange))}},this._manageResize=i=>{const n=this._handlers,s=this.container;if(!s.actualOptions.interactivity.events.resize)return;if(typeof ResizeObserver>"u"){re(window,Hs,n.resize,i);return}const r=s.canvas.element;this._resizeObserver&&!i?(r&&this._resizeObserver.unobserve(r),this._resizeObserver.disconnect(),delete this._resizeObserver):!this._resizeObserver&&i&&r&&(this._resizeObserver=new ResizeObserver(a=>{a.find(l=>l.target===r)&&this._handleWindowResize()}),this._resizeObserver.observe(r))},this._mouseDown=()=>{const{interactivity:i}=this.container;if(!i)return;const{mouse:n}=i;n.clicking=!0,n.downPosition=n.position},this._mouseTouchClick=i=>{const n=this.container,s=n.actualOptions,{mouse:o}=n.interactivity;o.inside=!0;let r=!1;const a=o.position;if(!(!a||!s.interactivity.events.onClick.enable)){for(const c of n.plugins.values())if(c.clickPositionValid&&(r=c.clickPositionValid(a),r))break;r||this._doMouseTouchClick(i),o.clicking=!1}},this._mouseTouchFinish=()=>{const i=this.container.interactivity;if(!i)return;const n=i.mouse;delete n.position,delete n.clickPosition,delete n.downPosition,i.status=ci,n.inside=!1,n.clicking=!1},this._mouseTouchMove=i=>{const n=this.container,s=n.actualOptions,o=n.interactivity,r=n.canvas.element;if(!(o!=null&&o.element))return;o.mouse.inside=!0;let a;if(i.type.startsWith("pointer")){this._canPush=!0;const l=i;if(o.element===window){if(r){const u=r.getBoundingClientRect();a={x:l.clientX-u.left,y:l.clientY-u.top}}}else if(s.interactivity.detectsOn===tt.parent){const u=l.target,h=l.currentTarget;if(u&&h&&r){const f=u.getBoundingClientRect(),d=h.getBoundingClientRect(),m=r.getBoundingClientRect();a={x:l.offsetX+W*f.left-(d.left+m.left),y:l.offsetY+W*f.top-(d.top+m.top)}}else a={x:l.offsetX??l.clientX,y:l.offsetY??l.clientY}}else l.target===r&&(a={x:l.offsetX??l.clientX,y:l.offsetY??l.clientY})}else if(this._canPush=i.type!=="touchmove",r){const l=i,u=l.touches[l.touches.length-qn],h=r.getBoundingClientRect();a={x:u.clientX-(h.left??Dt),y:u.clientY-(h.top??Dt)}}const c=n.retina.pixelRatio;a&&(a.x*=c,a.y*=c),o.mouse.position=a,o.status=Ue},this._touchEnd=i=>{const n=i,s=Array.from(n.changedTouches);for(const o of s)this._touches.delete(o.identifier);this._mouseTouchFinish()},this._touchEndClick=i=>{const n=i,s=Array.from(n.changedTouches);for(const o of s)this._touches.delete(o.identifier);this._mouseTouchClick(i)},this._touchStart=i=>{const n=i,s=Array.from(n.changedTouches);for(const o of s)this._touches.set(o.identifier,performance.now());this._mouseTouchMove(i)},this._canPush=!0,this._touches=new Map,this._handlers={mouseDown:()=>this._mouseDown(),mouseLeave:()=>this._mouseTouchFinish(),mouseMove:i=>this._mouseTouchMove(i),mouseUp:i=>this._mouseTouchClick(i),touchStart:i=>this._touchStart(i),touchMove:i=>this._mouseTouchMove(i),touchEnd:i=>this._touchEnd(i),touchCancel:i=>this._touchEnd(i),touchEndClick:i=>this._touchEndClick(i),visibilityChange:()=>this._handleVisibilityChange(),themeChange:i=>this._handleThemeChange(i),oldThemeChange:i=>this._handleThemeChange(i),resize:()=>{this._handleWindowResize()}}}addListeners(){this._manageListeners(!0)}removeListeners(){this._manageListeners(!1)}}var K;(function(t){t.configAdded="configAdded",t.containerInit="containerInit",t.particlesSetup="particlesSetup",t.containerStarted="containerStarted",t.containerStopped="containerStopped",t.containerDestroyed="containerDestroyed",t.containerPaused="containerPaused",t.containerPlay="containerPlay",t.containerBuilt="containerBuilt",t.particleAdded="particleAdded",t.particleDestroyed="particleDestroyed",t.particleRemoved="particleRemoved"})(K||(K={}));class X{constructor(){this.value=""}static create(e,i){const n=new X;return n.load(e),i!==void 0&&(Ee(i)||xe(i)?n.load({value:i}):n.load(i)),n}load(e){b(e)||b(e.value)||(this.value=e.value)}}class lr{constructor(){this.color=new X,this.color.value="",this.image="",this.position="",this.repeat="",this.size="",this.opacity=1}load(e){b(e)||(e.color!==void 0&&(this.color=X.create(this.color,e.color)),e.image!==void 0&&(this.image=e.image),e.position!==void 0&&(this.position=e.position),e.repeat!==void 0&&(this.repeat=e.repeat),e.size!==void 0&&(this.size=e.size),e.opacity!==void 0&&(this.opacity=e.opacity))}}class ur{constructor(){this.opacity=1}load(e){b(e)||(e.color!==void 0&&(this.color=X.create(this.color,e.color)),e.image!==void 0&&(this.image=e.image),e.opacity!==void 0&&(this.opacity=e.opacity))}}class hr{constructor(){this.composite="destination-out",this.cover=new ur,this.enable=!1}load(e){if(!b(e)){if(e.composite!==void 0&&(this.composite=e.composite),e.cover!==void 0){const i=e.cover,n=Ee(e.cover)?{color:e.cover}:e.cover;this.cover.load(i.color!==void 0||i.image!==void 0?i:{color:n})}e.enable!==void 0&&(this.enable=e.enable)}}}class dr{constructor(){this.enable=!0,this.zIndex=0}load(e){b(e)||(e.enable!==void 0&&(this.enable=e.enable),e.zIndex!==void 0&&(this.zIndex=e.zIndex))}}class fr{constructor(){this.enable=!1,this.mode=[]}load(e){b(e)||(e.enable!==void 0&&(this.enable=e.enable),e.mode!==void 0&&(this.mode=e.mode))}}var ct;(function(t){t.circle="circle",t.rectangle="rectangle"})(ct||(ct={}));class nn{constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=ct.circle}load(e){b(e)||(e.selectors!==void 0&&(this.selectors=e.selectors),e.enable!==void 0&&(this.enable=e.enable),e.mode!==void 0&&(this.mode=e.mode),e.type!==void 0&&(this.type=e.type))}}class pr{constructor(){this.enable=!1,this.force=2,this.smooth=10}load(e){b(e)||(e.enable!==void 0&&(this.enable=e.enable),e.force!==void 0&&(this.force=e.force),e.smooth!==void 0&&(this.smooth=e.smooth))}}class mr{constructor(){this.enable=!1,this.mode=[],this.parallax=new pr}load(e){b(e)||(e.enable!==void 0&&(this.enable=e.enable),e.mode!==void 0&&(this.mode=e.mode),this.parallax.load(e.parallax))}}class yr{constructor(){this.delay=.5,this.enable=!0}load(e){b(e)||(e.delay!==void 0&&(this.delay=e.delay),e.enable!==void 0&&(this.enable=e.enable))}}class gr{constructor(){this.onClick=new fr,this.onDiv=new nn,this.onHover=new mr,this.resize=new yr}load(e){if(b(e))return;this.onClick.load(e.onClick);const i=e.onDiv;i!==void 0&&(this.onDiv=se(i,n=>{const s=new nn;return s.load(n),s})),this.onHover.load(e.onHover),this.resize.load(e.resize)}}class br{constructor(e,i){this._engine=e,this._container=i}load(e){if(b(e)||!this._container)return;const i=this._engine.interactors.get(this._container);if(i)for(const n of i)n.loadModeOptions&&n.loadModeOptions(this,e)}}class os{constructor(e,i){this.detectsOn=tt.window,this.events=new gr,this.modes=new br(e,i)}load(e){if(b(e))return;const i=e.detectsOn;i!==void 0&&(this.detectsOn=i),this.events.load(e.events),this.modes.load(e.modes)}}class vr{load(e){b(e)||(e.position&&(this.position={x:e.position.x??Xi,y:e.position.y??Xi,mode:e.position.mode??rt.percent}),e.options&&(this.options=G({},e.options)))}}var $e;(function(t){t.screen="screen",t.canvas="canvas"})($e||($e={}));class xr{constructor(){this.maxWidth=1/0,this.options={},this.mode=$e.canvas}load(e){b(e)||(b(e.maxWidth)||(this.maxWidth=e.maxWidth),b(e.mode)||(e.mode===$e.screen?this.mode=$e.screen:this.mode=$e.canvas),b(e.options)||(this.options=G({},e.options)))}}var ze;(function(t){t.any="any",t.dark="dark",t.light="light"})(ze||(ze={}));class wr{constructor(){this.auto=!1,this.mode=ze.any,this.value=!1}load(e){b(e)||(e.auto!==void 0&&(this.auto=e.auto),e.mode!==void 0&&(this.mode=e.mode),e.value!==void 0&&(this.value=e.value))}}class _r{constructor(){this.name="",this.default=new wr}load(e){b(e)||(e.name!==void 0&&(this.name=e.name),this.default.load(e.default),e.options!==void 0&&(this.options=G({},e.options)))}}class Pi{constructor(){this.count=0,this.enable=!1,this.speed=1,this.decay=0,this.delay=0,this.sync=!1}load(e){b(e)||(e.count!==void 0&&(this.count=S(e.count)),e.enable!==void 0&&(this.enable=e.enable),e.speed!==void 0&&(this.speed=S(e.speed)),e.decay!==void 0&&(this.decay=S(e.decay)),e.delay!==void 0&&(this.delay=S(e.delay)),e.sync!==void 0&&(this.sync=e.sync))}}class zi extends Pi{constructor(){super(),this.mode=Ae.auto,this.startValue=et.random}load(e){super.load(e),!b(e)&&(e.mode!==void 0&&(this.mode=e.mode),e.startValue!==void 0&&(this.startValue=e.startValue))}}class Zt extends Pi{constructor(){super(),this.offset=0,this.sync=!0}load(e){super.load(e),!b(e)&&e.offset!==void 0&&(this.offset=S(e.offset))}}class kr{constructor(){this.h=new Zt,this.s=new Zt,this.l=new Zt}load(e){b(e)||(this.h.load(e.h),this.s.load(e.s),this.l.load(e.l))}}class mt extends X{constructor(){super(),this.animation=new kr}static create(e,i){const n=new mt;return n.load(e),i!==void 0&&(Ee(i)||xe(i)?n.load({value:i}):n.load(i)),n}load(e){if(super.load(e),b(e))return;const i=e.animation;i!==void 0&&(i.enable!==void 0?this.animation.h.load(i):this.animation.load(e.animation))}}var it;(function(t){t.absorb="absorb",t.bounce="bounce",t.destroy="destroy"})(it||(it={}));class Cr{constructor(){this.speed=2}load(e){b(e)||e.speed!==void 0&&(this.speed=e.speed)}}class Pr{constructor(){this.enable=!0,this.retries=0}load(e){b(e)||(e.enable!==void 0&&(this.enable=e.enable),e.retries!==void 0&&(this.retries=e.retries))}}class Qe{constructor(){this.value=0}load(e){b(e)||b(e.value)||(this.value=S(e.value))}}class zr extends Qe{constructor(){super(),this.animation=new Pi}load(e){if(super.load(e),b(e))return;const i=e.animation;i!==void 0&&this.animation.load(i)}}class rs extends zr{constructor(){super(),this.animation=new zi}load(e){super.load(e)}}class sn extends Qe{constructor(){super(),this.value=1}}class as{constructor(){this.horizontal=new sn,this.vertical=new sn}load(e){b(e)||(this.horizontal.load(e.horizontal),this.vertical.load(e.vertical))}}class Mr{constructor(){this.absorb=new Cr,this.bounce=new as,this.enable=!1,this.maxSpeed=50,this.mode=it.bounce,this.overlap=new Pr}load(e){b(e)||(this.absorb.load(e.absorb),this.bounce.load(e.bounce),e.enable!==void 0&&(this.enable=e.enable),e.maxSpeed!==void 0&&(this.maxSpeed=S(e.maxSpeed)),e.mode!==void 0&&(this.mode=e.mode),this.overlap.load(e.overlap))}}class Sr{constructor(){this.close=!0,this.fill=!0,this.options={},this.type=[]}load(e){if(b(e))return;const i=e.options;if(i!==void 0)for(const n in i){const s=i[n];s&&(this.options[n]=G(this.options[n]??{},s))}e.close!==void 0&&(this.close=e.close),e.fill!==void 0&&(this.fill=e.fill),e.type!==void 0&&(this.type=e.type)}}class Rr{constructor(){this.offset=0,this.value=90}load(e){b(e)||(e.offset!==void 0&&(this.offset=S(e.offset)),e.value!==void 0&&(this.value=S(e.value)))}}class Er{constructor(){this.distance=200,this.enable=!1,this.rotate={x:3e3,y:3e3}}load(e){if(!b(e)&&(e.distance!==void 0&&(this.distance=S(e.distance)),e.enable!==void 0&&(this.enable=e.enable),e.rotate)){const i=e.rotate.x;i!==void 0&&(this.rotate.x=i);const n=e.rotate.y;n!==void 0&&(this.rotate.y=n)}}}class Or{constructor(){this.x=50,this.y=50,this.mode=rt.percent,this.radius=0}load(e){b(e)||(e.x!==void 0&&(this.x=e.x),e.y!==void 0&&(this.y=e.y),e.mode!==void 0&&(this.mode=e.mode),e.radius!==void 0&&(this.radius=e.radius))}}class Dr{constructor(){this.acceleration=9.81,this.enable=!1,this.inverse=!1,this.maxSpeed=50}load(e){b(e)||(e.acceleration!==void 0&&(this.acceleration=S(e.acceleration)),e.enable!==void 0&&(this.enable=e.enable),e.inverse!==void 0&&(this.inverse=e.inverse),e.maxSpeed!==void 0&&(this.maxSpeed=S(e.maxSpeed)))}}class Ir{constructor(){this.clamp=!0,this.delay=new Qe,this.enable=!1,this.options={}}load(e){b(e)||(e.clamp!==void 0&&(this.clamp=e.clamp),this.delay.load(e.delay),e.enable!==void 0&&(this.enable=e.enable),this.generator=e.generator,e.options&&(this.options=G(this.options,e.options)))}}class Tr{load(e){b(e)||(e.color!==void 0&&(this.color=X.create(this.color,e.color)),e.image!==void 0&&(this.image=e.image))}}class Lr{constructor(){this.enable=!1,this.length=10,this.fill=new Tr}load(e){b(e)||(e.enable!==void 0&&(this.enable=e.enable),e.fill!==void 0&&this.fill.load(e.fill),e.length!==void 0&&(this.length=e.length))}}var j;(function(t){t.bounce="bounce",t.none="none",t.out="out",t.destroy="destroy",t.split="split"})(j||(j={}));class jr{constructor(){this.default=j.out}load(e){b(e)||(e.default!==void 0&&(this.default=e.default),this.bottom=e.bottom??e.default,this.left=e.left??e.default,this.right=e.right??e.default,this.top=e.top??e.default)}}class Fr{constructor(){this.acceleration=0,this.enable=!1}load(e){b(e)||(e.acceleration!==void 0&&(this.acceleration=S(e.acceleration)),e.enable!==void 0&&(this.enable=e.enable),e.position&&(this.position=G({},e.position)))}}class Br{constructor(){this.angle=new Rr,this.attract=new Er,this.center=new Or,this.decay=0,this.distance={},this.direction=U.none,this.drift=0,this.enable=!1,this.gravity=new Dr,this.path=new Ir,this.outModes=new jr,this.random=!1,this.size=!1,this.speed=2,this.spin=new Fr,this.straight=!1,this.trail=new Lr,this.vibrate=!1,this.warp=!1}load(e){if(b(e))return;this.angle.load(Oe(e.angle)?{value:e.angle}:e.angle),this.attract.load(e.attract),this.center.load(e.center),e.decay!==void 0&&(this.decay=S(e.decay)),e.direction!==void 0&&(this.direction=e.direction),e.distance!==void 0&&(this.distance=Oe(e.distance)?{horizontal:e.distance,vertical:e.distance}:{...e.distance}),e.drift!==void 0&&(this.drift=S(e.drift)),e.enable!==void 0&&(this.enable=e.enable),this.gravity.load(e.gravity);const i=e.outModes;i!==void 0&&(Ke(i)?this.outModes.load(i):this.outModes.load({default:i})),this.path.load(e.path),e.random!==void 0&&(this.random=e.random),e.size!==void 0&&(this.size=e.size),e.speed!==void 0&&(this.speed=S(e.speed)),this.spin.load(e.spin),e.straight!==void 0&&(this.straight=e.straight),this.trail.load(e.trail),e.vibrate!==void 0&&(this.vibrate=e.vibrate),e.warp!==void 0&&(this.warp=e.warp)}}class Nr extends zi{constructor(){super(),this.destroy=Ve.none,this.speed=2}load(e){super.load(e),!b(e)&&e.destroy!==void 0&&(this.destroy=e.destroy)}}class Ar extends rs{constructor(){super(),this.animation=new Nr,this.value=1}load(e){if(b(e))return;super.load(e);const i=e.animation;i!==void 0&&this.animation.load(i)}}class $r{constructor(){this.enable=!1,this.width=1920,this.height=1080}load(e){if(b(e))return;e.enable!==void 0&&(this.enable=e.enable);const i=e.width;i!==void 0&&(this.width=i);const n=e.height;n!==void 0&&(this.height=n)}}var yt;(function(t){t.delete="delete",t.wait="wait"})(yt||(yt={}));class qr{constructor(){this.mode=yt.delete,this.value=0}load(e){b(e)||(e.mode!==void 0&&(this.mode=e.mode),e.value!==void 0&&(this.value=e.value))}}class Ur{constructor(){this.density=new $r,this.limit=new qr,this.value=0}load(e){b(e)||(this.density.load(e.density),this.limit.load(e.limit),e.value!==void 0&&(this.value=e.value))}}class Vr{constructor(){this.blur=0,this.color=new X,this.enable=!1,this.offset={x:0,y:0},this.color.value="#000"}load(e){b(e)||(e.blur!==void 0&&(this.blur=e.blur),this.color=X.create(this.color,e.color),e.enable!==void 0&&(this.enable=e.enable),e.offset!==void 0&&(e.offset.x!==void 0&&(this.offset.x=e.offset.x),e.offset.y!==void 0&&(this.offset.y=e.offset.y)))}}class Hr{constructor(){this.close=!0,this.fill=!0,this.options={},this.type="circle"}load(e){if(b(e))return;const i=e.options;if(i!==void 0)for(const n in i){const s=i[n];s&&(this.options[n]=G(this.options[n]??{},s))}e.close!==void 0&&(this.close=e.close),e.fill!==void 0&&(this.fill=e.fill),e.type!==void 0&&(this.type=e.type)}}class Wr extends zi{constructor(){super(),this.destroy=Ve.none,this.speed=5}load(e){super.load(e),!b(e)&&e.destroy!==void 0&&(this.destroy=e.destroy)}}class Qr extends rs{constructor(){super(),this.animation=new Wr,this.value=3}load(e){if(super.load(e),b(e))return;const i=e.animation;i!==void 0&&this.animation.load(i)}}class on{constructor(){this.width=0}load(e){b(e)||(e.color!==void 0&&(this.color=mt.create(this.color,e.color)),e.width!==void 0&&(this.width=S(e.width)),e.opacity!==void 0&&(this.opacity=S(e.opacity)))}}class Gr extends Qe{constructor(){super(),this.opacityRate=1,this.sizeRate=1,this.velocityRate=1}load(e){super.load(e),!b(e)&&(e.opacityRate!==void 0&&(this.opacityRate=e.opacityRate),e.sizeRate!==void 0&&(this.sizeRate=e.sizeRate),e.velocityRate!==void 0&&(this.velocityRate=e.velocityRate))}}class Xr{constructor(e,i){this._engine=e,this._container=i,this.bounce=new as,this.collisions=new Mr,this.color=new mt,this.color.value="#fff",this.effect=new Sr,this.groups={},this.move=new Br,this.number=new Ur,this.opacity=new Ar,this.reduceDuplicates=!1,this.shadow=new Vr,this.shape=new Hr,this.size=new Qr,this.stroke=new on,this.zIndex=new Gr}load(e){if(b(e))return;if(e.groups!==void 0)for(const n of Object.keys(e.groups)){if(!Object.hasOwn(e.groups,n))continue;const s=e.groups[n];s!==void 0&&(this.groups[n]=G(this.groups[n]??{},s))}e.reduceDuplicates!==void 0&&(this.reduceDuplicates=e.reduceDuplicates),this.bounce.load(e.bounce),this.color.load(mt.create(this.color,e.color)),this.effect.load(e.effect),this.move.load(e.move),this.number.load(e.number),this.opacity.load(e.opacity),this.shape.load(e.shape),this.size.load(e.size),this.shadow.load(e.shadow),this.zIndex.load(e.zIndex),this.collisions.load(e.collisions),e.interactivity!==void 0&&(this.interactivity=G({},e.interactivity));const i=e.stroke;if(i&&(this.stroke=se(i,n=>{const s=new on;return s.load(n),s})),this._container){const n=this._engine.updaters.get(this._container);if(n)for(const o of n)o.loadOptions&&o.loadOptions(this,e);const s=this._engine.interactors.get(this._container);if(s)for(const o of s)o.loadParticlesOptions&&o.loadParticlesOptions(this,e)}}}function cs(t,...e){for(const i of e)t.load(i)}function ls(t,e,...i){const n=new Xr(t,e);return cs(n,...i),n}class Yr{constructor(e,i){this._findDefaultTheme=n=>this.themes.find(s=>s.default.value&&s.default.mode===n)??this.themes.find(s=>s.default.value&&s.default.mode===ze.any),this._importPreset=n=>{this.load(this._engine.getPreset(n))},this._engine=e,this._container=i,this.autoPlay=!0,this.background=new lr,this.backgroundMask=new hr,this.clear=!0,this.defaultThemes={},this.delay=0,this.fullScreen=new dr,this.detectRetina=!0,this.duration=0,this.fpsLimit=120,this.interactivity=new os(e,i),this.manualParticles=[],this.particles=ls(this._engine,this._container),this.pauseOnBlur=!0,this.pauseOnOutsideViewport=!0,this.responsive=[],this.smooth=!1,this.style={},this.themes=[],this.zLayers=100}load(e){var r,a;if(b(e))return;e.preset!==void 0&&se(e.preset,c=>this._importPreset(c)),e.autoPlay!==void 0&&(this.autoPlay=e.autoPlay),e.clear!==void 0&&(this.clear=e.clear),e.key!==void 0&&(this.key=e.key),e.name!==void 0&&(this.name=e.name),e.delay!==void 0&&(this.delay=S(e.delay));const i=e.detectRetina;i!==void 0&&(this.detectRetina=i),e.duration!==void 0&&(this.duration=S(e.duration));const n=e.fpsLimit;n!==void 0&&(this.fpsLimit=n),e.pauseOnBlur!==void 0&&(this.pauseOnBlur=e.pauseOnBlur),e.pauseOnOutsideViewport!==void 0&&(this.pauseOnOutsideViewport=e.pauseOnOutsideViewport),e.zLayers!==void 0&&(this.zLayers=e.zLayers),this.background.load(e.background);const s=e.fullScreen;Vn(s)?this.fullScreen.enable=s:this.fullScreen.load(s),this.backgroundMask.load(e.backgroundMask),this.interactivity.load(e.interactivity),e.manualParticles&&(this.manualParticles=e.manualParticles.map(c=>{const l=new vr;return l.load(c),l})),this.particles.load(e.particles),this.style=G(this.style,e.style),this._engine.loadOptions(this,e),e.smooth!==void 0&&(this.smooth=e.smooth);const o=this._engine.interactors.get(this._container);if(o)for(const c of o)c.loadOptions&&c.loadOptions(this,e);if(e.responsive!==void 0)for(const c of e.responsive){const l=new xr;l.load(c),this.responsive.push(l)}if(this.responsive.sort((c,l)=>c.maxWidth-l.maxWidth),e.themes!==void 0)for(const c of e.themes){const l=this.themes.find(u=>u.name===c.name);if(l)l.load(c);else{const u=new _r;u.load(c),this.themes.push(u)}}
1this.defaultThemes.dark=(r=this._findDefaultTheme(ze.dark))==null?void 0:r.name,this.defaultThemes.light=(a=this._findDefaultTheme(ze.light))==null?void 0:a.name}setResponsive(e,i,n){this.load(n);const s=this.responsive.find(o=>o.mode===$e.screen&&screen?o.maxWidth>screen.availWidth:o.maxWidth*i>e);return this.load(s==null?void 0:s.options),s==null?void 0:s.maxWidth}setTheme(e){if(e){const i=this.themes.find(n=>n.name===e);i&&this.load(i.options)}else{const i=Qn("(prefers-color-scheme: dark)"),n=i==null?void 0:i.matches,s=this._findDefaultTheme(n?ze.dark:ze.light);s&&this.load(s.options)}}}var lt;(function(t){t.external="external",t.particles="particles"})(lt||(lt={}));class Kr{constructor(e,i){this.container=i,this._engine=e,this._interactors=[],this._externalInteractors=[],this._particleInteractors=[]}externalInteract(e){for(const i of this._externalInteractors)i.isEnabled()&&i.interact(e)}handleClickMode(e){var i;for(const n of this._externalInteractors)(i=n.handleClickMode)==null||i.call(n,e)}async init(){this._interactors=await this._engine.getInteractors(this.container,!0),this._externalInteractors=[],this._particleInteractors=[];for(const e of this._interactors){switch(e.type){case lt.external:this._externalInteractors.push(e);break;case lt.particles:this._particleInteractors.push(e);break}e.init()}}particlesInteract(e,i){for(const n of this._externalInteractors)n.clear(e,i);for(const n of this._particleInteractors)n.isEnabled(e)&&n.interact(e,i)}reset(e){for(const i of this._externalInteractors)i.isEnabled()&&i.reset(e);for(const i of this._particleInteractors)i.isEnabled(e)&&i.reset(e)}}var pe;(function(t){t.normal="normal",t.inside="inside",t.outside="outside"})(pe||(pe={}));function Zr(t,e,i,n){const s=e.options[t];if(s)return G({close:e.close,fill:e.fill},ae(s,i,n))}function Jr(t,e,i,n){const s=e.options[t];if(s)return G({close:e.close,fill:e.fill},ae(s,i,n))}function rn(t){if(!T(t.outMode,t.checkModes))return;const e=t.radius*W;t.coord>t.maxCoord-e?t.setCb(-t.radius):t.coord<e&&t.setCb(t.radius)}class ea{constructor(e,i){this.container=i,this._calcPosition=(n,s,o,r=Fi)=>{for(const m of n.plugins.values()){const g=m.particlePosition!==void 0?m.particlePosition(s,this):void 0;if(g)return te.create(g.x,g.y,o)}const a=n.canvas.size,c=Do({size:a,position:s}),l=te.create(c.x,c.y,o),u=this.getRadius(),h=this.options.move.outModes,f=m=>{rn({outMode:m,checkModes:[j.bounce],coord:l.x,maxCoord:n.canvas.size.width,setCb:g=>l.x+=g,radius:u})},d=m=>
vendor: 1,850 bytes, line 1
1{rn({outMode:m,checkModes:[j.bounce],coord:l.y,maxCoord:n.canvas.size.height,setCb:g=>l.y+=g,radius:u})};return f(h.left??h.default),f(h.right??h.default),d(h.top??h.default),d(h.bottom??h.default),this._checkOverlap(l,r)?this._calcPosition(n,void 0,o,r+uo):l},this._calculateVelocity=()=>{const n=Oo(this.direction),s=n.copy(),o=this.options.move;if(o.direction===U.inside||o.direction===U.outside)return s;const r=Re(k(o.angle.value)),a=Re(k(o.angle.offset)),c={left:a-r*B,right:a+r*B};return o.straight||(s.angle+=ie(S(c.left,c.right))),o.random&&typeof o.speed=="number"&&(s.length*=E()),s},this._checkOverlap=(n,s=Fi)=>{const o=this.options.collisions,r=this.getRadius();if(!o.enable)return!1;const a=o.overlap;if(a.enable)return!1;const c=a.retries;if(c>=ho&&s>c)throw new Error(`${ce} particle is overlapping and can't be placed`);return!!this.container.particles.find(l=>ne(n,l.position)<r+l.getRadius())},this._getRollColor=n=>{if(!n||!this.roll||!this.backColor&&!this.roll.alter)return n;const s=this.roll.horizontal&&this.roll.vertical?W*Hi:Hi,o=this.roll.horizontal?Math.PI*B:It;return Math.floor(((this.roll.angle??It)+o)/(Math.PI/s))%W?this.backColor?this.backColor:this.roll.alter?or(n,this.roll.alter.type,this.roll.alter.value):n:n},this._initPosition=n=>{const s=this.container,o=k(this.options.zIndex.value);this.position=this._calcPosition(s,n,le(o,fo,s.zLayers)),this.initialPosition=this.position.copy();const r=s.canvas.size;switch(this.moveCenter={...Zn(this.options.move.center,r),radius:this.options.move.center.radius??po,mode:this.options.move.center.mode??rt.percent},this.direction=Eo(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case U.inside:this.outType=pe.inside;break;case U.outside:this.outType=pe.outside;break}this.offset=A.origin},this._engine=e}destroy(e){var o,r,a;
1if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1,this.slow.inRange=!1;const i=this.container,n=this.pathGenerator,s=i.shapeDrawers.get(this.shape);(o=s==null?void 0:s.particleDestroy)==null||o.call(s,this);for(const c of i.plugins.values())(r=c.particleDestroyed)==null||r.call(c,this,e);for(const c of i.particles.updaters)(a=c.particleDestroyed)==null||a.call(c,this,e);n==null||n.reset(this),this._engine.dispatchEvent(K.particleDestroyed,{container:this.container,data:{particle:this}})}draw(e){const i=this.container,n=i.canvas;for(const s of i.plugins.values())n.drawParticlePlugin(s,this,e);n.drawParticle(this,e)}getFillColor(){return this._getRollColor(this.bubble.color??en(this.color))}getMass(){return this.getRadius()**ke*Math.PI*B}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??en(this.strokeColor))}init(e,i,n,s){var $,F,N,Y,oe,q;const o=this.container,r=this._engine;this.id=e,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=pe.normal,this.ignoresResizeRatio=!0;const a=o.retina.pixelRatio,c=o.actualOptions,l=ls(this._engine,o,c.particles),{reduceDuplicates:u}=l,h=l.effect.type,f=l.shape.type;this.effect=ae(h,this.id,u),this.shape=ae(f,this.id,u);const d=l.effect,m=l.shape;if(n){if(($=n.effect)!=null&&$.type){const O=n.effect.type,_e=ae(O,this.id,u);_e&&(this.effect=_e,d.load(n.effect))}if((F=n.shape)!=null&&F.type){const O=n.shape.type,_e=ae(O,this.id,u);_e&&(this.shape=_e,m.load(n.shape))}}if(this.effect===ot){const O=[...this.container.effectDrawers.keys()];this.effect=O[Math.floor(E()*O.length)]}if(this.shape===ot){const O=[...this.container.shapeDrawers.keys()];this.shape=O[Math.floor(E()*O.length)]}this.effectData=Zr(this.effect,d,this.id,u),this.shapeData=Jr(this.shape,m,this.id,u),l.load(n);const g=this.effectData;g&&l.load(g.particles);const y=this.shapeData;y&&l.load(y.particles);const _=new os(r,o);_.load(o.actualOptions.interactivity),_.load(l.interactivity),this.interactivity=_,this.effectFill=(g==null?void 0:g.fill)??l.effect.fill,this.effectClose=(g==null?void 0:g.close)??l.effect.close,this.shapeFill=(y==null?void 0:y.fill)??l.shape.fill,this.shapeClose=(y==null?void 0:y.close)??l.shape.close,this.options=l;const w=this.options.move.path;this.pathDelay=k(w.delay.value)*H,w.generator&&(this.pathGenerator=this._engine.getPathGenerator(w.generator),this.pathGenerator&&o.addPath(w.generator,this.pathGenerator)&&this.pathGenerator.init(o)),o.retina.initParticle(this),this.size=Kn(this.options.size,a),this.bubble={inRange:!1},this.slow={inRange:!1,factor:1},this._initPosition(i),this.initialVelocity=this._calculateVelocity(),this.velocity=this.initialVelocity.copy(),this.moveDecay=$n-k(this.options.move.decay);const C=o.particles;C.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/o.zLayers,this.sides=24;let v=o.effectDrawers.get(this.effect);v||(v=this._engine.getEffectDrawer(this.effect),v&&o.effectDrawers.set(this.effect,v)),v!=null&&v.loadEffect&&v.loadEffect(this);let P=o.shapeDrawers.get(this.shape);P||(P=this._engine.getShapeDrawer(this.shape),P&&o.shapeDrawers.set(this.shape,P)),P!=null&&P.loadShape&&P.loadShape(this);const R=P==null?void 0:P.getSidesCount;R&&(this.sides=R(this)),this.spawning=!1,this.shadowColor=fe(this._engine,this.options.shadow.color);for(const O of C.updaters)O.init(this);for(const O of C.movers)(N=O.init)==null||N.call(O,this);(Y=v==null?void 0:v.particleInit)==null||Y.call(v,o,this),(oe=P==null?void 0:P.particleInit)==null||oe.call(P,o,this);for(const O of o.plugins.values())(q=O.particleCreated)==null||q.call(O,this)}isInsideCanvas(){const e=this.getRadius(),i=this.container.canvas.size,n=this.position;return n.x>=-e&&n.y>=-e&&n.y<=i.height+e&&n.x<=i.width+e}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){var e;
vendor: 5,165 bytes, line 1
1for(const i of this.container.particles.updaters)(e=i.reset)==null||e.call(i,this)}}class ta{constructor(e,i){this.position=e,this.particle=i}}var nt;(function(t){t.circle="circle",t.rectangle="rectangle"})(nt||(nt={}));class us{constructor(e,i,n){this.position={x:e,y:i},this.type=n}}class Q extends us{constructor(e,i,n){super(e,i,nt.circle),this.radius=n}contains(e){return ne(e,this.position)<=this.radius}intersects(e){const i=this.position,n=e.position,s={x:Math.abs(n.x-i.x),y:Math.abs(n.y-i.y)},o=this.radius;if(e instanceof Q||e.type===nt.circle){const r=e,a=o+r.radius,c=Math.sqrt(s.x**ke+s.y**ke);return a>c}else if(e instanceof me||e.type===nt.rectangle){const r=e,{width:a,height:c}=r.size;return Math.pow(s.x-a,ke)+Math.pow(s.y-c,ke)<=o**ke||s.x<=o+a&&s.y<=o+c||s.x<=a||s.y<=c}return!1}}class me extends us{constructor(e,i,n,s){super(e,i,nt.rectangle),this.size={height:s,width:n}}contains(e){const i=this.size.width,n=this.size.height,s=this.position;return e.x>=s.x&&e.x<=s.x+i&&e.y>=s.y&&e.y<=s.y+n}intersects(e){if(e instanceof Q)return e.intersects(this);const i=this.size.width,n=this.size.height,s=this.position,o=e.position,r=e instanceof me?e.size:{width:0,height:0},a=r.width,c=r.height;return o.x<s.x+i&&o.x+a>s.x&&o.y<s.y+n&&o.y+c>s.y}}class Lt{constructor(e,i){this.rectangle=e,this.capacity=i,this._subdivide=()=>{const{x:n,y:s}=this.rectangle.position,{width:o,height:r}=this.rectangle.size,{capacity:a}=this;for(let c=0;c<Xs;c++){const l=c%W;this._subs.push(new Lt(new me(n+o*B*l,s+r*B*(Math.round(c*B)-l),o*B,r*B),a))}this._divided=!0},this._points=[],this._divided=!1,this._subs=[]}insert(e){return this.rectangle.contains(e.position)?this._points.length<this.capacity?(this._points.push(e),!0):(this._divided||this._subdivide(),this._subs.some(i=>i.insert(e))):!1}query(e,i){const n=[];if(!e.intersects(this.rectangle))return[];for(const s of this._points)!e.contains(s.position)&&ne(e.position,s.position)>s.particle.getRadius()&&(!i||i(s.particle))||n.push(s.particle);if(this._divided)for(const s of this._subs)n.push(...s.query(e,i));return n}queryCircle(e,i,n){return this.query(new Q(e.x,e.y,i),n)}queryRectangle(e,i,n){return this.query(new me(e.x,e.y,i.width,i.height),n)}}const an=t=>{const{height:e,width:i}=t;return new me(Wi*i,Wi*e,Qi*i,Qi*e)};class ia{constructor(e,i){this._addToPool=(...s)=>{this._pool.push(...s)},this._applyDensity=(s,o,r,a)=>{var m,g,y;const c=s.number;if(!((m=s.number.density)!=null&&m.enable)){r===void 0?this._limit=c.limit.value:(((g=a==null?void 0:a.number.limit)==null?void 0:g.value)??c.limit.value)&&this._groupLimits.set(r,((y=a==null?void 0:a.number.limit)==null?void 0:y.value)??c.limit.value);return}const l=this._initDensityFactor(c.density),u=c.value,h=c.limit.value>Gi?c.limit.value:u,f=Math.min(u,h)*l+o,d=Math.min(this.count,this.filter(_=>_.group===r).length);r===void 0?this._limit=c.limit.value*l:this._groupLimits.set(r,c.limit.value*l),d<f?this.push(Math.abs(f-d),void 0,s,r):d>f&&this.removeQuantity(d-f,r)},this._initDensityFactor=s=>{const o=this._container;if(!o.canvas.element||!s.enable)return go;const r=o.canvas.element,a=o.retina.pixelRatio;return r.width*r.height/(s.height*s.width*a**ke)},this._pushParticle=(s,o,r,a)=>{try{let c=this._pool.pop();c||(c=new ea(this._engine,this._container)),c.init(this._nextId,s,o,r);let l=!0;return a&&(l=a(c)),l?(this._array.push(c),this._zArray.push(c),this._nextId++,this._engine.dispatchEvent(K.particleAdded,{container:this._container,data:{particle:c}}),c):void 0}catch(c){He().warning(`${ce} adding particle: ${c}`)}},this._removeParticle=(s,o,r)=>{const a=this._array[s];if(!a||a.group!==o)return!1;const c=this._zArray.indexOf(a);return this._array.splice(s,Tt),this._zArray.splice(c,Tt),a.destroy(r),this._engine.dispatchEvent(K.particleRemoved,{container:this._container,data:{particle:a}}),this._addToPool(a),!0},this._engine=e,this._container=i,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 Kr(e,i),this._pluginsInitialized=!1;const n=i.canvas.size;this.quadTree=new Lt(an(n),Bi),this.movers=[],this.updaters=[]}get count(){return this._array.length}addManualParticles(){const e=this._container;e.actualOptions.manualParticles.forEach(n=>this.addParticle(n.position?Zn(n.position,e.canvas.size):void 0,n.options))}addParticle(e,i,n,s){const o=this._container.actualOptions.particles.number.limit.mode,r=n===void 0?this._limit:this._groupLimits.get(n)??this._limit,a=this.count;if(r>Gi)switch(o){case yt.delete:{const c=a+mo-r;c>yo&&this.removeQuantity(c);break}case yt.wait:if(a>=r)return;break}return this._pushParticle(e,i,n,s)}clear(){this._array=[],this._zArray=[],this._pluginsInitialized=!1}destroy(){this._array=[],this._zArray=[],this.movers=[],this.updaters=[]}draw(e){const i=this._container,n=i.canvas;n.clear(),this.update(e);for(const s of i.plugins.values())n.drawPlugin(s,e);for(const s of this._zArray)s.draw(e)}filter(e){return this._array.filter(e)}find(e){return this._array.find(e)}get(e){return this._array[e]}handleClickMode(e){this._interactionManager.handleClickMode(e)}
1async init(){var s,o;const e=this._container,i=e.actualOptions;this._lastZIndex=0,this._needsSort=!1,await this.initPlugins();let n=!1;for(const r of e.plugins.values())if(n=((s=r.particlesInitialization)==null?void 0:s.call(r))??n,n)break;if(this.addManualParticles(),!n){const r=i.particles,a=r.groups;for(const c in a){const l=a[c];for(let u=this.count,h=0;h<((o=l.number)==null?void 0:o.value)&&u<r.number.value;u++,h++)this.addParticle(void 0,l,c)}for(let c=this.count;c<r.number.value;c++)this.addParticle()}}async initPlugins(){if(this._pluginsInitialized)return;const e=this._container;this.movers=await this._engine.getMovers(e,!0),this.updaters=await this._engine.getUpdaters(e,!0),await this._interactionManager.init();for(const i of e.pathGenerators.values())i.init(e)}push(e,i,n,s){for(let o=0;o<e;o++)this.addParticle(i==null?void 0:i.position,n,s)}async redraw(){this.clear(),await this.init(),this.draw({value:0,factor:0})}remove(e,i,n){this.removeAt(this._array.indexOf(e),void 0,i,n)}removeAt(e,i=Gs,n,s){if(e<di||e>this.count)return;let o=0;for(let r=e;o<i&&r<this.count;
vendor: 5,048 bytes, line 1
1r++)this._removeParticle(r,n,s)&&(r--,o++)}removeQuantity(e,i){this.removeAt(di,e,i)}setDensity(){const e=this._container.actualOptions,i=e.particles.groups,n=e.manualParticles.length;for(const s in i)this._applyDensity(i[s],n,s);this._applyDensity(e.particles,n)}setLastZIndex(e){this._lastZIndex=e,this._needsSort=this._needsSort||this._lastZIndex<e}setResizeFactor(e){this._resizeFactor=e}update(e){var o,r;const i=this._container,n=new Set;this.quadTree=new Lt(an(i.canvas.size),Bi);for(const a of i.pathGenerators.values())a.update();for(const a of i.plugins.values())(o=a.update)==null||o.call(a,e);const s=this._resizeFactor;for(const a of this._array){s&&!a.ignoresResizeRatio&&(a.position.x*=s.width,a.position.y*=s.height,a.initialPosition.x*=s.width,a.initialPosition.y*=s.height),a.ignoresResizeRatio=!1,this._interactionManager.reset(a);for(const c of this._container.plugins.values()){if(a.destroyed)break;(r=c.particleUpdate)==null||r.call(c,a,e)}for(const c of this.movers)c.isEnabled(a)&&c.move(a,e);if(a.destroyed){n.add(a);continue}this.quadTree.insert(new ta(a.getPosition(),a))}if(n.size){const a=c=>!n.has(c);this._array=this.filter(a),this._zArray=this._zArray.filter(a);for(const c of n)this._engine.dispatchEvent(K.particleRemoved,{container:this._container,data:{particle:c}});this._addToPool(...n)}this._interactionManager.externalInteract(e);for(const a of this._array){for(const c of this.updaters)c.update(a,e);!a.destroyed&&!a.spawning&&this._interactionManager.particlesInteract(a,e)}if(delete this._resizeFactor,this._needsSort){const a=this._zArray;a.sort((c,l)=>l.position.z-c.position.z||c.id-l.id),this._lastZIndex=a[a.length-qn].position.z,this._needsSort=!1}}}class na{constructor(e){this.container=e,this.pixelRatio=Ni,this.reduceFactor=Ai}init(){const e=this.container,i=e.actualOptions;this.pixelRatio=!i.detectRetina||We()?Ni:devicePixelRatio,this.reduceFactor=Ai;const n=this.pixelRatio,s=e.canvas;if(s.element){const a=s.element;s.size.width=a.offsetWidth*n,s.size.height=a.offsetHeight*n}const o=i.particles,r=o.move;this.maxSpeed=k(r.gravity.maxSpeed)*n,this.sizeAnimationSpeed=k(o.size.animation.speed)*n}initParticle(e){const i=e.options,n=this.pixelRatio,s=i.move,o=s.distance,r=e.retina;r.moveDrift=k(s.drift)*n,r.moveSpeed=k(s.speed)*n,r.sizeAnimationSpeed=k(i.size.animation.speed)*n;const a=r.maxDistance;a.horizontal=o.horizontal!==void 0?o.horizontal*n:void 0,a.vertical=o.vertical!==void 0?o.vertical*n:void 0,r.maxSpeed=k(s.gravity.maxSpeed)*n}}function D(t){return t&&!t.destroyed}function sa(t,e=Vt,i=!1){return{value:t,factor:i?Vt/e:Vt*t/H}}function Ge(t,e,...i){const n=new Yr(t,e);return cs(n,...i),n}class oa{constructor(e,i,n){this._intersectionManager=s=>{if(!(!D(this)||!this.actualOptions.pauseOnOutsideViewport))for(const o of s)o.target===this.interactivity.element&&(o.isIntersecting?this.play():this.pause())},this._nextFrame=s=>{try{if(!this._smooth&&this._lastFrameTime!==void 0&&s<this._lastFrameTime+H/this.fpsLimit){this.draw(!1);return}this._lastFrameTime??(this._lastFrameTime=s);const o=sa(s-this._lastFrameTime,this.fpsLimit,this._smooth);if(this.addLifeTime(o.value),this._lastFrameTime=s,o.value>H){this.draw(!1);return}if(this.particles.draw(o),!this.alive()){this.destroy();return}this.animationStatus&&this.draw(!1)}catch(o){He().error(`${ce} in animation loop`,o)}},this._engine=e,this.id=Symbol(i),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=n,this._initialSourceOptions=n,this.retina=new na(this),this.canvas=new ar(this,this._engine),this.particles=new ia(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=Ge(this._engine,this),this.actualOptions=Ge(this._engine,this),this._eventListeners=new cr(this),this._intersectionObserver=Fo(s=>this._intersectionManager(s)),this._engine.dispatchEvent(K.containerBuilt,{container:this})}get animationStatus(){return!this._paused&&!this.pageHidden&&D(this)}get options(){return this._options}get sourceOptions(){return this._sourceOptions}addClickHandler(e){if(!D(this))return;const i=this.interactivity.element;if(!i)return;const n=(h,f,d)=>{if(!D(this))return;const m=this.retina.pixelRatio,g={x:f.x*m,y:f.y*m},y=this.particles.quadTree.queryCircle(g,d*m);e(h,y)},s=h=>{if(!D(this))return;const f=h,d={x:f.offsetX||f.clientX,y:f.offsetY||f.clientY};n(h,d,io)},o=()=>{D(this)&&(l=!0,u=!1)},r=()=>{D(this)&&(u=!0)},a=h=>{if(D(this)){if(l&&!u){const f=h;let d=f.touches[f.touches.length-Vi];if(!d&&(d=f.changedTouches[f.changedTouches.length-Vi],!d))return;const m=this.canvas.element,g=m?m.getBoundingClientRect():void 0,y={x:d.clientX-(g?g.left:Dt),y:d.clientY-(g?g.top:Dt)};n(h,y,Math.max(d.radiusX,d.radiusY))}l=!1,u=!1}},c=()=>{D(this)&&(l=!1,u=!1)};let l=!1,u=!1;
1this._clickHandlers.set("click",s),this._clickHandlers.set("touchstart",o),this._clickHandlers.set("touchmove",r),this._clickHandlers.set("touchend",a),this._clickHandlers.set("touchcancel",c);for(const[h,f]of this._clickHandlers)i.addEventListener(h,f)}addLifeTime(e){this._lifeTime+=e}addPath(e,i,n=!1){return!D(this)||!n&&this.pathGenerators.has(e)?!1:(this.pathGenerators.set(e,i),!0)}alive(){return!this._duration||this._lifeTime<=this._duration}clearClickHandlers(){var e;if(D(this)){for(const[i,n]of this._clickHandlers)(e=this.interactivity.element)==null||e.removeEventListener(i,n);this._clickHandlers.clear()}}destroy(e=!0){var i,n;if(D(this)){this.stop(),this.clearClickHandlers(),this.particles.destroy(),this.canvas.destroy();for(const s of this.effectDrawers.values())(i=s.destroy)==null||i.call(s,this);for(const s of this.shapeDrawers.values())(n=s.destroy)==null||n.call(s,this);for(const s of this.effectDrawers.keys())this.effectDrawers.delete(s);for(const s of this.shapeDrawers.keys())this.shapeDrawers.delete(s);if(this._engine.clearPlugins(this),this.destroyed=!0,e){const s=this._engine.items,o=s.findIndex(r=>r===this);o>=no&&s.splice(o,An)}this._engine.dispatchEvent(K.containerDestroyed,{container:this})}}draw(e){if(!D(this))return;let i=e;const n=s=>{i&&(this._lastFrameTime=void 0,i=!1),this._nextFrame(s)};this._drawAnimationFrame=So(s=>n(s))}async export(e,i={}){for(const n of this.plugins.values()){if(!n.export)continue;const s=await n.export(e,i);if(s.supported)return s.blob}He().error(`${ce} - Export plugin with type ${e} not found`)}handleClickMode(e){var i;if(D(this)){this.particles.handleClickMode(e);for(const n of this.plugins.values())(i=n.handleClickMode)==null||i.call(n,e)}}
1async init(){var l,u,h,f;if(!D(this))return;const e=this._engine.getSupportedEffects();for(const d of e){const m=this._engine.getEffectDrawer(d);m&&this.effectDrawers.set(d,m)}const i=this._engine.getSupportedShapes();for(const d of i){const m=this._engine.getShapeDrawer(d);m&&this.shapeDrawers.set(d,m)}await this.particles.initPlugins(),this._options=Ge(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=Ge(this._engine,this,this._options);const n=await this._engine.getAvailablePlugins(this);for(const[d,m]of n)this.plugins.set(d,m);this.retina.init(),await this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize();const{zLayers:s,duration:o,delay:r,fpsLimit:a,smooth:c}=this.actualOptions;this.zLayers=s,this._duration=k(o)*H,this._delay=k(r)*H,this._lifeTime=0,this.fpsLimit=a>oo?a:so,this._smooth=c;for(const d of this.effectDrawers.values())await((l=d.init)==null?void 0:l.call(d,this));for(const d of this.shapeDrawers.values())await((u=d.init)==null?void 0:u.call(d,this));for(const d of this.plugins.values())await((h=d.init)==null?void 0:h.call(d));this._engine.dispatchEvent(K.containerInit,{container:this}),await this.particles.init(),this.particles.setDensity();for(const d of this.plugins.values())(f=d.particlesSetup)==null||f.call(d);this._engine.dispatchEvent(K.particlesSetup,{container:this})}async loadTheme(e){D(this)&&(this._currentTheme=e,await this.refresh())}pause(){var e;if(D(this)&&(this._drawAnimationFrame!==void 0&&(Ro(this._drawAnimationFrame),delete this._drawAnimationFrame),!this._paused)){for(const i of this.plugins.values())(e=i.pause)==null||e.call(i);this.pageHidden||(this._paused=!0),this._engine.dispatchEvent(K.containerPaused,{container:this})}}play(e){if(!D(this))return;const i=this._paused||e;if(this._firstStart&&!this.actualOptions.autoPlay){this._firstStart=!1;return}if(this._paused&&(this._paused=!1),i)for(const n of this.plugins.values())n.play&&n.play();this._engine.dispatchEvent(K.containerPlay,{container:this}),this.draw(i??!1)}async refresh(){if(D(this))return this.stop(),this.start()}async reset(e){if(D(this))return this._initialSourceOptions=e,this._sourceOptions=e,this._options=Ge(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=Ge(this._engine,this,this._options),this.refresh()}async start(){!D(this)||this.started||(await this.init(),this.started=!0,await new Promise(e=>{const i=async()=>{var n;this._eventListeners.addListeners(),this.interactivity.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.observe(this.interactivity.element);for(const s of this.plugins.values())await((n=s.start)==null?void 0:n.call(s));this._engine.dispatchEvent(K.containerStarted,{container:this}),this.play(),e()};this._delayTimeout=setTimeout(()=>void i(),this._delay)}))}stop(){var e;if(!(!D(this)||!this.started)){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);
vendor: 4,326 bytes, line 1
1for(const i of this.plugins.values())(e=i.stop)==null||e.call(i);for(const i of this.plugins.keys())this.plugins.delete(i);this._sourceOptions=this._options,this._engine.dispatchEvent(K.containerStopped,{container:this})}}updateActualOptions(){this.actualOptions.responsive=[];const e=this.actualOptions.setResponsive(this.canvas.size.width,this.retina.pixelRatio,this._options);return this.actualOptions.setTheme(this._currentTheme),this._responsiveMaxWidth===e?!1:(this._responsiveMaxWidth=e,!0)}}class ra{constructor(){this._listeners=new Map}addEventListener(e,i){this.removeEventListener(e,i);let n=this._listeners.get(e);n||(n=[],this._listeners.set(e,n)),n.push(i)}dispatchEvent(e,i){const n=this._listeners.get(e);n==null||n.forEach(s=>s(i))}hasEventListener(e){return!!this._listeners.get(e)}removeAllEventListeners(e){e?this._listeners.delete(e):this._listeners=new Map}removeEventListener(e,i){const n=this._listeners.get(e);if(!n)return;const s=n.length,o=n.indexOf(i);o<di||(s===Tt?this._listeners.delete(e):n.splice(o,Tt))}}async function Jt(t,e,i,n=!1){let s=e.get(t);return(!s||n)&&(s=await Promise.all([...i.values()].map(o=>o(t))),e.set(t,s)),s}async function aa(t){const e=ae(t.url,t.index);if(!e)return t.fallback;const i=await fetch(e);return i.ok?await i.json():(He().error(`${ce} ${i.status} while retrieving config file`),t.fallback)}const ca=t=>{let e;if(t instanceof HTMLCanvasElement||t.tagName.toLowerCase()===Ht)e=t,e.dataset[Be]||(e.dataset[Be]=ji);else{const n=t.getElementsByTagName(Ht);n.length?(e=n[ro],e.dataset[Be]=ji):(e=document.createElement(Ht),e.dataset[Be]=Bn,t.appendChild(e))}const i="100%";return e.style.width||(e.style.width=i),e.style.height||(e.style.height=i),e},la=(t,e)=>{let i=e??document.getElementById(t);return i||(i=document.createElement("div"),i.id=t,i.dataset[Be]=Bn,document.body.append(i),i)};class ua{constructor(){this._configs=new Map,this._domArray=[],this._eventDispatcher=new ra,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(){const e={};for(const[i,n]of this._configs)e[i]=n;return e}get items(){return this._domArray}get version(){return"3.9.1"}async addColorManager(e,i=!0){this.colorManagers.set(e.key,e),await this.refresh(i)}addConfig(e){const i=e.key??e.name??"default";this._configs.set(i,e),this._eventDispatcher.dispatchEvent(K.configAdded,{data:{name:i,config:e}})}async addEasing(e,i,n=!0){this.getEasing(e)||(this.easingFunctions.set(e,i),await this.refresh(n))}async addEffect(e,i,n=!0){se(e,s=>{this.getEffectDrawer(s)||this.effectDrawers.set(s,i)}),await this.refresh(n)}addEventListener(e,i){this._eventDispatcher.addEventListener(e,i)}async addInteractor(e,i,n=!0){this._initializers.interactors.set(e,i),await this.refresh(n)}async addMover(e,i,n=!0){this._initializers.movers.set(e,i),await this.refresh(n)}async addParticleUpdater(e,i,n=!0){this._initializers.updaters.set(e,i),await this.refresh(n)}async addPathGenerator(e,i,n=!0){this.getPathGenerator(e)||this.pathGenerators.set(e,i),await this.refresh(n)}async addPlugin(e,i=!0){this.getPlugin(e.id)||this.plugins.push(e),await this.refresh(i)}async addPreset(e,i,n=!1,s=!0){(n||!this.getPreset(e))&&this.presets.set(e,i),await this.refresh(s)}async addShape(e,i=!0){for(const n of e.validTypes)this.getShapeDrawer(n)||this.shapeDrawers.set(n,e);await this.refresh(i)}checkVersion(e){if(this.version!==e)throw new Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${this.version}. Plugin version: ${e}`)}clearPlugins(e){this.updaters.delete(e),this.movers.delete(e),this.interactors.delete(e)}dispatchEvent(e,i){this._eventDispatcher.dispatchEvent(e,i)}dom(){return this.items}domItem(e){return this.item(e)}async getAvailablePlugins(e){const i=new Map;for(const n of this.plugins)n.needsPlugin(e.actualOptions)&&i.set(n.id,await n.getPlugin(e));return i}getEasing(e){return this.easingFunctions.get(e)??(i=>i)}getEffectDrawer(e){return this.effectDrawers.get(e)}async getInteractors(e,i=!1){return Jt(e,this.interactors,this._initializer
1s.interactors,i)}async getMovers(e,i=!1){return Jt(e,this.movers,this._initializers.movers,i)}getPathGenerator(e){return this.pathGenerators.get(e)}getPlugin(e){return this.plugins.find(i=>i.id===e)}getPreset(e){return this.presets.get(e)}getShapeDrawer(e){return this.shapeDrawers.get(e)}getSupportedEffects(){return this.effectDrawers.keys()}getSupportedShapes(){return this.shapeDrawers.keys()}async getUpdaters(e,i=!1){return Jt(e,this.updaters,this._initializers.updaters,i)}init(){this._initialized||(this._initialized=!0)}item(e){const{items:i}=this,n=i[e];if(!n||n.destroyed){i.splice(e,An);return}return n}async load(e){var f;const i=e.id??((f=e.element)==null?void 0:f.id)??`tsparticles${Math.floor(E()*ao)}`,{index:n,url:s}=e,o=s?await aa({fallback:e.options,url:s,index:n}):e.options,r=ae(o,n),{items:a}=this,c=a.findIndex(d=>d.id.description===i),l=new oa(this,i,r);if(c>=co){const d=this.item(c),m=d?lo:It;d&&!d.destroyed&&d.destroy(!1),a.splice(c,m,l)}else a.push(l);const u=la(i,e.element),h=ca(u);return l.canvas.loadCanvas(h),await l.start(),l}loadOptions(e,i){this.plugins.forEach(n=>{var s;return(s=n.loadOptions)==null?void 0:s.call(n,e,i)})}loadParticlesOptions(e,i,...n){const s=this.updaters.get(e);s&&s.forEach(o=>{var r;return(r=o.loadOptions)==null?void 0:r.call(o,i,...n)})}async refresh(e=!0){e&&await Promise.all(this.items.map(i=>i.refresh()))}removeEventListener(e,i){this._eventDispatcher.removeEventListener(e,i)}setOnClickHandler(e){const{items:i}=this;if(!i.length)throw new Error(`${ce} can only set click handlers after calling tsParticles.load()`);i.forEach(n=>n.addClickHandler(e))}}function ha(){const t=new ua;return t.init(),t}class we{constructor(e){this.type=lt.external,this.container=e}}class Mi{constructor(e){this.type=lt.particles,this.container=e}}var he;(function(t){t.clockwise="clockwise",t.counterClockwise="counter-clockwise",t.random="random"})(he||(he={}));var cn;(function(t){t.linear="linear",t.radial="radial",t.random="random"})(cn||(cn={}));var qe;(function(t){t.easeInBack="ease-in-back",t.easeInCirc="ease-in-circ",t.easeInCubic="ease-in-cubic",t.easeInLinear="ease-in-linear",t.easeInQuad="ease-in-quad",t.easeInQuart="ease-in-quart",t.easeInQuint="ease-in-quint",t.easeInExpo="ease-in-expo",t.easeInSine="ease-in-sine",t.easeOutBack="ease-out-back",t.easeOutCirc="ease-out-circ",t.easeOutCubic="ease-out-cubic",t.easeOutLinear="ease-out-linear",t.easeOutQuad="ease-out-quad",t.easeOutQuart="ease-out-quart",t.easeOutQuint="ease-out-quint",t.easeOutExpo="ease-out-expo",t.easeOutSine="ease-out-sine",t.easeInOutBack="ease-in-out-back",t.easeInOutCirc="ease-in-out-circ",t.easeInOutCubic="ease-in-out-cubic",t.easeInOutLinear="ease-in-out-linear",t.easeInOutQuad="ease-in-out-quad",t.easeInOutQuart="ease-in-out-quart",t.easeInOutQuint="ease-in-out-quint",t.easeInOutExpo="ease-in-out-expo",t.easeInOutSine="ease-in-out-sine"})(qe||(qe={}));const Si=ha();We()||(window.tsParticles=Si);const da=t=>{const e=t.id??"tsparticles";return I.useEffect(()=>{let i;return Si.load({id:e,url:t.url,options:t.options}).then(n=>{var s;i=n,(s=t.particlesLoaded)==null||s.call(t,n)}),()=>{i==null||i.destroy()}},[e,t,t.url,t.options]),p.jsx("div",{id:e,className:t.className})};async function fa(t){await t(Si)}const gi=.5,pa=2,Se=0,de=1,ln=60,un=0,ma=.01,ya=Math.PI*pa;function ga(t){const e=t.initialPosition,{dx:i,dy:n}=Z(e,t.position),s=Math.abs(i),o=Math.abs(n),{maxDistance:r}=t.retina,a=r.horizontal,c=r.vertical;if(!a&&!c)return;const l=(a&&s>=a)??!1,u=(c&&o>=c)??!1;if((l||u)&&!t.misplaced)t.misplaced=!!a&&s>a||!!c&&o>c,a&&(t.velocity.x=t.velocity.y*gi-t.velocity.x),c&&(t.velocity.y=t.velocity.x*gi-t.velocity.y);else if((!a||s<a)&&(!c||o<c)&&t.misplaced)t.misplaced=!1;else if(t.misplaced){const h=t.position,f=t.velocity;a&&(h.x<e.x&&f.x<Se||h.x>e.x&&f.x>Se)&&(f.x*=-E()),c&&(h.y<e.y&&f.y<Se||h.y>e.y&&f.y>Se)&&(f.y*=-E())}}function ba(t,e,i,n,s,o,r){xa(t,r);const a=t.gravity,c=a!=null&&a.enable&&a.inverse?-de:de;s&&i&&(t.velocity.x+=s*r.factor/(ln*i)),a!=null&&a.enable&&i&&(t.velocity.y+=c*(a.acceleration*r.factor)/(ln*i));const l=t.moveDecay;t.velocity.multTo(l);const u=t.velocity.mult(i);a!=null&&a.enable&&n>Se&&(!a.inverse&&u.y>=Se&&u.y>
1=n||a.inverse&&u.y<=Se&&u.y<=-n)&&(u.y=c*n,i&&(t.velocity.y=u.y/i));const h=t.options.zIndex,f=(de-t.zIndexFactor)**h.velocityRate;u.multTo(f),u.multTo(o);const{position:d}=t;d.addTo(u),e.vibrate&&(d.x+=Math.sin(d.x*Math.cos(d.y))*o,d.y+=Math.cos(d.y*Math.sin(d.x))*o)}function va(t,e,i){const n=t.container;if(!t.spin)return;const s=t.spin.direction===he.clockwise,o={x:s?Math.cos:Math.sin,y:s?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;const r=Math.max(n.canvas.size.width,n.canvas.size.height),a=r*gi;t.spin.radius>a?(t.spin.radius=a,t.spin.acceleration*=-de):t.spin.radius<un&&(t.spin.radius=un,t.spin.acceleration*=-de),t.spin.angle+=e*ma*(de-t.spin.radius/r)}function xa(t,e){var r;const i=t.options,n=i.move.path;if(!n.enable)return;if(t.lastPathTime<=t.pathDelay){t.lastPathTime+=e.value;return}const o=(r=t.pathGenerator)==null?void 0:r.generate(t,e);o&&t.velocity.addTo(o),n.clamp&&(t.velocity.x=le(t.velocity.x,-de,de),t.velocity.y=le(t.velocity.y,-de,de)),t.lastPathTime-=t.pathDelay}function wa(t){return t.slow.inRange?t.slow.factor:de}function _a(t){const e=t.container,i=t.options,n=i.move.spin;if(!n.enable)return;const s=n.position??{x:50,y:50},o=.01,r={x:s.x*o*e.canvas.size.width,y:s.y*o*e.canvas.size.height},a=t.getPosition(),c=ne(a,r),l=k(n.acceleration);t.retina.spinAcceleration=l*e.retina.pixelRatio,t.spin={center:r,direction:t.velocity.x>=Se?he.clockwise:he.counterClockwise,angle:E()*ya,radius:c,acceleration:t.retina.spinAcceleration}}const ka=2,Ca=1,Pa=1;class za{init(e){const i=e.options,n=i.move.gravity;e.gravity={enable:n.enable,acceleration:k(n.acceleration),inverse:n.inverse},_a(e)}isEnabled(e){return!e.destroyed&&e.options.move.enable}move(e,i){var y,_;const n=e.options,s=n.move;if(!s.enable)return;const o=e.container,r=o.retina.pixelRatio;(y=e.retina).moveSpeed??(y.moveSpeed=k(s.speed)*r),(_=e.retina).moveDrift??(_.moveDrift=k(e.options.move.drift)*r);const a=wa(e),c=o.retina.reduceFactor,l=e.retina.moveSpeed,u=e.retina.moveDrift,h=ve(n.size.value)*r,f=s.size?e.getRadius()/h:Ca,d=i.factor||Pa,m=l*f*a*d/ka,g=e.retina.maxSpeed??o.retina.maxSpeed;s.spin.enable?va(e,m,c):ba(e,s,m,g,u,c,i),ga(e)}}async function Ma(t,e=!0){t.checkVersion("3.9.1"),await t.addMover("base",()=>Promise.resolve(new za),e)}const Sa=2,Ra=Math.PI*Sa,Ea=0,hn={x:0,y:0};function Oa(t){const{context:e,particle:i,radius:n}=t;i.circleRange||(i.circleRange={min:Ea,max:Ra});const s=i.circleRange;e.arc(hn.x,hn.y,n,s.min,s.max,!1)}const Da=12,Ia=360,dn=0;class Ta{constructor(){this.validTypes=["circle"]}draw(e){Oa(e)}getSidesCount(){return Da}particleInit(e,i){const n=i.shapeData,s=(n==null?void 0:n.angle)??{max:Ia,min:dn};i.circleRange=Ke(s)?{min:Re(s.min),max:Re(s.max)}:{min:dn,max:Re(s)}}}async function La(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new Ta,e)}class ja{constructor(e,i){this._container=e,this._engine=i}init(e){const i=ft(this._engine,e.options.color,e.id,e.options.reduceDuplicates);i&&(e.color=ns(i,e.options.color.animation,this._container.retina.reduceFactor))}isEnabled(e){const{h:i,s:n,l:s}=e.options.color.animation,{color:o}=e;return!e.destroyed&&!e.spawning&&((o==null?void 0:o.h.value)!==void 0&&i.enable||(o==null?void 0:o.s.value)!==void 0&&n.enable||(o==null?void 0:o.l.value)!==void 0&&s.enable)}
vendor: 55,495 bytes, line 1
1update(e,i){ss(e.color,i)}}async function Fa(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("color",i=>Promise.resolve(new ja(i,t)),e)}var Fe;(function(t){t[t.r=1]="r",t[t.g=2]="g",t[t.b=3]="b",t[t.a=4]="a"})(Fe||(Fe={}));const Ba=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,Na=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i,xt=16,Aa=1,$a=255;class qa{constructor(){this.key="hex",this.stringPrefix="#"}handleColor(e){return this._parseString(e.value)}handleRangeColor(e){return this._parseString(e.value)}parseString(e){return this._parseString(e)}_parseString(e){if(typeof e!="string"||!(e!=null&&e.startsWith(this.stringPrefix)))return;const i=e.replace(Ba,(s,o,r,a,c)=>o+o+r+r+a+a+(c!==void 0?c+c:"")),n=Na.exec(i);return n?{a:n[Fe.a]!==void 0?parseInt(n[Fe.a],xt)/$a:Aa,b:parseInt(n[Fe.b],xt),g:parseInt(n[Fe.g],xt),r:parseInt(n[Fe.r],xt)}:void 0}}async function Ua(t,e=!0){t.checkVersion("3.9.1"),await t.addColorManager(new qa,e)}var Ze;(function(t){t[t.h=1]="h",t[t.s=2]="s",t[t.l=3]="l",t[t.a=5]="a"})(Ze||(Ze={}));class Va{constructor(){this.key="hsl",this.stringPrefix="hsl"}handleColor(e){const i=e.value,n=i.hsl??e.value;if(n.h!==void 0&&n.s!==void 0&&n.l!==void 0)return at(n)}handleRangeColor(e){const i=e.value,n=i.hsl??e.value;if(n.h!==void 0&&n.l!==void 0)return at({h:k(n.h),l:k(n.l),s:k(n.s)})}parseString(e){if(!e.startsWith("hsl"))return;const i=/hsla?\(\s*(\d+)\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i,n=i.exec(e),s=4,o=1,r=10;return n?Yo({a:n.length>s?Wn(n[Ze.a]):o,h:parseInt(n[Ze.h],r),l:parseInt(n[Ze.l],r),s:parseInt(n[Ze.s],r)}):void 0}}async function Ha(t,e=!0){t.checkVersion("3.9.1"),await t.addColorManager(new Va,e)}class Wa{constructor(e){this.container=e}init(e){const i=e.options.opacity,n=1;e.opacity=Kn(i,n);const s=i.animation;s.enable&&(e.opacity.velocity=k(s.speed)/Me*this.container.retina.reduceFactor,s.sync||(e.opacity.velocity*=E()))}isEnabled(e){return!e.destroyed&&!e.spawning&&!!e.opacity&&e.opacity.enable&&((e.opacity.maxLoops??0)<=0||(e.opacity.maxLoops??0)>0&&(e.opacity.loops??0)<(e.opacity.maxLoops??0))}reset(e){e.opacity&&(e.opacity.time=0,e.opacity.loops=0)}update(e,i){!this.isEnabled(e)||!e.opacity||ki(e,e.opacity,!0,e.options.opacity.animation.destroy,i)}}async function Qa(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("opacity",i=>Promise.resolve(new Wa(i)),e)}const jt=0,st=0;function Ga(t){if(t.outMode!==j.bounce&&t.outMode!==j.split||t.direction!==M.left&&t.direction!==M.right)return;t.bounds.right<st&&t.direction===M.left?t.particle.position.x=t.size+t.offset.x:t.bounds.left>t.canvasSize.width&&t.direction===M.right&&(t.particle.position.x=t.canvasSize.width-t.size-t.offset.x);const e=t.particle.velocity.x;let i=!1;if(t.direction===M.right&&t.bounds.right>=t.canvasSize.width&&e>jt||t.direction===M.left&&t.bounds.left<=st&&e<jt){const s=k(t.particle.options.bounce.horizontal.value);t.particle.velocity.x*=-s,i=!0}if(!i)return;const n=t.offset.x+t.size;t.bounds.right>=t.canvasSize.width&&t.direction===M.right?t.particle.position.x=t.canvasSize.width-n:t.bounds.left<=st&&t.direction===M.left&&(t.particle.position.x=n),t.outMode===j.split&&t.particle.destroy()}function Xa(t){if(t.outMode!==j.bounce&&t.outMode!==j.split||t.direction!==M.bottom&&t.direction!==M.top)return;t.bounds.bottom<st&&t.direction===M.top?t.particle.position.y=t.size+t.offset.y:t.bounds.top>t.canvasSize.height&&t.direction===M.bottom&&(t.particle.position.y=t.canvasSize.height-t.size-t.offset.y);const e=t.particle.velocity.y;let i=!1;if(t.direction===M.bottom&&t.bounds.bottom>=t.canvasSize.height&&e>jt||t.direction===M.top&&t.bounds.top<=st&&e<jt){const s=k(t.particle.options.bounce.vertical.value);t.particle.velocity.y*=-s,i=!0}if(!i)return;const n=t.offset.y+t.size;t.bounds.bottom>=t.canvasSize.height&&t.direction===M.bottom?t.particle.position.y=t.canvasSize.height-n:t.bounds.top<=st&&t.direction===M.top&&(t.particle.position.y=n),t.outMode===j.split&&t.particle.destroy()}class Ya{constructor(e){this.container=e,this.modes=[j.bounce,j.split]}update(e,i,n,s){if(!this.modes.includes(s))return;const o=this.container;let r=!1;for(const f of o.plugins.values())if(f.particleBounce!==void 0&&(r=f.particleBounce(e,n,i)),r)break;if(r)return;const a=e.getPosition(),c=e.offset,l=e.getRadius(),u=gt(a,l),h=o.canvas.size;Ga({particle:e,outMode:s,direction:i,bounds:u,canvasSize:h,offset:c,size:l}),Xa({particle:e,outMode:s,direction:i,bounds:u,canvasSize:h,offset:c,size:l})}}const wt=0;class Ka{constructor(e){this.container=e,this.modes=[j.destroy]}update(e,i,n,s){if(!this.modes.includes(s))return;const o=this.container;switch(e.outType){case pe.normal:case pe.outside:if(xi(e.position,o.canvas.size,A.origin,e.getRadius(),i))return;break;case pe.inside:{const{dx:r,dy:a}=Z(e.position,e.moveCenter),{x:c,y:l}=e.velocity;if(c<wt&&r>e.moveCenter.radius||l<wt&&a>e.moveCenter.radius||c>=wt&&r<-e.moveCenter.radius||l>=wt&&a<-e.moveCenter.radius)return;break}}o.particles.remove(e,e.group,!0)}}const _t=0;class Za{constructor(e){this.container=e,this.modes=[j.none]}update(e,i,n,s){if(!this.modes.includes(s)||((e.options.move.distance.horizontal&&(i===M.left||i===M.right))??(e.options.move.distance.vertical&&(i===M.top||i===M.bottom))))return;const o=e.options.move.gravity,r=this.container,a=r.canvas.size,c=e.getRadius();if(o.enable){const l=e.position;(!o.inverse&&l.y>a.height+c&&i===M.bottom||o.inverse&&l.y<-c&&i===M.top)&&r.particles.remove(e)}else{if(e.velocity.y>_t&&e.position.y<=a.height+c||e.velocity.y<_t&&e.position.y>=-c||e.velocity.x>_t&&e.position.x<=a.width+c||e.velocity.x<_t&&e.position.x>=-c)return;xi(e.position,r.canvas.size,A.origin,c,i)||r.particles.remove(e)}}}const kt=0,Ct=0;class Ja{constructor(e){this.container=e,this.modes=[j.out]}update(e,i,n,s){if(!this.modes.includes(s))return;const o=this.container;switch(e.outType){case pe.inside:{const{x:r,y:a}=e.velocity,c=A.origin;c.length=e.moveCenter.radius,c.angle=e.velocity.angle+Math.PI,c.addTo(A.create(e.moveCenter));const{dx:l,dy:u}=Z(e.position,c);if(r<=kt&&l>=Ct||a<=kt&&u>=Ct||r>=kt&&l<=Ct||a>=kt&&u<=Ct)return;e.position.x=Math.floor(ie({min:0,max:o.canvas.size.width})),e.position.y=Math.floor(ie({min:0,max:o.canvas.size.height}));const{dx:h,dy:f}=Z(e.position,e.moveCenter);e.direction=Math.atan2(-f,-h),e.velocity.angle=e.direction;break}default:{if(xi(e.position,o.canvas.size,A.origin,e.getRadius(),i))return;switch(e.outType){case pe.outside:{e.position.x=Math.floor(ie({min:-e.moveCenter.radius,max:e.moveCenter.radius}))+e.moveCenter.x,e.position.y=Math.floor(ie({min:-e.moveCenter.radius,max:e.moveCenter.radius}))+e.moveCenter.y;const{dx:r,dy:a}=Z(e.position,e.moveCenter);e.moveCenter.radius&&(e.direction=Math.atan2(a,r),e.velocity.angle=e.direction);break}case pe.normal:{const r=e.options.move.warp,a=o.canvas.size,c={bottom:a.height+e.getRadius()+e.offset.y,left:-e.getRadius()-e.offset.x,right:a.width+e.getRadius()+e.offset.x,top:-e.getRadius()-e.offset.y},l=e.getRadius(),u=gt(e.position,l);i===M.right&&u.left>a.width+e.offset.x?(e.position.x=c.left,e.initialPosition.x=e.position.x,r||(e.position.y=E()*a.height,e.initialPosition.y=e.position.y)):i===M.left&&u.right<-e.offset.x&&(e.position.x=c.right,e.initialPosition.x=e.position.x,r||(e.position.y=E()*a.height,e.initialPosition.y=e.position.y)),i===M.bottom&&u.top>a.height+e.offset.y?(r||(e.position.x=E()*a.width,e.initialPosition.x=e.position.x),e.position.y=c.top,e.initialPosition.y=e.position.y):i===M.top&&u.bottom<-e.offset.y&&(r||(e.position.x=E()*a.width,e.initialPosition.x=e.position.x),e.position.y=c.bottom,e.initialPosition.y=e.position.y);break}}break}}}}const ec=(t,e)=>t.default===e||t.bottom===e||t.left===e||t.right===e||t.top===e;class tc{constructor(e){this._addUpdaterIfMissing=(i,n,s)=>{const o=i.options.move.outModes;!this.updaters.has(n)&&ec(o,n)&&this.updaters.set(n,s(this.container))},this._updateOutMode=(i,n,s,o)=>{for(const r of this.updaters.values())r.update(i,o,n,s)},this.container=e,this.updaters=new Map}init(e){this._addUpdaterIfMissing(e,j.bounce,i=>new Ya(i)),this._addUpdaterIfMissing(e,j.out,i=>new Ja(i)),this._addUpdaterIfMissing(e,j.destroy,i=>new Ka(i)),this._addUpdaterIfMissing(e,j.none,i=>new Za(i))}isEnabled(e){return!e.destroyed&&!e.spawning}update(e,i){const n=e.options.move.outModes;this._updateOutMode(e,i,n.bottom??n.default,M.bottom),this._updateOutMode(e,i,n.left??n.default,M.left),this._updateOutMode(e,i,n.right??n.default,M.right),this._updateOutMode(e,i,n.top??n.default,M.top)}}async function ic(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("outModes",i=>Promise.resolve(new tc(i)),e)}var Je;(function(t){t[t.r=1]="r",t[t.g=2]="g",t[t.b=3]="b",t[t.a=5]="a"})(Je||(Je={}));class nc{constructor(){this.key="rgb",this.stringPrefix="rgb"}handleColor(e){const i=e.value,n=i.rgb??e.value;if(n.r!==void 0)return n}handleRangeColor(e){const i=e.value,n=i.rgb??e.value;if(n.r!==void 0)return{r:k(n.r),g:k(n.g),b:k(n.b)}}parseString(e){if(!e.startsWith(this.stringPrefix))return;const i=/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,n=i.exec(e),s=10;return n?{a:n.length>4?Wn(n[Je.a]):1,b:parseInt(n[Je.b],s),g:parseInt(n[Je.g],s),r:parseInt(n[Je.r],s)}:void 0}}async function sc(t,e=!0){t.checkVersion("3.9.1"),await t.addColorManager(new nc,e)}const Ie=0;class oc{init(e){const i=e.container,n=e.options.size,s=n.animation;s.enable&&(e.size.velocity=(e.retina.sizeAnimationSpeed??i.retina.sizeAnimationSpeed)/Me*i.retina.reduceFactor,s.sync||(e.size.velocity*=E()))}isEnabled(e){return!e.destroyed&&!e.spawning&&e.size.enable&&((e.size.maxLoops??Ie)<=Ie||(e.size.maxLoops??Ie)>Ie&&(e.size.loops??Ie)<(e.size.maxLoops??Ie))}reset(e){e.size.loops=Ie}update(e,i){this.isEnabled(e)&&ki(e,e.size,!0,e.options.size.animation.destroy,i)}}async function rc(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("size",()=>Promise.resolve(new oc),e)}async function ac(t,e=!0){t.checkVersion("3.9.1"),await Ua(t,!1),await Ha(t,!1),await sc(t,!1),await Ma(t,!1),await La(t,!1),await Fa(t,!1),await Qa(t,!1),await ic(t,!1),await rc(t,!1),await t.refresh(e)}async function cc(t,e=!0){t.checkVersion("3.9.1"),await t.addEasing(qe.easeInQuad,i=>i**2,!1),await t.addEasing(qe.easeOutQuad,i=>1-(1-i)**2,!1),await t.addEasing(qe.easeInOutQuad,i=>i<.5?2*i**2:1-(-2*i+2)**2/2,!1),await t.refresh(e)}function lc(t,e){const{context:i,opacity:n}=t,s=.5,o=i.globalAlpha;if(!e)return;const r=e.width,a=r*s;i.globalAlpha=n,i.drawImage(e,-a,-a,r,r),i.globalAlpha=o}const ei='"Twemoji Mozilla", Apple Color Emoji, "Segoe UI Emoji", "Noto Color Emoji", "EmojiOne Color"',fn=0;class uc{constructor(){this.validTypes=["emoji"],this._emojiShapeDict=new Map}destroy(){for(const[e,i]of this._emojiShapeDict)i instanceof ImageBitmap&&(i==null||i.close()),this._emojiShapeDict.delete(e)}draw(e){const i=e.particle.emojiDataKey;if(!i)return;const n=this._emojiShapeDict.get(i);n&&lc(e,n)}async init(e){const i=e.actualOptions,{validTypes:n}=this;if(!n.find(r=>T(r,i.particles.shape.type)))return;const s=[Ji(ei)],o=n.map(r=>i.particles.shape.options[r]).find(r=>!!r);o&&se(o,r=>{r.font&&s.push(Ji(r.font))}),await Promise.all(s)}particleDestroy(e){e.emojiDataKey=void 0}particleInit(e,i){const s=i.shapeData;if(!(s!=null&&s.value))return;const o=ae(s.value,i.randomIndexData);if(!o)return;const r=typeof o=="string"?{font:s.font??ei,padding:s.padding??fn,value:o}:{font:ei,padding:fn,...s,...o},a=r.font,c=r.value,l=`${c}_${a}`;if(this._emojiShapeDict.has(l)){i.emojiDataKey=l;return}const u=r.padding*2,h=ve(i.size.value),f=h+u,d=f*2;let m;if(typeof OffscreenCanvas<"u"){const g=new OffscreenCanvas(d,d),y=g.getContext("2d");if(!y)return;y.font=`400 ${h*2}px ${a}`,y.textBaseline="middle",y.textAlign="center",y.fillText(c,f,f),m=g.transferToImageBitmap()}else{const g=document.createElement("canvas");g.width=d,g.height=d;const y=g.getContext("2d");if(!y)return;y.font=`400 ${h*2}px ${a}`,y.textBaseline="middle",y.textAlign="center",y.fillText(c,f,f),m=g}this._emojiShapeDict.set(l,m),i.emojiDataKey=l}}async function hc(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new uc,e)}const dc=1,fc=1,hs=0;function ds(t,e,i,n,s,o){const r=e.actualOptions.interactivity.modes.attract;if(!r)return;const a=e.particles.quadTree.query(s,o);for(const c of a){const{dx:l,dy:u,distance:h}=Z(c.position,i),f=r.speed*r.factor,d=le(t.getEasing(r.easing)(fc-h/n)*f,dc,r.maxSpeed),m=A.create(h?l/h*d:f,h?u/h*d:f);c.position.subFrom(m)}}function pc(t,e,i){e.attract||(e.attract={particles:[]});const{attract:n}=e;if(n.finish||(n.count||(n.count=0),n.count++,n.count===e.particles.count&&(n.finish=!0)),n.clicking){const s=e.interactivity.mouse.clickPosition,o=e.retina.attractModeDistance;if(!o||o<hs||!s)return;ds(t,e,s,o,new Q(s.x,s.y,o),r=>i(r))}else n.clicking===!1&&(n.particles=[])}function mc(t,e,i){const n=e.interactivity.mouse.position,s=e.retina.attractModeDistance;!s||s<hs||!n||ds(t,e,n,s,new Q(n.x,n.y,s),o=>i(o))}class yc{constructor(){this.distance=200,this.duration=.4,this.easing=qe.easeOutQuad,this.factor=1,this.maxSpeed=50,this.speed=1}load(e){b(e)||(e.distance!==void 0&&(this.distance=e.distance),e.duration!==void 0&&(this.duration=e.duration),e.easing!==void 0&&(this.easing=e.easing),e.factor!==void 0&&(this.factor=e.factor),e.maxSpeed!==void 0&&(this.maxSpeed=e.maxSpeed),e.speed!==void 0&&(this.speed=e.speed))}}const ht="attract";let gc=class extends we{constructor(e,i){super(i),this._engine=e,i.attract||(i.attract={particles:[]}),this.handleClickMode=n=>{const s=this.container.actualOptions,o=s.interactivity.modes.attract;if(!(!o||n!==ht)){i.attract||(i.attract={particles:[]}),i.attract.clicking=!0,i.attract.count=0;for(const r of i.attract.particles)this.isEnabled(r)&&r.velocity.setTo(r.initialVelocity);i.attract.particles=[],i.attract.finish=!1,setTimeout(()=>{i.destroyed||(i.attract||(i.attract={particles:[]}),i.attract.clicking=!1)},o.duration*H)}}}clear(){}init(){const e=this.container,i=e.actualOptions.interactivity.modes.attract;i&&(e.retina.attractModeDistance=i.distance*e.retina.pixelRatio)}interact(){const e=this.container,i=e.actualOptions,n=e.interactivity.status===Ue,s=i.interactivity.events,{enable:o,mode:r}=s.onHover,{enable:a,mode:c}=s.onClick;n&&o&&T(ht,r)?mc(this._engine,this.container,l=>this.isEnabled(l)):a&&T(ht,c)&&pc(this._engine,this.container,l=>this.isEnabled(l))}isEnabled(e){const i=this.container,n=i.actualOptions,s=i.interactivity.mouse,o=((e==null?void 0:e.interactivity)??n.interactivity).events;if((!s.position||!o.onHover.enable)&&(!s.clickPosition||!o.onClick.enable))return!1;const r=o.onHover.mode,a=o.onClick.mode;return T(ht,r)||T(ht,a)}loadModeOptions(e,...i){e.attract||(e.attract=new yc);for(const n of i)e.attract.load(n==null?void 0:n.attract)}reset(){}};async function bc(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalAttract",i=>Promise.resolve(new gc(t,i)),e)}const vc=2,Et=.5,xc=Math.PI*Et,pn=2,fs=10,wc=0;function ps(t,e,i,n,s){const o=t.particles.quadTree.query(n,s);for(const r of o)n instanceof Q?Xn(pi(r),{position:e,radius:i,mass:i**vc*xc,velocity:A.origin,factor:A.origin}):n instanceof me&&qo(r,gt(e,i))}function _c(t,e,i,n){const s=document.querySelectorAll(e);s.length&&s.forEach(o=>{const r=o,a=t.retina.pixelRatio,c={x:(r.offsetLeft+r.offsetWidth*Et)*a,y:(r.offsetTop+r.offsetHeight*Et)*a},l=r.offsetWidth*Et*a,u=fs*a,h=i.type===ct.circle?new Q(c.x,c.y,l+u):new me(r.offsetLeft*a-u,r.offsetTop*a-u,r.offsetWidth*a+u*pn,r.offsetHeight*a+u*pn);n(c,l,h)})}function kc(t,e,i,n){_i(i,e,(s,o)=>_c(t,s,o,(r,a,c)=>ps(t,r,a,c,n)))}function Cc(t,e){const i=t.retina.pixelRatio,n=fs*i,s=t.interactivity.mouse.position,o=t.retina.bounceModeDistance;!o||o<wc||!s||ps(t,s,o,new Q(s.x,s.y,o+n),e)}class Pc{constructor(){this.distance=200}load(e){b(e)||e.distance!==void 0&&(this.distance=e.distance)}}const Pt="bounce";class zc extends we{constructor(e){super(e)}clear(){}init(){const e=this.container,i=e.actualOptions.interactivity.modes.bounce;i&&(e.retina.bounceModeDistance=i.distance*e.retina.pixelRatio)}interact(){const e=this.container,i=e.actualOptions,n=i.interactivity.events,s=e.interactivity.status===Ue,o=n.onHover.enable,r=n.onHover.mode,a=n.onDiv;s&&o&&T(Pt,r)?Cc(this.container,c=>this.isEnabled(c)):kc(this.container,a,Pt,c=>this.isEnabled(c))}isEnabled(e){const i=this.container,n=i.actualOptions,s=i.interactivity.mouse,o=((e==null?void 0:e.interactivity)??n.interactivity).events,r=o.onDiv;return!!s.position&&o.onHover.enable&&T(Pt,o.onHover.mode)||wi(Pt,r)}loadModeOptions(e,...i){e.bounce||(e.bounce=new Pc);for(const n of i)e.bounce.load(n==null?void 0:n.bounce)}reset(){}}async function Mc(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalBounce",i=>Promise.resolve(new zc(i)),e)}class ms{constructor(){this.distance=200,this.duration=.4,this.mix=!1}load(e){if(!b(e)){if(e.distance!==void 0&&(this.distance=e.distance),e.duration!==void 0&&(this.duration=e.duration),e.mix!==void 0&&(this.mix=e.mix),e.opacity!==void 0&&(this.opacity=e.opacity),e.color!==void 0){const i=xe(this.color)?void 0:this.color;this.color=se(e.color,n=>X.create(i,n))}e.size!==void 0&&(this.size=e.size)}}}class Sc extends ms{constructor(){super(),this.selectors=[]}load(e){super.load(e),!b(e)&&e.selectors!==void 0&&(this.selectors=e.selectors)}}class Rc extends ms{load(e){super.load(e),!b(e)&&(this.divs=se(e.divs,i=>{const n=new Sc;return n.load(i),n}))}}var be;(function(t){t.color="color",t.opacity="opacity",t.size="size"})(be||(be={}));function mn(t,e,i,n){if(e>=i){const s=t+(e-i)*n;return le(s,t,e)}else if(e<i){const s=t-(i-e)*n;return le(s,e,t)}}const Te="bubble",ti=0,Ec=0,Oc=2,yn=1,gn=1,Dc=0,Ic=0,ii=.5,ni=1;class Tc extends we{constructor(e,i){super(e),this._clickBubble=()=>{var u;const n=this.container,s=n.actualOptions,o=n.interactivity.mouse.clickPosition,r=s.interactivity.modes.bubble;if(!r||!o)return;n.bubble||(n.bubble={});const a=n.retina.bubbleModeDistance;if(!a||a<ti)return;const c=n.particles.quadTree.queryCircle(o,a,h=>this.isEnabled(h)),{bubble:l}=n;for(const h of c){if(!l.clicking)continue;h.bubble.inRange=!l.durationEnd;const f=h.getPosition(),d=ne(f,o),m=(new Date().getTime()-(n.interactivity.mouse.clickTime??Ec))/H;m>r.duration&&(l.durationEnd=!0),m>r.duration*Oc&&(l.clicking=!1,l.durationEnd=!1);const g={bubbleObj:{optValue:n.retina.bubbleModeSize,value:h.bubble.radius},particlesObj:{optValue:ve(h.options.size.value)*n.retina.pixelRatio,value:h.size.value},type:be.size};this._process(h,d,m,g);const y={bubbleObj:{optValue:r.opacity,value:h.bubble.opacity},particlesObj:{optValue:ve(h.options.opacity.value),value:((u=h.opacity)==null?void 0:u.value)??yn},type:be.opacity};this._process(h,d,m,y),!l.durationEnd&&d<=a?this._hoverBubbleColor(h,d):delete h.bubble.color}},this._hoverBubble=()=>{const n=this.container,s=n.interactivity.mouse.position,o=n.retina.bubbleModeDistance;if(!o||o<ti||!s)return;const r=n.particles.quadTree.queryCircle(s,o,a=>this.isEnabled(a));for(const a of r){a.bubble.inRange=!0;const c=a.getPosition(),l=ne(c,s),u=gn-l/o;l<=o?u>=Ic&&n.interactivity.status===Ue&&(this._hoverBubbleSize(a,u),this._hoverBubbleOpacity(a,u),this._hoverBubbleColor(a,u)):this.reset(a),n.interactivity.status===ci&&this.reset(a)}},this._hoverBubbleColor=(n,s,o)=>{const r=this.container.actualOptions,a=o??r.interactivity.modes.bubble;if(a){if(!n.bubble.finalColor){const c=a.color;if(!c)return;const l=ae(c);n.bubble.finalColor=ft(this._engine,l)}if(n.bubble.finalColor)if(a.mix){n.bubble.color=void 0;const c=n.getFillColor();n.bubble.color=c?es(Ci(c,n.bubble.finalColor,gn-s,s)):n.bubble.finalColor}else n.bubble.color=n.bubble.finalColor}},this._hoverBubbleOpacity=(n,s,o)=>{var f,d;const r=this.container,a=r.actualOptions,c=(o==null?void 0:o.opacity)??((f=a.interactivity.modes.bubble)==null?void 0:f.opacity);if(!c)return;const l=n.options.opacity.value,u=((d=n.opacity)==null?void 0:d.value)??yn,h=mn(u,c,ve(l),s);h!==void 0&&(n.bubble.opacity=h)},this._hoverBubbleSize=(n,s,o)=>{const r=this.container,a=o!=null&&o.size?o.size*r.retina.pixelRatio:r.retina.bubbleModeSize;if(a===void 0)return;const c=ve(n.options.size.value)*r.retina.pixelRatio,l=n.size.value,u=mn(l,a,c,s);u!==void 0&&(n.bubble.radius=u)},this._process=(n,s,o,r)=>{const a=this.container,c=r.bubbleObj.optValue,l=a.actualOptions,u=l.interactivity.modes.bubble;if(!u||c===void 0)return;const h=u.duration,f=a.retina.bubbleModeDistance,d=r.particlesObj.optValue,m=r.bubbleObj.value,g=r.particlesObj.value??Dc,y=r.type;if(!(!f||f<ti||c===d))if(a.bubble||(a.bubble={}),a.bubble.durationEnd)m&&(y===be.size&&delete n.bubble.radius,y===be.opacity&&delete n.bubble.opacity);else if(s<=f){if((m??g)!==c){const w=g-o*(g-c)/h;y===be.size&&(n.bubble.radius=w),y===be.opacity&&(n.bubble.opacity=w)}}else y===be.size&&delete n.bubble.radius,y===be.opacity&&delete n.bubble.opacity},this._singleSelectorHover=(n,s,o)=>{const r=this.container,a=document.querySelectorAll(s),c=r.actualOptions.interactivity.modes.bubble;!c||!a.length||a.forEach(l=>{const u=l,h=r.retina.pixelRatio,f={x:(u.offsetLeft+u.offsetWidth*ii)*h,y:(u.offsetTop+u.offsetHeight*ii)*h},d=u.offsetWidth*ii*h,m=o.type===ct.circle?new Q(f.x,f.y,d):new me(u.offsetLeft*h,u.offsetTop*h,u.offsetWidth*h,u.offsetHeight*h),g=r.particles.quadTree.query(m,y=>this.isEnabled(y));for(const y of g){if(!m.contains(y.getPosition()))continue;y.bubble.inRange=!0;const _=c.divs,w=Gn(_,u);(!y.bubble.div||y.bubble.div!==u)&&(this.clear(y,n,!0),y.bubble.div=u),this._hoverBubbleSize(y,ni,w),this._hoverBubbleOpacity(y,ni,w),this._hoverBubbleColor(y,ni,w)}})},this._engine=i,e.bubble||(e.bubble={}),this.handleClickMode=n=>{n===Te&&(e.bubble||(e.bubble={}),e.bubble.clicking=!0)}}clear(e,i,n){e.bubble.inRange&&!n||(delete e.bubble.div,delete e.bubble.opacity,delete e.bubble.radius,delete e.bubble.color)}init(){const e=this.container,i=e.actualOptions.interactivity.modes.bubble;i&&(e.retina.bubbleModeDistance=i.distance*e.retina.pixelRatio,i.size!==void 0&&(e.retina.bubbleModeSize=i.size*e.retina.pixelRatio))}interact(e){const i=this.container.actualOptions,n=i.interactivity.events,s=n.onHover,o=n.onClick,r=s.enable,a=s.mode,c=o.enable,l=o.mode,u=n.onDiv;r&&T(Te,a)?this._hoverBubble():c&&T(Te,l)?this._clickBubble():_i(Te,u,(h,f)=>this._singleSelectorHover(e,h,f))}isEnabled(e){const i=this.container,n=i.actualOptions,s=i.interactivity.mouse,o=((e==null?void 0:e.interactivity)??n.interactivity).events,{onClick:r,onDiv:a,onHover:c}=o,l=wi(Te,a);return l||c.enable&&s.position||r.enable&&s.clickPosition?T(Te,c.mode)||T(Te,r.mode)||l:!1}loadModeOptions(e,...i){e.bubble||(e.bubble=new Rc);for(const n of i)e.bubble.load(n==null?void 0:n.bubble)}reset(e){e.bubble.inRange=!1}}async function Lc(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalBubble",i=>Promise.resolve(new Tc(i,t)),e)}class jc{constructor(){this.opacity=.5}load(e){b(e)||e.opacity!==void 0&&(this.opacity=e.opacity)}}class Fc{constructor(){this.distance=80,this.links=new jc,this.radius=60}load(e){b(e)||(e.distance!==void 0&&(this.distance=e.distance),this.links.load(e.links),e.radius!==void 0&&(this.radius=e.radius))}}const bn=0,vn=1,Bc=0;function Nc(t,e,i,n){const s=Math.floor(i.getRadius()/e.getRadius()),o=e.getFillColor(),r=i.getFillColor();if(!o||!r)return;const a=e.getPosition(),c=i.getPosition(),l=Ci(o,r,e.getRadius(),i.getRadius()),u=t.createLinearGradient(a.x,a.y,c.x,c.y);return u.addColorStop(bn,pt(o,n)),u.addColorStop(le(s,bn,vn),Pe(l,n)),u.addColorStop(vn,pt(r,n)),u}function Ac(t,e,i,n,s){dt(t,n,s),t.lineWidth=e,t.strokeStyle=i,t.stroke()}function $c(t,e,i,n){const s=t.actualOptions,o=s.interactivity.modes.connect;if(o)return Nc(e,i,n,o.links.opacity)}function qc(t,e,i){t.canvas.draw(n=>{const s=$c(t,n,e,i);if(!s)return;const o=e.getPosition(),r=i.getPosition();Ac(n,e.retina.linksWidth??Bc,s,o,r)})}const Uc="connect",xn=0;class Vc extends we{constructor(e){super(e)}clear(){}init(){const e=this.container,i=e.actualOptions.interactivity.modes.connect;i&&(e.retina.connectModeDistance=i.distance*e.retina.pixelRatio,e.retina.connectModeRadius=i.radius*e.retina.pixelRatio)}interact(){const e=this.container;if(e.actualOptions.interactivity.events.onHover.enable&&e.interactivity.status==="pointermove"){const n=e.interactivity.mouse.position,{connectModeDistance:s,connectModeRadius:o}=e.retina;if(!s||s<xn||!o||o<xn||!n)return;const r=Math.abs(o),a=e.particles.quadTree.queryCircle(n,r,c=>this.isEnabled(c));a.forEach((c,l)=>{const u=c.getPosition(),h=1;for(const f of a.slice(l+h)){const d=f.getPosition(),m=Math.abs(s),g=Math.abs(u.x-d.x),y=Math.abs(u.y-d.y);g<m&&y<m&&qc(e,c,f)}})}}isEnabled(e){const i=this.container,n=i.interactivity.mouse,s=((e==null?void 0:e.interactivity)??i.actualOptions.interactivity).events;return s.onHover.enable&&n.position?T(Uc,s.onHover.mode):!1}loadModeOptions(e,...i){e.connect||(e.connect=new Fc);for(const n of i)e.connect.load(n==null?void 0:n.connect)}reset(){}}async function Hc(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalConnect",i=>Promise.resolve(new Vc(i)),e)}class Wc{constructor(){this.blink=!1,this.consent=!1,this.opacity=1}load(e){b(e)||(e.blink!==void 0&&(this.blink=e.blink),e.color!==void 0&&(this.color=X.create(this.color,e.color)),e.consent!==void 0&&(this.consent=e.consent),e.opacity!==void 0&&(this.opacity=e.opacity))}}class Qc{constructor(){this.distance=100,this.links=new Wc}load(e){b(e)||(e.distance!==void 0&&(this.distance=e.distance),this.links.load(e.links))}}const Gc=0;function Xc(t,e,i,n,s,o){dt(t,i,n),t.strokeStyle=Pe(s,o),t.lineWidth=e,t.stroke()}function Yc(t,e,i,n,s){t.canvas.draw(o=>{const r=e.getPosition();Xc(o,e.retina.linksWidth??Gc,r,s,i,n)})}const Kc="grab",Zc=0,Jc=0;class el extends we{constructor(e,i){super(e),this._engine=i}clear(){}init(){const e=this.container,i=e.actualOptions.interactivity.modes.grab;i&&(e.retina.grabModeDistance=i.distance*e.retina.pixelRatio)}interact(){var a;const e=this.container,i=e.actualOptions,n=i.interactivity;if(!n.modes.grab||!n.events.onHover.enable||e.interactivity.status!==Ue)return;const s=e.interactivity.mouse.position;if(!s)return;const o=e.retina.grabModeDistance;if(!o||o<Zc)return;const r=e.particles.quadTree.queryCircle(s,o,c=>this.isEnabled(c));for(const c of r){const l=c.getPosition(),u=ne(l,s);if(u>o)continue;const h=n.modes.grab.links,f=h.opacity,d=f-u*f/o;if(d<=Jc)continue;const m=h.color??((a=c.options.links)==null?void 0:a.color);if(!e.particles.grabLineColor&&m){const y=n.modes.grab.links;e.particles.grabLineColor=is(this._engine,m,y.blink,y.consent)}const g=yi(c,void 0,e.particles.grabLineColor);g&&Yc(e,c,g,d,s)}}isEnabled(e){const i=this.container,n=i.interactivity.mouse,s=((e==null?void 0:e.interactivity)??i.actualOptions.interactivity).events;return s.onHover.enable&&!!n.position&&T(Kc,s.onHover.mode)}loadModeOptions(e,...i){e.grab||(e.grab=new Qc);for(const n of i)e.grab.load(n==null?void 0:n.grab)}reset(){}}async function tl(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalGrab",i=>Promise.resolve(new el(i,t)),e)}const il="pause";class nl extends we{constructor(e){super(e),this.handleClickMode=i=>{if(i!==il)return;const n=this.container;n.animationStatus?n.pause():n.play()}}clear(){}init(){}interact(){}isEnabled(){return!0}reset(){}}async function sl(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalPause",i=>Promise.resolve(new nl(i)),e)}class ol{constructor(){this.default=!0,this.groups=[],this.quantity=4}load(e){if(b(e))return;e.default!==void 0&&(this.default=e.default),e.groups!==void 0&&(this.groups=e.groups.map(n=>n)),this.groups.length||(this.default=!0);const i=e.quantity;i!==void 0&&(this.quantity=S(i)),this.particles=se(e.particles,n=>G({},n))}}const rl="push",al=0;class cl extends we{constructor(e){super(e),this.handleClickMode=i=>{if(i!==rl)return;const n=this.container,s=n.actualOptions,o=s.interactivity.modes.push;if(!o)return;const r=k(o.quantity);if(r<=al)return;const a=Bt([void 0,...o.groups]),c=a!==void 0?n.actualOptions.particles.groups[a]:void 0,l=ae(o.particles),u=G(c,l);n.particles.push(r,n.interactivity.mouse,u,a)}}clear(){}init(){}interact(){}isEnabled(){return!0}loadModeOptions(e,...i){e.push||(e.push=new ol);for(const n of i)e.push.load(n==null?void 0:n.push)}reset(){}}async function ll(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalPush",i=>Promise.resolve(new cl(i)),e)}class ul{constructor(){this.quantity=2}load(e){if(b(e))return;const i=e.quantity;i!==void 0&&(this.quantity=S(i))}}const hl="remove";class dl extends we{constructor(e){super(e),this.handleClickMode=i=>{const n=this.container,s=n.actualOptions;if(!s.interactivity.modes.remove||i!==hl)return;const o=k(s.interactivity.modes.remove.quantity);n.particles.removeQuantity(o)}}clear(){}init(){}interact(){}isEnabled(){return!0}loadModeOptions(e,...i){e.remove||(e.remove=new ul);for(const n of i)e.remove.load(n==null?void 0:n.remove)}reset(){}}async function fl(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalRemove",i=>Promise.resolve(new dl(i)),e)}class ys{constructor(){this.distance=200,this.duration=.4,this.factor=100,this.speed=1,this.maxSpeed=50,this.easing=qe.easeOutQuad}load(e){b(e)||(e.distance!==void 0&&(this.distance=e.distance),e.duration!==void 0&&(this.duration=e.duration),e.easing!==void 0&&(this.easing=e.easing),e.factor!==void 0&&(this.factor=e.factor),e.speed!==void 0&&(this.speed=e.speed),e.maxSpeed!==void 0&&(this.maxSpeed=e.maxSpeed))}}class pl extends ys{constructor(){super(),this.selectors=[]}load(e){super.load(e),!b(e)&&e.selectors!==void 0&&(this.selectors=e.selectors)}}class ml extends ys{load(e){super.load(e),!b(e)&&(this.divs=se(e.divs,i=>{const n=new pl;return n.load(i),n}))}}const Le="repulse",yl=0,gl=6,bl=3,vl=2,xl=0,wl=0,_l=1,si=.5;class kl extends we{constructor(e,i){super(i),this._clickRepulse=()=>{const n=this.container,s=n.actualOptions.interactivity.modes.repulse;if(!s)return;const o=n.repulse??{particles:[]};if(o.finish||(o.count||(o.count=0),o.count++,o.count===n.particles.count&&(o.finish=!0)),o.clicking){const r=n.retina.repulseModeDistance;if(!r||r<yl)return;const a=Math.pow(r/gl,bl),c=n.interactivity.mouse.clickPosition;if(c===void 0)return;const l=new Q(c.x,c.y,a),u=n.particles.quadTree.query(l,h=>this.isEnabled(h));for(const h of u){const{dx:f,dy:d,distance:m}=Z(c,h.position),g=m**vl,y=s.speed,_=-a*y/g;if(g<=a){o.particles.push(h);const w=A.create(f,d);w.length=_,h.velocity.setTo(w)}}}else if(o.clicking===!1){for(const r of o.particles)r.velocity.setTo(r.initialVelocity);o.particles=[]}},this._hoverRepulse=()=>{const n=this.container,s=n.interactivity.mouse.position,o=n.retina.repulseModeDistance;!o||o<xl||!s||this._processRepulse(s,o,new Q(s.x,s.y,o))},this._processRepulse=(n,s,o,r)=>{const a=this.container,c=a.particles.quadTree.query(o,y=>this.isEnabled(y)),l=a.actualOptions.interactivity.modes.repulse;if(!l)return;const{easing:u,speed:h,factor:f,maxSpeed:d}=l,m=this._engine.getEasing(u),g=((r==null?void 0:r.speed)??h)*f;for(const y of c){const{dx:_,dy:w,distance:C}=Z(y.position,n),v=le(m(_l-C/s)*g,wl,d),P=A.create(C?_/C*v:g,C?w/C*v:g);y.position.addTo(P)}},this._singleSelectorRepulse=(n,s)=>{const o=this.container,r=o.actualOptions.interactivity.modes.repulse;if(!r)return;const a=document.querySelectorAll(n);a.length&&a.forEach(c=>{const l=c,u=o.retina.pixelRatio,h={x:(l.offsetLeft+l.offsetWidth*si)*u,y:(l.offsetTop+l.offsetHeight*si)*u},f=l.offsetWidth*si*u,d=s.type===ct.circle?new Q(h.x,h.y,f):new me(l.offsetLeft*u,l.offsetTop*u,l.offsetWidth*u,l.offsetHeight*u),m=r.divs,g=Gn(m,l);this._processRepulse(h,f,d,g)})},this._engine=e,i.repulse||(i.repulse={particles:[]}),this.handleClickMode=n=>{const s=this.container.actualOptions,o=s.interactivity.modes.repulse;if(!o||n!==Le)return;i.repulse||(i.repulse={particles:[]});const r=i.repulse;r.clicking=!0,r.count=0;for(const a of i.repulse.particles)this.isEnabled(a)&&a.velocity.setTo(a.initialVelocity);r.particles=[],r.finish=!1,setTimeout(()=>{i.destroyed||(r.clicking=!1)},o.duration*H)}}clear(){}init(){const e=this.container,i=e.actualOptions.interactivity.modes.repulse;i&&(e.retina.repulseModeDistance=i.distance*e.retina.pixelRatio)}interact(){const e=this.container,i=e.actualOptions,n=e.interactivity.status===Ue,s=i.interactivity.events,o=s.onHover,r=o.enable,a=o.mode,c=s.onClick,l=c.enable,u=c.mode,h=s.onDiv;n&&r&&T(Le,a)?this._hoverRepulse():l&&T(Le,u)?this._clickRepulse():_i(Le,h,(f,d)=>this._singleSelectorRepulse(f,d))}isEnabled(e){const i=this.container,n=i.actualOptions,s=i.interactivity.mouse,o=((e==null?void 0:e.interactivity)??n.interactivity).events,r=o.onDiv,a=o.onHover,c=o.onClick,l=wi(Le,r);if(!(l||a.enable&&s.position||c.enable&&s.clickPosition))return!1;const u=a.mode,h=c.mode;return T(Le,u)||T(Le,h)||l}loadModeOptions(e,...i){e.repulse||(e.repulse=new ml);for(const n of i)e.repulse.load(n==null?void 0:n.repulse)}reset(){}}async function Cl(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalRepulse",i=>Promise.resolve(new kl(t,i)),e)}class Pl{constructor(){this.factor=3,this.radius=200}load(e){b(e)||(e.factor!==void 0&&(this.factor=e.factor),e.radius!==void 0&&(this.radius=e.radius))}}const zl="slow",Ml=0;class Sl extends we{constructor(e){super(e)}clear(e,i,n){e.slow.inRange&&!n||(e.slow.factor=1)}init(){const e=this.container,i=e.actualOptions.interactivity.modes.slow;i&&(e.retina.slowModeRadius=i.radius*e.retina.pixelRatio)}interact(){}isEnabled(e){const i=this.container,n=i.interactivity.mouse,s=((e==null?void 0:e.interactivity)??i.actualOptions.interactivity).events;return s.onHover.enable&&!!n.position&&T(zl,s.onHover.mode)}loadModeOptions(e,...i){e.slow||(e.slow=new Pl);for(const n of i)e.slow.load(n==null?void 0:n.slow)}reset(e){e.slow.inRange=!1;const i=this.container,n=i.actualOptions,s=i.interactivity.mouse.position,o=i.retina.slowModeRadius,r=n.interactivity.modes.slow;if(!r||!o||o<Ml||!s)return;const a=e.getPosition(),c=ne(s,a),l=c/o,u=r.factor,{slow:h}=e;c>o||(h.inRange=!0,h.factor=l/u)}}async function Rl(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("externalSlow",i=>Promise.resolve(new Sl(i)),e)}const El=0,Ol=1,Dl=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;function Il(t,e,i){const{svgData:n}=t;if(!n)return"";const s=pt(e,i);if(n.includes("fill"))return n.replace(Dl,()=>s);const o=n.indexOf(">");return`${n.substring(El,o)} fill="${s}"${n.substring(o)}`}async function Nt(t){return new Promise(e=>{t.loading=!0;const 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,He().error(`${ce} loading image: ${t.source}`),e()}),i.src=t.source})}async function Tl(t){if(t.type!=="svg"){await Nt(t);return}t.loading=!0;const e=await fetch(t.source);e.ok?t.svgData=await e.text():(He().error(`${ce} Image not found`),t.error=!0),t.loading=!1}function Ll(t,e,i,n){var r;const s=Il(t,i,((r=n.opacity)==null?void 0:r.value)??Ol),o={color:i,gif:e.gif,data:{...t,svgData:s},loaded:!1,ratio:e.width/e.height,replaceColor:e.replaceColor,source:e.src};return new Promise(a=>{const c=new Blob([s],{type:"image/svg+xml"}),l=URL||window.URL||window.webkitURL||window,u=l.createObjectURL(c),h=new Image;h.addEventListener("load",()=>{o.loaded=!0,o.element=h,a(o),l.revokeObjectURL(u)});const f=async()=>{l.revokeObjectURL(u);const d={...t,error:!1,loading:!0};await Nt(d),o.loaded=!0,o.element=d.element,a(o)};h.addEventListener("error",()=>void f()),h.src=u})}const oi=[0,4,2,1],wn=[8,8,4,2];class jl{constructor(e){this.pos=0,this.data=new Uint8ClampedArray(e)}getString(e){const i=this.data.slice(this.pos,this.pos+e);return this.pos+=i.length,i.reduce((n,s)=>n+String.fromCharCode(s),"")}nextByte(){return this.data[this.pos++]}nextTwoBytes(){return this.pos+=2,this.data[this.pos-2]+(this.data[this.pos-1]<<8)}readSubBlocks(){let e="",i=0;const n=0,s=0;do{i=this.data[this.pos++];for(let o=i;--o>=n;e+=String.fromCharCode(this.data[this.pos++]));}while(i!==s);return e}readSubBlocksBin(){let e=this.data[this.pos],i=0;const n=0,s=1;for(let r=0;e!==n;r+=e+s,e=this.data[this.pos+r])i+=e;const o=new Uint8Array(i);e=this.data[this.pos++];for(let r=0;e!==n;e=this.data[this.pos++])for(let a=e;--a>=n;o[r++]=this.data[this.pos++]);return o}skipSubBlocks(){for(const e=1,i=0;this.data[this.pos]!==i;this.pos+=this.data[this.pos]+e);this.pos++}}var ue;(function(t){t[t.Replace=0]="Replace",t[t.Combine=1]="Combine",t[t.RestoreBackground=2]="RestoreBackground",t[t.RestorePrevious=3]="RestorePrevious",t[t.UndefinedA=4]="UndefinedA",t[t.UndefinedB=5]="UndefinedB",t[t.UndefinedC=6]="UndefinedC",t[t.UndefinedD=7]="UndefinedD"})(ue||(ue={}));var Ce;(function(t){t[t.Extension=33]="Extension",t[t.ApplicationExtension=255]="ApplicationExtension",t[t.GraphicsControlExtension=249]="GraphicsControlExtension",t[t.PlainTextExtension=1]="PlainTextExtension",t[t.CommentExtension=254]="CommentExtension",t[t.Image=44]="Image",t[t.EndOfFile=59]="EndOfFile"})(Ce||(Ce={}));const ee={x:0,y:0},Fl=0,_n=.5,Bl=0,kn=0,bi=0;function gs(t,e){const i=[];for(let n=0;n<e;n++)i.push({r:t.data[t.pos],g:t.data[t.pos+1],b:t.data[t.pos+2]}),t.pos+=3;return i}function Nl(t,e,i,n){switch(t.nextByte()){case Ce.GraphicsControlExtension:{const s=e.frames[i(!1)];t.pos++;const o=t.nextByte();s.GCreserved=(o&224)>>>5,s.disposalMethod=(o&28)>>>2,s.userInputDelayFlag=(o&2)===2;const r=(o&1)===1;s.delayTime=t.nextTwoBytes()*10;const a=t.nextByte();r&&n(a),t.pos++;break}case Ce.ApplicationExtension:{t.pos++;const s={identifier:t.getString(8),authenticationCode:t.getString(3),data:t.readSubBlocksBin()};e.applicationExtensions.push(s);break}case Ce.CommentExtension:{e.comments.push([i(!1),t.readSubBlocks()]);break}case Ce.PlainTextExtension:{if(e.globalColorTable.length===0)throw new EvalError("plain text extension without global color table");t.pos++,e.frames[i(!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}}async function Al(t,e,i,n,s,o){const r=e.frames[n(!0)];r.left=t.nextTwoBytes(),r.top=t.nextTwoBytes(),r.width=t.nextTwoBytes(),r.height=t.nextTwoBytes();const a=t.nextByte(),c=(a&128)===128,l=(a&64)===64;r.sortFlag=(a&32)===32,r.reserved=(a&24)>>>3;const u=1<<(a&7)+1;c&&(r.localColorTable=gs(t,u));const h=_=>{const{r:w,g:C,b:v}=(c?r.localColorTable:e.globalColorTable)[_];return _!==s(null)?{r:w,g:C,b:v,a:255}:{r:w,g:C,b:v,a:i?~~((w+C+v)/3):0}},f=(()=>{try{return new ImageData(r.width,r.height,{colorSpace:"srgb"})}catch(_){if(_ instanceof DOMException&&_.name==="IndexSizeError")return null;throw _}})();if(f==null)throw new EvalError("GIF frame size is to large");const d=t.nextByte(),m=t.readSubBlocksBin(),g=1<<d,y=(_,w)=>{const C=_>>>3,v=_&7;return(m[C]+(m[C+1]<<8)+(m[C+2]<<16)&(1<<w)-1<<v)>>>v};if(l){for(let _=0,w=d+1,C=0,v=[[0]],P=0;P<4;P++){if(oi[P]<r.height){let R=0,$=0,F=!1;for(;!F;){const N=_;if(_=y(C,w),C+=w+1,_===g){w=d+1,v.length=g+2;for(let Y=0;Y<v.length;Y++)v[Y]=Y<g?[Y]:[]}else{_>=v.length?v.push(v[N].concat(v[N][0])):N!==g&&v.push(v[N].concat(v[_][0]));for(const Y of v[_]){const{r:oe,g:q,b:O,a:_e}=h(Y);f.data.set([oe,q,O,_e],oi[P]*r.width+wn[P]*$+R%(r.width*4)),R+=4}v.length===1<<w&&w<12&&w++}R===r.width*4*($+1)&&($++,oi[P]+wn[P]*$>=r.height&&(F=!0))}}o==null||o(t.pos/(t.data.length-1),n(!1)+1,f,{x:r.left,y:r.top},{width:e.width,height:e.height})}r.image=f,r.bitmap=await createImageBitmap(f)}else{let _=0,w=d+1,C=0,v=-4,P=!1;const R=[[0]];for(;!P;){const $=_;if(_=y(C,w),C+=w,_===g){w=d+1,R.length=g+2;for(let F=0;F<R.length;F++)R[F]=F<g?[F]:[]}else{if(_===g+1){P=!0;break}_>=R.length?R.push(R[$].concat(R[$][0])):$!==g&&R.push(R[$].concat(R[_][0]));for(const F of R[_]){const{r:N,g:Y,b:oe,a:q}=h(F);f.data.set([N,Y,oe,q],v+=4)}R.length>=1<<w&&w<12&&w++}}r.image=f,r.bitmap=await createImageBitmap(f),o==null||o((t.pos+1)/t.data.length,n(!1)+1,r.image,{x:r.left,y:r.top},{width:e.width,height:e.height})}}async function $l(t,e,i,n,s,o){switch(t.nextByte()){case Ce.EndOfFile:return!0;case Ce.Image:await Al(t,e,i,n,s,o);break;case Ce.Extension:Nl(t,e,n,s);break;default:throw new EvalError("undefined block found")}return!1}function ql(t){for(const e of t.applicationExtensions)if(e.identifier+e.authenticationCode==="NETSCAPE2.0")return e.data[1]+(e.data[2]<<8);return NaN}async function Ul(t,e,i){i||(i=!1);const n=await fetch(t);if(!n.ok&&n.status===404)throw new EvalError("file not found");const s=await n.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:[]},r=new jl(new Uint8ClampedArray(s));if(r.getString(6)!=="GIF89a")throw new Error("not a supported GIF file");o.width=r.nextTwoBytes(),o.height=r.nextTwoBytes();const a=r.nextByte(),c=(a&128)===128;o.colorRes=(a&112)>>>4,o.sortFlag=(a&8)===8;const l=1<<(a&7)+1,u=r.nextByte();o.pixelAspectRatio=r.nextByte(),o.pixelAspectRatio!==0&&(o.pixelAspectRatio=(o.pixelAspectRatio+15)/64),c&&(o.globalColorTable=gs(r,l));const h=(()=>{try{return new ImageData(o.width,o.height,{colorSpace:"srgb"})}catch(v){if(v instanceof DOMException&&v.name==="IndexSizeError")return null;throw v}})();if(h==null)throw new Error("GIF frame size is to large");const{r:f,g:d,b:m}=o.globalColorTable[u];h.data.set(c?[f,d,m,255]:[0,0,0,0]);for(let v=4;v<h.data.length;v*=2)h.data.copyWithin(v,0,v);o.backgroundImage=h;let g=-1,y=!0,_=-1;const w=v=>(v&&(y=!0),g),C=v=>(v!=null&&(_=v),_);try{do y&&(o.frames.push({left:0,top:0,width:0,height:0,disposalMethod:ue.Replace,image:new ImageData(1,1,{colorSpace:"srgb"}),plainTextData:null,userInputDelayFlag:!1,delayTime:0,sortFlag:!1,localColorTable:[],reserved:0,GCreserved:0}),g++,_=-1,y=!1);while(!await $l(r,o,i,w,C,e));o.frames.length--;for(const v of o.frames){if(v.userInputDelayFlag&&v.delayTime===0){o.totalTime=1/0;break}o.totalTime+=v.delayTime}return o}catch(v){throw v instanceof EvalError?new Error(`error while parsing frame ${g} "${v.message}"`):v}}function Vl(t){const{context:e,radius:i,particle:n,delta:s}=t,o=n.image;if(!(o!=null&&o.gifData)||!o.gif)return;const r=new OffscreenCanvas(o.gifData.width,o.gifData.height),a=r.getContext("2d");if(!a)throw new Error("could not create offscreen canvas context");a.imageSmoothingQuality="low",a.imageSmoothingEnabled=!1,a.clearRect(ee.x,ee.y,r.width,r.height),n.gifLoopCount===void 0&&(n.gifLoopCount=o.gifLoopCount??bi);let c=n.gifFrame??Fl;const l={x:-o.gifData.width*_n,y:-o.gifData.height*_n},u=o.gifData.frames[c];if(n.gifTime===void 0&&(n.gifTime=Bl),!!u.bitmap){switch(e.scale(i/o.gifData.width,i/o.gifData.height),u.disposalMethod){case ue.UndefinedA:case ue.UndefinedB:case ue.UndefinedC:case ue.UndefinedD:case ue.Replace:a.drawImage(u.bitmap,u.left,u.top),e.drawImage(r,l.x,l.y),a.clearRect(ee.x,ee.y,r.width,r.height);break;case ue.Combine:a.drawImage(u.bitmap,u.left,u.top),e.drawImage(r,l.x,l.y);break;case ue.RestoreBackground:a.drawImage(u.bitmap,u.left,u.top),e.drawImage(r,l.x,l.y),a.clearRect(ee.x,ee.y,r.width,r.height),o.gifData.globalColorTable.length?a.putImageData(o.gifData.backgroundImage,l.x,l.y):a.putImageData(o.gifData.frames[kn].image,l.x+u.left,l.y+u.top);break;case ue.RestorePrevious:{const h=a.getImageData(ee.x,ee.y,r.width,r.height);a.drawImage(u.bitmap,u.left,u.top),e.drawImage(r,l.x,l.y),a.clearRect(ee.x,ee.y,r.width,r.height),a.putImageData(h,ee.x,ee.y)}break}if(n.gifTime+=s.value,n.gifTime>u.delayTime){if(n.gifTime-=u.delayTime,++c>=o.gifData.frames.length){if(--n.gifLoopCount<=bi)return;c=kn,a.clearRect(ee.x,ee.y,r.width,r.height)}n.gifFrame=c}e.scale(o.gifData.width/i,o.gifData.height/i)}}async function Hl(t){if(t.type!=="gif"){await Nt(t);return}t.loading=!0;try{t.gifData=await Ul(t.source),t.gifLoopCount=ql(t.gifData)??bi,t.gifLoopCount||(t.gifLoopCount=1/0)}catch{t.error=!0}t.loading=!1}const Wl=2,Ql=1,Gl=12,Xl=1;class Yl{constructor(e){this.validTypes=["image","images"],this.loadImageShape=async i=>{if(!this._engine.loadImage)throw new Error(`${ce} image shape not initialized`);await this._engine.loadImage({gif:i.gif,name:i.name,replaceColor:i.replaceColor??!1,src:i.src})},this._engine=e}addImage(e){this._engine.images||(this._engine.images=[]),this._engine.images.push(e)}draw(e){const{context:i,radius:n,particle:s,opacity:o}=e,r=s.image,a=r==null?void 0:r.element;if(r){if(i.globalAlpha=o,r.gif&&r.gifData)Vl(e);else if(a){const c=r.ratio,l={x:-n,y:-n},u=n*Wl;i.drawImage(a,l.x,l.y,u,u/c)}i.globalAlpha=Ql}}getSidesCount(){return Gl}async init(e){const i=e.actualOptions;if(!(!i.preload||!this._engine.loadImage))for(const n of i.preload)await this._engine.loadImage(n)}loadShape(e){if(e.shape!=="image"&&e.shape!=="images")return;this._engine.images||(this._engine.images=[]);const i=e.shapeData;if(!i)return;this._engine.images.find(s=>s.name===i.name||s.source===i.src)||this.loadImageShape(i).then(()=>{this.loadShape(e)})}particleInit(e,i){if(i.shape!=="image"&&i.shape!=="images")return;this._engine.images||(this._engine.images=[]);const n=this._engine.images,s=i.shapeData;if(!s)return;const o=i.getFillColor(),r=n.find(c=>c.name===s.name||c.source===s.src);if(!r)return;const a=s.replaceColor??r.replaceColor;if(r.loading){setTimeout(()=>{this.particleInit(e,i)});return}(async()=>{let c;r.svgData&&o?c=await Ll(r,s,o,i):c={color:o,data:r,element:r.element,gif:r.gif,gifData:r.gifData,gifLoopCount:r.gifLoopCount,loaded:!0,ratio:s.width&&s.height?s.width/s.height:r.ratio??Xl,replaceColor:a,source:s.src},c.ratio||(c.ratio=1);const l=s.fill??i.shapeFill,u=s.close??i.shapeClose,h={image:c,fill:l,close:u};i.image=h.image,i.shapeFill=h.fill,i.shapeClose=h.close})()}}class Kl{constructor(){this.src="",this.gif=!1}load(e){b(e)||(e.gif!==void 0&&(this.gif=e.gif),e.height!==void 0&&(this.height=e.height),e.name!==void 0&&(this.name=e.name),e.replaceColor!==void 0&&(this.replaceColor=e.replaceColor),e.src!==void 0&&(this.src=e.src),e.width!==void 0&&(this.width=e.width))}}class Zl{constructor(e){this.id="imagePreloader",this._engine=e}async getPlugin(){return await Promise.resolve(),{}}loadOptions(e,i){if(!(i!=null&&i.preload))return;e.preload||(e.preload=[]);const n=e.preload;for(const s of i.preload){const o=n.find(r=>r.name===s.name||r.src===s.src);if(o)o.load(s);else{const r=new Kl;r.load(s),n.push(r)}}}needsPlugin(){return!0}}const Jl=3;function eu(t){t.loadImage||(t.loadImage=async e=>{if(!e.name&&!e.src)throw new Error(`${ce} no image source provided`);if(t.images||(t.images=[]),!t.images.find(i=>i.name===e.name||i.source===e.src))try{const i={gif:e.gif??!1,name:e.name??e.src,source:e.src,type:e.src.substring(e.src.length-Jl),error:!1,loading:!0,replaceColor:e.replaceColor,ratio:e.width&&e.height?e.width/e.height:void 0};t.images.push(i);let n;e.gif?n=Hl:n=e.replaceColor?Tl:Nt,await n(i)}catch{throw new Error(`${ce} ${e.name??e.src} not found`)}})}async function tu(t,e=!0){t.checkVersion("3.9.1"),eu(t);const i=new Zl(t);await t.addPlugin(i,e),await t.addShape(new Yl(t),e)}class iu extends Qe{constructor(){super(),this.sync=!1}load(e){b(e)||(super.load(e),e.sync!==void 0&&(this.sync=e.sync))}}class nu extends Qe{constructor(){super(),this.sync=!1}load(e){b(e)||(super.load(e),e.sync!==void 0&&(this.sync=e.sync))}}class su{constructor(){this.count=0,this.delay=new iu,this.duration=new nu}load(e){b(e)||(e.count!==void 0&&(this.count=e.count),this.delay.load(e.delay),this.duration.load(e.duration))}}const Xe=0,ou=-1,Cn=0,Pn=0;function ru(t,e,i){if(!t.life)return;const n=t.life;let s=!1;if(t.spawning)if(n.delayTime+=e.value,n.delayTime>=t.life.delay)s=!0,t.spawning=!1,n.delayTime=Xe,n.time=Xe;else return;if(n.duration===ou||t.spawning||(s?n.time=Xe:n.time+=e.value,n.time<n.duration))return;if(n.time=Xe,t.life.count>Cn&&t.life.count--,t.life.count===Cn){t.destroy();return}const o=S(Pn,i.width),r=S(Pn,i.width);t.position.x=ie(o),t.position.y=ie(r),t.spawning=!0,n.delayTime=Xe,n.time=Xe,t.reset();const a=t.options.life;a&&(n.delay=k(a.delay.value)*H,n.duration=k(a.duration.value)*H)}const je=0,zn=1,Mn=-1;class au{constructor(e){this.container=e}init(e){const i=this.container,n=e.options,s=n.life;s&&(e.life={delay:i.retina.reduceFactor?k(s.delay.value)*(s.delay.sync?zn:E())/i.retina.reduceFactor*H:je,delayTime:je,duration:i.retina.reduceFactor?k(s.duration.value)*(s.duration.sync?zn:E())/i.retina.reduceFactor*H:je,time:je,count:s.count},e.life.duration<=je&&(e.life.duration=Mn),e.life.count<=je&&(e.life.count=Mn),e.life&&(e.spawning=e.life.delay>je))}isEnabled(e){return!e.destroyed}loadOptions(e,...i){e.life||(e.life=new su);for(const n of i)e.life.load(n==null?void 0:n.life)}update(e,i){!this.isEnabled(e)||!e.life||ru(e,i,this.container.canvas.size)}}async function cu(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("life",async i=>Promise.resolve(new au(i)),e)}function lu(t){const{context:e,particle:i,radius:n}=t,s=i.shapeData,o=0;e.moveTo(-n,o),e.lineTo(n,o),e.lineCap=(s==null?void 0:s.cap)??"butt"}const uu=1;class hu{constructor(){this.validTypes=["line"]}draw(e){lu(e)}getSidesCount(){return uu}}async function du(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new hu,e)}const Sn=.5;class fu{init(){}isEnabled(e){return!We()&&!e.destroyed&&e.container.actualOptions.interactivity.events.onHover.parallax.enable}move(e){const i=e.container,n=i.actualOptions,s=n.interactivity.events.onHover.parallax;if(We()||!s.enable)return;const o=s.force,r=i.interactivity.mouse.position;if(!r)return;const a=i.canvas.size,c={x:a.width*Sn,y:a.height*Sn},l=s.smooth,u=e.getRadius()/o,h={x:(r.x-c.x)*u,y:(r.y-c.y)*u},{offset:f}=e;f.x+=(h.x-f.x)/l,f.y+=(h.y-f.y)/l}}async function pu(t,e=!0){t.checkVersion("3.9.1"),await t.addMover("parallax",()=>Promise.resolve(new fu),e)}const Rn=1e3,mu=1;class yu extends Mi{constructor(e){super(e)}clear(){}init(){}interact(e){const i=this.container;e.attractDistance===void 0&&(e.attractDistance=k(e.options.move.attract.distance)*i.retina.pixelRatio);const n=e.attractDistance,s=e.getPosition(),o=i.particles.quadTree.queryCircle(s,n);for(const r of o){if(e===r||!r.options.move.attract.enable||r.destroyed||r.spawning)continue;const a=r.getPosition(),{dx:c,dy:l}=Z(s,a),u=e.options.move.attract.rotate,h=c/(u.x*Rn),f=l/(u.y*Rn),d=r.size.value/e.size.value,m=mu/d;e.velocity.x-=h*d,e.velocity.y-=f*d,r.velocity.x+=h*m,r.velocity.y+=f*m}}isEnabled(e){return e.options.move.attract.enable}reset(){}}async function gu(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("particlesAttract",i=>Promise.resolve(new yu(i)),e)}const bu=.5,vu=10,xu=0;function En(t,e,i,n,s,o){const r=le(t.options.collisions.absorb.speed*s.factor/vu,xu,n);t.size.value+=r*bu,i.size.value-=r,n<=o&&(i.size.value=0,i.destroy())}function wu(t,e,i,n){const s=t.getRadius(),o=e.getRadius();s===void 0&&o!==void 0?t.destroy():s!==void 0&&o===void 0?e.destroy():s!==void 0&&o!==void 0&&(s>=o?En(t,s,e,o,i,n):En(e,o,t,s,i,n))}const On=t=>{t.collisionMaxSpeed===void 0&&(t.collisionMaxSpeed=k(t.options.collisions.maxSpeed)),t.velocity.length>t.collisionMaxSpeed&&(t.velocity.length=t.collisionMaxSpeed)};function bs(t,e){Xn(pi(t),pi(e)),On(t),On(e)}function _u(t,e){!t.unbreakable&&!e.unbreakable&&bs(t,e),t.getRadius()===void 0&&e.getRadius()!==void 0?t.destroy():t.getRadius()!==void 0&&e.getRadius()===void 0?e.destroy():t.getRadius()!==void 0&&e.getRadius()!==void 0&&(t.getRadius()>=e.getRadius()?e:t).destroy()}function ku(t,e,i,n){switch(t.options.collisions.mode){case it.absorb:{wu(t,e,i,n);break}case it.bounce:{bs(t,e);break}case it.destroy:{_u(t,e);break}}}const Cu=2;class Pu extends Mi{constructor(e){super(e)}clear(){}init(){}interact(e,i){if(e.destroyed||e.spawning)return;const n=this.container,s=e.getPosition(),o=e.getRadius(),r=n.particles.quadTree.queryCircle(s,o*Cu);for(const a of r){if(e===a||!a.options.collisions.enable||e.options.collisions.mode!==a.options.collisions.mode||a.destroyed||a.spawning)continue;const c=a.getPosition(),l=a.getRadius();if(Math.abs(Math.round(s.z)-Math.round(c.z))>o+l)continue;const u=ne(s,c),h=o+l;u>h||ku(e,a,i,n.retina.pixelRatio)}}isEnabled(e){return e.options.collisions.enable}reset(){}}async function zu(t,e=!0){t.checkVersion("3.9.1"),await t.addInteractor("particlesCollisions",i=>Promise.resolve(new Pu(i)),e)}const ri=2;class Mu extends Q{constructor(e,i,n,s){super(e,i,n),this.canvasSize=s,this.canvasSize={...s}}contains(e){const{width:i,height:n}=this.canvasSize,{x:s,y:o}=e;return super.contains(e)||super.contains({x:s-i,y:o})||super.contains({x:s-i,y:o-n})||super.contains({x:s,y:o-n})}intersects(e){if(super.intersects(e))return!0;const i=e,n=e,s={x:e.position.x-this.canvasSize.width,y:e.position.y-this.canvasSize.height};if(n.radius!==void 0){const o=new Q(s.x,s.y,n.radius*ri);return super.intersects(o)}else if(i.size!==void 0){const o=new me(s.x,s.y,i.size.width*ri,i.size.height*ri);return super.intersects(o)}return!1}}class Su{constructor(){this.blur=5,this.color=new X,this.color.value="#000",this.enable=!1}load(e){b(e)||(e.blur!==void 0&&(this.blur=e.blur),this.color=X.create(this.color,e.color),e.enable!==void 0&&(this.enable=e.enable))}}class Ru{constructor(){this.enable=!1,this.frequency=1}load(e){b(e)||(e.color!==void 0&&(this.color=X.create(this.color,e.color)),e.enable!==void 0&&(this.enable=e.enable),e.frequency!==void 0&&(this.frequency=e.frequency),e.opacity!==void 0&&(this.opacity=e.opacity))}}class Eu{constructor(){this.blink=!1,this.color=new X,this.color.value="#fff",this.consent=!1,this.distance=100,this.enable=!1,this.frequency=1,this.opacity=1,this.shadow=new Su,this.triangles=new Ru,this.width=1,this.warp=!1}load(e){b(e)||(e.id!==void 0&&(this.id=e.id),e.blink!==void 0&&(this.blink=e.blink),this.color=X.create(this.color,e.color),e.consent!==void 0&&(this.consent=e.consent),e.distance!==void 0&&(this.distance=e.distance),e.enable!==void 0&&(this.enable=e.enable),e.frequency!==void 0&&(this.frequency=e.frequency),e.opacity!==void 0&&(this.opacity=e.opacity),this.shadow.load(e.shadow),this.triangles.load(e.triangles),e.width!==void 0&&(this.width=e.width),e.warp!==void 0&&(this.warp=e.warp))}}const Dn=2,Ou=1,zt={x:0,y:0},Du=0;function Iu(t,e,i,n,s){const{dx:o,dy:r,distance:a}=Z(t,e);if(!s||a<=i)return a;const c={x:Math.abs(o),y:Math.abs(r)},l={x:Math.min(c.x,n.width-c.x),y:Math.min(c.y,n.height-c.y)};return Math.sqrt(l.x**Dn+l.y**Dn)}class Tu extends Mi{constructor(e,i){super(e),this._setColor=n=>{if(!n.options.links)return;const s=this._linkContainer,o=n.options.links;let r=o.id===void 0?s.particles.linksColor:s.particles.linksColors.get(o.id);if(r)return;const a=o.color;r=is(this._engine,a,o.blink,o.consent),o.id===void 0?s.particles.linksColor=r:s.particles.linksColors.set(o.id,r)},this._linkContainer=e,this._engine=i}clear(){}init(){this._linkContainer.particles.linksColor=void 0,this._linkContainer.particles.linksColors=new Map}interact(e){if(!e.options.links)return;e.links=[];const i=e.getPosition(),n=this.container,s=n.canvas.size;if(i.x<zt.x||i.y<zt.y||i.x>s.width||i.y>s.height)return;const o=e.options.links,r=o.opacity,a=e.retina.linksDistance??Du,c=o.warp;let l;c?l=new Mu(i.x,i.y,a,s):l=new Q(i.x,i.y,a);const u=n.particles.quadTree.query(l);for(const h of u){const f=h.options.links;
1if(e===h||!(f!=null&&f.enable)||o.id!==f.id||h.spawning||h.destroyed||!h.links||e.links.some(y=>y.destination===h)||h.links.some(y=>y.destination===e))continue;const d=h.getPosition();if(d.x<zt.x||d.y<zt.y||d.x>s.width||d.y>s.height)continue;const m=Iu(i,d,a,s,c&&f.warp);if(m>a)continue;const g=(Ou-m/a)*r;this._setColor(e),e.links.push({destination:h,opacity:g})}}isEnabled(e){var i;return!!((i=e.options.links)!=null&&i.enable)}loadParticlesOptions(e,...i){e.links||(e.links=new Eu);for(const n of i)e.links.load(n==null?void 0:n.links)}reset(){}}async function Lu(t,e=!0){await t.addInteractor("particlesLinks",async i=>Promise.resolve(new Tu(i,t)),e)}function ju(t,e,i,n){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(i.x,i.y),t.lineTo(n.x,n.y),t.closePath()}function Fu(t){let e=!1;const{begin:i,end:n,engine:s,maxDistance:o,context:r,canvasSize:a,width:c,backgroundMask:l,colorLine:u,opacity:h,links:f}=t;if(ne(i,n)<=o)dt(r,i,n),e=!0;else if(f.warp){let m,g;const y={x:n.x-a.width,y:n.y},_=Z(i,y);if(_.distance<=o){const w=i.y-_.dy/_.dx*i.x;m={x:0,y:w},g={x:a.width,y:w}}else{const w={x:n.x,y:n.y-a.height},C=Z(i,w);if(C.distance<=o){const P=-(i.y-C.dy/C.dx*i.x)/(C.dy/C.dx);m={x:P,y:0},g={x:P,y:a.height}}else{const v={x:n.x-a.width,y:n.y-a.height},P=Z(i,v);if(P.distance<=o){const R=i.y-P.dy/P.dx*i.x;m={x:-R/(P.dy/P.dx),y:R},g={x:m.x+a.width,y:m.y+a.height}}}}m&&g&&(dt(r,i,m),dt(r,n,g),e=!0)}if(!e)return;r.lineWidth=c,l.enable&&(r.globalCompositeOperation=l.composite),r.strokeStyle=Pe(u,h);const{shadow:d}=f;if(d.enable){const m=fe(s,d.color);m&&(r.shadowBlur=d.blur,r.shadowColor=Pe(m))}r.stroke()}function Bu(t){const{context:e,pos1:i,pos2:n,pos3:s,backgroundMask:o,colorTriangle:r,opacityTriangle:a}=t;ju(e,i,n,s),o.enable&&(e.globalCompositeOperation=o.composite),e.fillStyle=Pe(r,a),e.fill()}function Nu(t){return t.sort((e,i)=>e-i),t.join("_")}function In(t,e){const i=Nu(t.map(s=>s.id));let n=e.get(i);return n===void 0&&(n=E(),e.set(i,n)),n}const Tn=0,ai=0,Ln=0,Au=.5,$u=1;class qu{constructor(e,i){this._drawLinkLine=(n,s)=>{const o=n.options.links;if(!(o!=null&&o.enable))return;const r=this._container,a=r.actualOptions,c=s.destination,l=n.getPosition(),u=c.getPosition();let h=s.opacity;r.canvas.draw(f=>{var w;let d;const m=(w=n.options.twinkle)==null?void 0:w.lines;if(m!=null&&m.enable){const C=m.frequency,v=fe(this._engine,m.color);E()<C&&v&&(d=v,h=k(m.opacity))}if(!d){const C=o.id!==void 0?r.particles.linksColors.get(o.id):r.particles.linksColor;d=yi(n,c,C)}if(!d)return;const g=n.retina.linksWidth??ai,y=n.retina.linksDistance??Ln,{backgroundMask:_}=a;Fu({context:f,width:g,begin:l,end:u,engine:this._engine,maxDistance:y,canvasSize:r.canvas.size,links:o,backgroundMask:_,colorLine:d,opacity:h})})},this._drawLinkTriangle=(n,s,o)=>{const r=n.options.links;if(!(r!=null&&r.enable))return;const a=r.triangles;if(!a.enable)return;const c=this._container,l=c.actualOptions,u=s.destination,h=o.destination,f=a.opacity??(s.opacity+o.opacity)*Au;f<=Tn||c.canvas.draw(d=>{const m=n.getPosition(),g=u.getPosition(),y=h.getPosition(),_=n.retina.linksDistance??Ln;if(ne(m,g)>_||ne(y,g)>_||ne(y,m)>_)return;let w=fe(this._engine,a.color);if(!w){const C=r.id!==void 0?c.particles.linksColors.get(r.id):c.particles.linksColor;w=yi(n,u,C)}w&&Bu({context:d,pos1:m,pos2:g,pos3:y,backgroundMask:l.backgroundMask,colorTriangle:w,opacityTriangle:f})})},this._drawTriangles=(n,s,o,r)=>{var l,u,h;const a=o.destination;if(!((l=n.links)!=null&&l.triangles.enable&&((u=a.options.links)!=null&&u.triangles.enable)))return;const c=(h=a.links)==null?void 0:h.filter(f=>{const d=this._getLinkFrequency(a,f.destination);return a.options.links&&d<=a.options.links.frequency&&r.findIndex(g=>g.destination===f.destination)>=0});if(c!=null&&c.length)for(const f of c){const d=f.destination;this._getTriangleFrequency(s,a,d)>n.links.triangles.frequency||this._drawLinkTriangle(s,o,f)}},this._getLinkFrequency=(n,s)=>In([n,s],this._freqs.links),this._getTriangleFrequency=(n,s,o)=>In([n,s,o],this._freqs.triangles),this._container=e,this._engine=i,this._freqs={links:new Map,triangles:new Map}}
vendor: 5,318 bytes, line 1
1drawParticle(e,i){const{links:n,options:s}=i;if(!(n!=null&&n.length))return;const o=n.filter(r=>s.links&&(s.links.frequency>=$u||this._getLinkFrequency(i,r.destination)<=s.links.frequency));for(const r of o)this._drawTriangles(s,i,r,o),r.opacity>Tn&&(i.retina.linksWidth??ai)>ai&&this._drawLinkLine(i,r)}async init(){this._freqs.links=new Map,this._freqs.triangles=new Map,await Promise.resolve()}particleCreated(e){if(e.links=[],!e.options.links)return;const i=this._container.retina.pixelRatio,{retina:n}=e,{distance:s,width:o}=e.options.links;n.linksDistance=s*i,n.linksWidth=o*i}particleDestroyed(e){e.links=[]}}class Uu{constructor(e){this.id="links",this._engine=e}getPlugin(e){return Promise.resolve(new qu(e,this._engine))}loadOptions(){}needsPlugin(){return!0}}async function Vu(t,e=!0){const i=new Uu(t);await t.addPlugin(i,e)}async function Hu(t,e=!0){t.checkVersion("3.9.1"),await Lu(t,e),await Vu(t,e)}const Wu=180,Mt={x:0,y:0},Qu=2;function Gu(t,e,i){const{context:n}=t,s=i.count.numerator*i.count.denominator,o=i.count.numerator/i.count.denominator,r=Wu*(o-Qu)/o,a=Math.PI-Re(r);if(n){n.beginPath(),n.translate(e.x,e.y),n.moveTo(Mt.x,Mt.y);for(let c=0;c<s;c++)n.lineTo(i.length,Mt.y),n.translate(i.length,Mt.y),n.rotate(a)}}const Xu=5;class vs{draw(e){const{particle:i,radius:n}=e,s=this.getCenter(i,n),o=this.getSidesData(i,n);Gu(e,s,o)}getSidesCount(e){const i=e.shapeData;return Math.round(k((i==null?void 0:i.sides)??Xu))}}const jn=3.5,Fn=2.66,Yu=3;class Ku extends vs{constructor(){super(...arguments),this.validTypes=["polygon"]}getCenter(e,i){return{x:-i/(e.sides/jn),y:-i/(Fn/jn)}}getSidesData(e,i){const n=e.sides;return{count:{denominator:1,numerator:n},length:i*Fn/(n/Yu)}}}const Zu=1.66,Ju=3,eh=2;class th extends vs{constructor(){super(...arguments),this.validTypes=["triangle"]}getCenter(e,i){return{x:-i,y:i/Zu}}getSidesCount(){return Ju}getSidesData(e,i){const n=i*eh;return{count:{denominator:2,numerator:3},length:n}}}async function ih(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new Ku,e)}async function nh(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new th,e)}async function sh(t,e=!0){t.checkVersion("3.9.1"),await ih(t,e),await nh(t,e)}class oh{constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(e){b(e)||(e.enable!==void 0&&(this.enable=e.enable),e.speed!==void 0&&(this.speed=S(e.speed)),e.decay!==void 0&&(this.decay=S(e.decay)),e.sync!==void 0&&(this.sync=e.sync))}}class rh extends Qe{constructor(){super(),this.animation=new oh,this.direction=he.clockwise,this.path=!1,this.value=0}load(e){b(e)||(super.load(e),e.direction!==void 0&&(this.direction=e.direction),this.animation.load(e.animation),e.path!==void 0&&(this.path=e.path))}}const xs=2,ah=Math.PI*xs,ch=1,lh=360;class uh{constructor(e){this.container=e}init(e){const i=e.options.rotate;if(!i)return;e.rotate={enable:i.animation.enable,value:Re(k(i.value)),min:0,max:ah},e.pathRotation=i.path;let n=i.direction;switch(n===he.random&&(n=Math.floor(E()*xs)>0?he.counterClockwise:he.clockwise),n){case he.counterClockwise:case"counterClockwise":e.rotate.status=L.decreasing;break;case he.clockwise:e.rotate.status=L.increasing;break}const s=i.animation;s.enable&&(e.rotate.decay=ch-k(s.decay),e.rotate.velocity=k(s.speed)/lh*this.container.retina.reduceFactor,s.sync||(e.rotate.velocity*=E())),e.rotation=e.rotate.value}isEnabled(e){const i=e.options.rotate;return i?!e.destroyed&&!e.spawning&&(!!i.value||i.animation.enable||i.path):!1}loadOptions(e,...i){e.rotate||(e.rotate=new rh);for(const n of i)e.rotate.load(n==null?void 0:n.rotate)}update(e,i){this.isEnabled(e)&&(e.isRotating=!!e.rotate,e.rotate&&(ki(e,e.rotate,!1,Ve.none,i),e.rotation=e.rotate.value))}}async function hh(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("rotate",i=>Promise.resolve(new uh(i)),e)}const dh=2,fh=Math.sqrt(dh),ph=2;function mh(t){const{context:e,radius:i}=t,n=i/fh,s=n*ph;e.rect(-n,-n,s,s)}const yh=4;class gh{constructor(){this.validTypes=["edge","square"]}draw(e){mh(e)}getSidesCount(){return yh}}async function bh(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new gh,e)}const vh=2,Ye={x:0,y:0};function xh(t){const{context:e,particle:i,radius:n}=t,s=i.sides,o=i.starInset??vh;e.moveTo(Ye.x,Ye.y-n);for(let r=0;r<s;r++)e.rotate(Math.PI/s),e.lineTo(Ye.x,Ye.y-n*o),e.rotate(Math.PI/s),e.lineTo(Ye.x,Ye.y-n)}const wh=2,_h=5;class kh{constructor(){this.validTypes=["star"]}draw(e){xh(e)}getSidesCount(e){const i=e.shapeData;return Math.round(k((i==null?void 0:i.sides)??_h))}particleInit(e,i){const n=i.shapeData;i.starInset=k((n==null?void 0:n.inset)??wh)}}async function Ch(t,e=!0){t.checkVersion("3.9.1"),await t.addShape(new kh,e)}const Ph=1;class zh{constructor(e,i){this._container=e,this._engine=i}init(e){var r;const i=this._container,n=e.options,s=ae(n.stroke,e.id,n.reduceDuplicates);e.strokeWidth=k(s.width)*i.retina.pixelRatio,e.strokeOpacity=k(s.opacity??Ph),e.strokeAnimation=(r=s.color)==null?void 0:r.animation;const o=ft(this._engine,s.color)??e.getFillColor();o&&(e.strokeColor=ns(o,e.strokeAnimation,i.retina.reduceFactor))}isEnabled(e){const i=e.strokeAnimation,{strokeColor:n}=e;return!e.destroyed&&!e.spawning&&!!i&&((n==null?void 0:n.h.value)!==void 0&&n.h.enable||(n==null?void 0:n.s.value)!==void 0&&n.s.enable||(n==null?void 0:n.l.value)!==void 0&&n.l.enable)}
1update(e,i){this.isEnabled(e)&&ss(e.strokeColor,i)}}async function Mh(t,e=!0){t.checkVersion("3.9.1"),await t.addParticleUpdater("strokeColor",i=>Promise.resolve(new zh(i,t)),e)}async function Sh(t,e=!0){t.checkVersion("3.9.1"),await pu(t,!1),await bc(t,!1),await Mc(t,!1),await Lc(t,!1),await Hc(t,!1),await tl(t,!1),await sl(t,!1),await ll(t,!1),await fl(t,!1),await Cl(t,!1),await Rl(t,!1),await gu(t,!1),await zu(t,!1),await Hu(t,!1),await cc(t,!1),await hc(t,!1),await tu(t,!1),await du(t,!1),await sh(t,!1),await bh(t,!1),await Ch(t,!1),await cu(t,!1),await hh(t,!1),await Mh(t,!1),await ac(t,e)}const Rh=I.memo(function({className:e,size:i=1,minSize:n=null,density:s=800,speed:o=1,minSpeed:r=null,opacity:a=1,opacitySpeed:c=3,minOpacity:l=null,color:u="#FFFFFF",background:h="transparent"}){const[f,d]=I.useState(!1),m=I.useId();I.useEffect(()=>{fa(async y=>{await Sh(y)}).then(()=>{d(!0)})},[]);const g=I.useMemo(()=>({background:{color:{value:h}},fullScreen:{enable:!1,zIndex:1},fpsLimit:120,particles:{color:{value:u},move:{enable:!0,direction:"none",speed:{min:r||o/10,max:o},straight:!1},number:{value:s},opacity:{value:{min:l||a/10,max:a},animation:{enable:!0,sync:!1,speed:c}},size:{value:{min:n||i/2.5,max:i}}},detectRetina:!0}),[h,u,s,l,n,r,a,c,i,o]);return f?p.jsx(da,{id:m,options:g,className:e}):null}),Ah=()=>{const{t,language:e}=Ss(),[i,n]=I.useState(""),[s,o]=I.useState("encode"),[r,a]=I.useState(!1),[c,l]=I.useState(null),[u,h]=I.useState(!1),[f,d]=I.useState(!1),[m,g]=I.useState("component"),[y,_]=I.useState(!1),[w,C]=I.useState("encode"),[v,P]=I.useState("https://example.com/path"),[R,$]=I.useState([{id:"1",key:"",value:""}]),F=I.useMemo(()=>{const x=i.length,z=new TextEncoder().encode(i).length;return{inputLen:x,inputBytes:z}},[i]),{output:N,error:Y,outputStats:oe}=I.useMemo(()=>{if(!i.trim())return{output:"",error:"",outputStats:{len:0,bytes:0}};if(s==="encode")try{let x;return y?x=i.split(` 2`).map(z=>m==="component"?encodeURIComponent(z):encodeURI(z)).join(` 3`):x=m==="component"?encodeURIComponent(i):encodeURI(i),{output:x,error:"",outputStats:{len:x.length,bytes:new TextEncoder().encode(x).length}}}catch{return{output:"",error:t("urlEncoder.error"),outputStats:{len:0,bytes:0}}}else if(s==="decode")try{let x;return y?x=i.split(` 4`).map(z=>m==="component"?decodeURIComponent(z):decodeURI(z)).join(` 5`):x=m==="component"?decodeURIComponent(i):decodeURI(i),{output:x,error:"",outputStats:{len:x.length,bytes:new TextEncoder().encode(x).length}}}catch{return{output:"",error:t("urlEncoder.invalidUrl"),outputStats:{len:0,bytes:0}}}else if(s==="base64")try{let x;return w==="encode"?y?x=i.split(` 6`).map(z=>btoa(unescape(encodeURIComponent(z)))).join(` 7`):x=btoa(unescape(encodeURIComponent(i))):y?x=i.split(` 8`).map(z=>decodeURIComponent(escape(atob(z)))).join(` 9`):x=decodeURIComponent(escape(atob(i))),{output:x,error:"",outputStats:{len:x.length,bytes:new TextEncoder().encode(x).length}}}catch{return{output:"",error:t("urlEncoder.invalidBase64"),outputStats:{len:0,bytes:0}}}return{output:"",error:"",outputStats:{len:0,bytes:0}}},[i,s,m,y,w,t]),q=I.useMemo(()=>{if(s!=="parse"||!i.trim())return null;try{let x=i.trim();x.match(/^[a-zA-Z]+:\/\//)||(x="https://"+x);const z=new URL(x),J=[];return z.searchParams.forEach((ut,Ms)=>{J.push([Ms,ut])}),{protocol:z.protocol.replace(":",""),host:z.host,pathname:z.pathname,search:z.search,hash:z.hash,params:J}}catch{return null}},[i,s]),O=I.useMemo(()=>{if(s!=="build")return"";try{const x=new URL(v);return R.forEach(z=>{z.key.trim()&&x.searchParams.set(z.key.trim(),z.value)}),x.toString()}catch{return""}},[s,v,R]),_e=()=>{N&&(n(N),s==="encode"?o("decode"):s==="decode"?o("encode"):s==="base64"&&C(w==="encode"?"decode":"encode"))},At=async(x,z)=>{if(x)try{await navigator.clipboard.writeText(x),z?(l(z),setTimeout(()=>l(null),2e3)):(a(!0),setTimeout(()=>a(!1),2e3))}catch{const J=document.createElement("textarea");J.value=x,document.body.appendChild(J),J.select(),document.execCommand("copy"),document.body.removeChild(J),z?(l(z),setTimeout(()=>l(null),2e3)):(a(!0),setTimeout(()=>a(!1),2e3))}},Ri=()=>{n("")},ws=()=>{$([...R,{id:Date.now().toString(),key:"",value:""}])},_s=x=>{R.length>1&&$(R.filter(z=>z.id!==x))},Ei=(x,z,J)=>{$(R.map(ut=>ut.id===x?{...ut,[z]:J}:ut))},bt={encode:{bg:"from-cyan-600/20 to-blue-600/20",border:"border-cyan-500/30",accent:"text-cyan-400",badge:"bg-cyan-500/20 text-cyan-400"},decode:{bg:"from-violet-600/20 to-purple-600/20",border:"border-violet-500/30",accent:"text-violet-400",badge:"bg-violet-500/20 text-violet-400"},base64:{bg:"from-orange-600/20 to-amber-600/20",border:"border-orange-500/30",accent:"text-orange-400",badge:"bg-orange-500/20 text-orange-400"}
9,parse:{bg:"from-emerald-600/20 to-teal-600/20",border:"border-emerald-500/30",accent:"text-emerald-400",badge:"bg-emerald-500/20 text-emerald-400"},build:{bg:"from-pink-600/20 to-rose-600/20",border:"border-pink-500/30",accent:"text-pink-400",badge:"bg-pink-500/20 text-pink-400"}},ye=bt[s],ks=[{char:" ",encoded:"%20",name:"Space"},{char:"&",encoded:"%26",name:"And"},{char:"=",encoded:"%3D",name:"Equals"},{char:"?",encoded:"%3F",name:"Question"},{char:"#",encoded:"%23",name:"Hash"},{char:"/",encoded:"%2F",name:"Slash"},{char:"@",encoded:"%40",name:"At"},{char:"+",encoded:"%2B",name:"Plus"}],Cs=s==="encode"||s==="decode"||s==="base64",Ps=Ls("URL Encoder / Decoder",e==="de"?"Kostenloses URL-Encoder und -Decoder Tool. Kodieren und dekodieren Sie URLs, Base64 und Query-Parameter.":"Free URL encoder and decoder tool. Encode and decode URLs, Base64 and query parameters.","/url-encoder"),zs=Rs([{name:"Home",url:"/"},{name:"Tools",url:"/tools"},{name:"URL Encoder",url:"/url-encoder"}]);return p.jsxs("div",{className:"min-h-screen bg-[#0a0a0f] flex flex-col relative isolate",children:[p.jsx(Es,{title:"URL Encoder / Decoder",description:e==="de"?"Kostenloses URL-Encoder und -Decoder Tool. Kodieren und dekodieren Sie URLs, Base64 und Query-Parameter.":"Free URL encoder and decoder tool. Encode and decode URLs, Base64 and query parameters.",url:"/url-encoder",structuredData:[Ps,zs]}),p.jsx("div",{className:"fixed inset-0 pointer-events-none",style:{zIndex:-1},children:p.jsx(Rh,{density:600,speed:.8,size:1.5,color:"#38bdf8",opacity:.8,className:"absolute inset-0 h-full w-full"})}),p.jsx(Os,{minimal:!0}),p.jsx("main",{className:"flex-1 px-4 pt-24 md:pt-28 pb-8 md:pb-12",children:p.jsxs("div",{className:"max-w-3xl mx-auto",children:[p.jsxs(ge.div,{initial:{opacity:0,y:-20},animate:{opacity:1,y:0},className:"text-center mb-8",children:[p.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-white mb-3",children:t("urlEncoder.title")}),p.jsx("p",{className:"text-gray-400",children:t("urlEncoder.description")})]}),p.jsx(ge.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1},className:"flex flex-wrap justify-center gap-2 mb-6",children:["encode","decode","base64","parse","build"].map(x=>p.jsxs("button",{onClick:()=>o(x),className:`px-4 md:px-6 py-2.5 rounded-xl font-medium transition-all flex items-center gap-1.5 text-sm ${s===x?`bg-gradient-to-br ${bt[x].bg} ${bt[x].border} border ${bt[x].accent}`:"bg-[#1a1a2e] text-gray-400 hover:text-white border border-transparent"}`,children:[x==="parse"&&p.jsx(Ds,{size:14}),x==="build"&&p.jsx(Oi,{size:14}),t(`urlEncoder.${x}`)]},x))}),p.jsxs(ge.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{delay:.2},className:`bg-gradient-to-br ${ye.bg} rounded-3xl p-6 md:p-8 border ${ye.border} shadow-2xl mb-6`,children:[Cs&&p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"mb-4",children:[p.jsxs("div",{className:"flex items-center justify-between mb-2",children:[p.jsx("label",{className:`text-sm font-medium ${ye.accent}`,children:t(s==="base64"?w==="encode"?"urlEncoder.textToEncode":"urlEncoder.base64ToDecode":s==="encode"?"urlEncoder.inputText":"urlEncoder.encodedUrl")}),p.jsxs("div",{className:"flex items-center gap-2",children:[i.trim()&&p.jsxs("span",{className:"text-xs text-gray-500",children:[F.inputLen," ",t("urlEncoder.chars")," / ",F.inputBytes," ",t("urlEncoder.bytes")]}),i.trim()&&p.jsx("span",{className:`text-xs ${ye.badge} px-2 py-0.5 rounded-full`,children:t("urlEncoder.livePreview")})]})]}),p.jsx("textarea",{value:i,onChange:x=>n(x.target.value),placeholder:t(s==="base64"?w==="encode"?"urlEncoder.placeholderBase64Encode":"urlEncoder.placeholderBase64Decode":s==="encode"?"urlEncoder.placeholderEncode":"urlEncoder.placeholderDecode"),className:"w-full h-28 bg-[#0f0f1a] rounded-2xl p-4 text-white resize-none outline-none border border-white/10 focus:border-white/30 transition-colors placeholder:text-gray-600 font-mono text-sm"})]}),p.jsxs("div",{className:"mb-4",children:[p.jsxs("button",{onClick:()=>d(!f),className:"flex items-center gap-2 text-sm text-gray-400 hover:text-white transition-colors",children:[p.jsx(Is,{size:14}),t("urlEncoder.options"),f?p.jsx(Di,{size:14}):p.jsx(Ii,{size:14})]}),p.jsx(Ut,{children:f&&p.jsx(ge.div,{initial:{height:0,opacity:0}
9,animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},className:"overflow-hidden",children:p.jsxs("div",{className:"pt-3 flex flex-wrap gap-4",children:[s!=="base64"&&p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsxs("span",{className:"text-xs text-gray-400",children:[t("urlEncoder.encodeType"),":"]}),p.jsx("button",{onClick:()=>g("component"),className:`px-3 py-1.5 rounded-lg text-xs font-medium transition-all ${m==="component"?"bg-cyan-500/20 text-cyan-400 border border-cyan-500/30":"bg-white/5 text-gray-400 hover:text-white border border-transparent"}`,children:"Component"}),p.jsx("button",{onClick:()=>g("uri"),className:`px-3 py-1.5 rounded-lg text-xs font-medium transition-all ${m==="uri"?"bg-violet-500/20 text-violet-400 border border-violet-500/30":"bg-white/5 text-gray-400 hover:text-white border border-transparent"}`,children:"URI"})]}),s==="base64"&&p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsxs("span",{className:"text-xs text-gray-400",children:[t("urlEncoder.mode"),":"]}),p.jsx("button",{onClick:()=>C("encode"),className:`px-3 py-1.5 rounded-lg text-xs font-medium transition-all ${w==="encode"?"bg-orange-500/20 text-orange-400 border border-orange-500/30":"bg-white/5 text-gray-400 hover:text-white border border-transparent"}`,children:t("urlEncoder.encode")}),p.jsx("button",{onClick:()=>C("decode"),className:`px-3 py-1.5 rounded-lg text-xs font-medium transition-all ${w==="decode"?"bg-amber-500/20 text-amber-400 border border-amber-500/30":"bg-white/5 text-gray-400 hover:text-white border border-transparent"}`,children:t("urlEncoder.decode")})]}),p.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[p.jsx("input",{type:"checkbox",checked:y,onChange:x=>_(x.target.checked),className:"w-4 h-4 rounded bg-white/10 border-white/20 text-cyan-500 focus:ring-cyan-500/50"}),p.jsx("span",{className:"text-xs text-gray-400",children:t("urlEncoder.lineByLine")})]})]})})})]}),p.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-3 mb-4",children:[p.jsxs("button",{onClick:Ri,className:"px-4 py-2 bg-white/5 hover:bg-white/10 text-gray-400 hover:text-white rounded-xl flex items-center gap-2 transition-all border border-white/10 text-sm",children:[p.jsx(Ti,{size:14}),t("urlEncoder.clear")]}),p.jsxs("button",{onClick:_e,disabled:!N,className:"px-4 py-2 bg-white/5 hover:bg-white/10 text-gray-400 hover:text-white rounded-xl flex items-center gap-2 transition-all border border-white/10 disabled:opacity-50 disabled:cursor-not-allowed text-sm",children:["â ",t("urlEncoder.swap")]})]}),p.jsxs("div",{children:[p.jsxs("div",{className:"flex items-center justify-between mb-2",children:[p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx("label",{className:`text-sm font-medium ${ye.accent}`,children:t(s==="base64"?w==="encode"?"urlEncoder.base64Result":"urlEncoder.decodedResult":s==="encode"?"urlEncoder.encodedResult":"urlEncoder.decodedResult")}),N&&p.jsxs("span",{className:"text-xs text-gray-500",children:[oe.len," ",t("urlEncoder.chars")," / ",oe.bytes," ",t("urlEncoder.bytes"),i.trim()&&s==="encode"&&p.jsxs("span",{className:oe.len>F.inputLen?"text-rose-400 ml-2":"text-emerald-400 ml-2",children:["(",oe.len>F.inputLen?"+":"",Math.round((oe.len/F.inputLen-1)*100),"%)"]})]})]}),N&&p.jsxs("button",{onClick:()=>At(N),className:`flex items-center gap-2 px-3 py-1.5 rounded-lg text-sm transition-all ${r?"bg-green-500/20 text-green-400":"bg-white/5 hover:bg-white/10 text-gray-400 hover:text-white"}`,children:[r?p.jsx($t,{size:14}):p.jsx(qt,{size:14}),t(r?"urlEncoder.copied":"urlEncoder.copy")]})]}),p.jsx(Ut,{mode:"wait",children:Y?p.jsx(ge.div,{initial:{opacity:0}
9,animate:{opacity:1},exit:{opacity:0},className:"w-full h-28 bg-red-500/10 border border-red-500/30 rounded-2xl p-4 flex items-center justify-center",children:p.jsx("span",{className:"text-red-400",children:Y})},"error"):p.jsx(ge.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"w-full min-h-28 bg-[#0f0f1a] rounded-2xl p-4 border border-white/10 font-mono text-sm",children:N?p.jsx("span",{className:"text-white break-all whitespace-pre-wrap",children:N}):p.jsx("span",{className:"text-gray-600",children:t("urlEncoder.outputPlaceholder")})},"output")})]})]}),s==="parse"&&p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"mb-4",children:[p.jsx("label",{className:`text-sm font-medium ${ye.accent} mb-2 block`,children:t("urlEncoder.urlToParse")}),p.jsx("textarea",{value:i,onChange:x=>n(x.target.value),placeholder:t("urlEncoder.placeholderParse"),className:"w-full h-20 bg-[#0f0f1a] rounded-2xl p-4 text-white resize-none outline-none border border-white/10 focus:border-white/30 transition-colors placeholder:text-gray-600 font-mono text-sm"})]}),p.jsx("div",{className:"flex justify-center mb-4",children:p.jsxs("button",{onClick:Ri,className:"px-4 py-2 bg-white/5 hover:bg-white/10 text-gray-400 hover:text-white rounded-xl flex items-center gap-2 transition-all border border-white/10 text-sm",children:[p.jsx(Ti,{size:14}),t("urlEncoder.clear")]})}),p.jsx("label",{className:`text-sm font-medium ${ye.accent} mb-3 block`,children:t("urlEncoder.parsedComponents")}),i.trim()?q?p.jsxs(ge.div,{initial:{opacity:0}
9,animate:{opacity:1},className:"bg-[#0f0f1a] rounded-2xl p-4 border border-white/10 space-y-3",children:[p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx("span",{className:"text-emerald-400 text-xs uppercase font-semibold w-20",children:t("urlEncoder.protocol")}),p.jsx("code",{className:"text-white bg-white/5 px-3 py-1.5 rounded-lg flex-1 font-mono text-sm",children:q.protocol})]}),p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx("span",{className:"text-emerald-400 text-xs uppercase font-semibold w-20",children:t("urlEncoder.host")}),p.jsx("code",{className:"text-white bg-white/5 px-3 py-1.5 rounded-lg flex-1 font-mono text-sm",children:q.host})]}),q.pathname&&q.pathname!=="/"&&p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx("span",{className:"text-emerald-400 text-xs uppercase font-semibold w-20",children:t("urlEncoder.path")}),p.jsx("code",{className:"text-white bg-white/5 px-3 py-1.5 rounded-lg flex-1 font-mono text-sm break-all",children:q.pathname})]}),q.hash&&p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx("span",{className:"text-emerald-400 text-xs uppercase font-semibold w-20",children:t("urlEncoder.hash")}),p.jsx("code",{className:"text-white bg-white/5 px-3 py-1.5 rounded-lg flex-1 font-mono text-sm",children:q.hash})]}),q.params.length>0&&p.jsxs("div",{className:"pt-2 border-t border-white/10",children:[p.jsx("span",{className:"text-emerald-400 text-xs uppercase font-semibold mb-2 block",children:t("urlEncoder.queryParams")}),p.jsx("div",{className:"space-y-2",children:q.params.map(([x,z],J)=>p.jsxs("div",{className:"flex items-center gap-2 group",children:[p.jsx("code",{className:"text-cyan-400 bg-cyan-500/10 px-2 py-1 rounded text-sm font-mono",children:x}),p.jsx("span",{className:"text-gray-500",children:"="}),p.jsx("code",{className:"text-violet-400 bg-violet-500/10 px-2 py-1 rounded text-sm font-mono flex-1 break-all",children:decodeURIComponent(z)}),p.jsx("button",{onClick:()=>At(z,`${x}-${J}`),className:`opacity-0 group-hover:opacity-100 p-1.5 rounded transition-all ${c===`${x}-${J}`?"bg-green-500/20 text-green-400":"bg-white/5 hover:bg-white/10 text-gray-400"}`,children:c===`${x}-${J}`?p.jsx($t,{size:12}):p.jsx(qt,{size:12})})]},J))})]})]}):p.jsx("div",{className:"w-full min-h-28 bg-red-500/10 border border-red-500/30 rounded-2xl p-4 flex items-center justify-center",children:p.jsx("span",{className:"text-red-400",children:t("urlEncoder.invalidUrlParse")})}):p.jsx("div",{className:"w-full min-h-28 bg-[#0f0f1a] rounded-2xl p-4 border border-white/10 flex items-center justify-center",children:p.jsx("span",{className:"text-gray-600",children:t("urlEncoder.parserPlaceholder")})})]}),s==="build"&&p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"mb-4",children:[p.jsx("label",{className:`text-sm font-medium ${ye.accent} mb-2 block`,children:t("urlEncoder.baseUrl")}),p.jsx("input",{type:"text",value:v,onChange:x=>P(x.target.value),placeholder:"https://example.com/path",className:"w-full bg-[#0f0f1a] rounded-xl p-3 text-white outline-none border border-white/10 focus:border-white/30 transition-colors placeholder:text-gray-600 font-mono text-sm"})]}),p.jsxs("div",{className:"mb-4",children:[p.jsx("label",{className:`text-sm font-medium ${ye.accent} mb-2 block`,children:t("urlEncoder.queryParams")}),p.jsx("div",{className:"space-y-2",children:R.map(x=>p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("input",{type:"text",value:x.key,onChange:z=>Ei(x.id,"key",z.target.value),placeholder:t("urlEncoder.paramKey"),className:"flex-1 bg-[#0f0f1a] rounded-lg px-3 py-2 text-cyan-400 outline-none border border-white/10 focus:border-cyan-500/30 transition-colors placeholder:text-gray-600 font-mono text-sm"}),p.jsx("span",{className:"text-gray-500",children:"="}),p.jsx("input",{type:"text",value:x.value,onChange:z=>Ei(x.id,"value",z.target.value),placeholder:t("urlEncoder.paramValue"),className:"flex-1 bg-[#0f0f1a] rounded-lg px-3 py-2 text-violet-400 outline-none border border-white/10 focus:border-violet-500/30 transition-colors placeholder:text-gray-600 font-mono text-sm"}),p.jsx("button",{onClick:()=>_s(x.id),disabled:R.length===1,className:"p-2 text-gray-400 hover:text-rose-400 transition-colors disabled:opacity-30 disabled:cursor-not-allowed",children:p.jsx(Ts,{size:16})})]},x.id))}),p.jsxs("button",{onClick:ws,className:"mt-3 px-4 py-2 bg-white/5 hover:bg-white/10 text-gray-400 hover:text-white rounded-xl flex items-center gap-2 transition-all border border-white/10 text-sm",children:[p.jsx(Oi,{size:14}),t("urlEncoder.addParam")]})]}),p.jsxs("div",{children:[p.jsxs("div",{className:"flex items-center justify-between mb-2",children:[p.jsx("label",{className:`text-sm font-medium ${ye.accent}`,children:t("urlEncoder.generatedUrl")}),O&&p.jsxs("button",{onClick:()=>At(O),className:`flex items-center gap-2 px-3 py-1.5 rounded-lg text-sm transition-all ${r?"bg-green-500/20 text-green-400":"bg-white/5 hover:bg-white/10 text-gray-400 hover:text-white"}`,children:[r?p.jsx($t,{size:14}):p.jsx(qt,{size:14}),t(r?"urlEncoder.copied":"urlEncoder.copy")]})]}),p.jsx("div",{className:"w-full min-h-20 bg-[#0f0f1a] rounded-2xl p-4 border border-white/10 font-mono text-sm",children:O?p.jsx("span",{className:"text-white break-all",children:O}):p.jsx("span",{className:"text-gray-600",children:t("urlEncoder.builderPlaceholder")})})]})]})]}),(s==="encode"||s==="decode")&&p.jsxs(ge.div,{initial:{opacity:0}
9,animate:{opacity:1},transition:{delay:.3},className:"bg-[#1a1a2e] rounded-2xl border border-purple-500/20 overflow-hidden mb-6",children:[p.jsxs("button",{onClick:()=>h(!u),className:"w-full flex items-center justify-between p-4 text-left",children:[p.jsx("span",{className:"text-white font-semibold",children:t("urlEncoder.commonEncodings")}),u?p.jsx(Di,{className:"text-gray-400"}):p.jsx(Ii,{className:"text-gray-400"})]}),p.jsx(Ut,{children:u&&p.jsx(ge.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},className:"px-4 pb-4",children:p.jsx("div",{className:"grid grid-cols-4 md:grid-cols-8 gap-2",children:ks.map(x=>p.jsxs("button",{onClick:()=>n(z=>z+x.char),className:"bg-[#0f0f1a] hover:bg-white/5 rounded-xl p-3 text-center transition-colors group",children:[p.jsx("div",{className:"flex items-center justify-center gap-1 mb-1",children:p.jsx("code",{className:"text-cyan-400 text-lg group-hover:scale-110 transition-transform",children:x.char===" "?"â£":x.char})}),p.jsx("code",{className:"text-violet-400 text-xs",children:x.encoded})]},x.char))})})})]}),p.jsx(ge.div,{initial:{opacity:0,y:20,scale:.95},animate:{opacity:1,y:0,scale:1},transition:{delay:.4},className:"bg-gradient-to-br from-cyan-500/10 via-blue-500/10 to-indigo-500/10 rounded-2xl p-6 border border-cyan-500/20 overflow-hidden",children:p.jsxs("div",{className:"flex gap-4 items-start",children:[p.jsx("a",{href:"https://apps.apple.com/de/app/lynkr-link-in-bio/id6504898644",target:"_blank",rel:"noopener noreferrer",className:"flex-shrink-0",children:p.jsx("img",{src:"/assets/apps/lynkr.png",alt:"Lynkr - Link in Bio",className:"w-14 h-14 rounded-xl shadow-lg hover:scale-105 transition-transform"})}),p.jsxs("div",{className:"flex-1",children:[p.jsxs("h4",{className:"text-white font-semibold flex items-center gap-2",children:[t("urlEncoder.promo.title"),p.jsx(Fs,{className:"text-cyan-400"})]}),p.jsx("p",{className:"text-gray-400 text-sm mt-1 mb-3",children:t("urlEncoder.promo.description")}),p.jsxs("a",{href:"https://apps.apple.com/de/app/lynkr-link-in-bio/id6504898644",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-4 py-2 bg-white text-black text-sm font-semibold rounded-xl hover:bg-gray-100 transition-colors",children:[p.jsx(js,{size:16}),t("urlEncoder.promo.cta")]})]})]})})]})}),p.jsx(Bs,{})]})};export{Ah as default};
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.