{"version":3,"file":"static/js/main.89a6b96d.js","mappings":"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","sources":["../node_modules/fast-deep-equal/react.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/publicPath","components/Socials.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","components/config/particlesConfig.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/tsparticles-engine/esm/Utils/EventDispatcher.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/tsparticles-engine/esm/Core/Utils/Vector3d.js","../node_modules/tsparticles-engine/esm/Core/Utils/Vector.js","../node_modules/tsparticles-engine/esm/Utils/NumberUtils.js","../node_modules/tsparticles-engine/esm/Utils/Utils.js","../node_modules/tsparticles-engine/esm/Utils/ColorUtils.js","../node_modules/tsparticles-engine/esm/Utils/CanvasUtils.js","../node_modules/tsparticles-engine/esm/Core/Utils/Constants.js","../node_modules/tsparticles-engine/esm/Core/Canvas.js","../node_modules/tsparticles-engine/esm/Core/Utils/EventListeners.js","../node_modules/tsparticles-engine/esm/Core/Utils/FrameManager.js","../node_modules/tsparticles-engine/esm/Options/Classes/OptionsColor.js","../node_modules/tsparticles-engine/esm/Options/Classes/Background/Background.js","../node_modules/tsparticles-engine/esm/Options/Classes/BackgroundMask/BackgroundMaskCover.js","../node_modules/tsparticles-engine/esm/Options/Classes/BackgroundMask/BackgroundMask.js","../node_modules/tsparticles-engine/esm/Options/Classes/FullScreen/FullScreen.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Events/ClickEvent.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Events/DivEvent.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Events/Parallax.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Events/HoverEvent.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Events/ResizeEvent.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Events/Events.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Modes.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Interactivity.js","../node_modules/tsparticles-engine/esm/Options/Classes/ManualParticle.js","../node_modules/tsparticles-engine/esm/Options/Classes/Responsive.js","../node_modules/tsparticles-engine/esm/Options/Classes/Theme/ThemeDefault.js","../node_modules/tsparticles-engine/esm/Options/Classes/Theme/Theme.js","../node_modules/tsparticles-engine/esm/Options/Classes/ColorAnimation.js","../node_modules/tsparticles-engine/esm/Options/Classes/HslAnimation.js","../node_modules/tsparticles-engine/esm/Options/Classes/AnimatableColor.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Collisions/CollisionsAbsorb.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Collisions/CollisionsOverlap.js","../node_modules/tsparticles-engine/esm/Options/Classes/Random.js","../node_modules/tsparticles-engine/esm/Options/Classes/ValueWithRandom.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Bounce/ParticlesBounce.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Collisions/Collisions.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/MoveAngle.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/MoveAttract.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/MoveCenter.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/MoveGravity.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/Path/MovePath.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/MoveTrailFill.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/MoveTrail.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/OutModes.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/Spin.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/Move.js","../node_modules/tsparticles-engine/esm/Options/Classes/AnimationOptions.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Opacity/Opacity.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Number/ParticlesDensity.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Number/ParticlesNumber.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Shadow.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Shape/Shape.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Size/SizeAnimation.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Size/Size.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Stroke.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/ZIndex/ZIndex.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/ParticlesOptions.js","../node_modules/tsparticles-engine/esm/Utils/OptionsUtils.js","../node_modules/tsparticles-engine/esm/Options/Classes/Options.js","../node_modules/tsparticles-engine/esm/Core/Utils/InteractionManager.js","../node_modules/tsparticles-engine/esm/Core/Particle.js","../node_modules/tsparticles-engine/esm/Core/Utils/Point.js","../node_modules/tsparticles-engine/esm/Core/Utils/Range.js","../node_modules/tsparticles-engine/esm/Core/Utils/Circle.js","../node_modules/tsparticles-engine/esm/Core/Utils/Rectangle.js","../node_modules/tsparticles-engine/esm/Core/Utils/QuadTree.js","../node_modules/tsparticles-engine/esm/Core/Particles.js","../node_modules/tsparticles-engine/esm/Core/Retina.js","../node_modules/tsparticles-engine/esm/Core/Container.js","../node_modules/tsparticles-engine/esm/Core/Loader.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/tsparticles-engine/esm/Core/Utils/Plugins.js","../node_modules/tsparticles-engine/esm/engine.js","../node_modules/tsparticles-engine/esm/Utils/HslColorManager.js","../node_modules/tsparticles-engine/esm/Utils/RgbColorManager.js","../node_modules/tsparticles-engine/esm/Core/Utils/ExternalInteractorBase.js","../node_modules/tsparticles-engine/esm/Core/Utils/ParticlesInteractorBase.js","../node_modules/tsparticles-engine/esm/index.js","../node_modules/react-particles/esm/Particles.js","../node_modules/react-particles/esm/index.js","../node_modules/tsparticles-plugin-absorbers/esm/Options/Classes/AbsorberSizeLimit.js","../node_modules/tsparticles-plugin-absorbers/esm/Options/Classes/AbsorberSize.js","../node_modules/tsparticles-plugin-absorbers/esm/Options/Classes/Absorber.js","../node_modules/tsparticles-plugin-absorbers/esm/AbsorberInstance.js","../node_modules/tsparticles-plugin-absorbers/esm/Absorbers.js","../node_modules/tsparticles-plugin-absorbers/esm/index.js","../node_modules/tsparticles-updater-destroy/esm/Options/Classes/DestroyBounds.js","../node_modules/tsparticles-updater-destroy/esm/Options/Classes/SplitFactor.js","../node_modules/tsparticles-updater-destroy/esm/Options/Classes/SplitRate.js","../node_modules/tsparticles-updater-destroy/esm/Options/Classes/Split.js","../node_modules/tsparticles-updater-destroy/esm/Options/Classes/Destroy.js","../node_modules/tsparticles-updater-destroy/esm/DestroyUpdater.js","../node_modules/tsparticles-updater-destroy/esm/index.js","../node_modules/tsparticles-plugin-emitters/esm/Shapes/Circle/CircleShape.js","../node_modules/tsparticles-plugin-emitters/esm/Options/Classes/EmitterLife.js","../node_modules/tsparticles-plugin-emitters/esm/Options/Classes/EmitterRate.js","../node_modules/tsparticles-plugin-emitters/esm/Options/Classes/EmitterSize.js","../node_modules/tsparticles-plugin-emitters/esm/Options/Classes/Emitter.js","../node_modules/tsparticles-plugin-emitters/esm/EmitterInstance.js","../node_modules/tsparticles-plugin-emitters/esm/Emitters.js","../node_modules/tsparticles-plugin-emitters/esm/ShapeManager.js","../node_modules/tsparticles-plugin-emitters/esm/Shapes/Square/SquareShape.js","../node_modules/tsparticles-plugin-emitters/esm/index.js","../node_modules/tsparticles-interaction-external-trail/esm/Options/Classes/Trail.js","../node_modules/tsparticles-interaction-external-trail/esm/TrailMaker.js","../node_modules/tsparticles-interaction-external-trail/esm/index.js","../node_modules/tsparticles-updater-roll/esm/Options/Classes/RollLight.js","../node_modules/tsparticles-updater-roll/esm/Options/Classes/Roll.js","../node_modules/tsparticles-updater-roll/esm/RollUpdater.js","../node_modules/tsparticles-updater-roll/esm/index.js","../node_modules/tsparticles-particles.js/esm/index.js","../node_modules/tsparticles-updater-angle/esm/Options/Classes/RotateAnimation.js","../node_modules/tsparticles-updater-angle/esm/Options/Classes/Rotate.js","../node_modules/tsparticles-updater-angle/esm/RotateUpdater.js","../node_modules/tsparticles-updater-angle/esm/index.js","../node_modules/tsparticles-move-base/esm/BaseMover.js","../node_modules/tsparticles-move-base/esm/Utils.js","../node_modules/tsparticles-move-base/esm/index.js","../node_modules/tsparticles-shape-circle/esm/CircleDrawer.js","../node_modules/tsparticles-shape-circle/esm/index.js","../node_modules/tsparticles-updater-color/esm/ColorUpdater.js","../node_modules/tsparticles-updater-color/esm/index.js","../node_modules/tsparticles-interaction-external-attract/esm/Options/Classes/Attract.js","../node_modules/tsparticles-interaction-external-attract/esm/Attractor.js","../node_modules/tsparticles-interaction-external-attract/esm/index.js","../node_modules/tsparticles-interaction-external-bounce/esm/Options/Classes/Bounce.js","../node_modules/tsparticles-interaction-external-bounce/esm/Bouncer.js","../node_modules/tsparticles-interaction-external-bounce/esm/index.js","../node_modules/tsparticles-interaction-external-bubble/esm/Options/Classes/BubbleBase.js","../node_modules/tsparticles-interaction-external-bubble/esm/Options/Classes/BubbleDiv.js","../node_modules/tsparticles-interaction-external-bubble/esm/Options/Classes/Bubble.js","../node_modules/tsparticles-interaction-external-bubble/esm/Bubbler.js","../node_modules/tsparticles-interaction-external-bubble/esm/index.js","../node_modules/tsparticles-interaction-external-connect/esm/Options/Classes/ConnectLinks.js","../node_modules/tsparticles-interaction-external-connect/esm/Options/Classes/Connect.js","../node_modules/tsparticles-interaction-external-connect/esm/Connector.js","../node_modules/tsparticles-interaction-external-connect/esm/index.js","../node_modules/tsparticles-interaction-external-grab/esm/Options/Classes/GrabLinks.js","../node_modules/tsparticles-interaction-external-grab/esm/Options/Classes/Grab.js","../node_modules/tsparticles-interaction-external-grab/esm/Grabber.js","../node_modules/tsparticles-interaction-external-grab/esm/index.js","../node_modules/tsparticles-interaction-external-pause/esm/Pauser.js","../node_modules/tsparticles-interaction-external-pause/esm/index.js","../node_modules/tsparticles-interaction-external-push/esm/Options/Classes/Push.js","../node_modules/tsparticles-interaction-external-push/esm/Pusher.js","../node_modules/tsparticles-interaction-external-push/esm/index.js","../node_modules/tsparticles-interaction-external-remove/esm/Options/Classes/Remove.js","../node_modules/tsparticles-interaction-external-remove/esm/Remover.js","../node_modules/tsparticles-interaction-external-remove/esm/index.js","../node_modules/tsparticles-interaction-external-repulse/esm/Options/Classes/RepulseBase.js","../node_modules/tsparticles-interaction-external-repulse/esm/Options/Classes/RepulseDiv.js","../node_modules/tsparticles-interaction-external-repulse/esm/Options/Classes/Repulse.js","../node_modules/tsparticles-interaction-external-repulse/esm/Repulser.js","../node_modules/tsparticles-interaction-external-repulse/esm/index.js","../node_modules/tsparticles-interaction-external-slow/esm/Options/Classes/Slow.js","../node_modules/tsparticles-interaction-external-slow/esm/Slower.js","../node_modules/tsparticles-interaction-external-slow/esm/index.js","../node_modules/tsparticles-shape-image/esm/Utils.js","../node_modules/tsparticles-shape-image/esm/ImageDrawer.js","../node_modules/tsparticles-shape-image/esm/index.js","../node_modules/tsparticles-updater-life/esm/Options/Classes/LifeDelay.js","../node_modules/tsparticles-updater-life/esm/Options/Classes/LifeDuration.js","../node_modules/tsparticles-updater-life/esm/Options/Classes/Life.js","../node_modules/tsparticles-updater-life/esm/LifeUpdater.js","../node_modules/tsparticles-updater-life/esm/index.js","../node_modules/tsparticles-shape-line/esm/LineDrawer.js","../node_modules/tsparticles-shape-line/esm/index.js","../node_modules/tsparticles-updater-opacity/esm/OpacityUpdater.js","../node_modules/tsparticles-updater-opacity/esm/index.js","../node_modules/tsparticles-updater-out-modes/esm/BounceOutMode.js","../node_modules/tsparticles-updater-out-modes/esm/Utils.js","../node_modules/tsparticles-updater-out-modes/esm/DestroyOutMode.js","../node_modules/tsparticles-updater-out-modes/esm/NoneOutMode.js","../node_modules/tsparticles-updater-out-modes/esm/OutOutMode.js","../node_modules/tsparticles-updater-out-modes/esm/OutOfCanvasUpdater.js","../node_modules/tsparticles-updater-out-modes/esm/index.js","../node_modules/tsparticles-move-parallax/esm/ParallaxMover.js","../node_modules/tsparticles-move-parallax/esm/index.js","../node_modules/tsparticles-interaction-particles-attract/esm/Attractor.js","../node_modules/tsparticles-interaction-particles-attract/esm/index.js","../node_modules/tsparticles-interaction-particles-collisions/esm/Absorb.js","../node_modules/tsparticles-interaction-particles-collisions/esm/Bounce.js","../node_modules/tsparticles-interaction-particles-collisions/esm/ResolveCollision.js","../node_modules/tsparticles-interaction-particles-collisions/esm/Destroy.js","../node_modules/tsparticles-interaction-particles-collisions/esm/Collider.js","../node_modules/tsparticles-interaction-particles-collisions/esm/index.js","../node_modules/tsparticles-interaction-particles-links/esm/CircleWarp.js","../node_modules/tsparticles-interaction-particles-links/esm/Options/Classes/LinksShadow.js","../node_modules/tsparticles-interaction-particles-links/esm/Options/Classes/LinksTriangle.js","../node_modules/tsparticles-interaction-particles-links/esm/Options/Classes/Links.js","../node_modules/tsparticles-interaction-particles-links/esm/Linker.js","../node_modules/tsparticles-interaction-particles-links/esm/interaction.js","../node_modules/tsparticles-interaction-particles-links/esm/LinkInstance.js","../node_modules/tsparticles-interaction-particles-links/esm/Utils.js","../node_modules/tsparticles-interaction-particles-links/esm/plugin.js","../node_modules/tsparticles-interaction-particles-links/esm/index.js","../node_modules/tsparticles-shape-polygon/esm/PolygonDrawerBase.js","../node_modules/tsparticles-shape-polygon/esm/PolygonDrawer.js","../node_modules/tsparticles-shape-polygon/esm/TriangleDrawer.js","../node_modules/tsparticles-shape-polygon/esm/index.js","../node_modules/tsparticles-updater-size/esm/SizeUpdater.js","../node_modules/tsparticles-updater-size/esm/index.js","../node_modules/tsparticles-shape-square/esm/SquareDrawer.js","../node_modules/tsparticles-shape-square/esm/index.js","../node_modules/tsparticles-shape-star/esm/StarDrawer.js","../node_modules/tsparticles-shape-star/esm/index.js","../node_modules/tsparticles-updater-stroke-color/esm/StrokeColorUpdater.js","../node_modules/tsparticles-updater-stroke-color/esm/index.js","../node_modules/tsparticles-shape-text/esm/TextDrawer.js","../node_modules/tsparticles-shape-text/esm/index.js","../node_modules/tsparticles-slim/esm/index.js","../node_modules/tsparticles-updater-tilt/esm/Options/Classes/TiltAnimation.js","../node_modules/tsparticles-updater-tilt/esm/Options/Classes/Tilt.js","../node_modules/tsparticles-updater-tilt/esm/TiltUpdater.js","../node_modules/tsparticles-updater-tilt/esm/index.js","../node_modules/tsparticles-updater-twinkle/esm/Options/Classes/TwinkleValues.js","../node_modules/tsparticles-updater-twinkle/esm/Options/Classes/Twinkle.js","../node_modules/tsparticles-updater-twinkle/esm/TwinkleUpdater.js","../node_modules/tsparticles-updater-twinkle/esm/index.js","../node_modules/tsparticles-updater-wobble/esm/Options/Classes/WobbleSpeed.js","../node_modules/tsparticles-updater-wobble/esm/Options/Classes/Wobble.js","../node_modules/tsparticles-updater-wobble/esm/WobbleUpdater.js","../node_modules/tsparticles-updater-wobble/esm/index.js","../node_modules/tsparticles/esm/index.js","components/ParticlesBackground.js","components/Footer.js","components/ContributionsList.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","components/ExperiencesList.js","App.js","index.js"],"sourcesContent":["'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n continue;\n }\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.p = \"/\";","import '../css/App.css';\r\nimport '../css/socials.scss';\r\n\r\nfunction Socials() {\r\n return(\r\n
\r\n
    \r\n
  • \r\n
  • \r\n
  • \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Socials;\r\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","const particlesConfig = {\r\n \"autoPlay\": true,\r\n \"background\": {\r\n \"color\": {\r\n \"value\": \"#15171e\"\r\n },\r\n \"image\": \"\",\r\n \"position\": \"\",\r\n \"repeat\": \"\",\r\n \"size\": \"cover\",\r\n \"opacity\": 1\r\n },\r\n \"fullScreen\": {\r\n \"enable\": true,\r\n \"zIndex\": -1\r\n },\r\n \"detectRetina\": true,\r\n \"fpsLimit\": 60,\r\n \"interactivity\": {\r\n \"detectsOn\": \"canvas\",\r\n \"events\": {\r\n \"onClick\": {\r\n \"enable\": true,\r\n \"mode\": \"push\"\r\n },\r\n \"resize\": true\r\n },\r\n \"modes\": {\r\n \"push\": {\r\n \"quantity\": 4\r\n },\r\n }\r\n },\r\n \"motion\": {\r\n \"disable\": false,\r\n \"reduce\": {\r\n \"factor\": 1,\r\n \"value\": false\r\n }\r\n },\r\n \"particles\": {\r\n \"bounce\": {\r\n \"horizontal\": {\r\n \"random\": {\r\n \"enable\": false,\r\n \"minimumValue\": 0.1\r\n },\r\n \"value\": 1\r\n },\r\n \"vertical\": {\r\n \"random\": {\r\n \"enable\": false,\r\n \"minimumValue\": 0.1\r\n },\r\n \"value\": 1\r\n }\r\n },\r\n \"collisions\": {\r\n \"bounce\": {\r\n \"horizontal\": {\r\n \"random\": {\r\n \"enable\": false,\r\n \"minimumValue\": 0.1\r\n },\r\n \"value\": 1\r\n },\r\n \"vertical\": {\r\n \"random\": {\r\n \"enable\": false,\r\n \"minimumValue\": 0.1\r\n },\r\n \"value\": 1\r\n }\r\n },\r\n \"enable\": true,\r\n \"mode\": \"bounce\"\r\n },\r\n \"color\": {\r\n \"value\": \"#4b5680\",\r\n \"animation\": {\r\n \"enable\": true,\r\n \"speed\": 1,\r\n \"sync\": true\r\n }\r\n },\r\n \"life\": {\r\n \"count\": 0,\r\n \"delay\": {\r\n \"random\": {\r\n \"enable\": false,\r\n \"minimumValue\": 0\r\n },\r\n \"value\": 0,\r\n \"sync\": false\r\n },\r\n \"duration\": {\r\n \"random\": {\r\n \"enable\": false,\r\n \"minimumValue\": 0.0001\r\n },\r\n \"value\": 0,\r\n \"sync\": false\r\n }\r\n },\r\n \"links\": {\r\n \"blink\": true,\r\n \"color\": {\r\n \"value\": \"#39254c\"\r\n },\r\n \"consent\": true,\r\n \"distance\": 100,\r\n \"enable\": true,\r\n \"frequency\": 1,\r\n \"opacity\": 0.61,\r\n \"shadow\": {\r\n \"blur\": 5,\r\n \"color\": {\r\n \"value\": \"#00ff00\"\r\n },\r\n \"enable\": false\r\n },\r\n \"triangles\": {\r\n \"enable\": true,\r\n \"frequency\": 0.62,\r\n \"color\": {\r\n \"value\": \"#4a3a56\"\r\n }\r\n },\r\n \"width\": 1,\r\n \"warp\": false\r\n },\r\n \"move\": {\r\n \"angle\": {\r\n \"offset\": 45,\r\n \"value\": 90\r\n },\r\n \"attract\": {\r\n \"enable\": false,\r\n \"rotate\": {\r\n \"x\": 600,\r\n \"y\": 1200\r\n }\r\n },\r\n \"direction\": \"none\",\r\n \"distance\": 0,\r\n \"enable\": true,\r\n \"gravity\": {\r\n \"acceleration\": 9.81,\r\n \"enable\": false,\r\n \"maxSpeed\": 50\r\n },\r\n \"noise\": {\r\n \"delay\": {\r\n \"random\": {\r\n \"enable\": false,\r\n \"minimumValue\": 0\r\n },\r\n \"value\": 0\r\n },\r\n \"enable\": false\r\n },\r\n \"outModes\": {\r\n \"default\": \"out\",\r\n \"bottom\": \"out\",\r\n \"left\": \"out\",\r\n \"right\": \"out\",\r\n \"top\": \"out\"\r\n },\r\n \"random\": false,\r\n \"size\": false,\r\n \"speed\": 0.6,\r\n \"straight\": false,\r\n \"trail\": {\r\n \"enable\": false,\r\n \"length\": 10,\r\n \"fillColor\": {\r\n \"value\": \"#000000\"\r\n }\r\n },\r\n \"vibrate\": false,\r\n \"warp\": false\r\n },\r\n \"number\": {\r\n \"density\": {\r\n \"enable\": true,\r\n \"area\": 800,\r\n \"factor\": 1000\r\n },\r\n \"limit\": 0,\r\n \"value\": 80\r\n },\r\n \"opacity\": {\r\n \"random\": {\r\n \"enable\": false,\r\n \"minimumValue\": 0.1\r\n },\r\n \"value\": 0.5,\r\n \"animation\": {\r\n \"enable\": false,\r\n \"minimumValue\": 0.1,\r\n \"speed\": 2.98,\r\n \"sync\": false\r\n }\r\n },\r\n \"reduceDuplicates\": false,\r\n \"rotate\": {\r\n \"random\": {\r\n \"enable\": false,\r\n \"minimumValue\": 0\r\n },\r\n \"value\": 0,\r\n \"animation\": {\r\n \"enable\": false,\r\n \"speed\": 0,\r\n \"sync\": false\r\n },\r\n \"direction\": \"clockwise\",\r\n \"path\": false\r\n },\r\n \"shadow\": {\r\n \"blur\": 0,\r\n \"color\": {\r\n \"value\": \"#000000\"\r\n },\r\n \"enable\": false,\r\n \"offset\": {\r\n \"x\": 0,\r\n \"y\": 0\r\n }\r\n },\r\n \"shape\": {\r\n \"options\": {\r\n \"polygon\": {\r\n \"sides\": 5\r\n },\r\n \"image\": {\r\n \"src\": \"https://cdn.matteobruni.it/images/particles/github.svg\",\r\n \"width\": 100,\r\n \"height\": 100\r\n }\r\n },\r\n \"type\": \"circle\"\r\n },\r\n \"size\": {\r\n \"random\": {\r\n \"enable\": true,\r\n \"minimumValue\": 1\r\n },\r\n \"value\": 1,\r\n \"animation\": {\r\n \"destroy\": \"min\",\r\n \"enable\": false,\r\n \"minimumValue\": 0.1,\r\n \"speed\": 1,\r\n \"startValue\": \"max\",\r\n \"sync\": false\r\n }\r\n },\r\n \"stroke\": {\r\n \"width\": 0,\r\n \"color\": {\r\n \"value\": \"\",\r\n }\r\n },\r\n \"twinkle\": {\r\n \"lines\": {\r\n \"enable\": true,\r\n \"frequency\": 0.05,\r\n \"opacity\": 1\r\n },\r\n \"particles\": {\r\n \"enable\": false,\r\n \"frequency\": 0.05,\r\n \"opacity\": 1\r\n }\r\n }\r\n },\r\n}\r\n\r\nexport default particlesConfig;","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export class EventDispatcher {\n constructor() {\n this._listeners = new Map();\n }\n addEventListener(type, listener) {\n var _a;\n this.removeEventListener(type, listener);\n if (!this._listeners.get(type)) {\n this._listeners.set(type, []);\n }\n (_a = this._listeners.get(type)) === null || _a === void 0 ? void 0 : _a.push(listener);\n }\n dispatchEvent(type, args) {\n var _a;\n (_a = this._listeners.get(type)) === null || _a === void 0 ? void 0 : _a.forEach((handler) => handler(args));\n }\n hasEventListener(type) {\n return !!this._listeners.get(type);\n }\n removeAllEventListeners(type) {\n if (!type) {\n this._listeners = new Map();\n }\n else {\n this._listeners.delete(type);\n }\n }\n removeEventListener(type, listener) {\n const arr = this._listeners.get(type);\n if (!arr) {\n return;\n }\n const length = arr.length, idx = arr.indexOf(listener);\n if (idx < 0) {\n return;\n }\n if (length === 1) {\n this._listeners.delete(type);\n }\n else {\n arr.splice(idx, 1);\n }\n }\n}\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export class Vector3d {\n constructor(xOrCoords, y, z) {\n if (typeof xOrCoords !== \"number\" && xOrCoords) {\n this.x = xOrCoords.x;\n this.y = xOrCoords.y;\n const coords3d = xOrCoords;\n this.z = coords3d.z ? coords3d.z : 0;\n }\n else if (xOrCoords !== undefined && y !== undefined) {\n this.x = xOrCoords;\n this.y = y;\n this.z = z !== null && z !== void 0 ? z : 0;\n }\n else {\n throw new Error(\"tsParticles - Vector3d not initialized correctly\");\n }\n }\n static get origin() {\n return Vector3d.create(0, 0, 0);\n }\n get angle() {\n return Math.atan2(this.y, this.x);\n }\n set angle(angle) {\n this.updateFromAngle(angle, this.length);\n }\n get length() {\n return Math.sqrt(this.getLengthSq());\n }\n set length(length) {\n this.updateFromAngle(this.angle, length);\n }\n static clone(source) {\n return Vector3d.create(source.x, source.y, source.z);\n }\n static create(x, y, z) {\n return new Vector3d(x, y, z);\n }\n add(v) {\n return Vector3d.create(this.x + v.x, this.y + v.y, this.z + v.z);\n }\n addTo(v) {\n this.x += v.x;\n this.y += v.y;\n this.z += v.z;\n }\n copy() {\n return Vector3d.clone(this);\n }\n distanceTo(v) {\n return this.sub(v).length;\n }\n distanceToSq(v) {\n return this.sub(v).getLengthSq();\n }\n div(n) {\n return Vector3d.create(this.x / n, this.y / n, this.z / n);\n }\n divTo(n) {\n this.x /= n;\n this.y /= n;\n this.z /= n;\n }\n getLengthSq() {\n return this.x ** 2 + this.y ** 2;\n }\n mult(n) {\n return Vector3d.create(this.x * n, this.y * n, this.z * n);\n }\n multTo(n) {\n this.x *= n;\n this.y *= n;\n this.z *= n;\n }\n rotate(angle) {\n return Vector3d.create(this.x * Math.cos(angle) - this.y * Math.sin(angle), this.x * Math.sin(angle) + this.y * Math.cos(angle), 0);\n }\n setTo(c) {\n this.x = c.x;\n this.y = c.y;\n const v3d = c;\n this.z = v3d.z ? v3d.z : 0;\n }\n sub(v) {\n return Vector3d.create(this.x - v.x, this.y - v.y, this.z - v.z);\n }\n subFrom(v) {\n this.x -= v.x;\n this.y -= v.y;\n this.z -= v.z;\n }\n updateFromAngle(angle, length) {\n this.x = Math.cos(angle) * length;\n this.y = Math.sin(angle) * length;\n }\n}\n","import { Vector3d } from \"./Vector3d\";\nexport class Vector extends Vector3d {\n constructor(xOrCoords, y) {\n super(xOrCoords, y, 0);\n }\n static get origin() {\n return Vector.create(0, 0);\n }\n static clone(source) {\n return Vector.create(source.x, source.y);\n }\n static create(x, y) {\n return new Vector(x, y);\n }\n}\n","import { Vector } from \"../Core/Utils/Vector\";\nlet _random = Math.random;\nconst easings = new Map();\nexport function addEasing(name, easing) {\n if (!easings.get(name)) {\n easings.set(name, easing);\n }\n}\nexport function getEasing(name) {\n return easings.get(name) || ((value) => value);\n}\nexport function setRandom(rnd = Math.random) {\n _random = rnd;\n}\nexport function getRandom() {\n return clamp(_random(), 0, 1 - 1e-16);\n}\nexport function clamp(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\nexport function mix(comp1, comp2, weight1, weight2) {\n return Math.floor((comp1 * weight1 + comp2 * weight2) / (weight1 + weight2));\n}\nexport function randomInRange(r) {\n const max = getRangeMax(r);\n let min = getRangeMin(r);\n if (max === min) {\n min = 0;\n }\n return getRandom() * (max - min) + min;\n}\nexport function getRangeValue(value) {\n return typeof value === \"number\" ? value : randomInRange(value);\n}\nexport function getRangeMin(value) {\n return typeof value === \"number\" ? value : value.min;\n}\nexport function getRangeMax(value) {\n return typeof value === \"number\" ? value : value.max;\n}\nexport function setRangeValue(source, value) {\n if (source === value || (value === undefined && typeof source === \"number\")) {\n return source;\n }\n const min = getRangeMin(source), max = getRangeMax(source);\n return value !== undefined\n ? {\n min: Math.min(min, value),\n max: Math.max(max, value),\n }\n : setRangeValue(min, max);\n}\nexport function getValue(options) {\n const random = options.random, { enable, minimumValue } = typeof random === \"boolean\"\n ? {\n enable: random,\n minimumValue: 0,\n }\n : random;\n return enable ? getRangeValue(setRangeValue(options.value, minimumValue)) : getRangeValue(options.value);\n}\nexport function getDistances(pointA, pointB) {\n const dx = pointA.x - pointB.x, dy = pointA.y - pointB.y;\n return { dx: dx, dy: dy, distance: Math.sqrt(dx ** 2 + dy ** 2) };\n}\nexport function getDistance(pointA, pointB) {\n return getDistances(pointA, pointB).distance;\n}\nexport function getParticleDirectionAngle(direction, position, center) {\n if (typeof direction === \"number\") {\n return (direction * Math.PI) / 180;\n }\n else {\n switch (direction) {\n case \"top\":\n return -Math.PI / 2;\n case \"top-right\":\n return -Math.PI / 4;\n case \"right\":\n return 0;\n case \"bottom-right\":\n return Math.PI / 4;\n case \"bottom\":\n return Math.PI / 2;\n case \"bottom-left\":\n return (3 * Math.PI) / 4;\n case \"left\":\n return Math.PI;\n case \"top-left\":\n return (-3 * Math.PI) / 4;\n case \"inside\":\n return Math.atan2(center.y - position.y, center.x - position.x);\n case \"outside\":\n return Math.atan2(position.y - center.y, position.x - center.x);\n default:\n return getRandom() * Math.PI * 2;\n }\n }\n}\nexport function getParticleBaseVelocity(direction) {\n const baseVelocity = Vector.origin;\n baseVelocity.length = 1;\n baseVelocity.angle = direction;\n return baseVelocity;\n}\nexport function collisionVelocity(v1, v2, m1, m2) {\n return Vector.create((v1.x * (m1 - m2)) / (m1 + m2) + (v2.x * 2 * m2) / (m1 + m2), v1.y);\n}\nexport function calcPositionFromSize(data) {\n return data.position && data.position.x !== undefined && data.position.y !== undefined\n ? {\n x: (data.position.x * data.size.width) / 100,\n y: (data.position.y * data.size.height) / 100,\n }\n : undefined;\n}\nexport function calcPositionOrRandomFromSize(data) {\n var _a, _b, _c, _d;\n return {\n x: (((_b = (_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : getRandom() * 100) * data.size.width) / 100,\n y: (((_d = (_c = data.position) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : getRandom() * 100) * data.size.height) / 100,\n };\n}\nexport function calcPositionOrRandomFromSizeRanged(data) {\n var _a, _b;\n const position = {\n x: ((_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== undefined ? getRangeValue(data.position.x) : undefined,\n y: ((_b = data.position) === null || _b === void 0 ? void 0 : _b.y) !== undefined ? getRangeValue(data.position.y) : undefined,\n };\n return calcPositionOrRandomFromSize({ size: data.size, position });\n}\nexport function calcExactPositionOrRandomFromSize(data) {\n var _a, _b, _c, _d;\n return {\n x: (_b = (_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : getRandom() * data.size.width,\n y: (_d = (_c = data.position) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : getRandom() * data.size.height,\n };\n}\nexport function calcExactPositionOrRandomFromSizeRanged(data) {\n var _a, _b;\n const position = {\n x: ((_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== undefined ? getRangeValue(data.position.x) : undefined,\n y: ((_b = data.position) === null || _b === void 0 ? void 0 : _b.y) !== undefined ? getRangeValue(data.position.y) : undefined,\n };\n return calcExactPositionOrRandomFromSize({ size: data.size, position });\n}\nexport function parseAlpha(input) {\n return input ? (input.endsWith(\"%\") ? parseFloat(input) / 100 : parseFloat(input)) : 1;\n}\n","import { collisionVelocity, getDistances, getRandom, getValue } from \"./NumberUtils\";\nimport { Vector } from \"../Core/Utils/Vector\";\nfunction rectSideBounce(pSide, pOtherSide, rectSide, rectOtherSide, velocity, factor) {\n const res = { bounced: false };\n if (pOtherSide.min < rectOtherSide.min ||\n pOtherSide.min > rectOtherSide.max ||\n pOtherSide.max < rectOtherSide.min ||\n pOtherSide.max > rectOtherSide.max) {\n return res;\n }\n if ((pSide.max >= rectSide.min && pSide.max <= (rectSide.max + rectSide.min) / 2 && velocity > 0) ||\n (pSide.min <= rectSide.max && pSide.min > (rectSide.max + rectSide.min) / 2 && velocity < 0)) {\n res.velocity = velocity * -factor;\n res.bounced = true;\n }\n return res;\n}\nfunction checkSelector(element, selectors) {\n const res = executeOnSingleOrMultiple(selectors, (selector) => {\n return element.matches(selector);\n });\n return res instanceof Array ? res.some((t) => t) : res;\n}\nexport function isSsr() {\n return typeof window === \"undefined\" || !window || typeof window.document === \"undefined\" || !window.document;\n}\nexport function hasMatchMedia() {\n return !isSsr() && typeof matchMedia !== \"undefined\";\n}\nexport function safeMatchMedia(query) {\n if (!hasMatchMedia()) {\n return;\n }\n return matchMedia(query);\n}\nexport function animate() {\n return isSsr()\n ? (callback) => setTimeout(callback)\n : (callback) => (requestAnimationFrame || setTimeout)(callback);\n}\nexport function cancelAnimation() {\n return isSsr()\n ? (handle) => clearTimeout(handle)\n : (handle) => (cancelAnimationFrame || clearTimeout)(handle);\n}\nexport function isInArray(value, array) {\n return value === array || (array instanceof Array && array.indexOf(value) > -1);\n}\nexport async function loadFont(font, weight) {\n try {\n await document.fonts.load(`${weight !== null && weight !== void 0 ? weight : \"400\"} 36px '${font !== null && font !== void 0 ? font : \"Verdana\"}'`);\n }\n catch (_a) {\n }\n}\nexport function arrayRandomIndex(array) {\n return Math.floor(getRandom() * array.length);\n}\nexport function itemFromArray(array, index, useIndex = true) {\n return array[index !== undefined && useIndex ? index % array.length : arrayRandomIndex(array)];\n}\nexport function isPointInside(point, size, offset, radius, direction) {\n return areBoundsInside(calculateBounds(point, radius !== null && radius !== void 0 ? radius : 0), size, offset, direction);\n}\nexport function areBoundsInside(bounds, size, offset, direction) {\n let inside = true;\n if (!direction || direction === \"bottom\") {\n inside = bounds.top < size.height + offset.x;\n }\n if (inside && (!direction || direction === \"left\")) {\n inside = bounds.right > offset.x;\n }\n if (inside && (!direction || direction === \"right\")) {\n inside = bounds.left < size.width + offset.y;\n }\n if (inside && (!direction || direction === \"top\")) {\n inside = bounds.bottom > offset.y;\n }\n return inside;\n}\nexport function calculateBounds(point, radius) {\n return {\n bottom: point.y + radius,\n left: point.x - radius,\n right: point.x + radius,\n top: point.y - radius,\n };\n}\nexport function deepExtend(destination, ...sources) {\n for (const source of sources) {\n if (source === undefined || source === null) {\n continue;\n }\n if (typeof source !== \"object\") {\n destination = source;\n continue;\n }\n const sourceIsArray = Array.isArray(source);\n if (sourceIsArray && (typeof destination !== \"object\" || !destination || !Array.isArray(destination))) {\n destination = [];\n }\n else if (!sourceIsArray && (typeof destination !== \"object\" || !destination || Array.isArray(destination))) {\n destination = {};\n }\n for (const key in source) {\n if (key === \"__proto__\") {\n continue;\n }\n const sourceDict = source, value = sourceDict[key], isObject = typeof value === \"object\", destDict = destination;\n destDict[key] =\n isObject && Array.isArray(value)\n ? value.map((v) => deepExtend(destDict[key], v))\n : deepExtend(destDict[key], value);\n }\n }\n return destination;\n}\nexport function isDivModeEnabled(mode, divs) {\n return !!findItemFromSingleOrMultiple(divs, (t) => t.enable && isInArray(mode, t.mode));\n}\nexport function divModeExecute(mode, divs, callback) {\n executeOnSingleOrMultiple(divs, (div) => {\n const divMode = div.mode, divEnabled = div.enable;\n if (divEnabled && isInArray(mode, divMode)) {\n singleDivModeExecute(div, callback);\n }\n });\n}\nexport function singleDivModeExecute(div, callback) {\n const selectors = div.selectors;\n executeOnSingleOrMultiple(selectors, (selector) => {\n callback(selector, div);\n });\n}\nexport function divMode(divs, element) {\n if (!element || !divs) {\n return;\n }\n return findItemFromSingleOrMultiple(divs, (div) => {\n return checkSelector(element, div.selectors);\n });\n}\nexport function circleBounceDataFromParticle(p) {\n return {\n position: p.getPosition(),\n radius: p.getRadius(),\n mass: p.getMass(),\n velocity: p.velocity,\n factor: Vector.create(getValue(p.options.bounce.horizontal), getValue(p.options.bounce.vertical)),\n };\n}\nexport function circleBounce(p1, p2) {\n const { x: xVelocityDiff, y: yVelocityDiff } = p1.velocity.sub(p2.velocity), [pos1, pos2] = [p1.position, p2.position], { dx: xDist, dy: yDist } = getDistances(pos2, pos1);\n if (xVelocityDiff * xDist + yVelocityDiff * yDist < 0) {\n return;\n }\n const angle = -Math.atan2(yDist, xDist), m1 = p1.mass, m2 = p2.mass, u1 = p1.velocity.rotate(angle), u2 = p2.velocity.rotate(angle), v1 = collisionVelocity(u1, u2, m1, m2), v2 = collisionVelocity(u2, u1, m1, m2), vFinal1 = v1.rotate(-angle), vFinal2 = v2.rotate(-angle);\n p1.velocity.x = vFinal1.x * p1.factor.x;\n p1.velocity.y = vFinal1.y * p1.factor.y;\n p2.velocity.x = vFinal2.x * p2.factor.x;\n p2.velocity.y = vFinal2.y * p2.factor.y;\n}\nexport function rectBounce(particle, divBounds) {\n const pPos = particle.getPosition(), size = particle.getRadius(), bounds = calculateBounds(pPos, size), resH = rectSideBounce({\n min: bounds.left,\n max: bounds.right,\n }, {\n min: bounds.top,\n max: bounds.bottom,\n }, {\n min: divBounds.left,\n max: divBounds.right,\n }, {\n min: divBounds.top,\n max: divBounds.bottom,\n }, particle.velocity.x, getValue(particle.options.bounce.horizontal));\n if (resH.bounced) {\n if (resH.velocity !== undefined) {\n particle.velocity.x = resH.velocity;\n }\n if (resH.position !== undefined) {\n particle.position.x = resH.position;\n }\n }\n const resV = rectSideBounce({\n min: bounds.top,\n max: bounds.bottom,\n }, {\n min: bounds.left,\n max: bounds.right,\n }, {\n min: divBounds.top,\n max: divBounds.bottom,\n }, {\n min: divBounds.left,\n max: divBounds.right,\n }, particle.velocity.y, getValue(particle.options.bounce.vertical));\n if (resV.bounced) {\n if (resV.velocity !== undefined) {\n particle.velocity.y = resV.velocity;\n }\n if (resV.position !== undefined) {\n particle.position.y = resV.position;\n }\n }\n}\nexport function executeOnSingleOrMultiple(obj, callback) {\n return obj instanceof Array ? obj.map((item, index) => callback(item, index)) : callback(obj, 0);\n}\nexport function itemFromSingleOrMultiple(obj, index, useIndex) {\n return obj instanceof Array ? itemFromArray(obj, index, useIndex) : obj;\n}\nexport function findItemFromSingleOrMultiple(obj, callback) {\n return obj instanceof Array ? obj.find((t, index) => callback(t, index)) : callback(obj, 0) ? obj : undefined;\n}\n","import { getRandom, getRangeValue, mix, randomInRange, setRangeValue } from \"./NumberUtils\";\nimport { itemFromArray } from \"./Utils\";\nconst randomColorValue = \"random\", midColorValue = \"mid\", colorManagers = new Map();\nexport function addColorManager(manager) {\n colorManagers.set(manager.key, manager);\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\nfunction stringToRgba(input) {\n for (const [, manager] of colorManagers) {\n if (input.startsWith(manager.stringPrefix)) {\n return manager.parseString(input);\n }\n }\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])([a-f\\d])?$/i, hexFixed = input.replace(shorthandRegex, (_, r, g, b, a) => {\n return r + r + g + g + b + b + (a !== undefined ? a + a : \"\");\n }), regex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i, result = regex.exec(hexFixed);\n return result\n ? {\n a: result[4] !== undefined ? parseInt(result[4], 16) / 0xff : 1,\n b: parseInt(result[3], 16),\n g: parseInt(result[2], 16),\n r: parseInt(result[1], 16),\n }\n : undefined;\n}\nexport function rangeColorToRgb(input, index, useIndex = true) {\n if (!input) {\n return;\n }\n const color = typeof input === \"string\" ? { value: input } : input;\n if (typeof color.value === \"string\") {\n return colorToRgb(color.value, index, useIndex);\n }\n if (color.value instanceof Array) {\n return rangeColorToRgb({\n value: itemFromArray(color.value, index, useIndex),\n });\n }\n for (const [, manager] of colorManagers) {\n const res = manager.handleRangeColor(color);\n if (res) {\n return res;\n }\n }\n}\nexport function colorToRgb(input, index, useIndex = true) {\n if (!input) {\n return;\n }\n const color = typeof input === \"string\" ? { value: input } : input;\n if (typeof color.value === \"string\") {\n return color.value === randomColorValue ? getRandomRgbColor() : stringToRgb(color.value);\n }\n if (color.value instanceof Array) {\n return colorToRgb({\n value: itemFromArray(color.value, index, useIndex),\n });\n }\n for (const [, manager] of colorManagers) {\n const res = manager.handleColor(color);\n if (res) {\n return res;\n }\n }\n}\nexport function colorToHsl(color, index, useIndex = true) {\n const rgb = colorToRgb(color, index, useIndex);\n return rgb ? rgbToHsl(rgb) : undefined;\n}\nexport function rangeColorToHsl(color, index, useIndex = true) {\n const rgb = rangeColorToRgb(color, index, useIndex);\n return rgb ? rgbToHsl(rgb) : undefined;\n}\nexport function rgbToHsl(color) {\n const r1 = color.r / 255, g1 = color.g / 255, b1 = color.b / 255, max = Math.max(r1, g1, b1), min = Math.min(r1, g1, b1), res = {\n h: 0,\n l: (max + min) / 2,\n s: 0,\n };\n if (max !== min) {\n res.s = res.l < 0.5 ? (max - min) / (max + min) : (max - min) / (2.0 - max - min);\n res.h =\n r1 === max\n ? (g1 - b1) / (max - min)\n : (res.h = g1 === max ? 2.0 + (b1 - r1) / (max - min) : 4.0 + (r1 - g1) / (max - min));\n }\n res.l *= 100;\n res.s *= 100;\n res.h *= 60;\n if (res.h < 0) {\n res.h += 360;\n }\n if (res.h >= 360) {\n res.h -= 360;\n }\n return res;\n}\nexport function stringToAlpha(input) {\n var _a;\n return (_a = stringToRgba(input)) === null || _a === void 0 ? void 0 : _a.a;\n}\nexport function stringToRgb(input) {\n return stringToRgba(input);\n}\nexport function hslToRgb(hsl) {\n const result = { b: 0, g: 0, r: 0 }, hslPercent = {\n h: hsl.h / 360,\n l: hsl.l / 100,\n s: hsl.s / 100,\n };\n if (!hslPercent.s) {\n result.b = hslPercent.l;\n result.g = hslPercent.l;\n result.r = hslPercent.l;\n }\n else {\n const q = hslPercent.l < 0.5\n ? hslPercent.l * (1 + hslPercent.s)\n : hslPercent.l + hslPercent.s - hslPercent.l * hslPercent.s, p = 2 * hslPercent.l - q;\n result.r = hue2rgb(p, q, hslPercent.h + 1 / 3);\n result.g = hue2rgb(p, q, hslPercent.h);\n result.b = hue2rgb(p, q, hslPercent.h - 1 / 3);\n }\n result.r = Math.floor(result.r * 255);\n result.g = Math.floor(result.g * 255);\n result.b = Math.floor(result.b * 255);\n return result;\n}\nexport function hslaToRgba(hsla) {\n const rgbResult = hslToRgb(hsla);\n return {\n a: hsla.a,\n b: rgbResult.b,\n g: rgbResult.g,\n r: rgbResult.r,\n };\n}\nexport function getRandomRgbColor(min) {\n const fixedMin = min !== null && min !== void 0 ? min : 0;\n return {\n b: Math.floor(randomInRange(setRangeValue(fixedMin, 256))),\n g: Math.floor(randomInRange(setRangeValue(fixedMin, 256))),\n r: Math.floor(randomInRange(setRangeValue(fixedMin, 256))),\n };\n}\nexport function getStyleFromRgb(color, opacity) {\n return `rgba(${color.r}, ${color.g}, ${color.b}, ${opacity !== null && opacity !== void 0 ? opacity : 1})`;\n}\nexport function getStyleFromHsl(color, opacity) {\n return `hsla(${color.h}, ${color.s}%, ${color.l}%, ${opacity !== null && opacity !== void 0 ? opacity : 1})`;\n}\nexport function colorMix(color1, color2, size1, size2) {\n let rgb1 = color1, rgb2 = color2;\n if (rgb1.r === undefined) {\n rgb1 = hslToRgb(color1);\n }\n if (rgb2.r === undefined) {\n rgb2 = hslToRgb(color2);\n }\n return {\n b: mix(rgb1.b, rgb2.b, size1, size2),\n g: mix(rgb1.g, rgb2.g, size1, size2),\n r: mix(rgb1.r, rgb2.r, size1, size2),\n };\n}\nexport function getLinkColor(p1, p2, linkColor) {\n var _a, _b;\n if (linkColor === randomColorValue) {\n return getRandomRgbColor();\n }\n else if (linkColor === midColorValue) {\n const sourceColor = (_a = p1.getFillColor()) !== null && _a !== void 0 ? _a : p1.getStrokeColor(), destColor = (_b = p2 === null || p2 === void 0 ? void 0 : p2.getFillColor()) !== null && _b !== void 0 ? _b : p2 === null || p2 === void 0 ? void 0 : p2.getStrokeColor();\n if (sourceColor && destColor && p2) {\n return colorMix(sourceColor, destColor, p1.getRadius(), p2.getRadius());\n }\n else {\n const hslColor = sourceColor !== null && sourceColor !== void 0 ? sourceColor : destColor;\n if (hslColor) {\n return hslToRgb(hslColor);\n }\n }\n }\n else {\n return linkColor;\n }\n}\nexport function getLinkRandomColor(optColor, blink, consent) {\n const color = typeof optColor === \"string\" ? optColor : optColor.value;\n if (color === randomColorValue) {\n if (consent) {\n return rangeColorToRgb({\n value: color,\n });\n }\n if (blink) {\n return randomColorValue;\n }\n return midColorValue;\n }\n else if (color === midColorValue) {\n return midColorValue;\n }\n else {\n return rangeColorToRgb({\n value: color,\n });\n }\n}\nexport function getHslFromAnimation(animation) {\n return animation !== undefined\n ? {\n h: animation.h.value,\n s: animation.s.value,\n l: animation.l.value,\n }\n : undefined;\n}\nexport function getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {\n const resColor = {\n h: {\n enable: false,\n value: hsl.h,\n },\n s: {\n enable: false,\n value: hsl.s,\n },\n l: {\n enable: false,\n value: hsl.l,\n },\n };\n if (animationOptions) {\n setColorAnimation(resColor.h, animationOptions.h, reduceFactor);\n setColorAnimation(resColor.s, animationOptions.s, reduceFactor);\n setColorAnimation(resColor.l, animationOptions.l, reduceFactor);\n }\n return resColor;\n}\nfunction setColorAnimation(colorValue, colorAnimation, reduceFactor) {\n colorValue.enable = colorAnimation.enable;\n if (colorValue.enable) {\n colorValue.velocity = (getRangeValue(colorAnimation.speed) / 100) * reduceFactor;\n colorValue.decay = 1 - getRangeValue(colorAnimation.decay);\n colorValue.status = \"increasing\";\n colorValue.loops = 0;\n colorValue.maxLoops = getRangeValue(colorAnimation.count);\n if (!colorAnimation.sync) {\n colorValue.velocity *= getRandom();\n colorValue.value *= getRandom();\n }\n colorValue.initialValue = colorValue.value;\n }\n else {\n colorValue.velocity = 0;\n }\n}\n","import { getStyleFromRgb } from \"./ColorUtils\";\nexport function drawLine(context, begin, end) {\n context.beginPath();\n context.moveTo(begin.x, begin.y);\n context.lineTo(end.x, end.y);\n context.closePath();\n}\nexport function drawTriangle(context, p1, p2, p3) {\n context.beginPath();\n context.moveTo(p1.x, p1.y);\n context.lineTo(p2.x, p2.y);\n context.lineTo(p3.x, p3.y);\n context.closePath();\n}\nexport function paintBase(context, dimension, baseColor) {\n context.fillStyle = baseColor !== null && baseColor !== void 0 ? baseColor : \"rgba(0,0,0,0)\";\n context.fillRect(0, 0, dimension.width, dimension.height);\n}\nexport function paintImage(context, dimension, image, opacity) {\n if (!image) {\n return;\n }\n context.globalAlpha = opacity;\n context.drawImage(image, 0, 0, dimension.width, dimension.height);\n context.globalAlpha = 1;\n}\nexport function clear(context, dimension) {\n context.clearRect(0, 0, dimension.width, dimension.height);\n}\nexport function drawParticle(data) {\n var _a, _b, _c, _d, _e;\n const { container, context, particle, delta, colorStyles, backgroundMask, composite, radius, opacity, shadow, transform, } = data;\n const pos = particle.getPosition(), angle = particle.rotation + (particle.pathRotation ? particle.velocity.angle : 0), rotateData = {\n sin: Math.sin(angle),\n cos: Math.cos(angle),\n }, transformData = {\n a: rotateData.cos * ((_a = transform.a) !== null && _a !== void 0 ? _a : 1),\n b: rotateData.sin * ((_b = transform.b) !== null && _b !== void 0 ? _b : 1),\n c: -rotateData.sin * ((_c = transform.c) !== null && _c !== void 0 ? _c : 1),\n d: rotateData.cos * ((_d = transform.d) !== null && _d !== void 0 ? _d : 1),\n };\n context.setTransform(transformData.a, transformData.b, transformData.c, transformData.d, pos.x, pos.y);\n context.beginPath();\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n const shadowColor = particle.shadowColor;\n if (shadow.enable && shadowColor) {\n context.shadowBlur = shadow.blur;\n context.shadowColor = getStyleFromRgb(shadowColor);\n context.shadowOffsetX = shadow.offset.x;\n context.shadowOffsetY = shadow.offset.y;\n }\n if (colorStyles.fill) {\n context.fillStyle = colorStyles.fill;\n }\n const strokeWidth = (_e = particle.strokeWidth) !== null && _e !== void 0 ? _e : 0;\n context.lineWidth = strokeWidth;\n if (colorStyles.stroke) {\n context.strokeStyle = colorStyles.stroke;\n }\n drawShape(container, context, particle, radius, opacity, delta);\n if (strokeWidth > 0) {\n context.stroke();\n }\n if (particle.close) {\n context.closePath();\n }\n if (particle.fill) {\n context.fill();\n }\n drawShapeAfterEffect(container, context, particle, radius, opacity, delta);\n context.globalCompositeOperation = \"source-over\";\n context.setTransform(1, 0, 0, 1, 0, 0);\n}\nexport function drawShape(container, context, particle, radius, opacity, delta) {\n if (!particle.shape) {\n return;\n }\n const drawer = container.drawers.get(particle.shape);\n if (!drawer) {\n return;\n }\n drawer.draw(context, particle, radius, opacity, delta, container.retina.pixelRatio);\n}\nexport function drawShapeAfterEffect(container, context, particle, radius, opacity, delta) {\n if (!particle.shape) {\n return;\n }\n const drawer = container.drawers.get(particle.shape);\n if (!(drawer === null || drawer === void 0 ? void 0 : drawer.afterEffect)) {\n return;\n }\n drawer.afterEffect(context, particle, radius, opacity, delta, container.retina.pixelRatio);\n}\nexport function drawPlugin(context, plugin, delta) {\n if (!plugin.draw) {\n return;\n }\n plugin.draw(context, delta);\n}\nexport function drawParticlePlugin(context, plugin, particle, delta) {\n if (!plugin.drawParticle) {\n return;\n }\n plugin.drawParticle(context, particle, delta);\n}\nexport function alterHsl(color, type, value) {\n return {\n h: color.h,\n s: color.s,\n l: color.l + (type === \"darken\" ? -1 : 1) * value,\n };\n}\n","export const generatedAttribute = \"generated\";\nexport const touchEndEvent = \"touchend\";\nexport const mouseDownEvent = \"pointerdown\";\nexport const mouseUpEvent = \"pointerup\";\nexport const mouseMoveEvent = \"pointermove\";\nexport const touchStartEvent = \"touchstart\";\nexport const touchMoveEvent = \"touchmove\";\nexport const mouseLeaveEvent = \"pointerleave\";\nexport const mouseOutEvent = \"pointerout\";\nexport const touchCancelEvent = \"touchcancel\";\nexport const resizeEvent = \"resize\";\nexport const visibilityChangeEvent = \"visibilitychange\";\n","import { clear, drawParticle, drawParticlePlugin, drawPlugin, paintBase, paintImage } from \"../Utils/CanvasUtils\";\nimport { deepExtend, isSsr } from \"../Utils/Utils\";\nimport { getStyleFromHsl, getStyleFromRgb, rangeColorToHsl, rangeColorToRgb } from \"../Utils/ColorUtils\";\nimport { generatedAttribute } from \"./Utils/Constants\";\nfunction setTransformValue(factor, newFactor, key) {\n var _a;\n const newValue = newFactor[key];\n if (newValue !== undefined) {\n factor[key] = ((_a = factor[key]) !== null && _a !== void 0 ? _a : 1) * newValue;\n }\n}\nexport class Canvas {\n constructor(container) {\n this.container = container;\n this.size = {\n height: 0,\n width: 0,\n };\n this._context = null;\n this._generated = false;\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n this._resizePlugins = [];\n this._colorPlugins = [];\n this._mutationObserver =\n !isSsr() && typeof MutationObserver !== \"undefined\"\n ? new MutationObserver((records) => {\n for (const record of records) {\n if (record.type === \"attributes\" && record.attributeName === \"style\") {\n this._repairStyle();\n }\n }\n })\n : undefined;\n }\n get _fullScreen() {\n return this.container.actualOptions.fullScreen.enable;\n }\n clear() {\n const options = this.container.actualOptions, trail = options.particles.move.trail, trailFill = this._trailFill;\n if (options.backgroundMask.enable) {\n this.paint();\n }\n else if (trail.enable && trail.length > 0 && trailFill) {\n if (trailFill.color) {\n this._paintBase(getStyleFromRgb(trailFill.color, trailFill.opacity));\n }\n else if (trailFill.image) {\n this._paintImage(trailFill.image, trailFill.opacity);\n }\n }\n else {\n this.draw((ctx) => {\n clear(ctx, this.size);\n });\n }\n }\n destroy() {\n var _a, _b;\n (_a = this._mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n if (this._generated) {\n (_b = this.element) === null || _b === void 0 ? void 0 : _b.remove();\n }\n else {\n this._resetOriginalStyle();\n }\n this.draw((ctx) => {\n clear(ctx, this.size);\n });\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n this._resizePlugins = [];\n this._colorPlugins = [];\n }\n draw(cb) {\n if (!this._context) {\n return;\n }\n return cb(this._context);\n }\n drawParticle(particle, delta) {\n var _a;\n if (particle.spawning || particle.destroyed) {\n return;\n }\n const radius = particle.getRadius();\n if (radius <= 0) {\n return;\n }\n const pfColor = particle.getFillColor(), psColor = (_a = particle.getStrokeColor()) !== null && _a !== void 0 ? _a : pfColor;\n let [fColor, sColor] = this._getPluginParticleColors(particle);\n if (!fColor) {\n fColor = pfColor;\n }\n if (!sColor) {\n sColor = psColor;\n }\n if (!fColor && !sColor) {\n return;\n }\n this.draw((ctx) => {\n var _a, _b, _c, _d;\n const options = this.container.actualOptions, zIndexOptions = particle.options.zIndex, zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate, opacity = (_c = (_a = particle.bubble.opacity) !== null && _a !== void 0 ? _a : (_b = particle.opacity) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 1, strokeOpacity = (_d = particle.strokeOpacity) !== null && _d !== void 0 ? _d : opacity, zOpacity = opacity * zOpacityFactor, zStrokeOpacity = strokeOpacity * zOpacityFactor, transform = {}, colorStyles = {\n fill: fColor ? getStyleFromHsl(fColor, zOpacity) : undefined,\n };\n colorStyles.stroke = sColor ? getStyleFromHsl(sColor, zStrokeOpacity) : colorStyles.fill;\n this._applyPreDrawUpdaters(ctx, particle, radius, zOpacity, colorStyles, transform);\n drawParticle({\n container: this.container,\n context: ctx,\n particle,\n delta,\n colorStyles,\n backgroundMask: options.backgroundMask.enable,\n composite: options.backgroundMask.composite,\n radius: radius * (1 - particle.zIndexFactor) ** zIndexOptions.sizeRate,\n opacity: zOpacity,\n shadow: particle.options.shadow,\n transform,\n });\n this._applyPostDrawUpdaters(particle);\n });\n }\n drawParticlePlugin(plugin, particle, delta) {\n this.draw((ctx) => {\n drawParticlePlugin(ctx, plugin, particle, delta);\n });\n }\n drawPlugin(plugin, delta) {\n this.draw((ctx) => {\n drawPlugin(ctx, plugin, delta);\n });\n }\n async init() {\n var _a;\n this.resize();\n this._initStyle();\n this._initCover();\n try {\n await this._initTrail();\n }\n catch (e) {\n console.error(e);\n }\n this.initBackground();\n if (this.element) {\n (_a = this._mutationObserver) === null || _a === void 0 ? void 0 : _a.observe(this.element, { attributes: true });\n }\n this.initUpdaters();\n this.initPlugins();\n this.paint();\n }\n initBackground() {\n const options = this.container.actualOptions, background = options.background, element = this.element, elementStyle = element === null || element === void 0 ? void 0 : element.style;\n if (!elementStyle) {\n return;\n }\n if (background.color) {\n const color = rangeColorToRgb(background.color);\n elementStyle.backgroundColor = color ? getStyleFromRgb(color, background.opacity) : \"\";\n }\n else {\n elementStyle.backgroundColor = \"\";\n }\n elementStyle.backgroundImage = background.image || \"\";\n elementStyle.backgroundPosition = background.position || \"\";\n elementStyle.backgroundRepeat = background.repeat || \"\";\n elementStyle.backgroundSize = background.size || \"\";\n }\n initPlugins() {\n this._resizePlugins = [];\n for (const [, plugin] of this.container.plugins) {\n if (plugin.resize) {\n this._resizePlugins.push(plugin);\n }\n if (plugin.particleFillColor || plugin.particleStrokeColor) {\n this._colorPlugins.push(plugin);\n }\n }\n }\n initUpdaters() {\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n for (const updater of this.container.particles.updaters) {\n if (updater.afterDraw) {\n this._postDrawUpdaters.push(updater);\n }\n if (updater.getColorStyles || updater.getTransformValues || updater.beforeDraw) {\n this._preDrawUpdaters.push(updater);\n }\n }\n }\n loadCanvas(canvas) {\n var _a, _b;\n if (this._generated) {\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();\n }\n this._generated =\n canvas.dataset && generatedAttribute in canvas.dataset\n ? canvas.dataset[generatedAttribute] === \"true\"\n : this._generated;\n this.element = canvas;\n this.element.ariaHidden = \"true\";\n this._originalStyle = deepExtend({}, this.element.style);\n this.size.height = canvas.offsetHeight;\n this.size.width = canvas.offsetWidth;\n this._context = this.element.getContext(\"2d\");\n (_b = this._mutationObserver) === null || _b === void 0 ? void 0 : _b.observe(this.element, { attributes: true });\n this.container.retina.init();\n this.initBackground();\n }\n paint() {\n const options = this.container.actualOptions;\n this.draw((ctx) => {\n if (options.backgroundMask.enable && options.backgroundMask.cover) {\n clear(ctx, this.size);\n this._paintBase(this._coverColorStyle);\n }\n else {\n this._paintBase();\n }\n });\n }\n resize() {\n if (!this.element) {\n return;\n }\n const container = this.container, pxRatio = container.retina.pixelRatio, size = container.canvas.size, newSize = {\n width: this.element.offsetWidth * pxRatio,\n height: this.element.offsetHeight * pxRatio,\n };\n if (newSize.height === size.height &&\n newSize.width === size.width &&\n newSize.height === this.element.height &&\n newSize.width === this.element.width) {\n return;\n }\n const oldSize = Object.assign({}, size);\n this.element.width = size.width = this.element.offsetWidth * pxRatio;\n this.element.height = size.height = this.element.offsetHeight * pxRatio;\n if (this.container.started) {\n this.resizeFactor = {\n width: size.width / oldSize.width,\n height: size.height / oldSize.height,\n };\n }\n }\n async windowResize() {\n if (!this.element) {\n return;\n }\n this.resize();\n const container = this.container, needsRefresh = container.updateActualOptions();\n container.particles.setDensity();\n this._applyResizePlugins();\n if (needsRefresh) {\n await container.refresh();\n }\n }\n _applyPostDrawUpdaters(particle) {\n var _a;\n for (const updater of this._postDrawUpdaters) {\n (_a = updater.afterDraw) === null || _a === void 0 ? void 0 : _a.call(updater, particle);\n }\n }\n _applyPreDrawUpdaters(ctx, particle, radius, zOpacity, colorStyles, transform) {\n var _a;\n for (const updater of this._preDrawUpdaters) {\n if (updater.getColorStyles) {\n const { fill, stroke } = updater.getColorStyles(particle, ctx, radius, zOpacity);\n if (fill) {\n colorStyles.fill = fill;\n }\n if (stroke) {\n colorStyles.stroke = stroke;\n }\n }\n if (updater.getTransformValues) {\n const updaterTransform = updater.getTransformValues(particle);\n for (const key in updaterTransform) {\n setTransformValue(transform, updaterTransform, key);\n }\n }\n (_a = updater.beforeDraw) === null || _a === void 0 ? void 0 : _a.call(updater, particle);\n }\n }\n _applyResizePlugins() {\n for (const plugin of this._resizePlugins) {\n if (plugin.resize) {\n plugin.resize();\n }\n }\n }\n _getPluginParticleColors(particle) {\n let fColor, sColor;\n for (const plugin of this._colorPlugins) {\n if (!fColor && plugin.particleFillColor) {\n fColor = rangeColorToHsl(plugin.particleFillColor(particle));\n }\n if (!sColor && plugin.particleStrokeColor) {\n sColor = rangeColorToHsl(plugin.particleStrokeColor(particle));\n }\n if (fColor && sColor) {\n break;\n }\n }\n return [fColor, sColor];\n }\n _initCover() {\n const options = this.container.actualOptions, cover = options.backgroundMask.cover, color = cover.color, coverRgb = rangeColorToRgb(color);\n if (coverRgb) {\n const coverColor = {\n r: coverRgb.r,\n g: coverRgb.g,\n b: coverRgb.b,\n a: cover.opacity,\n };\n this._coverColorStyle = getStyleFromRgb(coverColor, coverColor.a);\n }\n }\n _initStyle() {\n const element = this.element, options = this.container.actualOptions;\n if (!element) {\n return;\n }\n if (this._fullScreen) {\n this._originalStyle = deepExtend({}, element.style);\n this._setFullScreenStyle();\n }\n else {\n this._resetOriginalStyle();\n }\n for (const key in options.style) {\n if (!key || !options.style) {\n continue;\n }\n const value = options.style[key];\n if (!value) {\n continue;\n }\n element.style.setProperty(key, value, \"important\");\n }\n }\n async _initTrail() {\n const options = this.container.actualOptions, trail = options.particles.move.trail, trailFill = trail.fill;\n if (!trail.enable) {\n return;\n }\n if (trailFill.color) {\n const fillColor = rangeColorToRgb(trailFill.color);\n if (!fillColor) {\n return;\n }\n const trail = options.particles.move.trail;\n this._trailFill = {\n color: Object.assign({}, fillColor),\n opacity: 1 / trail.length,\n };\n }\n else {\n await new Promise((resolve, reject) => {\n if (!trailFill.image) {\n return;\n }\n const img = document.createElement(\"img\");\n img.addEventListener(\"load\", () => {\n this._trailFill = {\n image: img,\n opacity: 1 / trail.length,\n };\n resolve();\n });\n img.addEventListener(\"error\", (evt) => {\n reject(evt.error);\n });\n img.src = trailFill.image;\n });\n }\n }\n _paintBase(baseColor) {\n this.draw((ctx) => {\n paintBase(ctx, this.size, baseColor);\n });\n }\n _paintImage(image, opacity) {\n this.draw((ctx) => {\n paintImage(ctx, this.size, image, opacity);\n });\n }\n _repairStyle() {\n var _a, _b;\n const element = this.element;\n if (!element) {\n return;\n }\n (_a = this._mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n this._initStyle();\n this.initBackground();\n (_b = this._mutationObserver) === null || _b === void 0 ? void 0 : _b.observe(element, { attributes: true });\n }\n _resetOriginalStyle() {\n const element = this.element, originalStyle = this._originalStyle;\n if (!(element && originalStyle)) {\n return;\n }\n element.style.position = originalStyle.position;\n element.style.zIndex = originalStyle.zIndex;\n element.style.top = originalStyle.top;\n element.style.left = originalStyle.left;\n element.style.width = originalStyle.width;\n element.style.height = originalStyle.height;\n }\n _setFullScreenStyle() {\n const element = this.element;\n if (!element) {\n return;\n }\n const priority = \"important\";\n element.style.setProperty(\"position\", \"fixed\", priority);\n element.style.setProperty(\"z-index\", this.container.actualOptions.fullScreen.zIndex.toString(10), priority);\n element.style.setProperty(\"top\", \"0\", priority);\n element.style.setProperty(\"left\", \"0\", priority);\n element.style.setProperty(\"width\", \"100%\", priority);\n element.style.setProperty(\"height\", \"100%\", priority);\n }\n}\n","import { executeOnSingleOrMultiple, safeMatchMedia } from \"../../Utils/Utils\";\nimport { mouseDownEvent, mouseLeaveEvent, mouseMoveEvent, mouseOutEvent, mouseUpEvent, resizeEvent, touchCancelEvent, touchEndEvent, touchMoveEvent, touchStartEvent, visibilityChangeEvent, } from \"./Constants\";\nfunction manageListener(element, event, handler, add, options) {\n if (add) {\n let addOptions = { passive: true };\n if (typeof options === \"boolean\") {\n addOptions.capture = options;\n }\n else if (options !== undefined) {\n addOptions = options;\n }\n element.addEventListener(event, handler, addOptions);\n }\n else {\n const removeOptions = options;\n element.removeEventListener(event, handler, removeOptions);\n }\n}\nexport class EventListeners {\n constructor(container) {\n this.container = container;\n this.canPush = true;\n this.handlers = {\n mouseMove: (e) => this.mouseTouchMove(e),\n touchStart: (e) => this.mouseTouchMove(e),\n touchMove: (e) => this.mouseTouchMove(e),\n touchEnd: () => this.mouseTouchFinish(),\n mouseLeave: () => this.mouseTouchFinish(),\n touchCancel: () => this.mouseTouchFinish(),\n touchEndClick: (e) => this.mouseTouchClick(e),\n mouseUp: (e) => this.mouseTouchClick(e),\n mouseDown: () => this.mouseDown(),\n visibilityChange: () => this.handleVisibilityChange(),\n themeChange: (e) => this.handleThemeChange(e),\n oldThemeChange: (e) => this.handleThemeChange(e),\n resize: () => this.handleWindowResize(),\n };\n }\n addListeners() {\n this.manageListeners(true);\n }\n removeListeners() {\n this.manageListeners(false);\n }\n doMouseTouchClick(e) {\n const container = this.container, options = container.actualOptions;\n if (this.canPush) {\n const mouseInteractivity = container.interactivity.mouse, mousePos = mouseInteractivity.position;\n if (!mousePos) {\n return;\n }\n mouseInteractivity.clickPosition = Object.assign({}, mousePos);\n mouseInteractivity.clickTime = new Date().getTime();\n const onClick = options.interactivity.events.onClick;\n executeOnSingleOrMultiple(onClick.mode, (mode) => this.handleClickMode(mode));\n }\n if (e.type === \"touchend\") {\n setTimeout(() => this.mouseTouchFinish(), 500);\n }\n }\n handleClickMode(mode) {\n this.container.handleClickMode(mode);\n }\n handleThemeChange(e) {\n const mediaEvent = e, container = this.container, options = container.options, defaultThemes = options.defaultThemes, themeName = mediaEvent.matches ? defaultThemes.dark : defaultThemes.light, theme = options.themes.find((theme) => theme.name === themeName);\n if (theme && theme.default.auto) {\n container.loadTheme(themeName);\n }\n }\n handleVisibilityChange() {\n const container = this.container, options = container.actualOptions;\n this.mouseTouchFinish();\n if (!options.pauseOnBlur) {\n return;\n }\n if (document === null || document === void 0 ? void 0 : document.hidden) {\n container.pageHidden = true;\n container.pause();\n }\n else {\n container.pageHidden = false;\n if (container.getAnimationStatus()) {\n container.play(true);\n }\n else {\n container.draw(true);\n }\n }\n }\n handleWindowResize() {\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n delete this.resizeTimeout;\n }\n this.resizeTimeout = setTimeout(async () => { var _a; return (_a = this.container.canvas) === null || _a === void 0 ? void 0 : _a.windowResize(); }, this.container.actualOptions.interactivity.events.resize.delay * 1000);\n }\n manageListeners(add) {\n var _a;\n const handlers = this.handlers, container = this.container, options = container.actualOptions, detectType = options.interactivity.detectsOn;\n let mouseLeaveTmpEvent = mouseLeaveEvent;\n if (detectType === \"window\") {\n container.interactivity.element = window;\n mouseLeaveTmpEvent = mouseOutEvent;\n }\n else if (detectType === \"parent\" && container.canvas.element) {\n const canvasEl = container.canvas.element;\n container.interactivity.element = (_a = canvasEl.parentElement) !== null && _a !== void 0 ? _a : canvasEl.parentNode;\n }\n else {\n container.interactivity.element = container.canvas.element;\n }\n const mediaMatch = safeMatchMedia(\"(prefers-color-scheme: dark)\");\n if (mediaMatch) {\n if (mediaMatch.addEventListener !== undefined) {\n manageListener(mediaMatch, \"change\", handlers.themeChange, add);\n }\n else if (mediaMatch.addListener !== undefined) {\n if (add) {\n mediaMatch.addListener(handlers.oldThemeChange);\n }\n else {\n mediaMatch.removeListener(handlers.oldThemeChange);\n }\n }\n }\n const interactivityEl = container.interactivity.element;\n if (!interactivityEl) {\n return;\n }\n const html = interactivityEl;\n if (options.interactivity.events.onHover.enable || options.interactivity.events.onClick.enable) {\n manageListener(interactivityEl, mouseMoveEvent, handlers.mouseMove, add);\n manageListener(interactivityEl, touchStartEvent, handlers.touchStart, add);\n manageListener(interactivityEl, touchMoveEvent, handlers.touchMove, add);\n if (!options.interactivity.events.onClick.enable) {\n manageListener(interactivityEl, touchEndEvent, handlers.touchEnd, add);\n }\n else {\n manageListener(interactivityEl, touchEndEvent, handlers.touchEndClick, add);\n manageListener(interactivityEl, mouseUpEvent, handlers.mouseUp, add);\n manageListener(interactivityEl, mouseDownEvent, handlers.mouseDown, add);\n }\n manageListener(interactivityEl, mouseLeaveTmpEvent, handlers.mouseLeave, add);\n manageListener(interactivityEl, touchCancelEvent, handlers.touchCancel, add);\n }\n if (container.canvas.element) {\n container.canvas.element.style.pointerEvents = html === container.canvas.element ? \"initial\" : \"none\";\n }\n if (options.interactivity.events.resize) {\n if (typeof ResizeObserver !== \"undefined\") {\n if (this.resizeObserver && !add) {\n if (container.canvas.element) {\n this.resizeObserver.unobserve(container.canvas.element);\n }\n this.resizeObserver.disconnect();\n delete this.resizeObserver;\n }\n else if (!this.resizeObserver && add && container.canvas.element) {\n this.resizeObserver = new ResizeObserver((entries) => {\n const entry = entries.find((e) => e.target === container.canvas.element);\n if (!entry) {\n return;\n }\n this.handleWindowResize();\n });\n this.resizeObserver.observe(container.canvas.element);\n }\n }\n else {\n manageListener(window, resizeEvent, handlers.resize, add);\n }\n }\n if (document) {\n manageListener(document, visibilityChangeEvent, handlers.visibilityChange, add, false);\n }\n }\n mouseDown() {\n const interactivity = this.container.interactivity;\n if (interactivity) {\n const mouse = interactivity.mouse;\n mouse.clicking = true;\n mouse.downPosition = mouse.position;\n }\n }\n mouseTouchClick(e) {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse;\n mouse.inside = true;\n let handled = false;\n const mousePosition = mouse.position;\n if (!mousePosition || !options.interactivity.events.onClick.enable) {\n return;\n }\n for (const [, plugin] of container.plugins) {\n if (!plugin.clickPositionValid) {\n continue;\n }\n handled = plugin.clickPositionValid(mousePosition);\n if (handled) {\n break;\n }\n }\n if (!handled) {\n this.doMouseTouchClick(e);\n }\n mouse.clicking = false;\n }\n mouseTouchFinish() {\n const interactivity = this.container.interactivity;\n if (!interactivity) {\n return;\n }\n const mouse = interactivity.mouse;\n delete mouse.position;\n delete mouse.clickPosition;\n delete mouse.downPosition;\n interactivity.status = mouseLeaveEvent;\n mouse.inside = false;\n mouse.clicking = false;\n }\n mouseTouchMove(e) {\n var _a, _b, _c, _d, _e, _f, _g;\n const container = this.container, options = container.actualOptions;\n if (!((_a = container.interactivity) === null || _a === void 0 ? void 0 : _a.element)) {\n return;\n }\n container.interactivity.mouse.inside = true;\n let pos;\n const canvas = container.canvas.element;\n if (e.type.startsWith(\"pointer\")) {\n this.canPush = true;\n const mouseEvent = e;\n if (container.interactivity.element === window) {\n if (canvas) {\n const clientRect = canvas.getBoundingClientRect();\n pos = {\n x: mouseEvent.clientX - clientRect.left,\n y: mouseEvent.clientY - clientRect.top,\n };\n }\n }\n else if (options.interactivity.detectsOn === \"parent\") {\n const source = mouseEvent.target, target = mouseEvent.currentTarget, canvasEl = container.canvas.element;\n if (source && target && canvasEl) {\n const sourceRect = source.getBoundingClientRect(), targetRect = target.getBoundingClientRect(), canvasRect = canvasEl.getBoundingClientRect();\n pos = {\n x: mouseEvent.offsetX + 2 * sourceRect.left - (targetRect.left + canvasRect.left),\n y: mouseEvent.offsetY + 2 * sourceRect.top - (targetRect.top + canvasRect.top),\n };\n }\n else {\n pos = {\n x: (_b = mouseEvent.offsetX) !== null && _b !== void 0 ? _b : mouseEvent.clientX,\n y: (_c = mouseEvent.offsetY) !== null && _c !== void 0 ? _c : mouseEvent.clientY,\n };\n }\n }\n else if (mouseEvent.target === container.canvas.element) {\n pos = {\n x: (_d = mouseEvent.offsetX) !== null && _d !== void 0 ? _d : mouseEvent.clientX,\n y: (_e = mouseEvent.offsetY) !== null && _e !== void 0 ? _e : mouseEvent.clientY,\n };\n }\n }\n else {\n this.canPush = e.type !== \"touchmove\";\n const touchEvent = e, lastTouch = touchEvent.touches[touchEvent.touches.length - 1], canvasRect = canvas === null || canvas === void 0 ? void 0 : canvas.getBoundingClientRect();\n pos = {\n x: lastTouch.clientX - ((_f = canvasRect === null || canvasRect === void 0 ? void 0 : canvasRect.left) !== null && _f !== void 0 ? _f : 0),\n y: lastTouch.clientY - ((_g = canvasRect === null || canvasRect === void 0 ? void 0 : canvasRect.top) !== null && _g !== void 0 ? _g : 0),\n };\n }\n const pxRatio = container.retina.pixelRatio;\n if (pos) {\n pos.x *= pxRatio;\n pos.y *= pxRatio;\n }\n container.interactivity.mouse.position = pos;\n container.interactivity.status = mouseMoveEvent;\n }\n}\n","function initDelta(value, fpsLimit = 60, smooth = false) {\n return {\n value,\n factor: smooth ? 60 / fpsLimit : (60 * value) / 1000,\n };\n}\nexport class FrameManager {\n constructor(container) {\n this.container = container;\n }\n async nextFrame(timestamp) {\n var _a;\n try {\n const container = this.container;\n if (!container.smooth &&\n container.lastFrameTime !== undefined &&\n timestamp < container.lastFrameTime + 1000 / container.fpsLimit) {\n container.draw(false);\n return;\n }\n (_a = container.lastFrameTime) !== null && _a !== void 0 ? _a : (container.lastFrameTime = timestamp);\n const delta = initDelta(timestamp - container.lastFrameTime, container.fpsLimit, container.smooth);\n container.lifeTime += delta.value;\n container.lastFrameTime = timestamp;\n if (delta.value > 1000) {\n container.draw(false);\n return;\n }\n await container.particles.draw(delta);\n if (container.duration > 0 && container.lifeTime > container.duration) {\n container.destroy();\n return;\n }\n if (container.getAnimationStatus()) {\n container.draw(false);\n }\n }\n catch (e) {\n console.error(\"tsParticles error in animation loop\", e);\n }\n }\n}\n","export class OptionsColor {\n constructor() {\n this.value = \"\";\n }\n static create(source, data) {\n const color = new OptionsColor();\n color.load(source);\n if (data !== undefined) {\n if (typeof data === \"string\" || data instanceof Array) {\n color.load({ value: data });\n }\n else {\n color.load(data);\n }\n }\n return color;\n }\n load(data) {\n if ((data === null || data === void 0 ? void 0 : data.value) === undefined) {\n return;\n }\n this.value = data.value;\n }\n}\n","import { OptionsColor } from \"../OptionsColor\";\nexport class Background {\n constructor() {\n this.color = new OptionsColor();\n this.color.value = \"\";\n this.image = \"\";\n this.position = \"\";\n this.repeat = \"\";\n this.size = \"\";\n this.opacity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.image !== undefined) {\n this.image = data.image;\n }\n if (data.position !== undefined) {\n this.position = data.position;\n }\n if (data.repeat !== undefined) {\n this.repeat = data.repeat;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n","import { OptionsColor } from \"../OptionsColor\";\nexport class BackgroundMaskCover {\n constructor() {\n this.color = new OptionsColor();\n this.color.value = \"#fff\";\n this.opacity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n","import { BackgroundMaskCover } from \"./BackgroundMaskCover\";\nexport class BackgroundMask {\n constructor() {\n this.composite = \"destination-out\";\n this.cover = new BackgroundMaskCover();\n this.enable = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.composite !== undefined) {\n this.composite = data.composite;\n }\n if (data.cover !== undefined) {\n const cover = data.cover;\n const color = (typeof data.cover === \"string\" ? { color: data.cover } : data.cover);\n this.cover.load(cover.color !== undefined ? cover : { color: color });\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n","export class FullScreen {\n constructor() {\n this.enable = true;\n this.zIndex = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.zIndex !== undefined) {\n this.zIndex = data.zIndex;\n }\n }\n}\n","export class ClickEvent {\n constructor() {\n this.enable = false;\n this.mode = [];\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n }\n}\n","import { executeOnSingleOrMultiple } from \"../../../../Utils/Utils\";\nexport class DivEvent {\n constructor() {\n this.selectors = [];\n this.enable = false;\n this.mode = [];\n this.type = \"circle\";\n }\n get el() {\n return this.elementId;\n }\n set el(value) {\n this.elementId = value;\n }\n get elementId() {\n return this.ids;\n }\n set elementId(value) {\n this.ids = value;\n }\n get ids() {\n return executeOnSingleOrMultiple(this.selectors, (t) => t.replace(\"#\", \"\"));\n }\n set ids(value) {\n this.selectors = executeOnSingleOrMultiple(value, (t) => `#${t}`);\n }\n load(data) {\n var _a, _b;\n if (!data) {\n return;\n }\n const ids = (_b = (_a = data.ids) !== null && _a !== void 0 ? _a : data.elementId) !== null && _b !== void 0 ? _b : data.el;\n if (ids !== undefined) {\n this.ids = ids;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n","export class Parallax {\n constructor() {\n this.enable = false;\n this.force = 2;\n this.smooth = 10;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.force !== undefined) {\n this.force = data.force;\n }\n if (data.smooth !== undefined) {\n this.smooth = data.smooth;\n }\n }\n}\n","import { Parallax } from \"./Parallax\";\nexport class HoverEvent {\n constructor() {\n this.enable = false;\n this.mode = [];\n this.parallax = new Parallax();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n this.parallax.load(data.parallax);\n }\n}\n","export class ResizeEvent {\n constructor() {\n this.delay = 0.5;\n this.enable = true;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.delay !== undefined) {\n this.delay = data.delay;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n","import { ClickEvent } from \"./ClickEvent\";\nimport { DivEvent } from \"./DivEvent\";\nimport { HoverEvent } from \"./HoverEvent\";\nimport { ResizeEvent } from \"./ResizeEvent\";\nimport { executeOnSingleOrMultiple } from \"../../../../Utils/Utils\";\nexport class Events {\n constructor() {\n this.onClick = new ClickEvent();\n this.onDiv = new DivEvent();\n this.onHover = new HoverEvent();\n this.resize = new ResizeEvent();\n }\n get onclick() {\n return this.onClick;\n }\n set onclick(value) {\n this.onClick = value;\n }\n get ondiv() {\n return this.onDiv;\n }\n set ondiv(value) {\n this.onDiv = value;\n }\n get onhover() {\n return this.onHover;\n }\n set onhover(value) {\n this.onHover = value;\n }\n load(data) {\n var _a, _b, _c;\n if (!data) {\n return;\n }\n this.onClick.load((_a = data.onClick) !== null && _a !== void 0 ? _a : data.onclick);\n const onDiv = (_b = data.onDiv) !== null && _b !== void 0 ? _b : data.ondiv;\n if (onDiv !== undefined) {\n this.onDiv = executeOnSingleOrMultiple(onDiv, (t) => {\n const tmp = new DivEvent();\n tmp.load(t);\n return tmp;\n });\n }\n this.onHover.load((_c = data.onHover) !== null && _c !== void 0 ? _c : data.onhover);\n if (typeof data.resize === \"boolean\") {\n this.resize.enable = data.resize;\n }\n else {\n this.resize.load(data.resize);\n }\n }\n}\n","export class Modes {\n constructor(engine, container) {\n this._engine = engine;\n this._container = container;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (this._container) {\n const interactors = this._engine.plugins.interactors.get(this._container);\n if (interactors) {\n for (const interactor of interactors) {\n if (interactor.loadModeOptions) {\n interactor.loadModeOptions(this, data);\n }\n }\n }\n }\n }\n}\n","import { Events } from \"./Events/Events\";\nimport { Modes } from \"./Modes/Modes\";\nexport class Interactivity {\n constructor(engine, container) {\n this.detectsOn = \"window\";\n this.events = new Events();\n this.modes = new Modes(engine, container);\n }\n get detect_on() {\n return this.detectsOn;\n }\n set detect_on(value) {\n this.detectsOn = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n const detectsOn = (_a = data.detectsOn) !== null && _a !== void 0 ? _a : data.detect_on;\n if (detectsOn !== undefined) {\n this.detectsOn = detectsOn;\n }\n this.events.load(data.events);\n this.modes.load(data.modes);\n }\n}\n","import { deepExtend } from \"../../Utils/Utils\";\nexport class ManualParticle {\n load(data) {\n var _a, _b;\n if (!data) {\n return;\n }\n if (data.position !== undefined) {\n this.position = {\n x: (_a = data.position.x) !== null && _a !== void 0 ? _a : 50,\n y: (_b = data.position.y) !== null && _b !== void 0 ? _b : 50,\n };\n }\n if (data.options !== undefined) {\n this.options = deepExtend({}, data.options);\n }\n }\n}\n","import { deepExtend } from \"../../Utils/Utils\";\nexport class Responsive {\n constructor() {\n this.maxWidth = Infinity;\n this.options = {};\n this.mode = \"canvas\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.maxWidth !== undefined) {\n this.maxWidth = data.maxWidth;\n }\n if (data.mode !== undefined) {\n if (data.mode === \"screen\") {\n this.mode = \"screen\";\n }\n else {\n this.mode = \"canvas\";\n }\n }\n if (data.options !== undefined) {\n this.options = deepExtend({}, data.options);\n }\n }\n}\n","export class ThemeDefault {\n constructor() {\n this.auto = false;\n this.mode = \"any\";\n this.value = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.auto !== undefined) {\n this.auto = data.auto;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n","import { ThemeDefault } from \"./ThemeDefault\";\nimport { deepExtend } from \"../../../Utils/Utils\";\nexport class Theme {\n constructor() {\n this.name = \"\";\n this.default = new ThemeDefault();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.name !== undefined) {\n this.name = data.name;\n }\n this.default.load(data.default);\n if (data.options !== undefined) {\n this.options = deepExtend({}, data.options);\n }\n }\n}\n","import { setRangeValue } from \"../../Utils/NumberUtils\";\nexport class ColorAnimation {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.offset = 0;\n this.speed = 1;\n this.decay = 0;\n this.sync = true;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = setRangeValue(data.count);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.offset !== undefined) {\n this.offset = setRangeValue(data.offset);\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n if (data.decay !== undefined) {\n this.decay = setRangeValue(data.decay);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { ColorAnimation } from \"./ColorAnimation\";\nexport class HslAnimation {\n constructor() {\n this.h = new ColorAnimation();\n this.s = new ColorAnimation();\n this.l = new ColorAnimation();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.h.load(data.h);\n this.s.load(data.s);\n this.l.load(data.l);\n }\n}\n","import { HslAnimation } from \"./HslAnimation\";\nimport { OptionsColor } from \"./OptionsColor\";\nexport class AnimatableColor extends OptionsColor {\n constructor() {\n super();\n this.animation = new HslAnimation();\n }\n static create(source, data) {\n const color = new AnimatableColor();\n color.load(source);\n if (data !== undefined) {\n if (typeof data === \"string\" || data instanceof Array) {\n color.load({ value: data });\n }\n else {\n color.load(data);\n }\n }\n return color;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n const colorAnimation = data.animation;\n if (colorAnimation !== undefined) {\n if (colorAnimation.enable !== undefined) {\n this.animation.h.load(colorAnimation);\n }\n else {\n this.animation.load(data.animation);\n }\n }\n }\n}\n","export class CollisionsAbsorb {\n constructor() {\n this.speed = 2;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n }\n}\n","export class CollisionsOverlap {\n constructor() {\n this.enable = true;\n this.retries = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.retries !== undefined) {\n this.retries = data.retries;\n }\n }\n}\n","export class Random {\n constructor() {\n this.enable = false;\n this.minimumValue = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.minimumValue !== undefined) {\n this.minimumValue = data.minimumValue;\n }\n }\n}\n","import { Random } from \"./Random\";\nimport { setRangeValue } from \"../../Utils/NumberUtils\";\nexport class ValueWithRandom {\n constructor() {\n this.random = new Random();\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (typeof data.random === \"boolean\") {\n this.random.enable = data.random;\n }\n else {\n this.random.load(data.random);\n }\n if (data.value !== undefined) {\n this.value = setRangeValue(data.value, this.random.enable ? this.random.minimumValue : undefined);\n }\n }\n}\n","import { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class ParticlesBounceFactor extends ValueWithRandom {\n constructor() {\n super();\n this.random.minimumValue = 0.1;\n this.value = 1;\n }\n}\n","import { ParticlesBounceFactor } from \"./ParticlesBounceFactor\";\nexport class ParticlesBounce {\n constructor() {\n this.horizontal = new ParticlesBounceFactor();\n this.vertical = new ParticlesBounceFactor();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.horizontal.load(data.horizontal);\n this.vertical.load(data.vertical);\n }\n}\n","import { CollisionsAbsorb } from \"./CollisionsAbsorb\";\nimport { CollisionsOverlap } from \"./CollisionsOverlap\";\nimport { ParticlesBounce } from \"../Bounce/ParticlesBounce\";\nexport class Collisions {\n constructor() {\n this.absorb = new CollisionsAbsorb();\n this.bounce = new ParticlesBounce();\n this.enable = false;\n this.mode = \"bounce\";\n this.overlap = new CollisionsOverlap();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.absorb.load(data.absorb);\n this.bounce.load(data.bounce);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n this.overlap.load(data.overlap);\n }\n}\n","import { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class MoveAngle {\n constructor() {\n this.offset = 0;\n this.value = 90;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.offset !== undefined) {\n this.offset = setRangeValue(data.offset);\n }\n if (data.value !== undefined) {\n this.value = setRangeValue(data.value);\n }\n }\n}\n","import { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class MoveAttract {\n constructor() {\n this.distance = 200;\n this.enable = false;\n this.rotate = {\n x: 3000,\n y: 3000,\n };\n }\n get rotateX() {\n return this.rotate.x;\n }\n set rotateX(value) {\n this.rotate.x = value;\n }\n get rotateY() {\n return this.rotate.y;\n }\n set rotateY(value) {\n this.rotate.y = value;\n }\n load(data) {\n var _a, _b, _c, _d;\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = setRangeValue(data.distance);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n const rotateX = (_b = (_a = data.rotate) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : data.rotateX;\n if (rotateX !== undefined) {\n this.rotate.x = rotateX;\n }\n const rotateY = (_d = (_c = data.rotate) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : data.rotateY;\n if (rotateY !== undefined) {\n this.rotate.y = rotateY;\n }\n }\n}\n","export class MoveCenter {\n constructor() {\n this.x = 50;\n this.y = 50;\n this.mode = \"percent\";\n this.radius = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.x !== undefined) {\n this.x = data.x;\n }\n if (data.y !== undefined) {\n this.y = data.y;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n","import { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class MoveGravity {\n constructor() {\n this.acceleration = 9.81;\n this.enable = false;\n this.inverse = false;\n this.maxSpeed = 50;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.acceleration !== undefined) {\n this.acceleration = setRangeValue(data.acceleration);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.inverse !== undefined) {\n this.inverse = data.inverse;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = setRangeValue(data.maxSpeed);\n }\n }\n}\n","import { ValueWithRandom } from \"../../../ValueWithRandom\";\nimport { deepExtend } from \"../../../../../Utils/Utils\";\nexport class MovePath {\n constructor() {\n this.clamp = true;\n this.delay = new ValueWithRandom();\n this.enable = false;\n this.options = {};\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.clamp !== undefined) {\n this.clamp = data.clamp;\n }\n this.delay.load(data.delay);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.generator = data.generator;\n if (data.options) {\n this.options = deepExtend(this.options, data.options);\n }\n }\n}\n","import { OptionsColor } from \"../../OptionsColor\";\nexport class MoveTrailFill {\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.image !== undefined) {\n this.image = data.image;\n }\n }\n}\n","import { MoveTrailFill } from \"./MoveTrailFill\";\nexport class MoveTrail {\n constructor() {\n this.enable = false;\n this.length = 10;\n this.fill = new MoveTrailFill();\n }\n get fillColor() {\n return this.fill.color;\n }\n set fillColor(value) {\n this.fill.load({ color: value });\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.fill !== undefined || data.fillColor !== undefined) {\n this.fill.load(data.fill || { color: data.fillColor });\n }\n if (data.length !== undefined) {\n this.length = data.length;\n }\n }\n}\n","export class OutModes {\n constructor() {\n this.default = \"out\";\n }\n load(data) {\n var _a, _b, _c, _d;\n if (!data) {\n return;\n }\n if (data.default !== undefined) {\n this.default = data.default;\n }\n this.bottom = (_a = data.bottom) !== null && _a !== void 0 ? _a : data.default;\n this.left = (_b = data.left) !== null && _b !== void 0 ? _b : data.default;\n this.right = (_c = data.right) !== null && _c !== void 0 ? _c : data.default;\n this.top = (_d = data.top) !== null && _d !== void 0 ? _d : data.default;\n }\n}\n","import { deepExtend } from \"../../../../Utils/Utils\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Spin {\n constructor() {\n this.acceleration = 0;\n this.enable = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.acceleration !== undefined) {\n this.acceleration = setRangeValue(data.acceleration);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.position = data.position ? deepExtend({}, data.position) : undefined;\n }\n}\n","import { MoveAngle } from \"./MoveAngle\";\nimport { MoveAttract } from \"./MoveAttract\";\nimport { MoveCenter } from \"./MoveCenter\";\nimport { MoveGravity } from \"./MoveGravity\";\nimport { MovePath } from \"./Path/MovePath\";\nimport { MoveTrail } from \"./MoveTrail\";\nimport { OutModes } from \"./OutModes\";\nimport { Spin } from \"./Spin\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Move {\n constructor() {\n this.angle = new MoveAngle();\n this.attract = new MoveAttract();\n this.center = new MoveCenter();\n this.decay = 0;\n this.distance = {};\n this.direction = \"none\";\n this.drift = 0;\n this.enable = false;\n this.gravity = new MoveGravity();\n this.path = new MovePath();\n this.outModes = new OutModes();\n this.random = false;\n this.size = false;\n this.speed = 2;\n this.spin = new Spin();\n this.straight = false;\n this.trail = new MoveTrail();\n this.vibrate = false;\n this.warp = false;\n }\n get bounce() {\n return this.collisions;\n }\n set bounce(value) {\n this.collisions = value;\n }\n get collisions() {\n return false;\n }\n set collisions(_) {\n }\n get noise() {\n return this.path;\n }\n set noise(value) {\n this.path = value;\n }\n get outMode() {\n return this.outModes.default;\n }\n set outMode(value) {\n this.outModes.default = value;\n }\n get out_mode() {\n return this.outMode;\n }\n set out_mode(value) {\n this.outMode = value;\n }\n load(data) {\n var _a, _b, _c;\n if (!data) {\n return;\n }\n this.angle.load(typeof data.angle === \"number\" ? { value: data.angle } : data.angle);\n this.attract.load(data.attract);\n this.center.load(data.center);\n if (data.decay !== undefined) {\n this.decay = setRangeValue(data.decay);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n if (data.distance !== undefined) {\n this.distance =\n typeof data.distance === \"number\"\n ? {\n horizontal: data.distance,\n vertical: data.distance,\n }\n : Object.assign({}, data.distance);\n }\n if (data.drift !== undefined) {\n this.drift = setRangeValue(data.drift);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.gravity.load(data.gravity);\n const outModes = (_b = (_a = data.outModes) !== null && _a !== void 0 ? _a : data.outMode) !== null && _b !== void 0 ? _b : data.out_mode;\n if (outModes !== undefined) {\n if (typeof outModes === \"object\") {\n this.outModes.load(outModes);\n }\n else {\n this.outModes.load({\n default: outModes,\n });\n }\n }\n this.path.load((_c = data.path) !== null && _c !== void 0 ? _c : data.noise);\n if (data.random !== undefined) {\n this.random = data.random;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n this.spin.load(data.spin);\n if (data.straight !== undefined) {\n this.straight = data.straight;\n }\n this.trail.load(data.trail);\n if (data.vibrate !== undefined) {\n this.vibrate = data.vibrate;\n }\n if (data.warp !== undefined) {\n this.warp = data.warp;\n }\n }\n}\n","import { setRangeValue } from \"../../Utils/NumberUtils\";\nexport class AnimationOptions {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.speed = 1;\n this.decay = 0;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = setRangeValue(data.count);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n if (data.decay !== undefined) {\n this.decay = setRangeValue(data.decay);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { AnimationOptions } from \"../../AnimationOptions\";\nexport class OpacityAnimation extends AnimationOptions {\n constructor() {\n super();\n this.destroy = \"none\";\n this.enable = false;\n this.speed = 2;\n this.startValue = \"random\";\n this.sync = false;\n }\n get opacity_min() {\n return this.minimumValue;\n }\n set opacity_min(value) {\n this.minimumValue = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n super.load(data);\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.opacity_min;\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { OpacityAnimation } from \"./OpacityAnimation\";\nimport { ValueWithRandom } from \"../../ValueWithRandom\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Opacity extends ValueWithRandom {\n constructor() {\n super();\n this.animation = new OpacityAnimation();\n this.random.minimumValue = 0.1;\n this.value = 1;\n }\n get anim() {\n return this.animation;\n }\n set anim(value) {\n this.animation = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n super.load(data);\n const animation = (_a = data.animation) !== null && _a !== void 0 ? _a : data.anim;\n if (animation !== undefined) {\n this.animation.load(animation);\n this.value = setRangeValue(this.value, this.animation.enable ? this.animation.minimumValue : undefined);\n }\n }\n}\n","export class ParticlesDensity {\n constructor() {\n this.enable = false;\n this.width = 1920;\n this.height = 1080;\n }\n get area() {\n return this.width;\n }\n set area(value) {\n this.width = value;\n }\n get factor() {\n return this.height;\n }\n set factor(value) {\n this.height = value;\n }\n get value_area() {\n return this.area;\n }\n set value_area(value) {\n this.area = value;\n }\n load(data) {\n var _a, _b, _c;\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n const width = (_b = (_a = data.width) !== null && _a !== void 0 ? _a : data.area) !== null && _b !== void 0 ? _b : data.value_area;\n if (width !== undefined) {\n this.width = width;\n }\n const height = (_c = data.height) !== null && _c !== void 0 ? _c : data.factor;\n if (height !== undefined) {\n this.height = height;\n }\n }\n}\n","import { ParticlesDensity } from \"./ParticlesDensity\";\nexport class ParticlesNumber {\n constructor() {\n this.density = new ParticlesDensity();\n this.limit = 0;\n this.value = 100;\n }\n get max() {\n return this.limit;\n }\n set max(value) {\n this.limit = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n this.density.load(data.density);\n const limit = (_a = data.limit) !== null && _a !== void 0 ? _a : data.max;\n if (limit !== undefined) {\n this.limit = limit;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n","import { OptionsColor } from \"../OptionsColor\";\nexport class Shadow {\n constructor() {\n this.blur = 0;\n this.color = new OptionsColor();\n this.enable = false;\n this.offset = {\n x: 0,\n y: 0,\n };\n this.color.value = \"#000\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.blur !== undefined) {\n this.blur = data.blur;\n }\n this.color = OptionsColor.create(this.color, data.color);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.offset === undefined) {\n return;\n }\n if (data.offset.x !== undefined) {\n this.offset.x = data.offset.x;\n }\n if (data.offset.y !== undefined) {\n this.offset.y = data.offset.y;\n }\n }\n}\n","import { deepExtend } from \"../../../../Utils/Utils\";\nconst charKey = \"character\", charAltKey = \"char\", imageKey = \"image\", imageAltKey = \"images\", polygonKey = \"polygon\", polygonAltKey = \"star\";\nexport class Shape {\n constructor() {\n this.options = {};\n this.type = \"circle\";\n }\n get character() {\n var _a;\n return ((_a = this.options[charKey]) !== null && _a !== void 0 ? _a : this.options[charAltKey]);\n }\n set character(value) {\n this.options[charAltKey] = this.options[charKey] = value;\n }\n get custom() {\n return this.options;\n }\n set custom(value) {\n this.options = value;\n }\n get image() {\n var _a;\n return ((_a = this.options[imageKey]) !== null && _a !== void 0 ? _a : this.options[imageAltKey]);\n }\n set image(value) {\n this.options[imageAltKey] = this.options[imageKey] = value;\n }\n get images() {\n return this.image;\n }\n set images(value) {\n this.image = value;\n }\n get polygon() {\n var _a;\n return ((_a = this.options[polygonKey]) !== null && _a !== void 0 ? _a : this.options[polygonAltKey]);\n }\n set polygon(value) {\n this.options[polygonAltKey] = this.options[polygonKey] = value;\n }\n get stroke() {\n return [];\n }\n set stroke(_value) {\n }\n load(data) {\n var _a, _b, _c;\n if (!data) {\n return;\n }\n const options = (_a = data.options) !== null && _a !== void 0 ? _a : data.custom;\n if (options !== undefined) {\n for (const shape in options) {\n const item = options[shape];\n if (item) {\n this.options[shape] = deepExtend((_b = this.options[shape]) !== null && _b !== void 0 ? _b : {}, item);\n }\n }\n }\n this.loadShape(data.character, charKey, charAltKey, true);\n this.loadShape(data.polygon, polygonKey, polygonAltKey, false);\n this.loadShape((_c = data.image) !== null && _c !== void 0 ? _c : data.images, imageKey, imageAltKey, true);\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n loadShape(item, mainKey, altKey, altOverride) {\n var _a, _b;\n if (!item) {\n return;\n }\n const isArray = item instanceof Array;\n const emptyValue = isArray ? [] : {}, mainDifferentValues = isArray !== this.options[mainKey] instanceof Array, altDifferentValues = isArray !== this.options[altKey] instanceof Array;\n if (mainDifferentValues) {\n this.options[mainKey] = emptyValue;\n }\n if (altDifferentValues && altOverride) {\n this.options[altKey] = emptyValue;\n }\n this.options[mainKey] = deepExtend((_a = this.options[mainKey]) !== null && _a !== void 0 ? _a : emptyValue, item);\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = deepExtend((_b = this.options[altKey]) !== null && _b !== void 0 ? _b : emptyValue, item);\n }\n }\n}\n","import { AnimationOptions } from \"../../AnimationOptions\";\nexport class SizeAnimation extends AnimationOptions {\n constructor() {\n super();\n this.destroy = \"none\";\n this.enable = false;\n this.speed = 5;\n this.startValue = \"random\";\n this.sync = false;\n }\n get size_min() {\n return this.minimumValue;\n }\n set size_min(value) {\n this.minimumValue = value;\n }\n load(data) {\n var _a;\n super.load(data);\n if (!data) {\n return;\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.minimumValue = (_a = data.minimumValue) !== null && _a !== void 0 ? _a : data.size_min;\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { SizeAnimation } from \"./SizeAnimation\";\nimport { ValueWithRandom } from \"../../ValueWithRandom\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Size extends ValueWithRandom {\n constructor() {\n super();\n this.animation = new SizeAnimation();\n this.random.minimumValue = 1;\n this.value = 3;\n }\n get anim() {\n return this.animation;\n }\n set anim(value) {\n this.animation = value;\n }\n load(data) {\n var _a;\n super.load(data);\n if (!data) {\n return;\n }\n const animation = (_a = data.animation) !== null && _a !== void 0 ? _a : data.anim;\n if (animation !== undefined) {\n this.animation.load(animation);\n this.value = setRangeValue(this.value, this.animation.enable ? this.animation.minimumValue : undefined);\n }\n }\n}\n","import { AnimatableColor } from \"../AnimatableColor\";\nimport { setRangeValue } from \"../../../Utils/NumberUtils\";\nexport class Stroke {\n constructor() {\n this.width = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = AnimatableColor.create(this.color, data.color);\n }\n if (data.width !== undefined) {\n this.width = setRangeValue(data.width);\n }\n if (data.opacity !== undefined) {\n this.opacity = setRangeValue(data.opacity);\n }\n }\n}\n","import { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class ZIndex extends ValueWithRandom {\n constructor() {\n super();\n this.opacityRate = 1;\n this.sizeRate = 1;\n this.velocityRate = 1;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.opacityRate !== undefined) {\n this.opacityRate = data.opacityRate;\n }\n if (data.sizeRate !== undefined) {\n this.sizeRate = data.sizeRate;\n }\n if (data.velocityRate !== undefined) {\n this.velocityRate = data.velocityRate;\n }\n }\n}\n","import { deepExtend, executeOnSingleOrMultiple } from \"../../../Utils/Utils\";\nimport { AnimatableColor } from \"../AnimatableColor\";\nimport { Collisions } from \"./Collisions/Collisions\";\nimport { Move } from \"./Move/Move\";\nimport { Opacity } from \"./Opacity/Opacity\";\nimport { ParticlesBounce } from \"./Bounce/ParticlesBounce\";\nimport { ParticlesNumber } from \"./Number/ParticlesNumber\";\nimport { Shadow } from \"./Shadow\";\nimport { Shape } from \"./Shape/Shape\";\nimport { Size } from \"./Size/Size\";\nimport { Stroke } from \"./Stroke\";\nimport { ZIndex } from \"./ZIndex/ZIndex\";\nexport class ParticlesOptions {\n constructor(engine, container) {\n this._engine = engine;\n this._container = container;\n this.bounce = new ParticlesBounce();\n this.collisions = new Collisions();\n this.color = new AnimatableColor();\n this.color.value = \"#fff\";\n this.groups = {};\n this.move = new Move();\n this.number = new ParticlesNumber();\n this.opacity = new Opacity();\n this.reduceDuplicates = false;\n this.shadow = new Shadow();\n this.shape = new Shape();\n this.size = new Size();\n this.stroke = new Stroke();\n this.zIndex = new ZIndex();\n }\n load(data) {\n var _a, _b, _c, _d, _e, _f;\n if (!data) {\n return;\n }\n this.bounce.load(data.bounce);\n this.color.load(AnimatableColor.create(this.color, data.color));\n if (data.groups !== undefined) {\n for (const group in data.groups) {\n const item = data.groups[group];\n if (item !== undefined) {\n this.groups[group] = deepExtend((_a = this.groups[group]) !== null && _a !== void 0 ? _a : {}, item);\n }\n }\n }\n this.move.load(data.move);\n this.number.load(data.number);\n this.opacity.load(data.opacity);\n if (data.reduceDuplicates !== undefined) {\n this.reduceDuplicates = data.reduceDuplicates;\n }\n this.shape.load(data.shape);\n this.size.load(data.size);\n this.shadow.load(data.shadow);\n this.zIndex.load(data.zIndex);\n const collisions = (_c = (_b = data.move) === null || _b === void 0 ? void 0 : _b.collisions) !== null && _c !== void 0 ? _c : (_d = data.move) === null || _d === void 0 ? void 0 : _d.bounce;\n if (collisions !== undefined) {\n this.collisions.enable = collisions;\n }\n this.collisions.load(data.collisions);\n if (data.interactivity !== undefined) {\n this.interactivity = deepExtend({}, data.interactivity);\n }\n const strokeToLoad = (_e = data.stroke) !== null && _e !== void 0 ? _e : (_f = data.shape) === null || _f === void 0 ? void 0 : _f.stroke;\n if (strokeToLoad) {\n this.stroke = executeOnSingleOrMultiple(strokeToLoad, (t) => {\n const tmp = new Stroke();\n tmp.load(t);\n return tmp;\n });\n }\n if (this._container) {\n const updaters = this._engine.plugins.updaters.get(this._container);\n if (updaters) {\n for (const updater of updaters) {\n if (updater.loadOptions) {\n updater.loadOptions(this, data);\n }\n }\n }\n const interactors = this._engine.plugins.interactors.get(this._container);\n if (interactors) {\n for (const interactor of interactors) {\n if (interactor.loadParticlesOptions) {\n interactor.loadParticlesOptions(this, data);\n }\n }\n }\n }\n }\n}\n","import { ParticlesOptions } from \"../Options/Classes/Particles/ParticlesOptions\";\nexport function loadOptions(options, ...sourceOptionsArr) {\n for (const sourceOptions of sourceOptionsArr) {\n options.load(sourceOptions);\n }\n}\nexport function loadParticlesOptions(engine, container, ...sourceOptionsArr) {\n const options = new ParticlesOptions(engine, container);\n loadOptions(options, ...sourceOptionsArr);\n return options;\n}\n","import { deepExtend, executeOnSingleOrMultiple, safeMatchMedia } from \"../../Utils/Utils\";\nimport { Background } from \"./Background/Background\";\nimport { BackgroundMask } from \"./BackgroundMask/BackgroundMask\";\nimport { FullScreen } from \"./FullScreen/FullScreen\";\nimport { Interactivity } from \"./Interactivity/Interactivity\";\nimport { ManualParticle } from \"./ManualParticle\";\nimport { Responsive } from \"./Responsive\";\nimport { Theme } from \"./Theme/Theme\";\nimport { loadParticlesOptions } from \"../../Utils/OptionsUtils\";\nimport { setRangeValue } from \"../../Utils/NumberUtils\";\nexport class Options {\n constructor(engine, container) {\n this._engine = engine;\n this._container = container;\n this.autoPlay = true;\n this.background = new Background();\n this.backgroundMask = new BackgroundMask();\n this.defaultThemes = {};\n this.delay = 0;\n this.fullScreen = new FullScreen();\n this.detectRetina = true;\n this.duration = 0;\n this.fpsLimit = 120;\n this.interactivity = new Interactivity(engine, container);\n this.manualParticles = [];\n this.particles = loadParticlesOptions(this._engine, this._container);\n this.pauseOnBlur = true;\n this.pauseOnOutsideViewport = true;\n this.responsive = [];\n this.smooth = false;\n this.style = {};\n this.themes = [];\n this.zLayers = 100;\n }\n get backgroundMode() {\n return this.fullScreen;\n }\n set backgroundMode(value) {\n this.fullScreen.load(value);\n }\n get fps_limit() {\n return this.fpsLimit;\n }\n set fps_limit(value) {\n this.fpsLimit = value;\n }\n get retina_detect() {\n return this.detectRetina;\n }\n set retina_detect(value) {\n this.detectRetina = value;\n }\n load(data) {\n var _a, _b, _c, _d, _e;\n if (!data) {\n return;\n }\n if (data.preset !== undefined) {\n executeOnSingleOrMultiple(data.preset, (preset) => this._importPreset(preset));\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.delay !== undefined) {\n this.delay = setRangeValue(data.delay);\n }\n const detectRetina = (_a = data.detectRetina) !== null && _a !== void 0 ? _a : data.retina_detect;\n if (detectRetina !== undefined) {\n this.detectRetina = detectRetina;\n }\n if (data.duration !== undefined) {\n this.duration = setRangeValue(data.duration);\n }\n const fpsLimit = (_b = data.fpsLimit) !== null && _b !== void 0 ? _b : data.fps_limit;\n if (fpsLimit !== undefined) {\n this.fpsLimit = fpsLimit;\n }\n if (data.pauseOnBlur !== undefined) {\n this.pauseOnBlur = data.pauseOnBlur;\n }\n if (data.pauseOnOutsideViewport !== undefined) {\n this.pauseOnOutsideViewport = data.pauseOnOutsideViewport;\n }\n if (data.zLayers !== undefined) {\n this.zLayers = data.zLayers;\n }\n this.background.load(data.background);\n const fullScreen = (_c = data.fullScreen) !== null && _c !== void 0 ? _c : data.backgroundMode;\n if (typeof fullScreen === \"boolean\") {\n this.fullScreen.enable = fullScreen;\n }\n else {\n this.fullScreen.load(fullScreen);\n }\n this.backgroundMask.load(data.backgroundMask);\n this.interactivity.load(data.interactivity);\n if (data.manualParticles !== undefined) {\n this.manualParticles = data.manualParticles.map((t) => {\n const tmp = new ManualParticle();\n tmp.load(t);\n return tmp;\n });\n }\n this.particles.load(data.particles);\n this.style = deepExtend(this.style, data.style);\n this._engine.plugins.loadOptions(this, data);\n if (data.smooth !== undefined) {\n this.smooth = data.smooth;\n }\n const interactors = this._engine.plugins.interactors.get(this._container);\n if (interactors) {\n for (const interactor of interactors) {\n if (interactor.loadOptions) {\n interactor.loadOptions(this, data);\n }\n }\n }\n if (data.responsive !== undefined) {\n for (const responsive of data.responsive) {\n const optResponsive = new Responsive();\n optResponsive.load(responsive);\n this.responsive.push(optResponsive);\n }\n }\n this.responsive.sort((a, b) => a.maxWidth - b.maxWidth);\n if (data.themes !== undefined) {\n for (const theme of data.themes) {\n const existingTheme = this.themes.find((t) => t.name === theme.name);\n if (!existingTheme) {\n const optTheme = new Theme();\n optTheme.load(theme);\n this.themes.push(optTheme);\n }\n else {\n existingTheme.load(theme);\n }\n }\n }\n this.defaultThemes.dark = (_d = this._findDefaultTheme(\"dark\")) === null || _d === void 0 ? void 0 : _d.name;\n this.defaultThemes.light = (_e = this._findDefaultTheme(\"light\")) === null || _e === void 0 ? void 0 : _e.name;\n }\n setResponsive(width, pxRatio, defaultOptions) {\n this.load(defaultOptions);\n const responsiveOptions = this.responsive.find((t) => t.mode === \"screen\" && screen ? t.maxWidth > screen.availWidth : t.maxWidth * pxRatio > width);\n this.load(responsiveOptions === null || responsiveOptions === void 0 ? void 0 : responsiveOptions.options);\n return responsiveOptions === null || responsiveOptions === void 0 ? void 0 : responsiveOptions.maxWidth;\n }\n setTheme(name) {\n if (name) {\n const chosenTheme = this.themes.find((theme) => theme.name === name);\n if (chosenTheme) {\n this.load(chosenTheme.options);\n }\n }\n else {\n const mediaMatch = safeMatchMedia(\"(prefers-color-scheme: dark)\"), clientDarkMode = mediaMatch && mediaMatch.matches, defaultTheme = this._findDefaultTheme(clientDarkMode ? \"dark\" : \"light\");\n if (defaultTheme) {\n this.load(defaultTheme.options);\n }\n }\n }\n _findDefaultTheme(mode) {\n var _a;\n return ((_a = this.themes.find((theme) => theme.default.value && theme.default.mode === mode)) !== null && _a !== void 0 ? _a : this.themes.find((theme) => theme.default.value && theme.default.mode === \"any\"));\n }\n _importPreset(preset) {\n this.load(this._engine.plugins.getPreset(preset));\n }\n}\n","export class InteractionManager {\n constructor(engine, container) {\n this.container = container;\n this._engine = engine;\n this._interactors = this._engine.plugins.getInteractors(this.container, true);\n this._externalInteractors = [];\n this._particleInteractors = [];\n }\n async externalInteract(delta) {\n for (const interactor of this._externalInteractors) {\n if (interactor.isEnabled()) {\n await interactor.interact(delta);\n }\n }\n }\n handleClickMode(mode) {\n for (const interactor of this._externalInteractors) {\n if (interactor.handleClickMode) {\n interactor.handleClickMode(mode);\n }\n }\n }\n init() {\n this._externalInteractors = [];\n this._particleInteractors = [];\n for (const interactor of this._interactors) {\n switch (interactor.type) {\n case \"external\":\n this._externalInteractors.push(interactor);\n break;\n case \"particles\":\n this._particleInteractors.push(interactor);\n break;\n }\n interactor.init();\n }\n }\n async particlesInteract(particle, delta) {\n for (const interactor of this._externalInteractors) {\n interactor.clear(particle, delta);\n }\n for (const interactor of this._particleInteractors) {\n if (interactor.isEnabled(particle)) {\n await interactor.interact(particle, delta);\n }\n }\n }\n async reset(particle) {\n for (const interactor of this._externalInteractors) {\n if (interactor.isEnabled()) {\n await interactor.reset(particle);\n }\n }\n for (const interactor of this._particleInteractors) {\n if (interactor.isEnabled(particle)) {\n await interactor.reset(particle);\n }\n }\n }\n}\n","import { calcExactPositionOrRandomFromSize, clamp, getDistance, getParticleBaseVelocity, getParticleDirectionAngle, getRandom, getRangeMax, getRangeMin, getRangeValue, getValue, randomInRange, setRangeValue, } from \"../Utils/NumberUtils\";\nimport { deepExtend, isInArray, itemFromSingleOrMultiple } from \"../Utils/Utils\";\nimport { getHslFromAnimation, rangeColorToRgb } from \"../Utils/ColorUtils\";\nimport { Interactivity } from \"../Options/Classes/Interactivity/Interactivity\";\nimport { Vector } from \"./Utils/Vector\";\nimport { Vector3d } from \"./Utils/Vector3d\";\nimport { alterHsl } from \"../Utils/CanvasUtils\";\nimport { loadParticlesOptions } from \"../Utils/OptionsUtils\";\nconst fixOutMode = (data) => {\n if (!isInArray(data.outMode, data.checkModes)) {\n return;\n }\n if (data.coord > data.maxCoord - data.radius * 2) {\n data.setCb(-data.radius);\n }\n else if (data.coord < data.radius * 2) {\n data.setCb(data.radius);\n }\n};\nexport class Particle {\n constructor(engine, id, container, position, overrideOptions, group) {\n this.container = container;\n this._engine = engine;\n this.init(id, position, overrideOptions, group);\n }\n destroy(override) {\n var _a;\n if (this.unbreakable || this.destroyed) {\n return;\n }\n this.destroyed = true;\n this.bubble.inRange = false;\n this.slow.inRange = false;\n for (const [, plugin] of this.container.plugins) {\n if (plugin.particleDestroyed) {\n plugin.particleDestroyed(this, override);\n }\n }\n for (const updater of this.container.particles.updaters) {\n if (updater.particleDestroyed) {\n updater.particleDestroyed(this, override);\n }\n }\n (_a = this.pathGenerator) === null || _a === void 0 ? void 0 : _a.reset(this);\n }\n draw(delta) {\n const container = this.container;\n for (const [, plugin] of container.plugins) {\n container.canvas.drawParticlePlugin(plugin, this, delta);\n }\n container.canvas.drawParticle(this, delta);\n }\n getFillColor() {\n var _a;\n return this._getRollColor((_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.color));\n }\n getMass() {\n return (this.getRadius() ** 2 * Math.PI) / 2;\n }\n getPosition() {\n return {\n x: this.position.x + this.offset.x,\n y: this.position.y + this.offset.y,\n z: this.position.z,\n };\n }\n getRadius() {\n var _a;\n return (_a = this.bubble.radius) !== null && _a !== void 0 ? _a : this.size.value;\n }\n getStrokeColor() {\n var _a;\n return this._getRollColor((_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.strokeColor));\n }\n init(id, position, overrideOptions, group) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n const container = this.container, engine = this._engine;\n this.id = id;\n this.group = group;\n this.fill = true;\n this.pathRotation = false;\n this.close = true;\n this.lastPathTime = 0;\n this.destroyed = false;\n this.unbreakable = false;\n this.rotation = 0;\n this.misplaced = false;\n this.retina = {\n maxDistance: {},\n };\n this.outType = \"normal\";\n this.ignoresResizeRatio = true;\n const pxRatio = container.retina.pixelRatio, mainOptions = container.actualOptions, particlesOptions = loadParticlesOptions(this._engine, container, mainOptions.particles), shapeType = particlesOptions.shape.type, { reduceDuplicates } = particlesOptions;\n this.shape = itemFromSingleOrMultiple(shapeType, this.id, reduceDuplicates);\n const shapeOptions = particlesOptions.shape;\n if (overrideOptions && overrideOptions.shape && overrideOptions.shape.type) {\n const overrideShapeType = overrideOptions.shape.type, shape = itemFromSingleOrMultiple(overrideShapeType, this.id, reduceDuplicates);\n if (shape) {\n this.shape = shape;\n shapeOptions.load(overrideOptions.shape);\n }\n }\n this.shapeData = this._loadShapeData(shapeOptions, reduceDuplicates);\n particlesOptions.load(overrideOptions);\n particlesOptions.load((_a = this.shapeData) === null || _a === void 0 ? void 0 : _a.particles);\n this.interactivity = new Interactivity(engine, container);\n this.interactivity.load(container.actualOptions.interactivity);\n this.interactivity.load(particlesOptions.interactivity);\n this.fill = (_c = (_b = this.shapeData) === null || _b === void 0 ? void 0 : _b.fill) !== null && _c !== void 0 ? _c : this.fill;\n this.close = (_e = (_d = this.shapeData) === null || _d === void 0 ? void 0 : _d.close) !== null && _e !== void 0 ? _e : this.close;\n this.options = particlesOptions;\n const pathOptions = this.options.move.path;\n this.pathDelay = getValue(pathOptions.delay) * 1000;\n if (pathOptions.generator) {\n this.pathGenerator = this._engine.plugins.getPathGenerator(pathOptions.generator);\n if (this.pathGenerator && container.addPath(pathOptions.generator, this.pathGenerator)) {\n this.pathGenerator.init(container);\n }\n }\n const zIndexValue = getRangeValue(this.options.zIndex.value);\n container.retina.initParticle(this);\n const sizeOptions = this.options.size, sizeRange = sizeOptions.value, sizeAnimation = sizeOptions.animation;\n this.size = {\n enable: sizeOptions.animation.enable,\n value: getRangeValue(sizeOptions.value) * container.retina.pixelRatio,\n max: getRangeMax(sizeRange) * pxRatio,\n min: getRangeMin(sizeRange) * pxRatio,\n loops: 0,\n maxLoops: getRangeValue(sizeOptions.animation.count),\n };\n if (sizeAnimation.enable) {\n this.size.status = \"increasing\";\n this.size.decay = 1 - getRangeValue(sizeAnimation.decay);\n switch (sizeAnimation.startValue) {\n case \"min\":\n this.size.value = this.size.min;\n this.size.status = \"increasing\";\n break;\n case \"random\":\n this.size.value = randomInRange(this.size);\n this.size.status = getRandom() >= 0.5 ? \"increasing\" : \"decreasing\";\n break;\n case \"max\":\n default:\n this.size.value = this.size.max;\n this.size.status = \"decreasing\";\n break;\n }\n }\n this.size.initialValue = this.size.value;\n this.bubble = {\n inRange: false,\n };\n this.slow = {\n inRange: false,\n factor: 1,\n };\n this.position = this._calcPosition(container, position, clamp(zIndexValue, 0, container.zLayers));\n this.initialPosition = this.position.copy();\n const canvasSize = container.canvas.size, moveCenter = Object.assign({}, this.options.move.center), isCenterPercent = moveCenter.mode === \"percent\";\n this.moveCenter = {\n x: moveCenter.x * (isCenterPercent ? canvasSize.width / 100 : 1),\n y: moveCenter.y * (isCenterPercent ? canvasSize.height / 100 : 1),\n radius: (_f = this.options.move.center.radius) !== null && _f !== void 0 ? _f : 0,\n mode: (_g = this.options.move.center.mode) !== null && _g !== void 0 ? _g : \"percent\",\n };\n this.direction = getParticleDirectionAngle(this.options.move.direction, this.position, this.moveCenter);\n switch (this.options.move.direction) {\n case \"inside\":\n this.outType = \"inside\";\n break;\n case \"outside\":\n this.outType = \"outside\";\n break;\n }\n this.initialVelocity = this._calculateVelocity();\n this.velocity = this.initialVelocity.copy();\n this.moveDecay = 1 - getRangeValue(this.options.move.decay);\n this.offset = Vector.origin;\n const particles = container.particles;\n particles.needsSort = particles.needsSort || particles.lastZIndex < this.position.z;\n particles.lastZIndex = this.position.z;\n this.zIndexFactor = this.position.z / container.zLayers;\n this.sides = 24;\n let drawer = container.drawers.get(this.shape);\n if (!drawer) {\n drawer = this._engine.plugins.getShapeDrawer(this.shape);\n if (drawer) {\n container.drawers.set(this.shape, drawer);\n }\n }\n if (drawer === null || drawer === void 0 ? void 0 : drawer.loadShape) {\n drawer === null || drawer === void 0 ? void 0 : drawer.loadShape(this);\n }\n const sideCountFunc = drawer === null || drawer === void 0 ? void 0 : drawer.getSidesCount;\n if (sideCountFunc) {\n this.sides = sideCountFunc(this);\n }\n this.spawning = false;\n this.shadowColor = rangeColorToRgb(this.options.shadow.color);\n for (const updater of container.particles.updaters) {\n updater.init(this);\n }\n for (const mover of container.particles.movers) {\n (_h = mover.init) === null || _h === void 0 ? void 0 : _h.call(mover, this);\n }\n if (drawer === null || drawer === void 0 ? void 0 : drawer.particleInit) {\n drawer.particleInit(container, this);\n }\n for (const [, plugin] of container.plugins) {\n (_j = plugin.particleCreated) === null || _j === void 0 ? void 0 : _j.call(plugin, this);\n }\n }\n isInsideCanvas() {\n const radius = this.getRadius(), canvasSize = this.container.canvas.size;\n return (this.position.x >= -radius &&\n this.position.y >= -radius &&\n this.position.y <= canvasSize.height + radius &&\n this.position.x <= canvasSize.width + radius);\n }\n isVisible() {\n return !this.destroyed && !this.spawning && this.isInsideCanvas();\n }\n reset() {\n var _a;\n for (const updater of this.container.particles.updaters) {\n (_a = updater.reset) === null || _a === void 0 ? void 0 : _a.call(updater, this);\n }\n }\n _calcPosition(container, position, zIndex, tryCount = 0) {\n var _a, _b, _c, _d;\n for (const [, plugin] of container.plugins) {\n const pluginPos = plugin.particlePosition !== undefined ? plugin.particlePosition(position, this) : undefined;\n if (pluginPos !== undefined) {\n return Vector3d.create(pluginPos.x, pluginPos.y, zIndex);\n }\n }\n const canvasSize = container.canvas.size, exactPosition = calcExactPositionOrRandomFromSize({\n size: canvasSize,\n position: position,\n }), pos = Vector3d.create(exactPosition.x, exactPosition.y, zIndex), radius = this.getRadius(), outModes = this.options.move.outModes, fixHorizontal = (outMode) => {\n fixOutMode({\n outMode,\n checkModes: [\"bounce\", \"bounce-horizontal\"],\n coord: pos.x,\n maxCoord: container.canvas.size.width,\n setCb: (value) => (pos.x += value),\n radius,\n });\n }, fixVertical = (outMode) => {\n fixOutMode({\n outMode,\n checkModes: [\"bounce\", \"bounce-vertical\"],\n coord: pos.y,\n maxCoord: container.canvas.size.height,\n setCb: (value) => (pos.y += value),\n radius,\n });\n };\n fixHorizontal((_a = outModes.left) !== null && _a !== void 0 ? _a : outModes.default);\n fixHorizontal((_b = outModes.right) !== null && _b !== void 0 ? _b : outModes.default);\n fixVertical((_c = outModes.top) !== null && _c !== void 0 ? _c : outModes.default);\n fixVertical((_d = outModes.bottom) !== null && _d !== void 0 ? _d : outModes.default);\n if (this._checkOverlap(pos, tryCount)) {\n return this._calcPosition(container, undefined, zIndex, tryCount + 1);\n }\n return pos;\n }\n _calculateVelocity() {\n const baseVelocity = getParticleBaseVelocity(this.direction), res = baseVelocity.copy(), moveOptions = this.options.move;\n if (moveOptions.direction === \"inside\" || moveOptions.direction === \"outside\") {\n return res;\n }\n const rad = (Math.PI / 180) * getRangeValue(moveOptions.angle.value), radOffset = (Math.PI / 180) * getRangeValue(moveOptions.angle.offset), range = {\n left: radOffset - rad / 2,\n right: radOffset + rad / 2,\n };\n if (!moveOptions.straight) {\n res.angle += randomInRange(setRangeValue(range.left, range.right));\n }\n if (moveOptions.random && typeof moveOptions.speed === \"number\") {\n res.length *= getRandom();\n }\n return res;\n }\n _checkOverlap(pos, tryCount = 0) {\n const collisionsOptions = this.options.collisions, radius = this.getRadius();\n if (!collisionsOptions.enable) {\n return false;\n }\n const overlapOptions = collisionsOptions.overlap;\n if (overlapOptions.enable) {\n return false;\n }\n const retries = overlapOptions.retries;\n if (retries >= 0 && tryCount > retries) {\n throw new Error(\"Particle is overlapping and can't be placed\");\n }\n let overlaps = false;\n for (const particle of this.container.particles.array) {\n if (getDistance(pos, particle.position) < radius + particle.getRadius()) {\n overlaps = true;\n break;\n }\n }\n return overlaps;\n }\n _getRollColor(color) {\n var _a;\n if (!color || !this.roll || (!this.backColor && !this.roll.alter)) {\n return color;\n }\n const backFactor = this.roll.horizontal && this.roll.vertical ? 2 : 1, backSum = this.roll.horizontal ? Math.PI / 2 : 0, rolled = Math.floor((((_a = this.roll.angle) !== null && _a !== void 0 ? _a : 0) + backSum) / (Math.PI / backFactor)) % 2;\n if (!rolled) {\n return color;\n }\n if (this.backColor) {\n return this.backColor;\n }\n if (this.roll.alter) {\n return alterHsl(color, this.roll.alter.type, this.roll.alter.value);\n }\n return color;\n }\n _loadShapeData(shapeOptions, reduceDuplicates) {\n const shapeData = shapeOptions.options[this.shape];\n if (shapeData) {\n return deepExtend({}, itemFromSingleOrMultiple(shapeData, this.id, reduceDuplicates));\n }\n }\n}\n","export class Point {\n constructor(position, particle) {\n this.position = position;\n this.particle = particle;\n }\n}\n","export class Range {\n constructor(x, y) {\n this.position = {\n x: x,\n y: y,\n };\n }\n}\n","import { Range } from \"./Range\";\nimport { getDistance } from \"../../Utils/NumberUtils\";\nexport class Circle extends Range {\n constructor(x, y, radius) {\n super(x, y);\n this.radius = radius;\n }\n contains(point) {\n return getDistance(point, this.position) <= this.radius;\n }\n intersects(range) {\n const rect = range, circle = range, pos1 = this.position, pos2 = range.position, distPos = { x: Math.abs(pos2.x - pos1.x), y: Math.abs(pos2.y - pos1.y) }, r = this.radius;\n if (circle.radius !== undefined) {\n const rSum = r + circle.radius, dist = Math.sqrt(distPos.x ** 2 + distPos.y ** 2);\n return rSum > dist;\n }\n else if (rect.size !== undefined) {\n const w = rect.size.width, h = rect.size.height, edges = Math.pow(distPos.x - w, 2) + Math.pow(distPos.y - h, 2);\n return edges <= r ** 2 || (distPos.x <= r + w && distPos.y <= r + h) || distPos.x <= w || distPos.y <= h;\n }\n return false;\n }\n}\n","import { Circle } from \"./Circle\";\nimport { Range } from \"./Range\";\nexport class Rectangle extends Range {\n constructor(x, y, width, height) {\n super(x, y);\n this.size = {\n height: height,\n width: width,\n };\n }\n contains(point) {\n const w = this.size.width, h = this.size.height, pos = this.position;\n return point.x >= pos.x && point.x <= pos.x + w && point.y >= pos.y && point.y <= pos.y + h;\n }\n intersects(range) {\n if (range instanceof Circle) {\n range.intersects(this);\n }\n const w = this.size.width, h = this.size.height, pos1 = this.position, pos2 = range.position, size2 = range instanceof Rectangle ? range.size : { width: 0, height: 0 }, w2 = size2.width, h2 = size2.height;\n return pos2.x < pos1.x + w && pos2.x + w2 > pos1.x && pos2.y < pos1.y + h && pos2.y + h2 > pos1.y;\n }\n}\n","import { Circle } from \"./Circle\";\nimport { Rectangle } from \"./Rectangle\";\nimport { getDistance } from \"../../Utils/NumberUtils\";\nexport class QuadTree {\n constructor(rectangle, capacity) {\n this.rectangle = rectangle;\n this.capacity = capacity;\n this._points = [];\n this._divided = false;\n }\n insert(point) {\n var _a, _b, _c, _d, _e;\n if (!this.rectangle.contains(point.position)) {\n return false;\n }\n if (this._points.length < this.capacity) {\n this._points.push(point);\n return true;\n }\n if (!this._divided) {\n this.subdivide();\n }\n return ((_e = (((_a = this._NE) === null || _a === void 0 ? void 0 : _a.insert(point)) ||\n ((_b = this._NW) === null || _b === void 0 ? void 0 : _b.insert(point)) ||\n ((_c = this._SE) === null || _c === void 0 ? void 0 : _c.insert(point)) ||\n ((_d = this._SW) === null || _d === void 0 ? void 0 : _d.insert(point)))) !== null && _e !== void 0 ? _e : false);\n }\n query(range, check, found) {\n var _a, _b, _c, _d;\n const res = found !== null && found !== void 0 ? found : [];\n if (!range.intersects(this.rectangle)) {\n return [];\n }\n for (const p of this._points) {\n if (!range.contains(p.position) &&\n getDistance(range.position, p.position) > p.particle.getRadius() &&\n (!check || check(p.particle))) {\n continue;\n }\n res.push(p.particle);\n }\n if (this._divided) {\n (_a = this._NE) === null || _a === void 0 ? void 0 : _a.query(range, check, res);\n (_b = this._NW) === null || _b === void 0 ? void 0 : _b.query(range, check, res);\n (_c = this._SE) === null || _c === void 0 ? void 0 : _c.query(range, check, res);\n (_d = this._SW) === null || _d === void 0 ? void 0 : _d.query(range, check, res);\n }\n return res;\n }\n queryCircle(position, radius, check) {\n return this.query(new Circle(position.x, position.y, radius), check);\n }\n queryRectangle(position, size, check) {\n return this.query(new Rectangle(position.x, position.y, size.width, size.height), check);\n }\n subdivide() {\n const x = this.rectangle.position.x, y = this.rectangle.position.y, w = this.rectangle.size.width, h = this.rectangle.size.height, capacity = this.capacity;\n this._NE = new QuadTree(new Rectangle(x, y, w / 2, h / 2), capacity);\n this._NW = new QuadTree(new Rectangle(x + w / 2, y, w / 2, h / 2), capacity);\n this._SE = new QuadTree(new Rectangle(x, y + h / 2, w / 2, h / 2), capacity);\n this._SW = new QuadTree(new Rectangle(x + w / 2, y + h / 2, w / 2, h / 2), capacity);\n this._divided = true;\n }\n}\n","import { InteractionManager } from \"./Utils/InteractionManager\";\nimport { Particle } from \"./Particle\";\nimport { Point } from \"./Utils/Point\";\nimport { QuadTree } from \"./Utils/QuadTree\";\nimport { Rectangle } from \"./Utils/Rectangle\";\nimport { calcPositionFromSize } from \"../Utils/NumberUtils\";\nexport class Particles {\n constructor(engine, container) {\n this.container = container;\n this._engine = engine;\n this.nextId = 0;\n this.array = [];\n this.zArray = [];\n this.pool = [];\n this.limit = 0;\n this.needsSort = false;\n this.lastZIndex = 0;\n this.interactionManager = new InteractionManager(this._engine, container);\n const canvasSize = this.container.canvas.size;\n this.quadTree = new QuadTree(new Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, (canvasSize.width * 3) / 2, (canvasSize.height * 3) / 2), 4);\n this.movers = this._engine.plugins.getMovers(container, true);\n this.updaters = this._engine.plugins.getUpdaters(container, true);\n }\n get count() {\n return this.array.length;\n }\n addManualParticles() {\n const container = this.container, options = container.actualOptions;\n for (const particle of options.manualParticles) {\n this.addParticle(calcPositionFromSize({\n size: container.canvas.size,\n position: particle.position,\n }), particle.options);\n }\n }\n addParticle(position, overrideOptions, group, initializer) {\n const container = this.container, options = container.actualOptions, limit = options.particles.number.limit;\n if (limit > 0) {\n const countToRemove = this.count + 1 - limit;\n if (countToRemove > 0) {\n this.removeQuantity(countToRemove);\n }\n }\n return this._pushParticle(position, overrideOptions, group, initializer);\n }\n clear() {\n this.array = [];\n this.zArray = [];\n }\n destroy() {\n this.array = [];\n this.zArray = [];\n this.movers = [];\n this.updaters = [];\n }\n async draw(delta) {\n const container = this.container, canvasSize = this.container.canvas.size;\n this.quadTree = new QuadTree(new Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, (canvasSize.width * 3) / 2, (canvasSize.height * 3) / 2), 4);\n container.canvas.clear();\n await this.update(delta);\n if (this.needsSort) {\n this.zArray.sort((a, b) => b.position.z - a.position.z || a.id - b.id);\n this.lastZIndex = this.zArray[this.zArray.length - 1].position.z;\n this.needsSort = false;\n }\n for (const [, plugin] of container.plugins) {\n container.canvas.drawPlugin(plugin, delta);\n }\n for (const p of this.zArray) {\n p.draw(delta);\n }\n }\n handleClickMode(mode) {\n this.interactionManager.handleClickMode(mode);\n }\n init() {\n var _a;\n const container = this.container, options = container.actualOptions;\n this.lastZIndex = 0;\n this.needsSort = false;\n let handled = false;\n this.updaters = this._engine.plugins.getUpdaters(container, true);\n this.interactionManager.init();\n for (const [, plugin] of container.plugins) {\n if (plugin.particlesInitialization !== undefined) {\n handled = plugin.particlesInitialization();\n }\n if (handled) {\n break;\n }\n }\n this.interactionManager.init();\n for (const [, pathGenerator] of container.pathGenerators) {\n pathGenerator.init(container);\n }\n this.addManualParticles();\n if (!handled) {\n for (const group in options.particles.groups) {\n const groupOptions = options.particles.groups[group];\n for (let i = this.count, j = 0; j < ((_a = groupOptions.number) === null || _a === void 0 ? void 0 : _a.value) && i < options.particles.number.value; i++, j++) {\n this.addParticle(undefined, groupOptions, group);\n }\n }\n for (let i = this.count; i < options.particles.number.value; i++) {\n this.addParticle();\n }\n }\n }\n push(nb, mouse, overrideOptions, group) {\n this.pushing = true;\n for (let i = 0; i < nb; i++) {\n this.addParticle(mouse === null || mouse === void 0 ? void 0 : mouse.position, overrideOptions, group);\n }\n this.pushing = false;\n }\n async redraw() {\n this.clear();\n this.init();\n await this.draw({ value: 0, factor: 0 });\n }\n remove(particle, group, override) {\n this.removeAt(this.array.indexOf(particle), undefined, group, override);\n }\n removeAt(index, quantity = 1, group, override) {\n if (index < 0 || index > this.count) {\n return;\n }\n let deleted = 0;\n for (let i = index; deleted < quantity && i < this.count; i++) {\n const particle = this.array[i];\n if (!particle || particle.group !== group) {\n continue;\n }\n particle.destroy(override);\n this.array.splice(i--, 1);\n const zIdx = this.zArray.indexOf(particle);\n this.zArray.splice(zIdx, 1);\n this.pool.push(particle);\n deleted++;\n this._engine.dispatchEvent(\"particleRemoved\", {\n container: this.container,\n data: {\n particle,\n },\n });\n }\n }\n removeQuantity(quantity, group) {\n this.removeAt(0, quantity, group);\n }\n setDensity() {\n const options = this.container.actualOptions;\n for (const group in options.particles.groups) {\n this._applyDensity(options.particles.groups[group], 0, group);\n }\n this._applyDensity(options.particles, options.manualParticles.length);\n }\n async update(delta) {\n var _a, _b;\n const container = this.container, particlesToDelete = [];\n for (const [, pathGenerator] of container.pathGenerators) {\n pathGenerator.update();\n }\n for (const [, plugin] of container.plugins) {\n (_a = plugin.update) === null || _a === void 0 ? void 0 : _a.call(plugin, delta);\n }\n for (const particle of this.array) {\n const resizeFactor = container.canvas.resizeFactor;\n if (resizeFactor && !particle.ignoresResizeRatio) {\n particle.position.x *= resizeFactor.width;\n particle.position.y *= resizeFactor.height;\n particle.initialPosition.x *= resizeFactor.width;\n particle.initialPosition.y *= resizeFactor.height;\n }\n particle.ignoresResizeRatio = false;\n await this.interactionManager.reset(particle);\n for (const [, plugin] of this.container.plugins) {\n if (particle.destroyed) {\n break;\n }\n (_b = plugin.particleUpdate) === null || _b === void 0 ? void 0 : _b.call(plugin, particle, delta);\n }\n for (const mover of this.movers) {\n if (mover.isEnabled(particle)) {\n mover.move(particle, delta);\n }\n }\n if (particle.destroyed) {\n particlesToDelete.push(particle);\n continue;\n }\n this.quadTree.insert(new Point(particle.getPosition(), particle));\n }\n for (const particle of particlesToDelete) {\n this.remove(particle);\n }\n await this.interactionManager.externalInteract(delta);\n for (const particle of this.array) {\n for (const updater of this.updaters) {\n updater.update(particle, delta);\n }\n if (!particle.destroyed && !particle.spawning) {\n await this.interactionManager.particlesInteract(particle, delta);\n }\n }\n delete container.canvas.resizeFactor;\n }\n _applyDensity(options, manualCount, group) {\n var _a;\n if (!((_a = options.number.density) === null || _a === void 0 ? void 0 : _a.enable)) {\n return;\n }\n const numberOptions = options.number, densityFactor = this._initDensityFactor(numberOptions.density), optParticlesNumber = numberOptions.value, optParticlesLimit = numberOptions.limit > 0 ? numberOptions.limit : optParticlesNumber, particlesNumber = Math.min(optParticlesNumber, optParticlesLimit) * densityFactor + manualCount, particlesCount = Math.min(this.count, this.array.filter((t) => t.group === group).length);\n this.limit = numberOptions.limit * densityFactor;\n if (particlesCount < particlesNumber) {\n this.push(Math.abs(particlesNumber - particlesCount), undefined, options, group);\n }\n else if (particlesCount > particlesNumber) {\n this.removeQuantity(particlesCount - particlesNumber, group);\n }\n }\n _initDensityFactor(densityOptions) {\n const container = this.container;\n if (!container.canvas.element || !densityOptions.enable) {\n return 1;\n }\n const canvas = container.canvas.element, pxRatio = container.retina.pixelRatio;\n return (canvas.width * canvas.height) / (densityOptions.factor * pxRatio ** 2 * densityOptions.area);\n }\n _pushParticle(position, overrideOptions, group, initializer) {\n try {\n let particle = this.pool.pop();\n if (particle) {\n particle.init(this.nextId, position, overrideOptions, group);\n }\n else {\n particle = new Particle(this._engine, this.nextId, this.container, position, overrideOptions, group);\n }\n let canAdd = true;\n if (initializer) {\n canAdd = initializer(particle);\n }\n if (!canAdd) {\n return;\n }\n this.array.push(particle);\n this.zArray.push(particle);\n this.nextId++;\n this._engine.dispatchEvent(\"particleAdded\", {\n container: this.container,\n data: {\n particle,\n },\n });\n return particle;\n }\n catch (e) {\n console.warn(`error adding particle: ${e}`);\n return;\n }\n }\n}\n","import { getRangeValue } from \"../Utils/NumberUtils\";\nimport { isSsr } from \"../Utils/Utils\";\nexport class Retina {\n constructor(container) {\n this.container = container;\n }\n init() {\n const container = this.container, options = container.actualOptions;\n this.pixelRatio = !options.detectRetina || isSsr() ? 1 : window.devicePixelRatio;\n this.reduceFactor = 1;\n const ratio = this.pixelRatio;\n if (container.canvas.element) {\n const element = container.canvas.element;\n container.canvas.size.width = element.offsetWidth * ratio;\n container.canvas.size.height = element.offsetHeight * ratio;\n }\n const particles = options.particles;\n this.attractDistance = getRangeValue(particles.move.attract.distance) * ratio;\n this.sizeAnimationSpeed = getRangeValue(particles.size.animation.speed) * ratio;\n this.maxSpeed = getRangeValue(particles.move.gravity.maxSpeed) * ratio;\n }\n initParticle(particle) {\n const options = particle.options, ratio = this.pixelRatio, moveDistance = options.move.distance, props = particle.retina;\n props.attractDistance = getRangeValue(options.move.attract.distance) * ratio;\n props.moveDrift = getRangeValue(options.move.drift) * ratio;\n props.moveSpeed = getRangeValue(options.move.speed) * ratio;\n props.sizeAnimationSpeed = getRangeValue(options.size.animation.speed) * ratio;\n const maxDistance = props.maxDistance;\n maxDistance.horizontal = moveDistance.horizontal !== undefined ? moveDistance.horizontal * ratio : undefined;\n maxDistance.vertical = moveDistance.vertical !== undefined ? moveDistance.vertical * ratio : undefined;\n props.maxSpeed = getRangeValue(options.move.gravity.maxSpeed) * ratio;\n }\n}\n","import { animate, cancelAnimation } from \"../Utils/Utils\";\nimport { Canvas } from \"./Canvas\";\nimport { EventListeners } from \"./Utils/EventListeners\";\nimport { FrameManager } from \"./Utils/FrameManager\";\nimport { Options } from \"../Options/Classes/Options\";\nimport { Particles } from \"./Particles\";\nimport { Retina } from \"./Retina\";\nimport { getRangeValue } from \"../Utils/NumberUtils\";\nimport { loadOptions } from \"../Utils/OptionsUtils\";\nfunction guardCheck(container) {\n return container && !container.destroyed;\n}\nfunction loadContainerOptions(engine, container, ...sourceOptionsArr) {\n const options = new Options(engine, container);\n loadOptions(options, ...sourceOptionsArr);\n return options;\n}\nconst defaultPathGeneratorKey = \"default\", defaultPathGenerator = {\n generate: (p) => {\n const v = p.velocity.copy();\n v.angle += (v.length * Math.PI) / 180;\n return v;\n },\n init: () => {\n },\n update: () => {\n },\n reset: () => {\n },\n};\nexport class Container {\n constructor(engine, id, sourceOptions) {\n this.id = id;\n this._engine = engine;\n this.fpsLimit = 120;\n this.smooth = false;\n this._delay = 0;\n this.duration = 0;\n this.lifeTime = 0;\n this._firstStart = true;\n this.started = false;\n this.destroyed = false;\n this._paused = true;\n this.lastFrameTime = 0;\n this.zLayers = 100;\n this.pageHidden = false;\n this._sourceOptions = sourceOptions;\n this._initialSourceOptions = sourceOptions;\n this.retina = new Retina(this);\n this.canvas = new Canvas(this);\n this.particles = new Particles(this._engine, this);\n this.frameManager = new FrameManager(this);\n this.pathGenerators = new Map();\n this.interactivity = {\n mouse: {\n clicking: false,\n inside: false,\n },\n };\n this.plugins = new Map();\n this.drawers = new Map();\n this._options = loadContainerOptions(this._engine, this);\n this.actualOptions = loadContainerOptions(this._engine, this);\n this._eventListeners = new EventListeners(this);\n if (typeof IntersectionObserver !== \"undefined\" && IntersectionObserver) {\n this._intersectionObserver = new IntersectionObserver((entries) => this._intersectionManager(entries));\n }\n this._engine.dispatchEvent(\"containerBuilt\", { container: this });\n }\n get options() {\n return this._options;\n }\n get sourceOptions() {\n return this._sourceOptions;\n }\n addClickHandler(callback) {\n if (!guardCheck(this)) {\n return;\n }\n const el = this.interactivity.element;\n if (!el) {\n return;\n }\n const clickOrTouchHandler = (e, pos, radius) => {\n if (!guardCheck(this)) {\n return;\n }\n const pxRatio = this.retina.pixelRatio, posRetina = {\n x: pos.x * pxRatio,\n y: pos.y * pxRatio,\n }, particles = this.particles.quadTree.queryCircle(posRetina, radius * pxRatio);\n callback(e, particles);\n };\n const clickHandler = (e) => {\n if (!guardCheck(this)) {\n return;\n }\n const mouseEvent = e, pos = {\n x: mouseEvent.offsetX || mouseEvent.clientX,\n y: mouseEvent.offsetY || mouseEvent.clientY,\n };\n clickOrTouchHandler(e, pos, 1);\n };\n const touchStartHandler = () => {\n if (!guardCheck(this)) {\n return;\n }\n touched = true;\n touchMoved = false;\n };\n const touchMoveHandler = () => {\n if (!guardCheck(this)) {\n return;\n }\n touchMoved = true;\n };\n const touchEndHandler = (e) => {\n if (!guardCheck(this)) {\n return;\n }\n if (touched && !touchMoved) {\n const touchEvent = e;\n let lastTouch = touchEvent.touches[touchEvent.touches.length - 1];\n if (!lastTouch) {\n lastTouch = touchEvent.changedTouches[touchEvent.changedTouches.length - 1];\n if (!lastTouch) {\n return;\n }\n }\n const element = this.canvas.element, canvasRect = element ? element.getBoundingClientRect() : undefined, pos = {\n x: lastTouch.clientX - (canvasRect ? canvasRect.left : 0),\n y: lastTouch.clientY - (canvasRect ? canvasRect.top : 0),\n };\n clickOrTouchHandler(e, pos, Math.max(lastTouch.radiusX, lastTouch.radiusY));\n }\n touched = false;\n touchMoved = false;\n };\n const touchCancelHandler = () => {\n if (!guardCheck(this)) {\n return;\n }\n touched = false;\n touchMoved = false;\n };\n let touched = false, touchMoved = false;\n el.addEventListener(\"click\", clickHandler);\n el.addEventListener(\"touchstart\", touchStartHandler);\n el.addEventListener(\"touchmove\", touchMoveHandler);\n el.addEventListener(\"touchend\", touchEndHandler);\n el.addEventListener(\"touchcancel\", touchCancelHandler);\n }\n addPath(key, generator, override = false) {\n if (!guardCheck(this) || (!override && this.pathGenerators.has(key))) {\n return false;\n }\n this.pathGenerators.set(key, generator !== null && generator !== void 0 ? generator : defaultPathGenerator);\n return true;\n }\n destroy() {\n if (!guardCheck(this)) {\n return;\n }\n this.stop();\n this.particles.destroy();\n this.canvas.destroy();\n for (const [, drawer] of this.drawers) {\n if (drawer.destroy) {\n drawer.destroy(this);\n }\n }\n for (const key of this.drawers.keys()) {\n this.drawers.delete(key);\n }\n this._engine.plugins.destroy(this);\n this.destroyed = true;\n const mainArr = this._engine.dom(), idx = mainArr.findIndex((t) => t === this);\n if (idx >= 0) {\n mainArr.splice(idx, 1);\n }\n this._engine.dispatchEvent(\"containerDestroyed\", { container: this });\n }\n draw(force) {\n if (!guardCheck(this)) {\n return;\n }\n let refreshTime = force;\n this._drawAnimationFrame = animate()(async (timestamp) => {\n if (refreshTime) {\n this.lastFrameTime = undefined;\n refreshTime = false;\n }\n await this.frameManager.nextFrame(timestamp);\n });\n }\n exportConfiguration() {\n return JSON.stringify(this.actualOptions, (key, value) => {\n if (key === \"_engine\" || key === \"_container\") {\n return;\n }\n return value;\n }, 2);\n }\n exportImage(callback, type, quality) {\n const element = this.canvas.element;\n if (element) {\n element.toBlob(callback, type !== null && type !== void 0 ? type : \"image/png\", quality);\n }\n }\n exportImg(callback) {\n this.exportImage(callback);\n }\n getAnimationStatus() {\n return !this._paused && !this.pageHidden && guardCheck(this);\n }\n handleClickMode(mode) {\n if (!guardCheck(this)) {\n return;\n }\n this.particles.handleClickMode(mode);\n for (const [, plugin] of this.plugins) {\n if (plugin.handleClickMode) {\n plugin.handleClickMode(mode);\n }\n }\n }\n async init() {\n if (!guardCheck(this)) {\n return;\n }\n const shapes = this._engine.plugins.getSupportedShapes();\n for (const type of shapes) {\n const drawer = this._engine.plugins.getShapeDrawer(type);\n if (drawer) {\n this.drawers.set(type, drawer);\n }\n }\n this._options = loadContainerOptions(this._engine, this, this._initialSourceOptions, this.sourceOptions);\n this.actualOptions = loadContainerOptions(this._engine, this, this._options);\n const availablePlugins = this._engine.plugins.getAvailablePlugins(this);\n for (const [id, plugin] of availablePlugins) {\n this.plugins.set(id, plugin);\n }\n this.retina.init();\n await this.canvas.init();\n this.updateActualOptions();\n this.canvas.initBackground();\n this.canvas.resize();\n this.zLayers = this.actualOptions.zLayers;\n this.duration = getRangeValue(this.actualOptions.duration) * 1000;\n this._delay = getRangeValue(this.actualOptions.delay) * 1000;\n this.lifeTime = 0;\n this.fpsLimit = this.actualOptions.fpsLimit > 0 ? this.actualOptions.fpsLimit : 120;\n this.smooth = this.actualOptions.smooth;\n for (const [, drawer] of this.drawers) {\n if (drawer.init) {\n await drawer.init(this);\n }\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.init) {\n await plugin.init();\n }\n }\n this._engine.dispatchEvent(\"containerInit\", { container: this });\n this.particles.init();\n this.particles.setDensity();\n for (const [, plugin] of this.plugins) {\n if (plugin.particlesSetup) {\n plugin.particlesSetup();\n }\n }\n this._engine.dispatchEvent(\"particlesSetup\", { container: this });\n }\n async loadTheme(name) {\n if (!guardCheck(this)) {\n return;\n }\n this._currentTheme = name;\n await this.refresh();\n }\n pause() {\n if (!guardCheck(this)) {\n return;\n }\n if (this._drawAnimationFrame !== undefined) {\n cancelAnimation()(this._drawAnimationFrame);\n delete this._drawAnimationFrame;\n }\n if (this._paused) {\n return;\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.pause) {\n plugin.pause();\n }\n }\n if (!this.pageHidden) {\n this._paused = true;\n }\n this._engine.dispatchEvent(\"containerPaused\", { container: this });\n }\n play(force) {\n if (!guardCheck(this)) {\n return;\n }\n const needsUpdate = this._paused || force;\n if (this._firstStart && !this.actualOptions.autoPlay) {\n this._firstStart = false;\n return;\n }\n if (this._paused) {\n this._paused = false;\n }\n if (needsUpdate) {\n for (const [, plugin] of this.plugins) {\n if (plugin.play) {\n plugin.play();\n }\n }\n }\n this._engine.dispatchEvent(\"containerPlay\", { container: this });\n this.draw(needsUpdate || false);\n }\n async refresh() {\n if (!guardCheck(this)) {\n return;\n }\n this.stop();\n return this.start();\n }\n async reset() {\n if (!guardCheck(this)) {\n return;\n }\n this._options = loadContainerOptions(this._engine, this);\n return this.refresh();\n }\n setNoise(noiseOrGenerator, init, update) {\n if (!guardCheck(this)) {\n return;\n }\n this.setPath(noiseOrGenerator, init, update);\n }\n setPath(pathOrGenerator, init, update) {\n if (!pathOrGenerator || !guardCheck(this)) {\n return;\n }\n const pathGenerator = Object.assign({}, defaultPathGenerator);\n if (typeof pathOrGenerator === \"function\") {\n pathGenerator.generate = pathOrGenerator;\n if (init) {\n pathGenerator.init = init;\n }\n if (update) {\n pathGenerator.update = update;\n }\n }\n else {\n const oldGenerator = pathGenerator;\n pathGenerator.generate = pathOrGenerator.generate || oldGenerator.generate;\n pathGenerator.init = pathOrGenerator.init || oldGenerator.init;\n pathGenerator.update = pathOrGenerator.update || oldGenerator.update;\n }\n this.addPath(defaultPathGeneratorKey, pathGenerator, true);\n }\n async start() {\n if (!guardCheck(this) || this.started) {\n return;\n }\n await this.init();\n this.started = true;\n await new Promise((resolve) => {\n this._delayTimeout = setTimeout(async () => {\n this._eventListeners.addListeners();\n if (this.interactivity.element instanceof HTMLElement && this._intersectionObserver) {\n this._intersectionObserver.observe(this.interactivity.element);\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.start) {\n await plugin.start();\n }\n }\n this._engine.dispatchEvent(\"containerStarted\", { container: this });\n this.play();\n resolve();\n }, this._delay);\n });\n }\n stop() {\n if (!guardCheck(this) || !this.started) {\n return;\n }\n if (this._delayTimeout) {\n clearTimeout(this._delayTimeout);\n delete this._delayTimeout;\n }\n this._firstStart = true;\n this.started = false;\n this._eventListeners.removeListeners();\n this.pause();\n this.particles.clear();\n this.canvas.clear();\n if (this.interactivity.element instanceof HTMLElement && this._intersectionObserver) {\n this._intersectionObserver.unobserve(this.interactivity.element);\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.stop) {\n plugin.stop();\n }\n }\n for (const key of this.plugins.keys()) {\n this.plugins.delete(key);\n }\n this._sourceOptions = this._options;\n this._engine.dispatchEvent(\"containerStopped\", { container: this });\n }\n updateActualOptions() {\n this.actualOptions.responsive = [];\n const newMaxWidth = this.actualOptions.setResponsive(this.canvas.size.width, this.retina.pixelRatio, this._options);\n this.actualOptions.setTheme(this._currentTheme);\n if (this.responsiveMaxWidth === newMaxWidth) {\n return false;\n }\n this.responsiveMaxWidth = newMaxWidth;\n return true;\n }\n _intersectionManager(entries) {\n if (!guardCheck(this) || !this.actualOptions.pauseOnOutsideViewport) {\n return;\n }\n for (const entry of entries) {\n if (entry.target !== this.interactivity.element) {\n continue;\n }\n (entry.isIntersecting ? this.play : this.pause)();\n }\n }\n}\n","import { Container } from \"./Container\";\nimport { generatedAttribute } from \"./Utils/Constants\";\nimport { getRandom } from \"../Utils/NumberUtils\";\nimport { itemFromSingleOrMultiple } from \"../Utils/Utils\";\nasync function getDataFromUrl(jsonUrl, index) {\n const url = itemFromSingleOrMultiple(jsonUrl, index);\n if (!url) {\n return;\n }\n const response = await fetch(url);\n if (response.ok) {\n return response.json();\n }\n console.error(`tsParticles - Error ${response.status} while retrieving config file`);\n}\nexport class Loader {\n constructor(engine) {\n this._engine = engine;\n }\n load(tagId, options, index) {\n const params = { index, remote: false };\n if (typeof tagId === \"string\") {\n params.tagId = tagId;\n }\n else {\n params.options = tagId;\n }\n if (typeof options === \"number\") {\n params.index = options;\n }\n else {\n params.options = options !== null && options !== void 0 ? options : params.options;\n }\n return this.loadOptions(params);\n }\n async loadJSON(tagId, jsonUrl, index) {\n let url, id;\n if (typeof jsonUrl === \"number\" || jsonUrl === undefined) {\n url = tagId;\n }\n else {\n id = tagId;\n url = jsonUrl;\n }\n return this.loadRemoteOptions({ tagId: id, url, index, remote: true });\n }\n async loadOptions(params) {\n var _a, _b, _c;\n const tagId = (_a = params.tagId) !== null && _a !== void 0 ? _a : `tsparticles${Math.floor(getRandom() * 10000)}`, { index, url: jsonUrl, remote } = params, options = remote ? await getDataFromUrl(jsonUrl, index) : params.options;\n let domContainer = (_b = params.element) !== null && _b !== void 0 ? _b : document.getElementById(tagId);\n if (!domContainer) {\n domContainer = document.createElement(\"div\");\n domContainer.id = tagId;\n (_c = document.querySelector(\"body\")) === null || _c === void 0 ? void 0 : _c.append(domContainer);\n }\n const currentOptions = itemFromSingleOrMultiple(options, index), dom = this._engine.dom(), oldIndex = dom.findIndex((v) => v.id === tagId);\n if (oldIndex >= 0) {\n const old = this._engine.domItem(oldIndex);\n if (old && !old.destroyed) {\n old.destroy();\n dom.splice(oldIndex, 1);\n }\n }\n let canvasEl;\n if (domContainer.tagName.toLowerCase() === \"canvas\") {\n canvasEl = domContainer;\n canvasEl.dataset[generatedAttribute] = \"false\";\n }\n else {\n const existingCanvases = domContainer.getElementsByTagName(\"canvas\");\n if (existingCanvases.length) {\n canvasEl = existingCanvases[0];\n canvasEl.dataset[generatedAttribute] = \"false\";\n }\n else {\n canvasEl = document.createElement(\"canvas\");\n canvasEl.dataset[generatedAttribute] = \"true\";\n domContainer.appendChild(canvasEl);\n }\n }\n if (!canvasEl.style.width) {\n canvasEl.style.width = \"100%\";\n }\n if (!canvasEl.style.height) {\n canvasEl.style.height = \"100%\";\n }\n const newItem = new Container(this._engine, tagId, currentOptions);\n if (oldIndex >= 0) {\n dom.splice(oldIndex, 0, newItem);\n }\n else {\n dom.push(newItem);\n }\n newItem.canvas.loadCanvas(canvasEl);\n await newItem.start();\n return newItem;\n }\n async loadRemoteOptions(params) {\n return this.loadOptions(params);\n }\n async set(id, domContainer, options, index) {\n const params = { index, remote: false };\n if (typeof id === \"string\") {\n params.tagId = id;\n }\n else {\n params.element = id;\n }\n if (domContainer instanceof HTMLElement) {\n params.element = domContainer;\n }\n else {\n params.options = domContainer;\n }\n if (typeof options === \"number\") {\n params.index = options;\n }\n else {\n params.options = options !== null && options !== void 0 ? options : params.options;\n }\n return this.loadOptions(params);\n }\n async setJSON(id, domContainer, jsonUrl, index) {\n let url, newId, newIndex, element;\n if (id instanceof HTMLElement) {\n element = id;\n url = domContainer;\n newIndex = jsonUrl;\n }\n else {\n newId = id;\n element = domContainer;\n url = jsonUrl;\n newIndex = index;\n }\n return this.loadRemoteOptions({ tagId: newId, url, index: newIndex, element, remote: true });\n }\n}\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { executeOnSingleOrMultiple } from \"../../Utils/Utils\";\nfunction getItemsFromInitializer(container, map, initializers, force = false) {\n let res = map.get(container);\n if (!res || force) {\n res = [...initializers.values()].map((t) => t(container));\n map.set(container, res);\n }\n return res;\n}\nexport class Plugins {\n constructor(engine) {\n this._engine = engine;\n this.plugins = [];\n this._initializers = {\n interactors: new Map(),\n movers: new Map(),\n updaters: new Map(),\n };\n this.interactors = new Map();\n this.movers = new Map();\n this.updaters = new Map();\n this.presets = new Map();\n this.drawers = new Map();\n this.pathGenerators = new Map();\n }\n addInteractor(name, initInteractor) {\n this._initializers.interactors.set(name, initInteractor);\n }\n addParticleMover(name, initMover) {\n this._initializers.movers.set(name, initMover);\n }\n addParticleUpdater(name, initUpdater) {\n this._initializers.updaters.set(name, initUpdater);\n }\n addPathGenerator(type, pathGenerator) {\n if (!this.getPathGenerator(type)) {\n this.pathGenerators.set(type, pathGenerator);\n }\n }\n addPlugin(plugin) {\n if (!this.getPlugin(plugin.id)) {\n this.plugins.push(plugin);\n }\n }\n addPreset(presetKey, options, override = false) {\n if (override || !this.getPreset(presetKey)) {\n this.presets.set(presetKey, options);\n }\n }\n addShapeDrawer(types, drawer) {\n executeOnSingleOrMultiple(types, (type) => {\n if (!this.getShapeDrawer(type)) {\n this.drawers.set(type, drawer);\n }\n });\n }\n destroy(container) {\n this.updaters.delete(container);\n this.movers.delete(container);\n this.interactors.delete(container);\n }\n getAvailablePlugins(container) {\n const res = new Map();\n for (const plugin of this.plugins) {\n if (!plugin.needsPlugin(container.actualOptions)) {\n continue;\n }\n res.set(plugin.id, plugin.getPlugin(container));\n }\n return res;\n }\n getInteractors(container, force = false) {\n return getItemsFromInitializer(container, this.interactors, this._initializers.interactors, force);\n }\n getMovers(container, force = false) {\n return getItemsFromInitializer(container, this.movers, this._initializers.movers, force);\n }\n getPathGenerator(type) {\n return this.pathGenerators.get(type);\n }\n getPlugin(plugin) {\n return this.plugins.find((t) => t.id === plugin);\n }\n getPreset(preset) {\n return this.presets.get(preset);\n }\n getShapeDrawer(type) {\n return this.drawers.get(type);\n }\n getSupportedShapes() {\n return this.drawers.keys();\n }\n getUpdaters(container, force = false) {\n return getItemsFromInitializer(container, this.updaters, this._initializers.updaters, force);\n }\n loadOptions(options, sourceOptions) {\n for (const plugin of this.plugins) {\n plugin.loadOptions(options, sourceOptions);\n }\n }\n loadParticlesOptions(container, options, ...sourceOptions) {\n const updaters = this.updaters.get(container);\n if (!updaters) {\n return;\n }\n for (const updater of updaters) {\n if (updater.loadOptions) {\n updater.loadOptions(options, ...sourceOptions);\n }\n }\n }\n}\n","import { EventDispatcher } from \"./Utils/EventDispatcher\";\nimport { Loader } from \"./Core/Loader\";\nimport { Plugins } from \"./Core/Utils/Plugins\";\nexport class Engine {\n constructor() {\n this._domArray = [];\n this._eventDispatcher = new EventDispatcher();\n this._initialized = false;\n this._loader = new Loader(this);\n this.plugins = new Plugins(this);\n }\n addEventListener(type, listener) {\n this._eventDispatcher.addEventListener(type, listener);\n }\n async addInteractor(name, interactorInitializer) {\n this.plugins.addInteractor(name, interactorInitializer);\n await this.refresh();\n }\n async addMover(name, moverInitializer) {\n this.plugins.addParticleMover(name, moverInitializer);\n await this.refresh();\n }\n async addParticleUpdater(name, updaterInitializer) {\n this.plugins.addParticleUpdater(name, updaterInitializer);\n await this.refresh();\n }\n async addPathGenerator(name, generator) {\n this.plugins.addPathGenerator(name, generator);\n await this.refresh();\n }\n async addPlugin(plugin) {\n this.plugins.addPlugin(plugin);\n await this.refresh();\n }\n async addPreset(preset, options, override = false) {\n this.plugins.addPreset(preset, options, override);\n await this.refresh();\n }\n async addShape(shape, drawer, init, afterEffect, destroy) {\n let customDrawer;\n if (typeof drawer === \"function\") {\n customDrawer = {\n afterEffect: afterEffect,\n destroy: destroy,\n draw: drawer,\n init: init,\n };\n }\n else {\n customDrawer = drawer;\n }\n this.plugins.addShapeDrawer(shape, customDrawer);\n await this.refresh();\n }\n dispatchEvent(type, args) {\n this._eventDispatcher.dispatchEvent(type, args);\n }\n dom() {\n return this._domArray;\n }\n domItem(index) {\n const dom = this.dom(), item = dom[index];\n if (item && !item.destroyed) {\n return item;\n }\n dom.splice(index, 1);\n }\n init() {\n if (!this._initialized) {\n this._initialized = true;\n }\n }\n async load(tagId, options) {\n return this._loader.load(tagId, options);\n }\n async loadFromArray(tagId, options, index) {\n return this._loader.load(tagId, options, index);\n }\n async loadJSON(tagId, pathConfigJson, index) {\n return this._loader.loadJSON(tagId, pathConfigJson, index);\n }\n async refresh() {\n for (const instance of this.dom()) {\n await instance.refresh();\n }\n }\n removeEventListener(type, listener) {\n this._eventDispatcher.removeEventListener(type, listener);\n }\n async set(id, element, options) {\n return this._loader.set(id, element, options);\n }\n async setJSON(id, element, pathConfigJson, index) {\n return this._loader.setJSON(id, element, pathConfigJson, index);\n }\n setOnClickHandler(callback) {\n const dom = this.dom();\n if (!dom.length) {\n throw new Error(\"Can only set click handlers after calling tsParticles.load() or tsParticles.loadJSON()\");\n }\n for (const domItem of dom) {\n domItem.addClickHandler(callback);\n }\n }\n}\n","import { getRangeValue, parseAlpha } from \"./NumberUtils\";\nimport { hslToRgb, hslaToRgba } from \"./ColorUtils\";\nexport class HslColorManager {\n constructor() {\n this.key = \"hsl\";\n this.stringPrefix = \"hsl\";\n }\n handleColor(color) {\n var _a;\n const colorValue = color.value, hslColor = (_a = colorValue.hsl) !== null && _a !== void 0 ? _a : color.value;\n if (hslColor.h !== undefined && hslColor.s !== undefined && hslColor.l !== undefined) {\n return hslToRgb(hslColor);\n }\n }\n handleRangeColor(color) {\n var _a;\n const colorValue = color.value, hslColor = (_a = colorValue.hsl) !== null && _a !== void 0 ? _a : color.value;\n if (hslColor.h !== undefined && hslColor.l !== undefined) {\n return hslToRgb({\n h: getRangeValue(hslColor.h),\n l: getRangeValue(hslColor.l),\n s: getRangeValue(hslColor.s),\n });\n }\n }\n parseString(input) {\n if (!input.startsWith(\"hsl\")) {\n return;\n }\n const regex = /hsla?\\(\\s*(\\d+)\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(,\\s*([\\d.%]+)\\s*)?\\)/i, result = regex.exec(input);\n return result\n ? hslaToRgba({\n a: result.length > 4 ? parseAlpha(result[5]) : 1,\n h: parseInt(result[1], 10),\n l: parseInt(result[3], 10),\n s: parseInt(result[2], 10),\n })\n : undefined;\n }\n}\n","import { getRangeValue, parseAlpha } from \"./NumberUtils\";\nexport class RgbColorManager {\n constructor() {\n this.key = \"rgb\";\n this.stringPrefix = \"rgb\";\n }\n handleColor(color) {\n var _a;\n const colorValue = color.value, rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;\n if (rgbColor.r !== undefined) {\n return rgbColor;\n }\n }\n handleRangeColor(color) {\n var _a;\n const colorValue = color.value, rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;\n if (rgbColor.r !== undefined) {\n return {\n r: getRangeValue(rgbColor.r),\n g: getRangeValue(rgbColor.g),\n b: getRangeValue(rgbColor.b),\n };\n }\n }\n parseString(input) {\n if (!input.startsWith(this.stringPrefix)) {\n return;\n }\n const regex = /rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*([\\d.%]+)\\s*)?\\)/i, result = regex.exec(input);\n return result\n ? {\n a: result.length > 4 ? parseAlpha(result[5]) : 1,\n b: parseInt(result[3], 10),\n g: parseInt(result[2], 10),\n r: parseInt(result[1], 10),\n }\n : undefined;\n }\n}\n","export class ExternalInteractorBase {\n constructor(container) {\n this.container = container;\n this.type = \"external\";\n }\n}\n","export class ParticlesInteractorBase {\n constructor(container) {\n this.container = container;\n this.type = \"particles\";\n }\n}\n","import { Engine } from \"./engine\";\nimport { HslColorManager } from \"./Utils/HslColorManager\";\nimport { RgbColorManager } from \"./Utils/RgbColorManager\";\nimport { addColorManager } from \"./Utils/ColorUtils\";\nconst rgbColorManager = new RgbColorManager(), hslColorManager = new HslColorManager();\naddColorManager(rgbColorManager);\naddColorManager(hslColorManager);\nconst tsParticles = new Engine();\ntsParticles.init();\nexport * from \"./Core/Interfaces/Colors\";\nexport * from \"./Core/Interfaces/IBounds\";\nexport * from \"./Core/Interfaces/IBubbleParticleData\";\nexport * from \"./Core/Interfaces/ICircleBouncer\";\nexport * from \"./Core/Interfaces/IColorManager\";\nexport * from \"./Core/Interfaces/IContainerInteractivity\";\nexport * from \"./Core/Interfaces/IContainerPlugin\";\nexport * from \"./Core/Interfaces/ICoordinates\";\nexport * from \"./Core/Interfaces/IDelta\";\nexport * from \"./Core/Interfaces/IDimension\";\nexport * from \"./Core/Interfaces/IDistance\";\nexport * from \"./Core/Interfaces/IExternalInteractor\";\nexport * from \"./Core/Interfaces/IInteractor\";\nexport * from \"./Core/Interfaces/IMouseData\";\nexport * from \"./Core/Interfaces/IMovePathGenerator\";\nexport * from \"./Core/Interfaces/IParticle\";\nexport * from \"./Core/Interfaces/IParticleColorStyle\";\nexport * from \"./Core/Interfaces/IParticleHslAnimation\";\nexport * from \"./Core/Interfaces/IParticlesInteractor\";\nexport * from \"./Core/Interfaces/IParticleLife\";\nexport * from \"./Core/Interfaces/IParticleRetinaProps\";\nexport * from \"./Core/Interfaces/IParticleRoll\";\nexport * from \"./Core/Interfaces/IParticleTransformValues\";\nexport * from \"./Core/Interfaces/IParticleUpdater\";\nexport * from \"./Core/Interfaces/IParticleValueAnimation\";\nexport * from \"./Core/Interfaces/IParticlesMover\";\nexport * from \"./Core/Interfaces/IPlugin\";\nexport * from \"./Core/Interfaces/IRangeValue\";\nexport * from \"./Core/Interfaces/IRectSideResult\";\nexport * from \"./Core/Interfaces/IShapeDrawer\";\nexport * from \"./Core/Interfaces/IShapeValues\";\nexport * from \"./Core/Interfaces/ISlowParticleData\";\nexport * from \"./Core/Utils/Circle\";\nexport * from \"./Core/Utils/Constants\";\nexport * from \"./Core/Utils/ExternalInteractorBase\";\nexport * from \"./Core/Utils/ParticlesInteractorBase\";\nexport * from \"./Core/Utils/Point\";\nexport * from \"./Core/Utils/Range\";\nexport * from \"./Core/Utils/Rectangle\";\nexport * from \"./Core/Utils/Vector\";\nexport * from \"./Core/Utils/Vector3d\";\nexport * from \"./Enums/Directions/MoveDirection\";\nexport * from \"./Enums/Directions/RotateDirection\";\nexport * from \"./Enums/Directions/OutModeDirection\";\nexport * from \"./Enums/Modes/ClickMode\";\nexport * from \"./Enums/Modes/DivMode\";\nexport * from \"./Enums/Modes/HoverMode\";\nexport * from \"./Enums/Modes/CollisionMode\";\nexport * from \"./Enums/Modes/OutMode\";\nexport * from \"./Enums/Modes/SizeMode\";\nexport * from \"./Enums/Modes/ThemeMode\";\nexport * from \"./Enums/Modes/ResponsiveMode\";\nexport * from \"./Enums/Types/AlterType\";\nexport * from \"./Enums/Types/DestroyType\";\nexport * from \"./Enums/Types/GradientType\";\nexport * from \"./Enums/Types/InteractorType\";\nexport * from \"./Enums/Types/ParticleOutType\";\nexport * from \"./Enums/Types/StartValueType\";\nexport * from \"./Enums/Types/DivType\";\nexport * from \"./Enums/Types/EasingType\";\nexport * from \"./Enums/Types/EventType\";\nexport * from \"./Enums/AnimationStatus\";\nexport * from \"./Enums/InteractivityDetect\";\nexport * from \"./Options/Classes/AnimatableColor\";\nexport * from \"./Options/Classes/AnimationOptions\";\nexport * from \"./Options/Classes/Background/Background\";\nexport * from \"./Options/Classes/BackgroundMask/BackgroundMask\";\nexport * from \"./Options/Classes/BackgroundMask/BackgroundMaskCover\";\nexport * from \"./Options/Classes/ColorAnimation\";\nexport * from \"./Options/Classes/FullScreen/FullScreen\";\nexport * from \"./Options/Classes/HslAnimation\";\nexport * from \"./Options/Classes/Interactivity/Events/ClickEvent\";\nexport * from \"./Options/Classes/Interactivity/Events/DivEvent\";\nexport * from \"./Options/Classes/Interactivity/Events/ClickEvent\";\nexport * from \"./Options/Classes/Interactivity/Events/DivEvent\";\nexport * from \"./Options/Classes/Interactivity/Events/Events\";\nexport * from \"./Options/Classes/Interactivity/Events/HoverEvent\";\nexport * from \"./Options/Classes/Interactivity/Events/Parallax\";\nexport * from \"./Options/Classes/Interactivity/Interactivity\";\nexport * from \"./Options/Classes/Interactivity/Modes/Modes\";\nexport * from \"./Options/Classes/ManualParticle\";\nexport * from \"./Options/Classes/Options\";\nexport * from \"./Options/Classes/OptionsColor\";\nexport * from \"./Options/Classes/Particles/Bounce/ParticlesBounce\";\nexport * from \"./Options/Classes/Particles/Bounce/ParticlesBounceFactor\";\nexport * from \"./Options/Classes/Particles/Collisions/Collisions\";\nexport * from \"./Options/Classes/Particles/Collisions/CollisionsOverlap\";\nexport * from \"./Options/Classes/Particles/ParticlesOptions\";\nexport * from \"./Options/Classes/Particles/Shadow\";\nexport * from \"./Options/Classes/Particles/Stroke\";\nexport * from \"./Options/Classes/Particles/Move/MoveAttract\";\nexport * from \"./Options/Classes/Particles/Move/Move\";\nexport * from \"./Options/Classes/Particles/Move/MoveAngle\";\nexport * from \"./Options/Classes/Particles/Move/MoveCenter\";\nexport * from \"./Options/Classes/Particles/Move/MoveGravity\";\nexport * from \"./Options/Classes/Particles/Move/OutModes\";\nexport * from \"./Options/Classes/Particles/Move/Path/MovePath\";\nexport * from \"./Options/Classes/Particles/Move/Spin\";\nexport * from \"./Options/Classes/Particles/Move/MoveTrail\";\nexport * from \"./Options/Classes/Particles/Number/ParticlesNumber\";\nexport * from \"./Options/Classes/Particles/Number/ParticlesDensity\";\nexport * from \"./Options/Classes/Particles/Opacity/Opacity\";\nexport * from \"./Options/Classes/Particles/Opacity/OpacityAnimation\";\nexport * from \"./Options/Classes/Particles/Shape/Shape\";\nexport * from \"./Options/Classes/Particles/Size/Size\";\nexport * from \"./Options/Classes/Particles/Size/SizeAnimation\";\nexport * from \"./Options/Classes/Particles/ZIndex/ZIndex\";\nexport * from \"./Options/Classes/Responsive\";\nexport * from \"./Options/Classes/Theme/Theme\";\nexport * from \"./Options/Classes/Theme/ThemeDefault\";\nexport * from \"./Options/Classes/ValueWithRandom\";\nexport * from \"./Options/Interfaces/Background/IBackground\";\nexport * from \"./Options/Interfaces/BackgroundMask/IBackgroundMask\";\nexport * from \"./Options/Interfaces/BackgroundMask/IBackgroundMaskCover\";\nexport * from \"./Options/Interfaces/FullScreen/IFullScreen\";\nexport * from \"./Options/Interfaces/IAnimatable\";\nexport * from \"./Options/Interfaces/IAnimatableColor\";\nexport * from \"./Options/Interfaces/IAnimation\";\nexport * from \"./Options/Interfaces/IColorAnimation\";\nexport * from \"./Options/Interfaces/IHslAnimation\";\nexport * from \"./Options/Interfaces/IManualParticle\";\nexport * from \"./Options/Interfaces/IOptionLoader\";\nexport * from \"./Options/Interfaces/IOptions\";\nexport * from \"./Options/Interfaces/IOptionsColor\";\nexport * from \"./Options/Interfaces/IResponsive\";\nexport * from \"./Options/Interfaces/IValueWithRandom\";\nexport * from \"./Options/Interfaces/Interactivity/Events/IClickEvent\";\nexport * from \"./Options/Interfaces/Interactivity/Events/IDivEvent\";\nexport * from \"./Options/Interfaces/Interactivity/Events/IEvents\";\nexport * from \"./Options/Interfaces/Interactivity/Events/IHoverEvent\";\nexport * from \"./Options/Interfaces/Interactivity/Events/IParallax\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IModeDiv\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IModes\";\nexport * from \"./Options/Interfaces/Interactivity/IInteractivity\";\nexport * from \"./Options/Interfaces/Particles/Bounce/IParticlesBounce\";\nexport * from \"./Options/Interfaces/Particles/Collisions/ICollisions\";\nexport * from \"./Options/Interfaces/Particles/Collisions/ICollisionsOverlap\";\nexport * from \"./Options/Interfaces/Particles/IParticlesOptions\";\nexport * from \"./Options/Interfaces/Particles/IShadow\";\nexport * from \"./Options/Interfaces/Particles/IStroke\";\nexport * from \"./Options/Interfaces/Particles/Move/IMoveAttract\";\nexport * from \"./Options/Interfaces/Particles/Move/IMove\";\nexport * from \"./Options/Interfaces/Particles/Move/IMoveAngle\";\nexport * from \"./Options/Interfaces/Particles/Move/IMoveCenter\";\nexport * from \"./Options/Interfaces/Particles/Move/IMoveGravity\";\nexport * from \"./Options/Interfaces/Particles/Move/Path/IMovePath\";\nexport * from \"./Options/Interfaces/Particles/Move/IOutModes\";\nexport * from \"./Options/Interfaces/Particles/Move/ISpin\";\nexport * from \"./Options/Interfaces/Particles/Move/IMoveTrail\";\nexport * from \"./Options/Interfaces/Particles/Number/IParticlesDensity\";\nexport * from \"./Options/Interfaces/Particles/Number/IParticlesNumber\";\nexport * from \"./Options/Interfaces/Particles/Opacity/IOpacity\";\nexport * from \"./Options/Interfaces/Particles/Opacity/IOpacityAnimation\";\nexport * from \"./Options/Interfaces/Particles/Shape/ICharacterShape\";\nexport * from \"./Options/Interfaces/Particles/Shape/IImageShape\";\nexport * from \"./Options/Interfaces/Particles/Shape/IPolygonShape\";\nexport * from \"./Options/Interfaces/Particles/Shape/IShape\";\nexport * from \"./Options/Interfaces/Particles/Shape/IShapeValues\";\nexport * from \"./Options/Interfaces/Particles/Shape/IStarShape\";\nexport * from \"./Options/Interfaces/Particles/Size/ISize\";\nexport * from \"./Options/Interfaces/Particles/Size/ISizeAnimation\";\nexport * from \"./Options/Interfaces/Particles/ZIndex/IZIndex\";\nexport * from \"./Options/Interfaces/Theme/ITheme\";\nexport * from \"./Options/Interfaces/Theme/IThemeDefault\";\nexport * from \"./Types/CustomEventArgs\";\nexport * from \"./Types/CustomEventListener\";\nexport * from \"./Types/ParticlesGroups\";\nexport * from \"./Types/PathOptions\";\nexport * from \"./Types/RangeValue\";\nexport * from \"./Types/RecursivePartial\";\nexport * from \"./Types/ShapeData\";\nexport * from \"./Types/ShapeDrawerFunctions\";\nexport * from \"./Types/SingleOrMultiple\";\nexport * from \"./Utils/CanvasUtils\";\nexport * from \"./Utils/ColorUtils\";\nexport * from \"./Utils/HslColorManager\";\nexport * from \"./Utils/NumberUtils\";\nexport * from \"./Utils/OptionsUtils\";\nexport * from \"./Utils/RgbColorManager\";\nexport * from \"./Utils/Utils\";\nexport { tsParticles };\nexport { CollisionsAbsorb } from \"./Options/Classes/Particles/Collisions/CollisionsAbsorb\";\nexport { ResizeEvent } from \"./Options/Classes/Interactivity/Events/ResizeEvent\";\n","import React, { Component } from \"react\";\nimport { tsParticles } from \"tsparticles-engine\";\nimport equal from \"fast-deep-equal/react\";\nconst defaultId = \"tsparticles\";\nexport default class Particles extends Component {\n constructor(props) {\n super(props);\n this.state = {\n init: false,\n library: undefined,\n };\n }\n destroy() {\n if (!this.state.library) {\n return;\n }\n this.state.library.destroy();\n this.setState({\n library: undefined,\n });\n }\n shouldComponentUpdate(nextProps) {\n return !equal(nextProps, this.props);\n }\n componentDidUpdate() {\n this.refresh();\n }\n forceUpdate() {\n this.refresh().then(() => {\n super.forceUpdate();\n });\n }\n componentDidMount() {\n (async () => {\n if (this.props.init) {\n await this.props.init(tsParticles);\n }\n this.setState({\n init: true,\n }, async () => {\n await this.loadParticles();\n });\n })();\n }\n componentWillUnmount() {\n this.destroy();\n }\n render() {\n const { width, height, className, canvasClassName, id } = this.props;\n return (React.createElement(\"div\", { className: className, id: id },\n React.createElement(\"canvas\", { className: canvasClassName, style: Object.assign(Object.assign({}, this.props.style), { width,\n height }) })));\n }\n async refresh() {\n this.destroy();\n await this.loadParticles();\n }\n async loadParticles() {\n var _a, _b, _c;\n if (!this.state.init) {\n return;\n }\n const cb = async (container) => {\n if (this.props.container) {\n this.props.container.current = container;\n }\n this.setState({\n library: container,\n });\n if (this.props.loaded) {\n await this.props.loaded(container);\n }\n };\n const id = (_b = (_a = this.props.id) !== null && _a !== void 0 ? _a : Particles.defaultProps.id) !== null && _b !== void 0 ? _b : defaultId, container = this.props.url\n ? await tsParticles.loadJSON(id, this.props.url)\n : await tsParticles.load(id, (_c = this.props.params) !== null && _c !== void 0 ? _c : this.props.options);\n await cb(container);\n }\n}\nParticles.defaultProps = {\n width: \"100%\",\n height: \"100%\",\n options: {},\n style: {},\n url: undefined,\n id: defaultId,\n};\n","import Particles from \"./Particles\";\nexport default Particles;\nexport { Particles };\n","export class AbsorberSizeLimit {\n constructor() {\n this.radius = 0;\n this.mass = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.mass !== undefined) {\n this.mass = data.mass;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n","import { AbsorberSizeLimit } from \"./AbsorberSizeLimit\";\nimport { ValueWithRandom } from \"tsparticles-engine\";\nexport class AbsorberSize extends ValueWithRandom {\n constructor() {\n super();\n this.density = 5;\n this.value = 50;\n this.limit = new AbsorberSizeLimit();\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.density !== undefined) {\n this.density = data.density;\n }\n if (typeof data.limit === \"number\") {\n this.limit.radius = data.limit;\n }\n else {\n this.limit.load(data.limit);\n }\n }\n}\n","import { OptionsColor, setRangeValue } from \"tsparticles-engine\";\nimport { AbsorberSize } from \"./AbsorberSize\";\nexport class Absorber {\n constructor() {\n this.color = new OptionsColor();\n this.color.value = \"#000000\";\n this.draggable = false;\n this.opacity = 1;\n this.destroy = true;\n this.orbits = false;\n this.size = new AbsorberSize();\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.draggable !== undefined) {\n this.draggable = data.draggable;\n }\n this.name = data.name;\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = setRangeValue(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = setRangeValue(data.position.y);\n }\n }\n if (data.size !== undefined) {\n this.size.load(data.size);\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.orbits !== undefined) {\n this.orbits = data.orbits;\n }\n }\n}\n","import { Vector, calcPositionOrRandomFromSize, calcPositionOrRandomFromSizeRanged, getDistance, getDistances, getRandom, getRangeValue, getStyleFromRgb, isPointInside, rangeColorToRgb, } from \"tsparticles-engine\";\nimport { Absorber } from \"./Options/Classes/Absorber\";\nexport class AbsorberInstance {\n constructor(absorbers, container, options, position) {\n var _a, _b, _c;\n this.absorbers = absorbers;\n this.container = container;\n this.initialPosition = position ? Vector.create(position.x, position.y) : undefined;\n if (options instanceof Absorber) {\n this.options = options;\n }\n else {\n this.options = new Absorber();\n this.options.load(options);\n }\n this.dragging = false;\n this.name = this.options.name;\n this.opacity = this.options.opacity;\n this.size = getRangeValue(this.options.size.value) * container.retina.pixelRatio;\n this.mass = this.size * this.options.size.density * container.retina.reduceFactor;\n const limit = this.options.size.limit;\n this.limit = {\n radius: limit.radius * container.retina.pixelRatio * container.retina.reduceFactor,\n mass: limit.mass,\n };\n this.color = (_a = rangeColorToRgb(this.options.color)) !== null && _a !== void 0 ? _a : {\n b: 0,\n g: 0,\n r: 0,\n };\n this.position = (_c = (_b = this.initialPosition) === null || _b === void 0 ? void 0 : _b.copy()) !== null && _c !== void 0 ? _c : this.calcPosition();\n }\n attract(particle) {\n const container = this.container, options = this.options;\n if (options.draggable) {\n const mouse = container.interactivity.mouse;\n if (mouse.clicking && mouse.downPosition) {\n const mouseDist = getDistance(this.position, mouse.downPosition);\n if (mouseDist <= this.size) {\n this.dragging = true;\n }\n }\n else {\n this.dragging = false;\n }\n if (this.dragging && mouse.position) {\n this.position.x = mouse.position.x;\n this.position.y = mouse.position.y;\n }\n }\n const pos = particle.getPosition(), { dx, dy, distance } = getDistances(this.position, pos), v = Vector.create(dx, dy);\n v.length = (this.mass / Math.pow(distance, 2)) * container.retina.reduceFactor;\n if (distance < this.size + particle.getRadius()) {\n const sizeFactor = particle.getRadius() * 0.033 * container.retina.pixelRatio;\n if ((this.size > particle.getRadius() && distance < this.size - particle.getRadius()) ||\n (particle.absorberOrbit !== undefined && particle.absorberOrbit.length < 0)) {\n if (options.destroy) {\n particle.destroy();\n }\n else {\n particle.needsNewPosition = true;\n this.updateParticlePosition(particle, v);\n }\n }\n else {\n if (options.destroy) {\n particle.size.value -= sizeFactor;\n }\n this.updateParticlePosition(particle, v);\n }\n if (this.limit.radius <= 0 || this.size < this.limit.radius) {\n this.size += sizeFactor;\n }\n if (this.limit.mass <= 0 || this.mass < this.limit.mass) {\n this.mass += sizeFactor * this.options.size.density * container.retina.reduceFactor;\n }\n }\n else {\n this.updateParticlePosition(particle, v);\n }\n }\n draw(context) {\n context.translate(this.position.x, this.position.y);\n context.beginPath();\n context.arc(0, 0, this.size, 0, Math.PI * 2, false);\n context.closePath();\n context.fillStyle = getStyleFromRgb(this.color, this.opacity);\n context.fill();\n }\n resize() {\n const initialPosition = this.initialPosition;\n this.position =\n initialPosition && isPointInside(initialPosition, this.container.canvas.size, Vector.origin)\n ? initialPosition\n : this.calcPosition();\n }\n calcPosition() {\n const exactPosition = calcPositionOrRandomFromSizeRanged({\n size: this.container.canvas.size,\n position: this.options.position,\n });\n return Vector.create(exactPosition.x, exactPosition.y);\n }\n updateParticlePosition(particle, v) {\n var _a;\n if (particle.destroyed) {\n return;\n }\n const container = this.container, canvasSize = container.canvas.size;\n if (particle.needsNewPosition) {\n const newPosition = calcPositionOrRandomFromSize({ size: canvasSize });\n particle.position.setTo(newPosition);\n particle.velocity.setTo(particle.initialVelocity);\n particle.absorberOrbit = undefined;\n particle.needsNewPosition = false;\n }\n if (this.options.orbits) {\n if (particle.absorberOrbit === undefined) {\n particle.absorberOrbit = Vector.create(0, 0);\n particle.absorberOrbit.length = getDistance(particle.getPosition(), this.position);\n particle.absorberOrbit.angle = getRandom() * Math.PI * 2;\n }\n if (particle.absorberOrbit.length <= this.size && !this.options.destroy) {\n const minSize = Math.min(canvasSize.width, canvasSize.height);\n particle.absorberOrbit.length = minSize * (1 + (getRandom() * 0.2 - 0.1));\n }\n if (particle.absorberOrbitDirection === undefined) {\n particle.absorberOrbitDirection =\n particle.velocity.x >= 0 ? \"clockwise\" : \"counter-clockwise\";\n }\n const orbitRadius = particle.absorberOrbit.length, orbitAngle = particle.absorberOrbit.angle, orbitDirection = particle.absorberOrbitDirection;\n particle.velocity.setTo(Vector.origin);\n const updateFunc = {\n x: orbitDirection === \"clockwise\" ? Math.cos : Math.sin,\n y: orbitDirection === \"clockwise\" ? Math.sin : Math.cos,\n };\n particle.position.x = this.position.x + orbitRadius * updateFunc.x(orbitAngle);\n particle.position.y = this.position.y + orbitRadius * updateFunc.y(orbitAngle);\n particle.absorberOrbit.length -= v.length;\n particle.absorberOrbit.angle +=\n ((((_a = particle.retina.moveSpeed) !== null && _a !== void 0 ? _a : 0) * container.retina.pixelRatio) / 100) *\n container.retina.reduceFactor;\n }\n else {\n const addV = Vector.origin;\n addV.length = v.length;\n addV.angle = v.angle;\n particle.velocity.addTo(addV);\n }\n }\n}\n","import { executeOnSingleOrMultiple, itemFromSingleOrMultiple } from \"tsparticles-engine\";\nimport { AbsorberInstance } from \"./AbsorberInstance\";\nexport class Absorbers {\n constructor(container) {\n this.container = container;\n this.array = [];\n this.absorbers = [];\n this.interactivityAbsorbers = [];\n container.getAbsorber = (idxOrName) => idxOrName === undefined || typeof idxOrName === \"number\"\n ? this.array[idxOrName || 0]\n : this.array.find((t) => t.name === idxOrName);\n container.addAbsorber = (options, position) => this.addAbsorber(options, position);\n }\n addAbsorber(options, position) {\n const absorber = new AbsorberInstance(this, this.container, options, position);\n this.array.push(absorber);\n return absorber;\n }\n draw(context) {\n for (const absorber of this.array) {\n absorber.draw(context);\n }\n }\n handleClickMode(mode) {\n const absorberOptions = this.absorbers, modeAbsorbers = this.interactivityAbsorbers;\n if (mode === \"absorber\") {\n const absorbersModeOptions = itemFromSingleOrMultiple(modeAbsorbers), absorbersOptions = absorbersModeOptions !== null && absorbersModeOptions !== void 0 ? absorbersModeOptions : itemFromSingleOrMultiple(absorberOptions), aPosition = this.container.interactivity.mouse.clickPosition;\n this.addAbsorber(absorbersOptions, aPosition);\n }\n }\n async init() {\n this.absorbers = this.container.actualOptions.absorbers;\n this.interactivityAbsorbers = this.container.actualOptions.interactivity.modes.absorbers;\n executeOnSingleOrMultiple(this.absorbers, (absorber) => {\n this.addAbsorber(absorber);\n });\n }\n particleUpdate(particle) {\n for (const absorber of this.array) {\n absorber.attract(particle);\n if (particle.destroyed) {\n break;\n }\n }\n }\n removeAbsorber(absorber) {\n const index = this.array.indexOf(absorber);\n if (index >= 0) {\n this.array.splice(index, 1);\n }\n }\n resize() {\n for (const absorber of this.array) {\n absorber.resize();\n }\n }\n stop() {\n this.array = [];\n }\n}\n","import { executeOnSingleOrMultiple, isInArray } from \"tsparticles-engine\";\nimport { Absorber } from \"./Options/Classes/Absorber\";\nimport { Absorbers } from \"./Absorbers\";\nclass AbsorbersPlugin {\n constructor() {\n this.id = \"absorbers\";\n }\n getPlugin(container) {\n return new Absorbers(container);\n }\n loadOptions(options, source) {\n var _a, _b;\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n if (source === null || source === void 0 ? void 0 : source.absorbers) {\n options.absorbers = executeOnSingleOrMultiple(source.absorbers, (absorber) => {\n const tmp = new Absorber();\n tmp.load(absorber);\n return tmp;\n });\n }\n options.interactivity.modes.absorbers = executeOnSingleOrMultiple((_b = (_a = source === null || source === void 0 ? void 0 : source.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.absorbers, (absorber) => {\n const tmp = new Absorber();\n tmp.load(absorber);\n return tmp;\n });\n }\n needsPlugin(options) {\n var _a, _b, _c;\n if (!options) {\n return false;\n }\n const absorbers = options.absorbers;\n if (absorbers instanceof Array) {\n return !!absorbers.length;\n }\n else if (absorbers) {\n return true;\n }\n else if (((_c = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.events) === null || _b === void 0 ? void 0 : _b.onClick) === null || _c === void 0 ? void 0 : _c.mode) &&\n isInArray(\"absorber\", options.interactivity.events.onClick.mode)) {\n return true;\n }\n return false;\n }\n}\nexport async function loadAbsorbersPlugin(engine) {\n const plugin = new AbsorbersPlugin();\n await engine.addPlugin(plugin);\n}\nexport * from \"./AbsorberContainer\";\nexport * from \"./Enums/AbsorberClickMode\";\n","import { setRangeValue } from \"tsparticles-engine\";\nexport class DestroyBounds {\n load(data) {\n if (!data) {\n return;\n }\n if (data.bottom !== undefined) {\n this.bottom = setRangeValue(data.bottom);\n }\n if (data.left !== undefined) {\n this.left = setRangeValue(data.left);\n }\n if (data.right !== undefined) {\n this.right = setRangeValue(data.right);\n }\n if (data.top !== undefined) {\n this.top = setRangeValue(data.top);\n }\n }\n}\n","import { ValueWithRandom } from \"tsparticles-engine\";\nexport class SplitFactor extends ValueWithRandom {\n constructor() {\n super();\n this.value = 3;\n }\n}\n","import { ValueWithRandom } from \"tsparticles-engine\";\nexport class SplitRate extends ValueWithRandom {\n constructor() {\n super();\n this.value = { min: 4, max: 9 };\n }\n}\n","import { deepExtend, executeOnSingleOrMultiple } from \"tsparticles-engine\";\nimport { SplitFactor } from \"./SplitFactor\";\nimport { SplitRate } from \"./SplitRate\";\nexport class Split {\n constructor() {\n this.count = 1;\n this.factor = new SplitFactor();\n this.rate = new SplitRate();\n this.sizeOffset = true;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n this.factor.load(data.factor);\n this.rate.load(data.rate);\n this.particles = executeOnSingleOrMultiple(data.particles, (particles) => {\n return deepExtend({}, particles);\n });\n if (data.sizeOffset !== undefined) {\n this.sizeOffset = data.sizeOffset;\n }\n }\n}\n","import { DestroyBounds } from \"./DestroyBounds\";\nimport { Split } from \"./Split\";\nexport class Destroy {\n constructor() {\n this.bounds = new DestroyBounds();\n this.mode = \"none\";\n this.split = new Split();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.mode) {\n this.mode = data.mode;\n }\n if (data.bounds) {\n this.bounds.load(data.bounds);\n }\n this.split.load(data.split);\n }\n}\n","import { getRangeValue, getValue, itemFromSingleOrMultiple, loadParticlesOptions, randomInRange, setRangeValue, } from \"tsparticles-engine\";\nimport { Destroy } from \"./Options/Classes/Destroy\";\nexport class DestroyUpdater {\n constructor(engine, container) {\n this.engine = engine;\n this.container = container;\n }\n init(particle) {\n const container = this.container, particlesOptions = particle.options, destroyOptions = particlesOptions.destroy;\n if (!destroyOptions) {\n return;\n }\n particle.splitCount = 0;\n const destroyBounds = destroyOptions.bounds;\n if (!particle.destroyBounds) {\n particle.destroyBounds = {};\n }\n if (destroyBounds.bottom) {\n particle.destroyBounds.bottom = (getRangeValue(destroyBounds.bottom) * container.canvas.size.height) / 100;\n }\n if (destroyBounds.left) {\n particle.destroyBounds.left = (getRangeValue(destroyBounds.left) * container.canvas.size.width) / 100;\n }\n if (destroyBounds.right) {\n particle.destroyBounds.right = (getRangeValue(destroyBounds.right) * container.canvas.size.width) / 100;\n }\n if (destroyBounds.top) {\n particle.destroyBounds.top = (getRangeValue(destroyBounds.top) * container.canvas.size.height) / 100;\n }\n }\n isEnabled(particle) {\n return !particle.destroyed;\n }\n loadOptions(options, ...sources) {\n if (!options.destroy) {\n options.destroy = new Destroy();\n }\n for (const source of sources) {\n options.destroy.load(source === null || source === void 0 ? void 0 : source.destroy);\n }\n }\n particleDestroyed(particle, override) {\n if (override) {\n return;\n }\n const destroyOptions = particle.options.destroy;\n if (destroyOptions && destroyOptions.mode === \"split\") {\n this.split(particle);\n }\n }\n update(particle) {\n if (!this.isEnabled(particle)) {\n return;\n }\n const position = particle.getPosition(), bounds = particle.destroyBounds;\n if (!bounds) {\n return;\n }\n if ((bounds.bottom !== undefined && position.y >= bounds.bottom) ||\n (bounds.left !== undefined && position.x <= bounds.left) ||\n (bounds.right !== undefined && position.x >= bounds.right) ||\n (bounds.top !== undefined && position.y <= bounds.top)) {\n particle.destroy();\n }\n }\n addSplitParticle(parent, splitParticlesOptions) {\n const destroyOptions = parent.options.destroy;\n if (!destroyOptions) {\n return;\n }\n const splitOptions = destroyOptions.split, options = loadParticlesOptions(this.engine, this.container, parent.options), factor = getValue(splitOptions.factor);\n options.color.load({\n value: {\n hsl: parent.getFillColor(),\n },\n });\n options.move.load({\n center: {\n x: parent.position.x,\n y: parent.position.y,\n mode: \"precise\",\n },\n });\n if (typeof options.size.value === \"number\") {\n options.size.value /= factor;\n }\n else {\n options.size.value.min /= factor;\n options.size.value.max /= factor;\n }\n options.load(splitParticlesOptions);\n const offset = splitOptions.sizeOffset ? setRangeValue(-parent.size.value, parent.size.value) : 0, position = {\n x: parent.position.x + randomInRange(offset),\n y: parent.position.y + randomInRange(offset),\n };\n return this.container.particles.addParticle(position, options, parent.group, (particle) => {\n var _a;\n if (particle.size.value < 0.5) {\n return false;\n }\n particle.velocity.length = randomInRange(setRangeValue(parent.velocity.length, particle.velocity.length));\n particle.splitCount = ((_a = parent.splitCount) !== null && _a !== void 0 ? _a : 0) + 1;\n particle.unbreakable = true;\n setTimeout(() => {\n particle.unbreakable = false;\n }, 500);\n return true;\n });\n }\n split(particle) {\n const destroyOptions = particle.options.destroy;\n if (!destroyOptions) {\n return;\n }\n const splitOptions = destroyOptions.split;\n if (splitOptions.count >= 0 &&\n (particle.splitCount === undefined || particle.splitCount++ > splitOptions.count)) {\n return;\n }\n const rate = getValue(splitOptions.rate), particlesSplitOptions = itemFromSingleOrMultiple(splitOptions.particles);\n for (let i = 0; i < rate; i++) {\n this.addSplitParticle(particle, particlesSplitOptions);\n }\n }\n}\n","import { DestroyUpdater } from \"./DestroyUpdater\";\nexport async function loadDestroyUpdater(engine) {\n await engine.addParticleUpdater(\"destroy\", (container) => new DestroyUpdater(engine, container));\n}\n","import { getRandom } from \"tsparticles-engine\";\nexport class CircleShape {\n randomPosition(position, size, fill) {\n const generateTheta = (x, y) => {\n const u = getRandom() / 4.0, theta = Math.atan((y / x) * Math.tan(2 * Math.PI * u)), v = getRandom();\n if (v < 0.25) {\n return theta;\n }\n else if (v < 0.5) {\n return Math.PI - theta;\n }\n else if (v < 0.75) {\n return Math.PI + theta;\n }\n else {\n return -theta;\n }\n }, radius = (x, y, theta) => (x * y) / Math.sqrt((y * Math.cos(theta)) ** 2 + (x * Math.sin(theta)) ** 2), [a, b] = [size.width / 2, size.height / 2], randomTheta = generateTheta(a, b), maxRadius = radius(a, b, randomTheta), randomRadius = fill ? maxRadius * Math.sqrt(getRandom()) : maxRadius;\n return {\n x: position.x + randomRadius * Math.cos(randomTheta),\n y: position.y + randomRadius * Math.sin(randomTheta),\n };\n }\n}\n","export class EmitterLife {\n constructor() {\n this.wait = false;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.delay !== undefined) {\n this.delay = data.delay;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.wait !== undefined) {\n this.wait = data.wait;\n }\n }\n}\n","import { setRangeValue } from \"tsparticles-engine\";\nexport class EmitterRate {\n constructor() {\n this.quantity = 1;\n this.delay = 0.1;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.quantity !== undefined) {\n this.quantity = setRangeValue(data.quantity);\n }\n if (data.delay !== undefined) {\n this.delay = setRangeValue(data.delay);\n }\n }\n}\n","export class EmitterSize {\n constructor() {\n this.mode = \"percent\";\n this.height = 0;\n this.width = 0;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n","import { AnimatableColor, deepExtend, executeOnSingleOrMultiple, setRangeValue } from \"tsparticles-engine\";\nimport { EmitterLife } from \"./EmitterLife\";\nimport { EmitterRate } from \"./EmitterRate\";\nimport { EmitterSize } from \"./EmitterSize\";\nexport class Emitter {\n constructor() {\n this.autoPlay = true;\n this.fill = true;\n this.life = new EmitterLife();\n this.rate = new EmitterRate();\n this.shape = \"square\";\n this.startCount = 0;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n if (this.size === undefined) {\n this.size = new EmitterSize();\n }\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.domId = data.domId;\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n this.particles = executeOnSingleOrMultiple(data.particles, (particles) => {\n return deepExtend({}, particles);\n });\n this.rate.load(data.rate);\n if (data.shape !== undefined) {\n this.shape = data.shape;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = setRangeValue(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = setRangeValue(data.position.y);\n }\n }\n if (data.spawnColor !== undefined) {\n if (this.spawnColor === undefined) {\n this.spawnColor = new AnimatableColor();\n }\n this.spawnColor.load(data.spawnColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n","import { Vector, calcPositionOrRandomFromSizeRanged, deepExtend, getRangeValue, isPointInside, itemFromSingleOrMultiple, randomInRange, rangeColorToHsl, } from \"tsparticles-engine\";\nimport { Emitter } from \"./Options/Classes/Emitter\";\nimport { EmitterSize } from \"./Options/Classes/EmitterSize\";\nexport class EmitterInstance {\n constructor(engine, emitters, container, options, position) {\n var _a, _b, _c, _d, _e, _f, _g;\n var _h;\n this.emitters = emitters;\n this.container = container;\n this._engine = engine;\n this._currentDuration = 0;\n this._currentEmitDelay = 0;\n this._currentSpawnDelay = 0;\n this._initialPosition = position;\n if (options instanceof Emitter) {\n this.options = options;\n }\n else {\n this.options = new Emitter();\n this.options.load(options);\n }\n this._spawnDelay = (((_a = this.options.life.delay) !== null && _a !== void 0 ? _a : 0) * 1000) / this.container.retina.reduceFactor;\n this.position = (_b = this._initialPosition) !== null && _b !== void 0 ? _b : this.calcPosition();\n this.name = this.options.name;\n this._shape = (_c = this._engine.emitterShapeManager) === null || _c === void 0 ? void 0 : _c.getShape(this.options.shape);\n this.fill = this.options.fill;\n this._firstSpawn = !this.options.life.wait;\n this._startParticlesAdded = false;\n let particlesOptions = deepExtend({}, this.options.particles);\n particlesOptions !== null && particlesOptions !== void 0 ? particlesOptions : (particlesOptions = {});\n (_d = particlesOptions.move) !== null && _d !== void 0 ? _d : (particlesOptions.move = {});\n (_e = (_h = particlesOptions.move).direction) !== null && _e !== void 0 ? _e : (_h.direction = this.options.direction);\n if (this.options.spawnColor) {\n this.spawnColor = rangeColorToHsl(this.options.spawnColor);\n }\n this._paused = !this.options.autoPlay;\n this._particlesOptions = particlesOptions;\n this.size =\n (_f = this.options.size) !== null && _f !== void 0 ? _f : (() => {\n const size = new EmitterSize();\n size.load({\n height: 0,\n mode: \"percent\",\n width: 0,\n });\n return size;\n })();\n this._lifeCount = (_g = this.options.life.count) !== null && _g !== void 0 ? _g : -1;\n this._immortal = this._lifeCount <= 0;\n this._engine.dispatchEvent(\"emitterCreated\", {\n container,\n data: {\n emitter: this,\n },\n });\n this.play();\n }\n externalPause() {\n this._paused = true;\n this.pause();\n }\n externalPlay() {\n this._paused = false;\n this.play();\n }\n getPosition() {\n if (this.options.domId) {\n const container = this.container, element = document.getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect();\n return {\n x: (elRect.x + elRect.width / 2) * container.retina.pixelRatio,\n y: (elRect.y + elRect.height / 2) * container.retina.pixelRatio,\n };\n }\n }\n return this.position;\n }\n getSize() {\n const container = this.container;\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect();\n return {\n width: elRect.width * container.retina.pixelRatio,\n height: elRect.height * container.retina.pixelRatio,\n };\n }\n }\n return {\n width: this.size.mode === \"percent\"\n ? (container.canvas.size.width * this.size.width) / 100\n : this.size.width,\n height: this.size.mode === \"percent\"\n ? (container.canvas.size.height * this.size.height) / 100\n : this.size.height,\n };\n }\n pause() {\n if (this._paused) {\n return;\n }\n delete this._emitDelay;\n }\n play() {\n var _a;\n if (this._paused) {\n return;\n }\n if (!(this.container.retina.reduceFactor &&\n (this._lifeCount > 0 || this._immortal || !this.options.life.count) &&\n (this._firstSpawn || this._currentSpawnDelay >= ((_a = this._spawnDelay) !== null && _a !== void 0 ? _a : 0)))) {\n return;\n }\n if (this._emitDelay === undefined) {\n const delay = getRangeValue(this.options.rate.delay);\n this._emitDelay = (1000 * delay) / this.container.retina.reduceFactor;\n }\n if (this._lifeCount > 0 || this._immortal) {\n this.prepareToDie();\n }\n }\n resize() {\n const initialPosition = this._initialPosition;\n this.position =\n initialPosition && isPointInside(initialPosition, this.container.canvas.size, Vector.origin)\n ? initialPosition\n : this.calcPosition();\n }\n update(delta) {\n var _a, _b, _c;\n if (this._paused) {\n return;\n }\n if (this._firstSpawn) {\n this._firstSpawn = false;\n this._currentSpawnDelay = (_a = this._spawnDelay) !== null && _a !== void 0 ? _a : 0;\n this._currentEmitDelay = (_b = this._emitDelay) !== null && _b !== void 0 ? _b : 0;\n }\n if (!this._startParticlesAdded) {\n this._startParticlesAdded = true;\n this.emitParticles(this.options.startCount);\n }\n if (this._duration !== undefined) {\n this._currentDuration += delta.value;\n if (this._currentDuration >= this._duration) {\n this.pause();\n if (this._spawnDelay !== undefined) {\n delete this._spawnDelay;\n }\n if (!this._immortal) {\n this._lifeCount--;\n }\n if (this._lifeCount > 0 || this._immortal) {\n this.position = this.calcPosition();\n this._spawnDelay = (((_c = this.options.life.delay) !== null && _c !== void 0 ? _c : 0) * 1000) / this.container.retina.reduceFactor;\n }\n else {\n this.destroy();\n }\n this._currentDuration -= this._duration;\n delete this._duration;\n }\n }\n if (this._spawnDelay !== undefined) {\n this._currentSpawnDelay += delta.value;\n if (this._currentSpawnDelay >= this._spawnDelay) {\n this._engine.dispatchEvent(\"emitterPlay\", {\n container: this.container,\n });\n this.play();\n this._currentSpawnDelay -= this._currentSpawnDelay;\n delete this._spawnDelay;\n }\n }\n if (this._emitDelay !== undefined) {\n this._currentEmitDelay += delta.value;\n if (this._currentEmitDelay >= this._emitDelay) {\n this.emit();\n this._currentEmitDelay -= this._emitDelay;\n }\n }\n }\n calcPosition() {\n return calcPositionOrRandomFromSizeRanged({\n size: this.container.canvas.size,\n position: this.options.position,\n });\n }\n destroy() {\n this.emitters.removeEmitter(this);\n this._engine.dispatchEvent(\"emitterDestroyed\", {\n container: this.container,\n data: {\n emitter: this,\n },\n });\n }\n emit() {\n if (this._paused) {\n return;\n }\n const quantity = getRangeValue(this.options.rate.quantity);\n this.emitParticles(quantity);\n }\n emitParticles(quantity) {\n var _a, _b, _c;\n const position = this.getPosition(), size = this.getSize(), singleParticlesOptions = itemFromSingleOrMultiple(this._particlesOptions);\n for (let i = 0; i < quantity; i++) {\n const particlesOptions = deepExtend({}, singleParticlesOptions);\n if (this.spawnColor) {\n const hslAnimation = (_a = this.options.spawnColor) === null || _a === void 0 ? void 0 : _a.animation;\n if (hslAnimation) {\n this.spawnColor.h = this.setColorAnimation(hslAnimation.h, this.spawnColor.h, 360);\n this.spawnColor.s = this.setColorAnimation(hslAnimation.s, this.spawnColor.s, 100);\n this.spawnColor.l = this.setColorAnimation(hslAnimation.l, this.spawnColor.l, 100);\n }\n if (!particlesOptions.color) {\n particlesOptions.color = {\n value: this.spawnColor,\n };\n }\n else {\n particlesOptions.color.value = this.spawnColor;\n }\n }\n if (!position) {\n return;\n }\n const pPosition = (_c = (_b = this._shape) === null || _b === void 0 ? void 0 : _b.randomPosition(position, size, this.fill)) !== null && _c !== void 0 ? _c : position;\n this.container.particles.addParticle(pPosition, particlesOptions);\n }\n }\n prepareToDie() {\n var _a;\n if (this._paused) {\n return;\n }\n const duration = (_a = this.options.life) === null || _a === void 0 ? void 0 : _a.duration;\n if (this.container.retina.reduceFactor &&\n (this._lifeCount > 0 || this._immortal) &&\n duration !== undefined &&\n duration > 0) {\n this._duration = duration * 1000;\n }\n }\n setColorAnimation(animation, initValue, maxValue) {\n var _a;\n const container = this.container;\n if (!animation.enable) {\n return initValue;\n }\n const colorOffset = randomInRange(animation.offset), delay = getRangeValue(this.options.rate.delay), emitFactor = (1000 * delay) / container.retina.reduceFactor, colorSpeed = getRangeValue((_a = animation.speed) !== null && _a !== void 0 ? _a : 0);\n return (initValue + (colorSpeed * container.fpsLimit) / emitFactor + colorOffset * 3.6) % maxValue;\n }\n}\n","import { arrayRandomIndex, executeOnSingleOrMultiple, itemFromArray } from \"tsparticles-engine\";\nimport { Emitter } from \"./Options/Classes/Emitter\";\nimport { EmitterInstance } from \"./EmitterInstance\";\nexport class Emitters {\n constructor(engine, container) {\n this.container = container;\n this._engine = engine;\n this.array = [];\n this.emitters = [];\n this.interactivityEmitters = {\n random: {\n count: 1,\n enable: false,\n },\n value: [],\n };\n container.getEmitter = (idxOrName) => idxOrName === undefined || typeof idxOrName === \"number\"\n ? this.array[idxOrName || 0]\n : this.array.find((t) => t.name === idxOrName);\n container.addEmitter = (options, position) => this.addEmitter(options, position);\n container.removeEmitter = (idxOrName) => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n this.removeEmitter(emitter);\n }\n };\n container.playEmitter = (idxOrName) => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n emitter.externalPlay();\n }\n };\n container.pauseEmitter = (idxOrName) => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n emitter.externalPause();\n }\n };\n }\n addEmitter(options, position) {\n const emitterOptions = new Emitter();\n emitterOptions.load(options);\n const emitter = new EmitterInstance(this._engine, this, this.container, emitterOptions, position);\n this.array.push(emitter);\n return emitter;\n }\n handleClickMode(mode) {\n const emitterOptions = this.emitters, modeEmitters = this.interactivityEmitters;\n if (mode === \"emitter\") {\n let emittersModeOptions;\n if (modeEmitters && modeEmitters.value instanceof Array) {\n if (modeEmitters.value.length > 0 && modeEmitters.random.enable) {\n emittersModeOptions = [];\n const usedIndexes = [];\n for (let i = 0; i < modeEmitters.random.count; i++) {\n const idx = arrayRandomIndex(modeEmitters.value);\n if (usedIndexes.includes(idx) && usedIndexes.length < modeEmitters.value.length) {\n i--;\n continue;\n }\n usedIndexes.push(idx);\n emittersModeOptions.push(itemFromArray(modeEmitters.value, idx));\n }\n }\n else {\n emittersModeOptions = modeEmitters.value;\n }\n }\n else {\n emittersModeOptions = modeEmitters === null || modeEmitters === void 0 ? void 0 : modeEmitters.value;\n }\n const emittersOptions = emittersModeOptions !== null && emittersModeOptions !== void 0 ? emittersModeOptions : emitterOptions, ePosition = this.container.interactivity.mouse.clickPosition;\n executeOnSingleOrMultiple(emittersOptions, (emitter) => {\n this.addEmitter(emitter, ePosition);\n });\n }\n }\n async init() {\n this.emitters = this.container.actualOptions.emitters;\n this.interactivityEmitters = this.container.actualOptions.interactivity.modes.emitters;\n if (this.emitters instanceof Array) {\n for (const emitterOptions of this.emitters) {\n this.addEmitter(emitterOptions);\n }\n }\n else {\n this.addEmitter(this.emitters);\n }\n }\n pause() {\n for (const emitter of this.array) {\n emitter.pause();\n }\n }\n play() {\n for (const emitter of this.array) {\n emitter.play();\n }\n }\n removeEmitter(emitter) {\n const index = this.array.indexOf(emitter);\n if (index >= 0) {\n this.array.splice(index, 1);\n }\n }\n resize() {\n for (const emitter of this.array) {\n emitter.resize();\n }\n }\n stop() {\n this.array = [];\n }\n update(delta) {\n for (const emitter of this.array) {\n emitter.update(delta);\n }\n }\n}\n","const shapes = new Map();\nexport class ShapeManager {\n constructor(engine) {\n this._engine = engine;\n }\n addShape(name, drawer) {\n if (!this.getShape(name)) {\n shapes.set(name, drawer);\n }\n }\n getShape(name) {\n return shapes.get(name);\n }\n getSupportedShapes() {\n return shapes.keys();\n }\n}\n","import { getRandom } from \"tsparticles-engine\";\nfunction randomSquareCoordinate(position, offset) {\n return position + offset * (getRandom() - 0.5);\n}\nexport class SquareShape {\n randomPosition(position, size, fill) {\n if (fill) {\n return {\n x: randomSquareCoordinate(position.x, size.width),\n y: randomSquareCoordinate(position.y, size.height),\n };\n }\n else {\n const halfW = size.width / 2, halfH = size.height / 2, side = Math.floor(getRandom() * 4), v = (getRandom() - 0.5) * 2;\n switch (side) {\n case 0:\n return {\n x: position.x + v * halfW,\n y: position.y - halfH,\n };\n case 1:\n return {\n x: position.x - halfW,\n y: position.y + v * halfH,\n };\n case 2:\n return {\n x: position.x + v * halfW,\n y: position.y + halfH,\n };\n case 3:\n default:\n return {\n x: position.x + halfW,\n y: position.y + v * halfH,\n };\n }\n }\n }\n}\n","import { executeOnSingleOrMultiple, isInArray } from \"tsparticles-engine\";\nimport { CircleShape } from \"./Shapes/Circle/CircleShape\";\nimport { Emitter } from \"./Options/Classes/Emitter\";\nimport { Emitters } from \"./Emitters\";\nimport { ShapeManager } from \"./ShapeManager\";\nimport { SquareShape } from \"./Shapes/Square/SquareShape\";\nclass EmittersPlugin {\n constructor(engine) {\n this._engine = engine;\n this.id = \"emitters\";\n }\n getPlugin(container) {\n return new Emitters(this._engine, container);\n }\n loadOptions(options, source) {\n var _a, _b, _c, _d, _e, _f;\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n if (source === null || source === void 0 ? void 0 : source.emitters) {\n options.emitters = executeOnSingleOrMultiple(source.emitters, (emitter) => {\n const tmp = new Emitter();\n tmp.load(emitter);\n return tmp;\n });\n }\n const interactivityEmitters = (_b = (_a = source === null || source === void 0 ? void 0 : source.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.emitters;\n if (interactivityEmitters) {\n if (interactivityEmitters instanceof Array) {\n options.interactivity.modes.emitters = {\n random: {\n count: 1,\n enable: true,\n },\n value: interactivityEmitters.map((s) => {\n const tmp = new Emitter();\n tmp.load(s);\n return tmp;\n }),\n };\n }\n else {\n const emitterMode = interactivityEmitters;\n if (emitterMode.value !== undefined) {\n if (emitterMode.value instanceof Array) {\n options.interactivity.modes.emitters = {\n random: {\n count: (_c = emitterMode.random.count) !== null && _c !== void 0 ? _c : 1,\n enable: (_d = emitterMode.random.enable) !== null && _d !== void 0 ? _d : false,\n },\n value: emitterMode.value.map((s) => {\n const tmp = new Emitter();\n tmp.load(s);\n return tmp;\n }),\n };\n }\n else {\n const tmp = new Emitter();\n tmp.load(emitterMode.value);\n options.interactivity.modes.emitters = {\n random: {\n count: (_e = emitterMode.random.count) !== null && _e !== void 0 ? _e : 1,\n enable: (_f = emitterMode.random.enable) !== null && _f !== void 0 ? _f : false,\n },\n value: tmp,\n };\n }\n }\n else {\n const emitterOptions = (options.interactivity.modes.emitters = {\n random: {\n count: 1,\n enable: false,\n },\n value: new Emitter(),\n });\n emitterOptions.value.load(interactivityEmitters);\n }\n }\n }\n }\n needsPlugin(options) {\n var _a, _b, _c;\n if (!options) {\n return false;\n }\n const emitters = options.emitters;\n return ((emitters instanceof Array && !!emitters.length) ||\n emitters !== undefined ||\n (!!((_c = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.events) === null || _b === void 0 ? void 0 : _b.onClick) === null || _c === void 0 ? void 0 : _c.mode) &&\n isInArray(\"emitter\", options.interactivity.events.onClick.mode)));\n }\n}\nexport async function loadEmittersPlugin(engine) {\n if (!engine.emitterShapeManager) {\n engine.emitterShapeManager = new ShapeManager(engine);\n }\n if (!engine.addEmitterShape) {\n engine.addEmitterShape = (name, shape) => {\n var _a;\n (_a = engine.emitterShapeManager) === null || _a === void 0 ? void 0 : _a.addShape(name, shape);\n };\n }\n const plugin = new EmittersPlugin(engine);\n await engine.addPlugin(plugin);\n engine.addEmitterShape(\"circle\", new CircleShape());\n engine.addEmitterShape(\"square\", new SquareShape());\n}\nexport * from \"./EmitterContainer\";\nexport * from \"./EmittersEngine\";\nexport * from \"./Enums/EmitterClickMode\";\nexport * from \"./Enums/EmitterShapeType\";\n","import { deepExtend } from \"tsparticles-engine\";\nexport class Trail {\n constructor() {\n this.delay = 1;\n this.pauseOnStop = false;\n this.quantity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.delay !== undefined) {\n this.delay = data.delay;\n }\n if (data.quantity !== undefined) {\n this.quantity = data.quantity;\n }\n if (data.particles !== undefined) {\n this.particles = deepExtend({}, data.particles);\n }\n if (data.pauseOnStop !== undefined) {\n this.pauseOnStop = data.pauseOnStop;\n }\n }\n}\n","import { ExternalInteractorBase, isInArray } from \"tsparticles-engine\";\nimport { Trail } from \"./Options/Classes/Trail\";\nexport class TrailMaker extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n this._delay = 0;\n }\n clear() {\n }\n init() {\n }\n async interact(delta) {\n var _a, _b, _c, _d;\n if (!this.container.retina.reduceFactor) {\n return;\n }\n const container = this.container, options = container.actualOptions, trailOptions = options.interactivity.modes.trail;\n if (!trailOptions) {\n return;\n }\n const optDelay = (trailOptions.delay * 1000) / this.container.retina.reduceFactor;\n if (this._delay < optDelay) {\n this._delay += delta.value;\n }\n if (this._delay < optDelay) {\n return;\n }\n let canEmit = true;\n if (trailOptions.pauseOnStop) {\n if (container.interactivity.mouse.position === this._lastPosition ||\n (((_a = container.interactivity.mouse.position) === null || _a === void 0 ? void 0 : _a.x) === ((_b = this._lastPosition) === null || _b === void 0 ? void 0 : _b.x) &&\n ((_c = container.interactivity.mouse.position) === null || _c === void 0 ? void 0 : _c.y) === ((_d = this._lastPosition) === null || _d === void 0 ? void 0 : _d.y))) {\n canEmit = false;\n }\n }\n if (container.interactivity.mouse.position) {\n this._lastPosition = {\n x: container.interactivity.mouse.position.x,\n y: container.interactivity.mouse.position.y,\n };\n }\n else {\n delete this._lastPosition;\n }\n if (canEmit) {\n container.particles.push(trailOptions.quantity, container.interactivity.mouse, trailOptions.particles);\n }\n this._delay -= optDelay;\n }\n isEnabled(particle) {\n var _a;\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events;\n return ((mouse.clicking && mouse.inside && !!mouse.position && isInArray(\"trail\", events.onClick.mode)) ||\n (mouse.inside && !!mouse.position && isInArray(\"trail\", events.onHover.mode)));\n }\n loadModeOptions(options, ...sources) {\n if (!options.trail) {\n options.trail = new Trail();\n }\n for (const source of sources) {\n options.trail.load(source === null || source === void 0 ? void 0 : source.trail);\n }\n }\n reset() {\n }\n}\n","import { TrailMaker } from \"./TrailMaker\";\nexport async function loadExternalTrailInteraction(engine) {\n await engine.addInteractor(\"externalTrail\", (container) => new TrailMaker(container));\n}\nexport * from \"./Options/Classes/Trail\";\nexport * from \"./Options/Interfaces/ITrail\";\n","import { setRangeValue } from \"tsparticles-engine\";\nexport class RollLight {\n constructor() {\n this.enable = false;\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.value !== undefined) {\n this.value = setRangeValue(data.value);\n }\n }\n}\n","import { OptionsColor, setRangeValue } from \"tsparticles-engine\";\nimport { RollLight } from \"./RollLight\";\nexport class Roll {\n constructor() {\n this.darken = new RollLight();\n this.enable = false;\n this.enlighten = new RollLight();\n this.mode = \"vertical\";\n this.speed = 25;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.backColor !== undefined) {\n this.backColor = OptionsColor.create(this.backColor, data.backColor);\n }\n this.darken.load(data.darken);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.enlighten.load(data.enlighten);\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n }\n}\n","import { getRandom, getRangeValue, rangeColorToHsl } from \"tsparticles-engine\";\nimport { Roll } from \"./Options/Classes/Roll\";\nfunction updateRoll(particle, delta) {\n const roll = particle.options.roll;\n if (!particle.roll || !(roll === null || roll === void 0 ? void 0 : roll.enable)) {\n return;\n }\n const speed = particle.roll.speed * delta.factor, max = 2 * Math.PI;\n particle.roll.angle += speed;\n if (particle.roll.angle > max) {\n particle.roll.angle -= max;\n }\n}\nexport class RollUpdater {\n getTransformValues(particle) {\n var _a;\n const roll = ((_a = particle.roll) === null || _a === void 0 ? void 0 : _a.enable) && particle.roll, rollHorizontal = roll && roll.horizontal, rollVertical = roll && roll.vertical;\n return {\n a: rollHorizontal ? Math.cos(roll.angle) : undefined,\n d: rollVertical ? Math.sin(roll.angle) : undefined,\n };\n }\n init(particle) {\n const rollOpt = particle.options.roll;\n if (rollOpt === null || rollOpt === void 0 ? void 0 : rollOpt.enable) {\n particle.roll = {\n enable: rollOpt.enable,\n horizontal: rollOpt.mode === \"horizontal\" || rollOpt.mode === \"both\",\n vertical: rollOpt.mode === \"vertical\" || rollOpt.mode === \"both\",\n angle: getRandom() * Math.PI * 2,\n speed: getRangeValue(rollOpt.speed) / 360,\n };\n if (rollOpt.backColor) {\n particle.backColor = rangeColorToHsl(rollOpt.backColor);\n }\n else if (rollOpt.darken.enable && rollOpt.enlighten.enable) {\n const alterType = getRandom() >= 0.5 ? \"darken\" : \"enlighten\";\n particle.roll.alter = {\n type: alterType,\n value: getRangeValue(alterType === \"darken\" ? rollOpt.darken.value : rollOpt.enlighten.value),\n };\n }\n else if (rollOpt.darken.enable) {\n particle.roll.alter = {\n type: \"darken\",\n value: getRangeValue(rollOpt.darken.value),\n };\n }\n else if (rollOpt.enlighten.enable) {\n particle.roll.alter = {\n type: \"enlighten\",\n value: getRangeValue(rollOpt.enlighten.value),\n };\n }\n }\n else {\n particle.roll = {\n enable: false,\n horizontal: false,\n vertical: false,\n angle: 0,\n speed: 0,\n };\n }\n }\n isEnabled(particle) {\n const roll = particle.options.roll;\n return !particle.destroyed && !particle.spawning && !!(roll === null || roll === void 0 ? void 0 : roll.enable);\n }\n loadOptions(options, ...sources) {\n if (!options.roll) {\n options.roll = new Roll();\n }\n for (const source of sources) {\n options.roll.load(source === null || source === void 0 ? void 0 : source.roll);\n }\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateRoll(particle, delta);\n }\n}\n","import { RollUpdater } from \"./RollUpdater\";\nexport async function loadRollUpdater(engine) {\n await engine.addParticleUpdater(\"roll\", () => new RollUpdater());\n}\n","const initPjs = (engine) => {\n const particlesJS = (tagId, options) => {\n return engine.load(tagId, options);\n };\n particlesJS.load = (tagId, pathConfigJson, callback) => {\n engine\n .loadJSON(tagId, pathConfigJson)\n .then((container) => {\n if (container) {\n callback(container);\n }\n })\n .catch(() => {\n callback(undefined);\n });\n };\n particlesJS.setOnClickHandler = (callback) => {\n engine.setOnClickHandler(callback);\n };\n const pJSDom = engine.dom();\n return { particlesJS, pJSDom };\n};\nexport { initPjs };\n","import { setRangeValue } from \"tsparticles-engine\";\nexport class RotateAnimation {\n constructor() {\n this.enable = false;\n this.speed = 0;\n this.decay = 0;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n if (data.decay !== undefined) {\n this.decay = setRangeValue(data.decay);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { ValueWithRandom } from \"tsparticles-engine\";\nimport { RotateAnimation } from \"./RotateAnimation\";\nexport class Rotate extends ValueWithRandom {\n constructor() {\n super();\n this.animation = new RotateAnimation();\n this.direction = \"clockwise\";\n this.path = false;\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.animation.load(data.animation);\n if (data.path !== undefined) {\n this.path = data.path;\n }\n }\n}\n","import { getRandom, getRangeValue } from \"tsparticles-engine\";\nimport { Rotate } from \"./Options/Classes/Rotate\";\nfunction updateAngle(particle, delta) {\n var _a, _b;\n const rotate = particle.rotate, rotateOptions = particle.options.rotate;\n if (!rotate || !rotateOptions) {\n return;\n }\n const rotateAnimation = rotateOptions.animation, speed = ((_a = rotate.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor, max = 2 * Math.PI, decay = (_b = rotate.decay) !== null && _b !== void 0 ? _b : 1;\n if (!rotateAnimation.enable) {\n return;\n }\n switch (rotate.status) {\n case \"increasing\":\n rotate.value += speed;\n if (rotate.value > max) {\n rotate.value -= max;\n }\n break;\n case \"decreasing\":\n default:\n rotate.value -= speed;\n if (rotate.value < 0) {\n rotate.value += max;\n }\n break;\n }\n if (rotate.velocity && decay !== 1) {\n rotate.velocity *= decay;\n }\n}\nexport class RotateUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const rotateOptions = particle.options.rotate;\n if (!rotateOptions) {\n return;\n }\n particle.rotate = {\n enable: rotateOptions.animation.enable,\n value: (getRangeValue(rotateOptions.value) * Math.PI) / 180,\n };\n particle.pathRotation = rotateOptions.path;\n let rotateDirection = rotateOptions.direction;\n if (rotateDirection === \"random\") {\n const index = Math.floor(getRandom() * 2);\n rotateDirection = index > 0 ? \"counter-clockwise\" : \"clockwise\";\n }\n switch (rotateDirection) {\n case \"counter-clockwise\":\n case \"counterClockwise\":\n particle.rotate.status = \"decreasing\";\n break;\n case \"clockwise\":\n particle.rotate.status = \"increasing\";\n break;\n }\n const rotateAnimation = rotateOptions.animation;\n if (rotateAnimation.enable) {\n particle.rotate.decay = 1 - getRangeValue(rotateAnimation.decay);\n particle.rotate.velocity =\n (getRangeValue(rotateAnimation.speed) / 360) * this.container.retina.reduceFactor;\n if (!rotateAnimation.sync) {\n particle.rotate.velocity *= getRandom();\n }\n }\n particle.rotation = particle.rotate.value;\n }\n isEnabled(particle) {\n const rotate = particle.options.rotate;\n if (!rotate) {\n return false;\n }\n return !particle.destroyed && !particle.spawning && rotate.animation.enable && !rotate.path;\n }\n loadOptions(options, ...sources) {\n if (!options.rotate) {\n options.rotate = new Rotate();\n }\n for (const source of sources) {\n options.rotate.load(source === null || source === void 0 ? void 0 : source.rotate);\n }\n }\n update(particle, delta) {\n var _a, _b;\n if (!this.isEnabled(particle)) {\n return;\n }\n updateAngle(particle, delta);\n particle.rotation = (_b = (_a = particle.rotate) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 0;\n }\n}\n","import { RotateUpdater } from \"./RotateUpdater\";\nexport async function loadAngleUpdater(engine) {\n await engine.addParticleUpdater(\"rotate\", (container) => new RotateUpdater(container));\n}\n","import { getDistance, getRangeMax, getRangeValue } from \"tsparticles-engine\";\nimport { applyDistance, applyPath, getProximitySpeedFactor, spin } from \"./Utils\";\nexport class BaseMover {\n init(particle) {\n var _a;\n const container = particle.container, options = particle.options, gravityOptions = options.move.gravity, spinOptions = options.move.spin;\n particle.gravity = {\n enable: gravityOptions.enable,\n acceleration: getRangeValue(gravityOptions.acceleration),\n inverse: gravityOptions.inverse,\n };\n if (spinOptions.enable) {\n const spinPos = (_a = spinOptions.position) !== null && _a !== void 0 ? _a : { x: 50, y: 50 }, spinCenter = {\n x: (spinPos.x / 100) * container.canvas.size.width,\n y: (spinPos.y / 100) * container.canvas.size.height,\n }, pos = particle.getPosition(), distance = getDistance(pos, spinCenter), spinAcceleration = getRangeValue(spinOptions.acceleration);\n particle.retina.spinAcceleration = spinAcceleration * container.retina.pixelRatio;\n particle.spin = {\n center: spinCenter,\n direction: particle.velocity.x >= 0 ? \"clockwise\" : \"counter-clockwise\",\n angle: particle.velocity.angle,\n radius: distance,\n acceleration: particle.retina.spinAcceleration,\n };\n }\n }\n isEnabled(particle) {\n return !particle.destroyed && particle.options.move.enable;\n }\n move(particle, delta) {\n var _a, _b, _c;\n var _d, _e;\n const particleOptions = particle.options, moveOptions = particleOptions.move;\n if (!moveOptions.enable) {\n return;\n }\n const container = particle.container, slowFactor = getProximitySpeedFactor(particle), baseSpeed = ((_a = (_d = particle.retina).moveSpeed) !== null && _a !== void 0 ? _a : (_d.moveSpeed = getRangeValue(moveOptions.speed) * container.retina.pixelRatio)) *\n container.retina.reduceFactor, moveDrift = ((_b = (_e = particle.retina).moveDrift) !== null && _b !== void 0 ? _b : (_e.moveDrift = getRangeValue(particle.options.move.drift) * container.retina.pixelRatio)), maxSize = getRangeMax(particleOptions.size.value) * container.retina.pixelRatio, sizeFactor = moveOptions.size ? particle.getRadius() / maxSize : 1, speedFactor = sizeFactor * slowFactor * (delta.factor || 1), diffFactor = 2, moveSpeed = (baseSpeed * speedFactor) / diffFactor;\n if (moveOptions.spin.enable) {\n spin(particle, moveSpeed);\n }\n else {\n applyPath(particle, delta);\n const gravityOptions = particle.gravity, gravityFactor = (gravityOptions === null || gravityOptions === void 0 ? void 0 : gravityOptions.enable) && gravityOptions.inverse ? -1 : 1;\n if ((gravityOptions === null || gravityOptions === void 0 ? void 0 : gravityOptions.enable) && moveSpeed) {\n particle.velocity.y +=\n (gravityFactor * (gravityOptions.acceleration * delta.factor)) / (60 * moveSpeed);\n }\n if (moveDrift && moveSpeed) {\n particle.velocity.x += (moveDrift * delta.factor) / (60 * moveSpeed);\n }\n const decay = particle.moveDecay;\n if (decay != 1) {\n particle.velocity.multTo(decay);\n }\n const velocity = particle.velocity.mult(moveSpeed), maxSpeed = (_c = particle.retina.maxSpeed) !== null && _c !== void 0 ? _c : container.retina.maxSpeed;\n if ((gravityOptions === null || gravityOptions === void 0 ? void 0 : gravityOptions.enable) &&\n maxSpeed > 0 &&\n ((!gravityOptions.inverse && velocity.y >= 0 && velocity.y >= maxSpeed) ||\n (gravityOptions.inverse && velocity.y <= 0 && velocity.y <= -maxSpeed))) {\n velocity.y = gravityFactor * maxSpeed;\n if (moveSpeed) {\n particle.velocity.y = velocity.y / moveSpeed;\n }\n }\n const zIndexOptions = particle.options.zIndex, zVelocityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.velocityRate;\n if (zVelocityFactor != 1) {\n velocity.multTo(zVelocityFactor);\n }\n particle.position.addTo(velocity);\n if (moveOptions.vibrate) {\n particle.position.x += Math.sin(particle.position.x * Math.cos(particle.position.y));\n particle.position.y += Math.cos(particle.position.y * Math.sin(particle.position.x));\n }\n }\n applyDistance(particle);\n }\n}\n","import { clamp, getDistances, getRandom } from \"tsparticles-engine\";\nexport function applyDistance(particle) {\n const initialPosition = particle.initialPosition, { dx, dy } = getDistances(initialPosition, particle.position), dxFixed = Math.abs(dx), dyFixed = Math.abs(dy), hDistance = particle.retina.maxDistance.horizontal, vDistance = particle.retina.maxDistance.vertical;\n if (!hDistance && !vDistance) {\n return;\n }\n if (((hDistance && dxFixed >= hDistance) || (vDistance && dyFixed >= vDistance)) && !particle.misplaced) {\n particle.misplaced = (!!hDistance && dxFixed > hDistance) || (!!vDistance && dyFixed > vDistance);\n if (hDistance) {\n particle.velocity.x = particle.velocity.y / 2 - particle.velocity.x;\n }\n if (vDistance) {\n particle.velocity.y = particle.velocity.x / 2 - particle.velocity.y;\n }\n }\n else if ((!hDistance || dxFixed < hDistance) && (!vDistance || dyFixed < vDistance) && particle.misplaced) {\n particle.misplaced = false;\n }\n else if (particle.misplaced) {\n const pos = particle.position, vel = particle.velocity;\n if (hDistance && ((pos.x < initialPosition.x && vel.x < 0) || (pos.x > initialPosition.x && vel.x > 0))) {\n vel.x *= -getRandom();\n }\n if (vDistance && ((pos.y < initialPosition.y && vel.y < 0) || (pos.y > initialPosition.y && vel.y > 0))) {\n vel.y *= -getRandom();\n }\n }\n}\nexport function spin(particle, moveSpeed) {\n const container = particle.container;\n if (!particle.spin) {\n return;\n }\n const updateFunc = {\n x: particle.spin.direction === \"clockwise\" ? Math.cos : Math.sin,\n y: particle.spin.direction === \"clockwise\" ? Math.sin : Math.cos,\n };\n particle.position.x = particle.spin.center.x + particle.spin.radius * updateFunc.x(particle.spin.angle);\n particle.position.y = particle.spin.center.y + particle.spin.radius * updateFunc.y(particle.spin.angle);\n particle.spin.radius += particle.spin.acceleration;\n const maxCanvasSize = Math.max(container.canvas.size.width, container.canvas.size.height);\n if (particle.spin.radius > maxCanvasSize / 2) {\n particle.spin.radius = maxCanvasSize / 2;\n particle.spin.acceleration *= -1;\n }\n else if (particle.spin.radius < 0) {\n particle.spin.radius = 0;\n particle.spin.acceleration *= -1;\n }\n particle.spin.angle += (moveSpeed / 100) * (1 - particle.spin.radius / maxCanvasSize);\n}\nexport function applyPath(particle, delta) {\n var _a;\n const particlesOptions = particle.options, pathOptions = particlesOptions.move.path, pathEnabled = pathOptions.enable;\n if (!pathEnabled) {\n return;\n }\n if (particle.lastPathTime <= particle.pathDelay) {\n particle.lastPathTime += delta.value;\n return;\n }\n const path = (_a = particle.pathGenerator) === null || _a === void 0 ? void 0 : _a.generate(particle);\n if (path) {\n particle.velocity.addTo(path);\n }\n if (pathOptions.clamp) {\n particle.velocity.x = clamp(particle.velocity.x, -1, 1);\n particle.velocity.y = clamp(particle.velocity.y, -1, 1);\n }\n particle.lastPathTime -= particle.pathDelay;\n}\nexport function getProximitySpeedFactor(particle) {\n return particle.slow.inRange ? particle.slow.factor : 1;\n}\n","import { BaseMover } from \"./BaseMover\";\nexport async function loadBaseMover(engine) {\n engine.addMover(\"base\", () => new BaseMover());\n}\n","export class CircleDrawer {\n draw(context, particle, radius) {\n if (!particle.circleRange) {\n particle.circleRange = { min: 0, max: Math.PI * 2 };\n }\n const circleRange = particle.circleRange;\n context.arc(0, 0, radius, circleRange.min, circleRange.max, false);\n }\n getSidesCount() {\n return 12;\n }\n particleInit(container, particle) {\n var _a;\n const shapeData = particle.shapeData, angle = (_a = shapeData === null || shapeData === void 0 ? void 0 : shapeData.angle) !== null && _a !== void 0 ? _a : {\n max: 360,\n min: 0,\n };\n particle.circleRange =\n typeof angle !== \"object\"\n ? {\n min: 0,\n max: (angle * Math.PI) / 180,\n }\n : { min: (angle.min * Math.PI) / 180, max: (angle.max * Math.PI) / 180 };\n }\n}\n","import { CircleDrawer } from \"./CircleDrawer\";\nexport async function loadCircleShape(engine) {\n await engine.addShape(\"circle\", new CircleDrawer());\n}\n","import { getHslAnimationFromHsl, randomInRange, rangeColorToHsl } from \"tsparticles-engine\";\nfunction updateColorValue(delta, value, valueAnimation, max, decrease) {\n var _a, _b;\n const colorValue = value;\n if (!colorValue ||\n !valueAnimation.enable ||\n (colorValue.loops !== undefined &&\n colorValue.maxLoops !== undefined &&\n colorValue.maxLoops > 0 &&\n colorValue.loops >= colorValue.maxLoops)) {\n return;\n }\n const offset = randomInRange(valueAnimation.offset), velocity = ((_a = value.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor + offset * 3.6, decay = (_b = value.decay) !== null && _b !== void 0 ? _b : 1;\n if (!decrease || colorValue.status === \"increasing\") {\n colorValue.value += velocity;\n if (colorValue.value > max) {\n if (!colorValue.loops) {\n colorValue.loops = 0;\n }\n colorValue.loops++;\n if (decrease) {\n colorValue.status = \"decreasing\";\n colorValue.value -= colorValue.value % max;\n }\n }\n }\n else {\n colorValue.value -= velocity;\n if (colorValue.value < 0) {\n if (!colorValue.loops) {\n colorValue.loops = 0;\n }\n colorValue.loops++;\n colorValue.status = \"increasing\";\n colorValue.value += colorValue.value;\n }\n }\n if (colorValue.velocity && decay !== 1) {\n colorValue.velocity *= decay;\n }\n if (colorValue.value > max) {\n colorValue.value %= max;\n }\n}\nfunction updateColor(particle, delta) {\n var _a, _b, _c;\n const animationOptions = particle.options.color.animation;\n const h = (_a = particle.color) === null || _a === void 0 ? void 0 : _a.h, s = (_b = particle.color) === null || _b === void 0 ? void 0 : _b.s, l = (_c = particle.color) === null || _c === void 0 ? void 0 : _c.l;\n if (h) {\n updateColorValue(delta, h, animationOptions.h, 360, false);\n }\n if (s) {\n updateColorValue(delta, s, animationOptions.s, 100, true);\n }\n if (l) {\n updateColorValue(delta, l, animationOptions.l, 100, true);\n }\n}\nexport class ColorUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const hslColor = rangeColorToHsl(particle.options.color, particle.id, particle.options.reduceDuplicates);\n if (hslColor) {\n particle.color = getHslAnimationFromHsl(hslColor, particle.options.color.animation, this.container.retina.reduceFactor);\n }\n }\n isEnabled(particle) {\n var _a, _b, _c;\n const animationOptions = particle.options.color.animation;\n return (!particle.destroyed &&\n !particle.spawning &&\n ((((_a = particle.color) === null || _a === void 0 ? void 0 : _a.h.value) !== undefined && animationOptions.h.enable) ||\n (((_b = particle.color) === null || _b === void 0 ? void 0 : _b.s.value) !== undefined && animationOptions.s.enable) ||\n (((_c = particle.color) === null || _c === void 0 ? void 0 : _c.l.value) !== undefined && animationOptions.l.enable)));\n }\n update(particle, delta) {\n updateColor(particle, delta);\n }\n}\n","import { ColorUpdater } from \"./ColorUpdater\";\nexport async function loadColorUpdater(engine) {\n await engine.addParticleUpdater(\"color\", (container) => new ColorUpdater(container));\n}\n","export class Attract {\n constructor() {\n this.distance = 200;\n this.duration = 0.4;\n this.easing = \"ease-out-quad\";\n this.factor = 1;\n this.maxSpeed = 50;\n this.speed = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.easing !== undefined) {\n this.easing = data.easing;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = data.maxSpeed;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n }\n}\n","import { Circle, ExternalInteractorBase, Vector, clamp, getDistances, getEasing, isInArray, mouseMoveEvent, } from \"tsparticles-engine\";\nimport { Attract } from \"./Options/Classes/Attract\";\nexport class Attractor extends ExternalInteractorBase {\n constructor(engine, container) {\n super(container);\n this._engine = engine;\n if (!container.attract) {\n container.attract = { particles: [] };\n }\n this.handleClickMode = (mode) => {\n const options = this.container.actualOptions, attract = options.interactivity.modes.attract;\n if (!attract || mode !== \"attract\") {\n return;\n }\n if (!container.attract) {\n container.attract = { particles: [] };\n }\n container.attract.clicking = true;\n container.attract.count = 0;\n for (const particle of container.attract.particles) {\n if (!this.isEnabled(particle)) {\n continue;\n }\n particle.velocity.setTo(particle.initialVelocity);\n }\n container.attract.particles = [];\n container.attract.finish = false;\n setTimeout(() => {\n if (!container.destroyed) {\n if (!container.attract) {\n container.attract = { particles: [] };\n }\n container.attract.clicking = false;\n }\n }, attract.duration * 1000);\n };\n }\n clear() {\n }\n init() {\n const container = this.container, attract = container.actualOptions.interactivity.modes.attract;\n if (!attract) {\n return;\n }\n container.retina.attractModeDistance = attract.distance * container.retina.pixelRatio;\n }\n async interact() {\n const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode;\n if (mouseMoveStatus && hoverEnabled && isInArray(\"attract\", hoverMode)) {\n this.hoverAttract();\n }\n else if (clickEnabled && isInArray(\"attract\", clickMode)) {\n this.clickAttract();\n }\n }\n isEnabled(particle) {\n var _a;\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events;\n if ((!mouse.position || !events.onHover.enable) && (!mouse.clickPosition || !events.onClick.enable)) {\n return false;\n }\n const hoverMode = events.onHover.mode, clickMode = events.onClick.mode;\n return isInArray(\"attract\", hoverMode) || isInArray(\"attract\", clickMode);\n }\n loadModeOptions(options, ...sources) {\n if (!options.attract) {\n options.attract = new Attract();\n }\n for (const source of sources) {\n options.attract.load(source === null || source === void 0 ? void 0 : source.attract);\n }\n }\n reset() {\n }\n clickAttract() {\n const container = this.container;\n if (!container.attract) {\n container.attract = { particles: [] };\n }\n if (!container.attract.finish) {\n if (!container.attract.count) {\n container.attract.count = 0;\n }\n container.attract.count++;\n if (container.attract.count === container.particles.count) {\n container.attract.finish = true;\n }\n }\n if (container.attract.clicking) {\n const mousePos = container.interactivity.mouse.clickPosition, attractRadius = container.retina.attractModeDistance;\n if (!attractRadius || attractRadius < 0 || !mousePos) {\n return;\n }\n this.processAttract(mousePos, attractRadius, new Circle(mousePos.x, mousePos.y, attractRadius));\n }\n else if (container.attract.clicking === false) {\n container.attract.particles = [];\n }\n return;\n }\n hoverAttract() {\n const container = this.container, mousePos = container.interactivity.mouse.position, attractRadius = container.retina.attractModeDistance;\n if (!attractRadius || attractRadius < 0 || !mousePos) {\n return;\n }\n this.processAttract(mousePos, attractRadius, new Circle(mousePos.x, mousePos.y, attractRadius));\n }\n processAttract(position, attractRadius, area) {\n const container = this.container, attractOptions = container.actualOptions.interactivity.modes.attract;\n if (!attractOptions) {\n return;\n }\n const query = container.particles.quadTree.query(area, (p) => this.isEnabled(p));\n for (const particle of query) {\n const { dx, dy, distance } = getDistances(particle.position, position);\n const velocity = attractOptions.speed * attractOptions.factor;\n const attractFactor = clamp(getEasing(attractOptions.easing)(1 - distance / attractRadius) * velocity, 0, attractOptions.maxSpeed);\n const normVec = Vector.create(distance === 0 ? velocity : (dx / distance) * attractFactor, distance === 0 ? velocity : (dy / distance) * attractFactor);\n particle.position.subFrom(normVec);\n }\n }\n}\n","import { Attractor } from \"./Attractor\";\nexport async function loadExternalAttractInteraction(engine) {\n await engine.addInteractor(\"externalAttract\", (container) => new Attractor(engine, container));\n}\nexport * from \"./Options/Classes/Attract\";\nexport * from \"./Options/Interfaces/IAttract\";\n","export class Bounce {\n constructor() {\n this.distance = 200;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n }\n}\n","import { Circle, ExternalInteractorBase, Rectangle, Vector, calculateBounds, circleBounce, circleBounceDataFromParticle, divModeExecute, isDivModeEnabled, isInArray, mouseMoveEvent, rectBounce, } from \"tsparticles-engine\";\nimport { Bounce } from \"./Options/Classes/Bounce\";\nexport class Bouncer extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n clear() {\n }\n init() {\n const container = this.container, bounce = container.actualOptions.interactivity.modes.bounce;\n if (!bounce) {\n return;\n }\n container.retina.bounceModeDistance = bounce.distance * container.retina.pixelRatio;\n }\n async interact() {\n const container = this.container, options = container.actualOptions, events = options.interactivity.events, mouseMoveStatus = container.interactivity.status === mouseMoveEvent, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, divs = events.onDiv;\n if (mouseMoveStatus && hoverEnabled && isInArray(\"bounce\", hoverMode)) {\n this.processMouseBounce();\n }\n else {\n divModeExecute(\"bounce\", divs, (selector, div) => this.singleSelectorBounce(selector, div));\n }\n }\n isEnabled(particle) {\n var _a;\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events, divs = events.onDiv;\n return ((mouse.position && events.onHover.enable && isInArray(\"bounce\", events.onHover.mode)) ||\n isDivModeEnabled(\"bounce\", divs));\n }\n loadModeOptions(options, ...sources) {\n if (!options.bounce) {\n options.bounce = new Bounce();\n }\n for (const source of sources) {\n options.bounce.load(source === null || source === void 0 ? void 0 : source.bounce);\n }\n }\n reset() {\n }\n processBounce(position, radius, area) {\n const query = this.container.particles.quadTree.query(area, (p) => this.isEnabled(p));\n for (const particle of query) {\n if (area instanceof Circle) {\n circleBounce(circleBounceDataFromParticle(particle), {\n position,\n radius,\n mass: (radius ** 2 * Math.PI) / 2,\n velocity: Vector.origin,\n factor: Vector.origin,\n });\n }\n else if (area instanceof Rectangle) {\n rectBounce(particle, calculateBounds(position, radius));\n }\n }\n }\n processMouseBounce() {\n const container = this.container, pxRatio = container.retina.pixelRatio, tolerance = 10 * pxRatio, mousePos = container.interactivity.mouse.position, radius = container.retina.bounceModeDistance;\n if (!radius || radius < 0 || !mousePos) {\n return;\n }\n this.processBounce(mousePos, radius, new Circle(mousePos.x, mousePos.y, radius + tolerance));\n }\n singleSelectorBounce(selector, div) {\n const container = this.container, query = document.querySelectorAll(selector);\n if (!query.length) {\n return;\n }\n query.forEach((item) => {\n const elem = item, pxRatio = container.retina.pixelRatio, pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio,\n }, radius = (elem.offsetWidth / 2) * pxRatio, tolerance = 10 * pxRatio, area = div.type === \"circle\"\n ? new Circle(pos.x, pos.y, radius + tolerance)\n : new Rectangle(elem.offsetLeft * pxRatio - tolerance, elem.offsetTop * pxRatio - tolerance, elem.offsetWidth * pxRatio + tolerance * 2, elem.offsetHeight * pxRatio + tolerance * 2);\n this.processBounce(pos, radius, area);\n });\n }\n}\n","import { Bouncer } from \"./Bouncer\";\nexport async function loadExternalBounceInteraction(engine) {\n await engine.addInteractor(\"externalBounce\", (container) => new Bouncer(container));\n}\nexport * from \"./Options/Classes/Bounce\";\nexport * from \"./Options/Interfaces/IBounce\";\n","import { OptionsColor, executeOnSingleOrMultiple } from \"tsparticles-engine\";\nexport class BubbleBase {\n constructor() {\n this.distance = 200;\n this.duration = 0.4;\n this.mix = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.mix !== undefined) {\n this.mix = data.mix;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.color !== undefined) {\n const sourceColor = this.color instanceof Array ? undefined : this.color;\n this.color = executeOnSingleOrMultiple(data.color, (color) => {\n return OptionsColor.create(sourceColor, color);\n });\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n }\n}\n","import { BubbleBase } from \"./BubbleBase\";\nimport { executeOnSingleOrMultiple } from \"tsparticles-engine\";\nexport class BubbleDiv extends BubbleBase {\n constructor() {\n super();\n this.selectors = [];\n }\n get ids() {\n return executeOnSingleOrMultiple(this.selectors, (t) => t.replace(\"#\", \"\"));\n }\n set ids(value) {\n this.selectors = executeOnSingleOrMultiple(value, (t) => `#${t}`);\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.ids !== undefined) {\n this.ids = data.ids;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n }\n}\n","import { BubbleBase } from \"./BubbleBase\";\nimport { BubbleDiv } from \"./BubbleDiv\";\nimport { executeOnSingleOrMultiple } from \"tsparticles-engine\";\nexport class Bubble extends BubbleBase {\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n this.divs = executeOnSingleOrMultiple(data.divs, (div) => {\n const tmp = new BubbleDiv();\n tmp.load(div);\n return tmp;\n });\n }\n}\n","import { Circle, ExternalInteractorBase, Rectangle, clamp, colorMix, divMode, divModeExecute, getDistance, getRangeMax, isDivModeEnabled, isInArray, itemFromSingleOrMultiple, mouseLeaveEvent, mouseMoveEvent, rangeColorToHsl, rgbToHsl, } from \"tsparticles-engine\";\nimport { Bubble } from \"./Options/Classes/Bubble\";\nfunction calculateBubbleValue(particleValue, modeValue, optionsValue, ratio) {\n if (modeValue >= optionsValue) {\n const value = particleValue + (modeValue - optionsValue) * ratio;\n return clamp(value, particleValue, modeValue);\n }\n else if (modeValue < optionsValue) {\n const value = particleValue - (optionsValue - modeValue) * ratio;\n return clamp(value, modeValue, particleValue);\n }\n}\nexport class Bubbler extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n if (!container.bubble) {\n container.bubble = {};\n }\n this.handleClickMode = (mode) => {\n if (mode !== \"bubble\") {\n return;\n }\n if (!container.bubble) {\n container.bubble = {};\n }\n container.bubble.clicking = true;\n };\n }\n clear(particle, delta, force) {\n if (particle.bubble.inRange && !force) {\n return;\n }\n delete particle.bubble.div;\n delete particle.bubble.opacity;\n delete particle.bubble.radius;\n delete particle.bubble.color;\n }\n init() {\n const container = this.container, bubble = container.actualOptions.interactivity.modes.bubble;\n if (!bubble) {\n return;\n }\n container.retina.bubbleModeDistance = bubble.distance * container.retina.pixelRatio;\n if (bubble.size !== undefined) {\n container.retina.bubbleModeSize = bubble.size * container.retina.pixelRatio;\n }\n }\n async interact(delta) {\n const options = this.container.actualOptions, events = options.interactivity.events, onHover = events.onHover, onClick = events.onClick, hoverEnabled = onHover.enable, hoverMode = onHover.mode, clickEnabled = onClick.enable, clickMode = onClick.mode, divs = events.onDiv;\n if (hoverEnabled && isInArray(\"bubble\", hoverMode)) {\n this.hoverBubble(delta);\n }\n else if (clickEnabled && isInArray(\"bubble\", clickMode)) {\n this.clickBubble(delta);\n }\n else {\n divModeExecute(\"bubble\", divs, (selector, div) => this.singleSelectorHover(delta, selector, div));\n }\n }\n isEnabled(particle) {\n var _a;\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events, divs = events.onDiv, divBubble = isDivModeEnabled(\"bubble\", divs);\n if (!(divBubble || (events.onHover.enable && mouse.position) || (events.onClick.enable && mouse.clickPosition))) {\n return false;\n }\n const hoverMode = events.onHover.mode;\n const clickMode = events.onClick.mode;\n return isInArray(\"bubble\", hoverMode) || isInArray(\"bubble\", clickMode) || divBubble;\n }\n loadModeOptions(options, ...sources) {\n if (!options.bubble) {\n options.bubble = new Bubble();\n }\n for (const source of sources) {\n options.bubble.load(source === null || source === void 0 ? void 0 : source.bubble);\n }\n }\n reset(particle) {\n particle.bubble.inRange = false;\n }\n clickBubble(delta) {\n var _a, _b;\n const container = this.container, options = container.actualOptions, mouseClickPos = container.interactivity.mouse.clickPosition, bubble = options.interactivity.modes.bubble;\n if (!bubble || !mouseClickPos) {\n return;\n }\n if (!container.bubble) {\n container.bubble = {};\n }\n const distance = container.retina.bubbleModeDistance;\n if (!distance || distance < 0) {\n return;\n }\n const query = container.particles.quadTree.queryCircle(mouseClickPos, distance, (p) => this.isEnabled(p));\n for (const particle of query) {\n if (!container.bubble.clicking) {\n continue;\n }\n particle.bubble.inRange = !container.bubble.durationEnd;\n const pos = particle.getPosition(), distMouse = getDistance(pos, mouseClickPos), timeSpent = (new Date().getTime() - (container.interactivity.mouse.clickTime || 0)) / 1000;\n if (timeSpent > bubble.duration) {\n container.bubble.durationEnd = true;\n }\n if (timeSpent > bubble.duration * 2) {\n container.bubble.clicking = false;\n container.bubble.durationEnd = false;\n }\n const sizeData = {\n bubbleObj: {\n optValue: container.retina.bubbleModeSize,\n value: particle.bubble.radius,\n },\n particlesObj: {\n optValue: getRangeMax(particle.options.size.value) * container.retina.pixelRatio,\n value: particle.size.value,\n },\n type: \"size\",\n };\n this.process(particle, distMouse, timeSpent, sizeData);\n const opacityData = {\n bubbleObj: {\n optValue: bubble.opacity,\n value: particle.bubble.opacity,\n },\n particlesObj: {\n optValue: getRangeMax(particle.options.opacity.value),\n value: (_b = (_a = particle.opacity) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 1,\n },\n type: \"opacity\",\n };\n this.process(particle, distMouse, timeSpent, opacityData);\n if (!container.bubble.durationEnd) {\n if (distMouse <= distance) {\n this.hoverBubbleColor(particle, distMouse);\n }\n else {\n delete particle.bubble.color;\n }\n }\n else {\n delete particle.bubble.color;\n }\n }\n }\n hoverBubble(delta) {\n const container = this.container, mousePos = container.interactivity.mouse.position, distance = container.retina.bubbleModeDistance;\n if (!distance || distance < 0 || mousePos === undefined) {\n return;\n }\n const query = container.particles.quadTree.queryCircle(mousePos, distance, (p) => this.isEnabled(p));\n for (const particle of query) {\n particle.bubble.inRange = true;\n const pos = particle.getPosition(), pointDistance = getDistance(pos, mousePos), ratio = 1 - pointDistance / distance;\n if (pointDistance <= distance) {\n if (ratio >= 0 && container.interactivity.status === mouseMoveEvent) {\n this.hoverBubbleSize(particle, ratio);\n this.hoverBubbleOpacity(particle, ratio);\n this.hoverBubbleColor(particle, ratio);\n }\n }\n else {\n this.reset(particle);\n }\n if (container.interactivity.status === mouseLeaveEvent) {\n this.reset(particle);\n }\n }\n }\n hoverBubbleColor(particle, ratio, divBubble) {\n const options = this.container.actualOptions;\n const bubbleOptions = divBubble !== null && divBubble !== void 0 ? divBubble : options.interactivity.modes.bubble;\n if (!bubbleOptions) {\n return;\n }\n if (!particle.bubble.finalColor) {\n const modeColor = bubbleOptions.color;\n if (!modeColor) {\n return;\n }\n const bubbleColor = itemFromSingleOrMultiple(modeColor);\n particle.bubble.finalColor = rangeColorToHsl(bubbleColor);\n }\n if (!particle.bubble.finalColor) {\n return;\n }\n if (bubbleOptions.mix) {\n particle.bubble.color = undefined;\n const pColor = particle.getFillColor();\n particle.bubble.color = pColor\n ? rgbToHsl(colorMix(pColor, particle.bubble.finalColor, 1 - ratio, ratio))\n : particle.bubble.finalColor;\n }\n else {\n particle.bubble.color = particle.bubble.finalColor;\n }\n }\n hoverBubbleOpacity(particle, ratio, divBubble) {\n var _a, _b, _c, _d;\n const container = this.container, options = container.actualOptions, modeOpacity = (_a = divBubble === null || divBubble === void 0 ? void 0 : divBubble.opacity) !== null && _a !== void 0 ? _a : (_b = options.interactivity.modes.bubble) === null || _b === void 0 ? void 0 : _b.opacity;\n if (!modeOpacity) {\n return;\n }\n const optOpacity = particle.options.opacity.value;\n const pOpacity = (_d = (_c = particle.opacity) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : 1;\n const opacity = calculateBubbleValue(pOpacity, modeOpacity, getRangeMax(optOpacity), ratio);\n if (opacity !== undefined) {\n particle.bubble.opacity = opacity;\n }\n }\n hoverBubbleSize(particle, ratio, divBubble) {\n const container = this.container, modeSize = (divBubble === null || divBubble === void 0 ? void 0 : divBubble.size) ? divBubble.size * container.retina.pixelRatio : container.retina.bubbleModeSize;\n if (modeSize === undefined) {\n return;\n }\n const optSize = getRangeMax(particle.options.size.value) * container.retina.pixelRatio;\n const pSize = particle.size.value;\n const size = calculateBubbleValue(pSize, modeSize, optSize, ratio);\n if (size !== undefined) {\n particle.bubble.radius = size;\n }\n }\n process(particle, distMouse, timeSpent, data) {\n const container = this.container, bubbleParam = data.bubbleObj.optValue, options = container.actualOptions, bubble = options.interactivity.modes.bubble;\n if (!bubble || bubbleParam === undefined) {\n return;\n }\n const bubbleDuration = bubble.duration, bubbleDistance = container.retina.bubbleModeDistance, particlesParam = data.particlesObj.optValue, pObjBubble = data.bubbleObj.value, pObj = data.particlesObj.value || 0, type = data.type;\n if (!bubbleDistance || bubbleDistance < 0 || bubbleParam === particlesParam) {\n return;\n }\n if (!container.bubble) {\n container.bubble = {};\n }\n if (!container.bubble.durationEnd) {\n if (distMouse <= bubbleDistance) {\n const obj = pObjBubble !== null && pObjBubble !== void 0 ? pObjBubble : pObj;\n if (obj !== bubbleParam) {\n const value = pObj - (timeSpent * (pObj - bubbleParam)) / bubbleDuration;\n if (type === \"size\") {\n particle.bubble.radius = value;\n }\n if (type === \"opacity\") {\n particle.bubble.opacity = value;\n }\n }\n }\n else {\n if (type === \"size\") {\n delete particle.bubble.radius;\n }\n if (type === \"opacity\") {\n delete particle.bubble.opacity;\n }\n }\n }\n else if (pObjBubble) {\n if (type === \"size\") {\n delete particle.bubble.radius;\n }\n if (type === \"opacity\") {\n delete particle.bubble.opacity;\n }\n }\n }\n singleSelectorHover(delta, selector, div) {\n const container = this.container, selectors = document.querySelectorAll(selector), bubble = container.actualOptions.interactivity.modes.bubble;\n if (!bubble || !selectors.length) {\n return;\n }\n selectors.forEach((item) => {\n const elem = item, pxRatio = container.retina.pixelRatio, pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio,\n }, repulseRadius = (elem.offsetWidth / 2) * pxRatio, area = div.type === \"circle\"\n ? new Circle(pos.x, pos.y, repulseRadius)\n : new Rectangle(elem.offsetLeft * pxRatio, elem.offsetTop * pxRatio, elem.offsetWidth * pxRatio, elem.offsetHeight * pxRatio), query = container.particles.quadTree.query(area, (p) => this.isEnabled(p));\n for (const particle of query) {\n if (!area.contains(particle.getPosition())) {\n continue;\n }\n particle.bubble.inRange = true;\n const divs = bubble.divs;\n const divBubble = divMode(divs, elem);\n if (!particle.bubble.div || particle.bubble.div !== elem) {\n this.clear(particle, delta, true);\n particle.bubble.div = elem;\n }\n this.hoverBubbleSize(particle, 1, divBubble);\n this.hoverBubbleOpacity(particle, 1, divBubble);\n this.hoverBubbleColor(particle, 1, divBubble);\n }\n });\n }\n}\n","import { Bubbler } from \"./Bubbler\";\nexport async function loadExternalBubbleInteraction(engine) {\n await engine.addInteractor(\"externalBubble\", (container) => new Bubbler(container));\n}\nexport * from \"./Options/Classes/BubbleBase\";\nexport * from \"./Options/Classes/BubbleDiv\";\nexport * from \"./Options/Classes/Bubble\";\nexport * from \"./Options/Interfaces/IBubbleBase\";\nexport * from \"./Options/Interfaces/IBubbleDiv\";\nexport * from \"./Options/Interfaces/IBubble\";\n","export class ConnectLinks {\n constructor() {\n this.opacity = 0.5;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n","import { ConnectLinks } from \"./ConnectLinks\";\nexport class Connect {\n constructor() {\n this.distance = 80;\n this.links = new ConnectLinks();\n this.radius = 60;\n }\n get lineLinked() {\n return this.links;\n }\n set lineLinked(value) {\n this.links = value;\n }\n get line_linked() {\n return this.links;\n }\n set line_linked(value) {\n this.links = value;\n }\n load(data) {\n var _a, _b;\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n this.links.load((_b = (_a = data.links) !== null && _a !== void 0 ? _a : data.lineLinked) !== null && _b !== void 0 ? _b : data.line_linked);\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n","import { ExternalInteractorBase, colorMix, drawLine, getStyleFromHsl, getStyleFromRgb, isInArray, } from \"tsparticles-engine\";\nimport { Connect } from \"./Options/Classes/Connect\";\nfunction gradient(context, p1, p2, opacity) {\n const gradStop = Math.floor(p2.getRadius() / p1.getRadius()), color1 = p1.getFillColor(), color2 = p2.getFillColor();\n if (!color1 || !color2) {\n return;\n }\n const sourcePos = p1.getPosition(), destPos = p2.getPosition(), midRgb = colorMix(color1, color2, p1.getRadius(), p2.getRadius()), grad = context.createLinearGradient(sourcePos.x, sourcePos.y, destPos.x, destPos.y);\n grad.addColorStop(0, getStyleFromHsl(color1, opacity));\n grad.addColorStop(gradStop > 1 ? 1 : gradStop, getStyleFromRgb(midRgb, opacity));\n grad.addColorStop(1, getStyleFromHsl(color2, opacity));\n return grad;\n}\nfunction drawConnectLine(context, width, lineStyle, begin, end) {\n drawLine(context, begin, end);\n context.lineWidth = width;\n context.strokeStyle = lineStyle;\n context.stroke();\n}\nfunction lineStyle(container, ctx, p1, p2) {\n const options = container.actualOptions, connectOptions = options.interactivity.modes.connect;\n if (!connectOptions) {\n return;\n }\n return gradient(ctx, p1, p2, connectOptions.links.opacity);\n}\nfunction drawConnection(container, p1, p2) {\n container.canvas.draw((ctx) => {\n var _a;\n const ls = lineStyle(container, ctx, p1, p2);\n if (!ls) {\n return;\n }\n const pos1 = p1.getPosition(), pos2 = p2.getPosition();\n drawConnectLine(ctx, (_a = p1.retina.linksWidth) !== null && _a !== void 0 ? _a : 0, ls, pos1, pos2);\n });\n}\nexport class Connector extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n clear() {\n }\n init() {\n const container = this.container, connect = container.actualOptions.interactivity.modes.connect;\n if (!connect) {\n return;\n }\n container.retina.connectModeDistance = connect.distance * container.retina.pixelRatio;\n container.retina.connectModeRadius = connect.radius * container.retina.pixelRatio;\n }\n async interact() {\n const container = this.container, options = container.actualOptions;\n if (options.interactivity.events.onHover.enable && container.interactivity.status === \"pointermove\") {\n const mousePos = container.interactivity.mouse.position;\n if (!container.retina.connectModeDistance ||\n container.retina.connectModeDistance < 0 ||\n !container.retina.connectModeRadius ||\n container.retina.connectModeRadius < 0 ||\n !mousePos) {\n return;\n }\n const distance = Math.abs(container.retina.connectModeRadius), query = container.particles.quadTree.queryCircle(mousePos, distance, (p) => this.isEnabled(p));\n let i = 0;\n for (const p1 of query) {\n const pos1 = p1.getPosition();\n for (const p2 of query.slice(i + 1)) {\n const pos2 = p2.getPosition(), distMax = Math.abs(container.retina.connectModeDistance), xDiff = Math.abs(pos1.x - pos2.x), yDiff = Math.abs(pos1.y - pos2.y);\n if (xDiff < distMax && yDiff < distMax) {\n drawConnection(container, p1, p2);\n }\n }\n ++i;\n }\n }\n }\n isEnabled(particle) {\n var _a;\n const container = this.container, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : container.actualOptions.interactivity).events;\n if (!(events.onHover.enable && mouse.position)) {\n return false;\n }\n return isInArray(\"connect\", events.onHover.mode);\n }\n loadModeOptions(options, ...sources) {\n if (!options.connect) {\n options.connect = new Connect();\n }\n for (const source of sources) {\n options.connect.load(source === null || source === void 0 ? void 0 : source.connect);\n }\n }\n reset() {\n }\n}\n","import { Connector } from \"./Connector\";\nexport async function loadExternalConnectInteraction(engine) {\n await engine.addInteractor(\"externalConnect\", (container) => new Connector(container));\n}\nexport * from \"./Options/Classes/Connect\";\nexport * from \"./Options/Classes/ConnectLinks\";\nexport * from \"./Options/Interfaces/IConnect\";\nexport * from \"./Options/Interfaces/IConnectLinks\";\n","import { OptionsColor } from \"tsparticles-engine\";\nexport class GrabLinks {\n constructor() {\n this.blink = false;\n this.consent = false;\n this.opacity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.blink !== undefined) {\n this.blink = data.blink;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.consent !== undefined) {\n this.consent = data.consent;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n","import { GrabLinks } from \"./GrabLinks\";\nexport class Grab {\n constructor() {\n this.distance = 100;\n this.links = new GrabLinks();\n }\n get lineLinked() {\n return this.links;\n }\n set lineLinked(value) {\n this.links = value;\n }\n get line_linked() {\n return this.links;\n }\n set line_linked(value) {\n this.links = value;\n }\n load(data) {\n var _a, _b;\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n this.links.load((_b = (_a = data.links) !== null && _a !== void 0 ? _a : data.lineLinked) !== null && _b !== void 0 ? _b : data.line_linked);\n }\n}\n","import { ExternalInteractorBase, drawLine, getDistance, getLinkColor, getLinkRandomColor, getStyleFromRgb, isInArray, mouseMoveEvent, } from \"tsparticles-engine\";\nimport { Grab } from \"./Options/Classes/Grab\";\nexport function drawGrabLine(context, width, begin, end, colorLine, opacity) {\n drawLine(context, begin, end);\n context.strokeStyle = getStyleFromRgb(colorLine, opacity);\n context.lineWidth = width;\n context.stroke();\n}\nfunction drawGrab(container, particle, lineColor, opacity, mousePos) {\n container.canvas.draw((ctx) => {\n var _a;\n const beginPos = particle.getPosition();\n drawGrabLine(ctx, (_a = particle.retina.linksWidth) !== null && _a !== void 0 ? _a : 0, beginPos, mousePos, lineColor, opacity);\n });\n}\nexport class Grabber extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n clear() {\n }\n init() {\n const container = this.container, grab = container.actualOptions.interactivity.modes.grab;\n if (!grab) {\n return;\n }\n container.retina.grabModeDistance = grab.distance * container.retina.pixelRatio;\n }\n async interact() {\n var _a, _b;\n const container = this.container, options = container.actualOptions, interactivity = options.interactivity;\n if (!interactivity.modes.grab ||\n !interactivity.events.onHover.enable ||\n container.interactivity.status !== mouseMoveEvent) {\n return;\n }\n const mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const distance = container.retina.grabModeDistance;\n if (!distance || distance < 0) {\n return;\n }\n const query = container.particles.quadTree.queryCircle(mousePos, distance, (p) => this.isEnabled(p));\n for (const particle of query) {\n const pos = particle.getPosition(), pointDistance = getDistance(pos, mousePos);\n if (pointDistance > distance) {\n continue;\n }\n const grabLineOptions = interactivity.modes.grab.links, lineOpacity = grabLineOptions.opacity, opacityLine = lineOpacity - (pointDistance * lineOpacity) / distance;\n if (opacityLine <= 0) {\n continue;\n }\n const optColor = (_a = grabLineOptions.color) !== null && _a !== void 0 ? _a : (_b = particle.options.links) === null || _b === void 0 ? void 0 : _b.color;\n if (!container.particles.grabLineColor && optColor) {\n const linksOptions = interactivity.modes.grab.links;\n container.particles.grabLineColor = getLinkRandomColor(optColor, linksOptions.blink, linksOptions.consent);\n }\n const colorLine = getLinkColor(particle, undefined, container.particles.grabLineColor);\n if (!colorLine) {\n return;\n }\n drawGrab(container, particle, colorLine, opacityLine, mousePos);\n }\n }\n isEnabled(particle) {\n var _a;\n const container = this.container, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : container.actualOptions.interactivity).events;\n return events.onHover.enable && !!mouse.position && isInArray(\"grab\", events.onHover.mode);\n }\n loadModeOptions(options, ...sources) {\n if (!options.grab) {\n options.grab = new Grab();\n }\n for (const source of sources) {\n options.grab.load(source === null || source === void 0 ? void 0 : source.grab);\n }\n }\n reset() {\n }\n}\n","import { Grabber } from \"./Grabber\";\nexport async function loadExternalGrabInteraction(engine) {\n await engine.addInteractor(\"externalGrab\", (container) => new Grabber(container));\n}\nexport * from \"./Options/Classes/Grab\";\nexport * from \"./Options/Classes/GrabLinks\";\nexport * from \"./Options/Interfaces/IGrab\";\nexport * from \"./Options/Interfaces/IGrabLinks\";\n","import { ExternalInteractorBase } from \"tsparticles-engine\";\nexport class Pauser extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n this.handleClickMode = (mode) => {\n if (mode !== \"pause\") {\n return;\n }\n const container = this.container;\n if (container.getAnimationStatus()) {\n container.pause();\n }\n else {\n container.play();\n }\n };\n }\n clear() {\n }\n init() {\n }\n async interact() {\n }\n isEnabled() {\n return true;\n }\n reset() {\n }\n}\n","import { Pauser } from \"./Pauser\";\nexport function loadExternalPauseInteraction(engine) {\n engine.addInteractor(\"externalPause\", (container) => new Pauser(container));\n}\n","export class Push {\n constructor() {\n this.default = true;\n this.groups = [];\n this.quantity = 4;\n }\n get particles_nb() {\n return this.quantity;\n }\n set particles_nb(value) {\n this.quantity = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n if (data.default !== undefined) {\n this.default = data.default;\n }\n if (data.groups !== undefined) {\n this.groups = data.groups.map((t) => t);\n }\n if (!this.groups.length) {\n this.default = true;\n }\n const quantity = (_a = data.quantity) !== null && _a !== void 0 ? _a : data.particles_nb;\n if (quantity !== undefined) {\n this.quantity = quantity;\n }\n }\n}\n","import { ExternalInteractorBase } from \"tsparticles-engine\";\nimport { Push } from \"./Options/Classes/Push\";\nimport { itemFromArray } from \"tsparticles-engine\";\nexport class Pusher extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n this.handleClickMode = (mode) => {\n if (mode !== \"push\") {\n return;\n }\n const container = this.container, options = container.actualOptions, pushOptions = options.interactivity.modes.push;\n if (!pushOptions) {\n return;\n }\n const pushNb = pushOptions.quantity;\n if (pushNb <= 0) {\n return;\n }\n const group = itemFromArray([undefined, ...pushOptions.groups]), groupOptions = group !== undefined ? container.actualOptions.particles.groups[group] : undefined;\n container.particles.push(pushNb, container.interactivity.mouse, groupOptions, group);\n };\n }\n clear() {\n }\n init() {\n }\n async interact() {\n }\n isEnabled() {\n return true;\n }\n loadModeOptions(options, ...sources) {\n if (!options.push) {\n options.push = new Push();\n }\n for (const source of sources) {\n options.push.load(source === null || source === void 0 ? void 0 : source.push);\n }\n }\n reset() {\n }\n}\n","import { Pusher } from \"./Pusher\";\nexport async function loadExternalPushInteraction(engine) {\n await engine.addInteractor(\"externalPush\", (container) => new Pusher(container));\n}\nexport * from \"./Options/Classes/Push\";\nexport * from \"./Options/Interfaces/IPush\";\n","export class Remove {\n constructor() {\n this.quantity = 2;\n }\n get particles_nb() {\n return this.quantity;\n }\n set particles_nb(value) {\n this.quantity = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n const quantity = (_a = data.quantity) !== null && _a !== void 0 ? _a : data.particles_nb;\n if (quantity !== undefined) {\n this.quantity = quantity;\n }\n }\n}\n","import { ExternalInteractorBase } from \"tsparticles-engine\";\nimport { Remove } from \"./Options/Classes/Remove\";\nexport class Remover extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n this.handleClickMode = (mode) => {\n const container = this.container, options = container.actualOptions;\n if (!options.interactivity.modes.remove || mode !== \"remove\") {\n return;\n }\n const removeNb = options.interactivity.modes.remove.quantity;\n container.particles.removeQuantity(removeNb);\n };\n }\n clear() {\n }\n init() {\n }\n async interact() {\n }\n isEnabled() {\n return true;\n }\n loadModeOptions(options, ...sources) {\n if (!options.remove) {\n options.remove = new Remove();\n }\n for (const source of sources) {\n options.remove.load(source === null || source === void 0 ? void 0 : source.remove);\n }\n }\n reset() {\n }\n}\n","import { Remover } from \"./Remover\";\nexport function loadExternalRemoveInteraction(engine) {\n engine.addInteractor(\"externalRemove\", (container) => new Remover(container));\n}\nexport * from \"./Options/Classes/Remove\";\nexport * from \"./Options/Interfaces/IRemove\";\n","export class RepulseBase {\n constructor() {\n this.distance = 200;\n this.duration = 0.4;\n this.factor = 100;\n this.speed = 1;\n this.maxSpeed = 50;\n this.easing = \"ease-out-quad\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.easing !== undefined) {\n this.easing = data.easing;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = data.maxSpeed;\n }\n }\n}\n","import { RepulseBase } from \"./RepulseBase\";\nimport { executeOnSingleOrMultiple } from \"tsparticles-engine\";\nexport class RepulseDiv extends RepulseBase {\n constructor() {\n super();\n this.selectors = [];\n }\n get ids() {\n return executeOnSingleOrMultiple(this.selectors, (t) => t.replace(\"#\", \"\"));\n }\n set ids(value) {\n this.selectors = executeOnSingleOrMultiple(value, (t) => `#${t}`);\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.ids !== undefined) {\n this.ids = data.ids;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n }\n}\n","import { RepulseBase } from \"./RepulseBase\";\nimport { RepulseDiv } from \"./RepulseDiv\";\nimport { executeOnSingleOrMultiple } from \"tsparticles-engine\";\nexport class Repulse extends RepulseBase {\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n this.divs = executeOnSingleOrMultiple(data.divs, (div) => {\n const tmp = new RepulseDiv();\n tmp.load(div);\n return tmp;\n });\n }\n}\n","import { Circle, ExternalInteractorBase, Rectangle, Vector, clamp, divMode, divModeExecute, getDistances, getEasing, isDivModeEnabled, isInArray, mouseMoveEvent, } from \"tsparticles-engine\";\nimport { Repulse } from \"./Options/Classes/Repulse\";\nexport class Repulser extends ExternalInteractorBase {\n constructor(engine, container) {\n super(container);\n this._engine = engine;\n if (!container.repulse) {\n container.repulse = { particles: [] };\n }\n this.handleClickMode = (mode) => {\n const options = this.container.actualOptions, repulse = options.interactivity.modes.repulse;\n if (!repulse || mode !== \"repulse\") {\n return;\n }\n if (!container.repulse) {\n container.repulse = { particles: [] };\n }\n container.repulse.clicking = true;\n container.repulse.count = 0;\n for (const particle of container.repulse.particles) {\n if (!this.isEnabled(particle)) {\n continue;\n }\n particle.velocity.setTo(particle.initialVelocity);\n }\n container.repulse.particles = [];\n container.repulse.finish = false;\n setTimeout(() => {\n if (!container.destroyed) {\n if (!container.repulse) {\n container.repulse = { particles: [] };\n }\n container.repulse.clicking = false;\n }\n }, repulse.duration * 1000);\n };\n }\n clear() {\n }\n init() {\n const container = this.container, repulse = container.actualOptions.interactivity.modes.repulse;\n if (!repulse) {\n return;\n }\n container.retina.repulseModeDistance = repulse.distance * container.retina.pixelRatio;\n }\n async interact() {\n const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode, divs = events.onDiv;\n if (mouseMoveStatus && hoverEnabled && isInArray(\"repulse\", hoverMode)) {\n this.hoverRepulse();\n }\n else if (clickEnabled && isInArray(\"repulse\", clickMode)) {\n this.clickRepulse();\n }\n else {\n divModeExecute(\"repulse\", divs, (selector, div) => this.singleSelectorRepulse(selector, div));\n }\n }\n isEnabled(particle) {\n var _a;\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : options.interactivity).events, divs = events.onDiv, divRepulse = isDivModeEnabled(\"repulse\", divs);\n if (!(divRepulse || (events.onHover.enable && mouse.position) || (events.onClick.enable && mouse.clickPosition))) {\n return false;\n }\n const hoverMode = events.onHover.mode, clickMode = events.onClick.mode;\n return isInArray(\"repulse\", hoverMode) || isInArray(\"repulse\", clickMode) || divRepulse;\n }\n loadModeOptions(options, ...sources) {\n if (!options.repulse) {\n options.repulse = new Repulse();\n }\n for (const source of sources) {\n options.repulse.load(source === null || source === void 0 ? void 0 : source.repulse);\n }\n }\n reset() {\n }\n clickRepulse() {\n const container = this.container, repulse = container.actualOptions.interactivity.modes.repulse;\n if (!repulse) {\n return;\n }\n if (!container.repulse) {\n container.repulse = { particles: [] };\n }\n if (!container.repulse.finish) {\n if (!container.repulse.count) {\n container.repulse.count = 0;\n }\n container.repulse.count++;\n if (container.repulse.count === container.particles.count) {\n container.repulse.finish = true;\n }\n }\n if (container.repulse.clicking) {\n const repulseDistance = container.retina.repulseModeDistance;\n if (!repulseDistance || repulseDistance < 0) {\n return;\n }\n const repulseRadius = Math.pow(repulseDistance / 6, 3), mouseClickPos = container.interactivity.mouse.clickPosition;\n if (mouseClickPos === undefined) {\n return;\n }\n const range = new Circle(mouseClickPos.x, mouseClickPos.y, repulseRadius), query = container.particles.quadTree.query(range, (p) => this.isEnabled(p));\n for (const particle of query) {\n const { dx, dy, distance } = getDistances(mouseClickPos, particle.position), d = distance ** 2, velocity = repulse.speed, force = (-repulseRadius * velocity) / d;\n if (d <= repulseRadius) {\n container.repulse.particles.push(particle);\n const vect = Vector.create(dx, dy);\n vect.length = force;\n particle.velocity.setTo(vect);\n }\n }\n }\n else if (container.repulse.clicking === false) {\n for (const particle of container.repulse.particles) {\n particle.velocity.setTo(particle.initialVelocity);\n }\n container.repulse.particles = [];\n }\n }\n hoverRepulse() {\n const container = this.container, mousePos = container.interactivity.mouse.position, repulseRadius = container.retina.repulseModeDistance;\n if (!repulseRadius || repulseRadius < 0 || !mousePos) {\n return;\n }\n this.processRepulse(mousePos, repulseRadius, new Circle(mousePos.x, mousePos.y, repulseRadius));\n }\n processRepulse(position, repulseRadius, area, divRepulse) {\n var _a;\n const container = this.container, query = container.particles.quadTree.query(area, (p) => this.isEnabled(p)), repulseOptions = container.actualOptions.interactivity.modes.repulse;\n if (!repulseOptions) {\n return;\n }\n for (const particle of query) {\n const { dx, dy, distance } = getDistances(particle.position, position), velocity = ((_a = divRepulse === null || divRepulse === void 0 ? void 0 : divRepulse.speed) !== null && _a !== void 0 ? _a : repulseOptions.speed) * repulseOptions.factor, repulseFactor = clamp(getEasing(repulseOptions.easing)(1 - distance / repulseRadius) * velocity, 0, repulseOptions.maxSpeed), normVec = Vector.create(distance === 0 ? velocity : (dx / distance) * repulseFactor, distance === 0 ? velocity : (dy / distance) * repulseFactor);\n particle.position.addTo(normVec);\n }\n }\n singleSelectorRepulse(selector, div) {\n const container = this.container, repulse = container.actualOptions.interactivity.modes.repulse;\n if (!repulse) {\n return;\n }\n const query = document.querySelectorAll(selector);\n if (!query.length) {\n return;\n }\n query.forEach((item) => {\n const elem = item, pxRatio = container.retina.pixelRatio, pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio,\n }, repulseRadius = (elem.offsetWidth / 2) * pxRatio, area = div.type === \"circle\"\n ? new Circle(pos.x, pos.y, repulseRadius)\n : new Rectangle(elem.offsetLeft * pxRatio, elem.offsetTop * pxRatio, elem.offsetWidth * pxRatio, elem.offsetHeight * pxRatio), divs = repulse.divs, divRepulse = divMode(divs, elem);\n this.processRepulse(pos, repulseRadius, area, divRepulse);\n });\n }\n}\n","import { Repulser } from \"./Repulser\";\nexport async function loadExternalRepulseInteraction(engine) {\n await engine.addInteractor(\"externalRepulse\", (container) => new Repulser(engine, container));\n}\nexport * from \"./Options/Classes/RepulseBase\";\nexport * from \"./Options/Classes/RepulseDiv\";\nexport * from \"./Options/Classes/Repulse\";\nexport * from \"./Options/Interfaces/IRepulseBase\";\nexport * from \"./Options/Interfaces/IRepulseDiv\";\nexport * from \"./Options/Interfaces/IRepulse\";\n","export class Slow {\n constructor() {\n this.factor = 3;\n this.radius = 200;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n","import { ExternalInteractorBase, getDistance, isInArray } from \"tsparticles-engine\";\nimport { Slow } from \"./Options/Classes/Slow\";\nexport class Slower extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n clear(particle, delta, force) {\n if (particle.slow.inRange && !force) {\n return;\n }\n particle.slow.factor = 1;\n }\n init() {\n const container = this.container, slow = container.actualOptions.interactivity.modes.slow;\n if (!slow) {\n return;\n }\n container.retina.slowModeRadius = slow.radius * container.retina.pixelRatio;\n }\n async interact() {\n }\n isEnabled(particle) {\n var _a;\n const container = this.container, mouse = container.interactivity.mouse, events = ((_a = particle === null || particle === void 0 ? void 0 : particle.interactivity) !== null && _a !== void 0 ? _a : container.actualOptions.interactivity).events;\n return events.onHover.enable && !!mouse.position && isInArray(\"slow\", events.onHover.mode);\n }\n loadModeOptions(options, ...sources) {\n if (!options.slow) {\n options.slow = new Slow();\n }\n for (const source of sources) {\n options.slow.load(source === null || source === void 0 ? void 0 : source.slow);\n }\n }\n reset(particle) {\n particle.slow.inRange = false;\n const container = this.container, options = container.actualOptions, mousePos = container.interactivity.mouse.position, radius = container.retina.slowModeRadius, slow = options.interactivity.modes.slow;\n if (!slow || !radius || radius < 0 || !mousePos) {\n return;\n }\n const particlePos = particle.getPosition(), dist = getDistance(mousePos, particlePos), proximityFactor = dist / radius, slowFactor = slow.factor;\n if (dist <= radius) {\n particle.slow.inRange = true;\n particle.slow.factor = proximityFactor / slowFactor;\n }\n }\n}\n","import { Slower } from \"./Slower\";\nexport async function loadExternalSlowInteraction(engine) {\n await engine.addInteractor(\"externalSlow\", (container) => new Slower(container));\n}\nexport * from \"./Options/Classes/Slow\";\nexport * from \"./Options/Interfaces/ISlow\";\n","import { getStyleFromHsl } from \"tsparticles-engine\";\nconst currentColorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d.]+%?\\))|currentcolor/gi;\nfunction replaceColorSvg(imageShape, color, opacity) {\n const { svgData } = imageShape;\n if (!svgData) {\n return \"\";\n }\n const colorStyle = getStyleFromHsl(color, opacity);\n if (svgData.includes(\"fill\")) {\n return svgData.replace(currentColorRegex, () => colorStyle);\n }\n const preFillIndex = svgData.indexOf(\">\");\n return `${svgData.substring(0, preFillIndex)} fill=\"${colorStyle}\"${svgData.substring(preFillIndex)}`;\n}\nexport async function loadImage(image) {\n return new Promise((resolve) => {\n image.loading = true;\n const img = new Image();\n image.element = img;\n img.addEventListener(\"load\", () => {\n image.loading = false;\n resolve();\n });\n img.addEventListener(\"error\", () => {\n image.element = undefined;\n image.error = true;\n image.loading = false;\n console.error(`Error tsParticles - loading image: ${image.source}`);\n resolve();\n });\n img.src = image.source;\n });\n}\nexport async function downloadSvgImage(image) {\n if (image.type !== \"svg\") {\n await loadImage(image);\n return;\n }\n image.loading = true;\n const response = await fetch(image.source);\n if (!response.ok) {\n console.error(\"Error tsParticles - Image not found\");\n image.error = true;\n }\n if (!image.error) {\n image.svgData = await response.text();\n }\n image.loading = false;\n}\nexport function replaceImageColor(image, imageData, color, particle) {\n var _a, _b, _c;\n const svgColoredData = replaceColorSvg(image, color, (_b = (_a = particle.opacity) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 1), imageRes = {\n color,\n data: Object.assign(Object.assign({}, image), { svgData: svgColoredData }),\n loaded: false,\n ratio: imageData.width / imageData.height,\n replaceColor: (_c = imageData.replaceColor) !== null && _c !== void 0 ? _c : imageData.replace_color,\n source: imageData.src,\n };\n return new Promise((resolve) => {\n const svg = new Blob([svgColoredData], { type: \"image/svg+xml\" }), domUrl = URL || window.URL || window.webkitURL || window, url = domUrl.createObjectURL(svg), img = new Image();\n img.addEventListener(\"load\", () => {\n imageRes.loaded = true;\n imageRes.element = img;\n resolve(imageRes);\n domUrl.revokeObjectURL(url);\n });\n img.addEventListener(\"error\", async () => {\n domUrl.revokeObjectURL(url);\n const img2 = Object.assign(Object.assign({}, image), { error: false, loading: true });\n await loadImage(img2);\n imageRes.loaded = true;\n imageRes.element = img2.element;\n resolve(imageRes);\n });\n img.src = url;\n });\n}\n","import { downloadSvgImage, loadImage, replaceImageColor } from \"./Utils\";\nexport class ImageDrawer {\n constructor() {\n this._images = [];\n }\n addImage(container, image) {\n const containerImages = this.getImages(container);\n containerImages === null || containerImages === void 0 ? void 0 : containerImages.images.push(image);\n }\n destroy() {\n this._images = [];\n }\n draw(context, particle, radius, opacity) {\n var _a;\n const image = particle.image, element = image === null || image === void 0 ? void 0 : image.element;\n if (!element) {\n return;\n }\n const ratio = (_a = image === null || image === void 0 ? void 0 : image.ratio) !== null && _a !== void 0 ? _a : 1, pos = {\n x: -radius,\n y: -radius,\n };\n context.globalAlpha = opacity;\n context.drawImage(element, pos.x, pos.y, radius * 2, (radius * 2) / ratio);\n context.globalAlpha = 1;\n }\n getImages(container) {\n const containerImages = this._images.find((t) => t.id === container.id);\n if (!containerImages) {\n this._images.push({\n id: container.id,\n images: [],\n });\n return this.getImages(container);\n }\n else {\n return containerImages;\n }\n }\n getSidesCount() {\n return 12;\n }\n loadShape(particle) {\n if (particle.shape !== \"image\" && particle.shape !== \"images\") {\n return;\n }\n const container = particle.container, images = this.getImages(container).images, imageData = particle.shapeData, image = images.find((t) => t.source === imageData.src);\n if (!image) {\n this.loadImageShape(container, imageData).then(() => {\n this.loadShape(particle);\n });\n }\n }\n particleInit(container, particle) {\n var _a;\n if (particle.shape !== \"image\" && particle.shape !== \"images\") {\n return;\n }\n const images = this.getImages(container).images, imageData = particle.shapeData, color = particle.getFillColor(), replaceColor = (_a = imageData.replaceColor) !== null && _a !== void 0 ? _a : imageData.replace_color, image = images.find((t) => t.source === imageData.src);\n if (!image) {\n return;\n }\n if (image.loading) {\n setTimeout(() => {\n this.particleInit(container, particle);\n });\n return;\n }\n (async () => {\n var _a, _b;\n let imageRes;\n if (image.svgData && color) {\n imageRes = await replaceImageColor(image, imageData, color, particle);\n }\n else {\n imageRes = {\n color,\n data: image,\n element: image.element,\n loaded: true,\n ratio: imageData.width / imageData.height,\n replaceColor: replaceColor,\n source: imageData.src,\n };\n }\n if (!imageRes.ratio) {\n imageRes.ratio = 1;\n }\n const fill = (_a = imageData.fill) !== null && _a !== void 0 ? _a : particle.fill, close = (_b = imageData.close) !== null && _b !== void 0 ? _b : particle.close, imageShape = {\n image: imageRes,\n fill,\n close,\n };\n particle.image = imageShape.image;\n particle.fill = imageShape.fill;\n particle.close = imageShape.close;\n })();\n }\n async loadImageShape(container, imageShape) {\n var _a;\n const source = imageShape.src;\n if (!source) {\n throw new Error(\"Error tsParticles - No image.src\");\n }\n try {\n const image = {\n source: source,\n type: source.substring(source.length - 3),\n error: false,\n loading: true,\n };\n this.addImage(container, image);\n const imageFunc = ((_a = imageShape.replaceColor) !== null && _a !== void 0 ? _a : imageShape.replace_color) ? downloadSvgImage : loadImage;\n await imageFunc(image);\n }\n catch (_b) {\n throw new Error(`tsParticles error - ${imageShape.src} not found`);\n }\n }\n}\n","import { ImageDrawer } from \"./ImageDrawer\";\nexport async function loadImageShape(engine) {\n await engine.addShape([\"image\", \"images\"], new ImageDrawer());\n}\n","import { ValueWithRandom } from \"tsparticles-engine\";\nexport class LifeDelay extends ValueWithRandom {\n constructor() {\n super();\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { ValueWithRandom } from \"tsparticles-engine\";\nexport class LifeDuration extends ValueWithRandom {\n constructor() {\n super();\n this.random.minimumValue = 0.0001;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { LifeDelay } from \"./LifeDelay\";\nimport { LifeDuration } from \"./LifeDuration\";\nexport class Life {\n constructor() {\n this.count = 0;\n this.delay = new LifeDelay();\n this.duration = new LifeDuration();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n this.delay.load(data.delay);\n this.duration.load(data.duration);\n }\n}\n","import { getRandom, getRangeValue, randomInRange, setRangeValue } from \"tsparticles-engine\";\nimport { Life } from \"./Options/Classes/Life\";\nexport class LifeUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const container = this.container, particlesOptions = particle.options, lifeOptions = particlesOptions.life;\n if (!lifeOptions) {\n return;\n }\n particle.life = {\n delay: container.retina.reduceFactor\n ? ((getRangeValue(lifeOptions.delay.value) * (lifeOptions.delay.sync ? 1 : getRandom())) /\n container.retina.reduceFactor) *\n 1000\n : 0,\n delayTime: 0,\n duration: container.retina.reduceFactor\n ? ((getRangeValue(lifeOptions.duration.value) * (lifeOptions.duration.sync ? 1 : getRandom())) /\n container.retina.reduceFactor) *\n 1000\n : 0,\n time: 0,\n count: lifeOptions.count,\n };\n if (particle.life.duration <= 0) {\n particle.life.duration = -1;\n }\n if (particle.life.count <= 0) {\n particle.life.count = -1;\n }\n if (particle.life) {\n particle.spawning = particle.life.delay > 0;\n }\n }\n isEnabled(particle) {\n return !particle.destroyed;\n }\n loadOptions(options, ...sources) {\n if (!options.life) {\n options.life = new Life();\n }\n for (const source of sources) {\n options.life.load(source === null || source === void 0 ? void 0 : source.life);\n }\n }\n update(particle, delta) {\n if (!this.isEnabled(particle) || !particle.life) {\n return;\n }\n const life = particle.life;\n let justSpawned = false;\n if (particle.spawning) {\n life.delayTime += delta.value;\n if (life.delayTime >= particle.life.delay) {\n justSpawned = true;\n particle.spawning = false;\n life.delayTime = 0;\n life.time = 0;\n }\n else {\n return;\n }\n }\n if (life.duration === -1) {\n return;\n }\n if (particle.spawning) {\n return;\n }\n if (justSpawned) {\n life.time = 0;\n }\n else {\n life.time += delta.value;\n }\n if (life.time < life.duration) {\n return;\n }\n life.time = 0;\n if (particle.life.count > 0) {\n particle.life.count--;\n }\n if (particle.life.count === 0) {\n particle.destroy();\n return;\n }\n const canvasSize = this.container.canvas.size, widthRange = setRangeValue(0, canvasSize.width), heightRange = setRangeValue(0, canvasSize.width);\n particle.position.x = randomInRange(widthRange);\n particle.position.y = randomInRange(heightRange);\n particle.spawning = true;\n life.delayTime = 0;\n life.time = 0;\n particle.reset();\n const lifeOptions = particle.options.life;\n if (lifeOptions) {\n life.delay = getRangeValue(lifeOptions.delay.value) * 1000;\n life.duration = getRangeValue(lifeOptions.duration.value) * 1000;\n }\n }\n}\n","import { LifeUpdater } from \"./LifeUpdater\";\nexport async function loadLifeUpdater(engine) {\n await engine.addParticleUpdater(\"life\", (container) => new LifeUpdater(container));\n}\n","export class LineDrawer {\n draw(context, particle, radius) {\n context.moveTo(-radius / 2, 0);\n context.lineTo(radius / 2, 0);\n }\n getSidesCount() {\n return 1;\n }\n}\n","import { LineDrawer } from \"./LineDrawer\";\nexport async function loadLineShape(engine) {\n await engine.addShape(\"line\", new LineDrawer());\n}\n","import { clamp, getRandom, getRangeMax, getRangeMin, getRangeValue, randomInRange, } from \"tsparticles-engine\";\nfunction checkDestroy(particle, value, minValue, maxValue) {\n switch (particle.options.opacity.animation.destroy) {\n case \"max\":\n if (value >= maxValue) {\n particle.destroy();\n }\n break;\n case \"min\":\n if (value <= minValue) {\n particle.destroy();\n }\n break;\n }\n}\nfunction updateOpacity(particle, delta) {\n var _a, _b, _c, _d, _e, _f;\n if (!particle.opacity) {\n return;\n }\n const minValue = particle.opacity.min, maxValue = particle.opacity.max, decay = (_a = particle.opacity.decay) !== null && _a !== void 0 ? _a : 1;\n if (particle.destroyed ||\n !particle.opacity.enable ||\n (((_b = particle.opacity.maxLoops) !== null && _b !== void 0 ? _b : 0) > 0 && ((_c = particle.opacity.loops) !== null && _c !== void 0 ? _c : 0) > ((_d = particle.opacity.maxLoops) !== null && _d !== void 0 ? _d : 0))) {\n return;\n }\n switch (particle.opacity.status) {\n case \"increasing\":\n if (particle.opacity.value >= maxValue) {\n particle.opacity.status = \"decreasing\";\n if (!particle.opacity.loops) {\n particle.opacity.loops = 0;\n }\n particle.opacity.loops++;\n }\n else {\n particle.opacity.value += ((_e = particle.opacity.velocity) !== null && _e !== void 0 ? _e : 0) * delta.factor;\n }\n break;\n case \"decreasing\":\n if (particle.opacity.value <= minValue) {\n particle.opacity.status = \"increasing\";\n if (!particle.opacity.loops) {\n particle.opacity.loops = 0;\n }\n particle.opacity.loops++;\n }\n else {\n particle.opacity.value -= ((_f = particle.opacity.velocity) !== null && _f !== void 0 ? _f : 0) * delta.factor;\n }\n break;\n }\n if (particle.opacity.velocity && particle.opacity.decay !== 1) {\n particle.opacity.velocity *= decay;\n }\n checkDestroy(particle, particle.opacity.value, minValue, maxValue);\n if (!particle.destroyed) {\n particle.opacity.value = clamp(particle.opacity.value, minValue, maxValue);\n }\n}\nexport class OpacityUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const opacityOptions = particle.options.opacity;\n particle.opacity = {\n enable: opacityOptions.animation.enable,\n max: getRangeMax(opacityOptions.value),\n min: getRangeMin(opacityOptions.value),\n value: getRangeValue(opacityOptions.value),\n loops: 0,\n maxLoops: getRangeValue(opacityOptions.animation.count),\n };\n const opacityAnimation = opacityOptions.animation;\n if (opacityAnimation.enable) {\n particle.opacity.decay = 1 - getRangeValue(opacityAnimation.decay);\n particle.opacity.status = \"increasing\";\n const opacityRange = opacityOptions.value;\n particle.opacity.min = getRangeMin(opacityRange);\n particle.opacity.max = getRangeMax(opacityRange);\n switch (opacityAnimation.startValue) {\n case \"min\":\n particle.opacity.value = particle.opacity.min;\n particle.opacity.status = \"increasing\";\n break;\n case \"random\":\n particle.opacity.value = randomInRange(particle.opacity);\n particle.opacity.status =\n getRandom() >= 0.5 ? \"increasing\" : \"decreasing\";\n break;\n case \"max\":\n default:\n particle.opacity.value = particle.opacity.max;\n particle.opacity.status = \"decreasing\";\n break;\n }\n particle.opacity.velocity =\n (getRangeValue(opacityAnimation.speed) / 100) * this.container.retina.reduceFactor;\n if (!opacityAnimation.sync) {\n particle.opacity.velocity *= getRandom();\n }\n }\n particle.opacity.initialValue = particle.opacity.value;\n }\n isEnabled(particle) {\n var _a, _b, _c, _d;\n return (!particle.destroyed &&\n !particle.spawning &&\n !!particle.opacity &&\n particle.opacity.enable &&\n (((_a = particle.opacity.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 ||\n (((_b = particle.opacity.maxLoops) !== null && _b !== void 0 ? _b : 0) > 0 &&\n ((_c = particle.opacity.loops) !== null && _c !== void 0 ? _c : 0) < ((_d = particle.opacity.maxLoops) !== null && _d !== void 0 ? _d : 0))));\n }\n reset(particle) {\n if (particle.opacity) {\n particle.opacity.loops = 0;\n }\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateOpacity(particle, delta);\n }\n}\n","import { OpacityUpdater } from \"./OpacityUpdater\";\nexport async function loadOpacityUpdater(engine) {\n await engine.addParticleUpdater(\"opacity\", (container) => new OpacityUpdater(container));\n}\n","import { calculateBounds } from \"tsparticles-engine\";\nimport { bounceHorizontal, bounceVertical } from \"./Utils\";\nexport class BounceOutMode {\n constructor(container) {\n this.container = container;\n this.modes = [\n \"bounce\",\n \"bounce-vertical\",\n \"bounce-horizontal\",\n \"bounceVertical\",\n \"bounceHorizontal\",\n \"split\",\n ];\n }\n update(particle, direction, delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n const container = this.container;\n let handled = false;\n for (const [, plugin] of container.plugins) {\n if (plugin.particleBounce !== undefined) {\n handled = plugin.particleBounce(particle, delta, direction);\n }\n if (handled) {\n break;\n }\n }\n if (handled) {\n return;\n }\n const pos = particle.getPosition(), offset = particle.offset, size = particle.getRadius(), bounds = calculateBounds(pos, size), canvasSize = container.canvas.size;\n bounceHorizontal({ particle, outMode, direction, bounds, canvasSize, offset, size });\n bounceVertical({ particle, outMode, direction, bounds, canvasSize, offset, size });\n }\n}\n","import { getValue } from \"tsparticles-engine\";\nexport function bounceHorizontal(data) {\n if (data.outMode !== \"bounce\" &&\n data.outMode !== \"bounce-horizontal\" &&\n data.outMode !== \"bounceHorizontal\" &&\n data.outMode !== \"split\") {\n return;\n }\n if (data.bounds.right < 0) {\n data.particle.position.x = data.size + data.offset.x;\n }\n else if (data.bounds.left > data.canvasSize.width) {\n data.particle.position.x = data.canvasSize.width - data.size - data.offset.x;\n }\n const velocity = data.particle.velocity.x;\n let bounced = false;\n if ((data.direction === \"right\" && data.bounds.right >= data.canvasSize.width && velocity > 0) ||\n (data.direction === \"left\" && data.bounds.left <= 0 && velocity < 0)) {\n const newVelocity = getValue(data.particle.options.bounce.horizontal);\n data.particle.velocity.x *= -newVelocity;\n bounced = true;\n }\n if (!bounced) {\n return;\n }\n const minPos = data.offset.x + data.size;\n if (data.bounds.right >= data.canvasSize.width) {\n data.particle.position.x = data.canvasSize.width - minPos;\n }\n else if (data.bounds.left <= 0) {\n data.particle.position.x = minPos;\n }\n if (data.outMode === \"split\") {\n data.particle.destroy();\n }\n}\nexport function bounceVertical(data) {\n if (data.outMode !== \"bounce\" &&\n data.outMode !== \"bounce-vertical\" &&\n data.outMode !== \"bounceVertical\" &&\n data.outMode !== \"split\") {\n return;\n }\n if (data.bounds.bottom < 0) {\n data.particle.position.y = data.size + data.offset.y;\n }\n else if (data.bounds.top > data.canvasSize.height) {\n data.particle.position.y = data.canvasSize.height - data.size - data.offset.y;\n }\n const velocity = data.particle.velocity.y;\n let bounced = false;\n if ((data.direction === \"bottom\" && data.bounds.bottom >= data.canvasSize.height && velocity > 0) ||\n (data.direction === \"top\" && data.bounds.top <= 0 && velocity < 0)) {\n const newVelocity = getValue(data.particle.options.bounce.vertical);\n data.particle.velocity.y *= -newVelocity;\n bounced = true;\n }\n if (!bounced) {\n return;\n }\n const minPos = data.offset.y + data.size;\n if (data.bounds.bottom >= data.canvasSize.height) {\n data.particle.position.y = data.canvasSize.height - minPos;\n }\n else if (data.bounds.top <= 0) {\n data.particle.position.y = minPos;\n }\n if (data.outMode === \"split\") {\n data.particle.destroy();\n }\n}\n","import { Vector, getDistances, isPointInside } from \"tsparticles-engine\";\nexport class DestroyOutMode {\n constructor(container) {\n this.container = container;\n this.modes = [\"destroy\"];\n }\n update(particle, direction, delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n const container = this.container;\n switch (particle.outType) {\n case \"normal\":\n case \"outside\":\n if (isPointInside(particle.position, container.canvas.size, Vector.origin, particle.getRadius(), direction)) {\n return;\n }\n break;\n case \"inside\": {\n const { dx, dy } = getDistances(particle.position, particle.moveCenter);\n const { x: vx, y: vy } = particle.velocity;\n if ((vx < 0 && dx > particle.moveCenter.radius) ||\n (vy < 0 && dy > particle.moveCenter.radius) ||\n (vx >= 0 && dx < -particle.moveCenter.radius) ||\n (vy >= 0 && dy < -particle.moveCenter.radius)) {\n return;\n }\n break;\n }\n }\n container.particles.remove(particle, undefined, true);\n }\n}\n","import { Vector, isPointInside } from \"tsparticles-engine\";\nexport class NoneOutMode {\n constructor(container) {\n this.container = container;\n this.modes = [\"none\"];\n }\n update(particle, direction, delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n if ((particle.options.move.distance.horizontal &&\n (direction === \"left\" || direction === \"right\")) ||\n (particle.options.move.distance.vertical &&\n (direction === \"top\" || direction === \"bottom\"))) {\n return;\n }\n const gravityOptions = particle.options.move.gravity, container = this.container;\n const canvasSize = container.canvas.size;\n const pRadius = particle.getRadius();\n if (!gravityOptions.enable) {\n if ((particle.velocity.y > 0 && particle.position.y <= canvasSize.height + pRadius) ||\n (particle.velocity.y < 0 && particle.position.y >= -pRadius) ||\n (particle.velocity.x > 0 && particle.position.x <= canvasSize.width + pRadius) ||\n (particle.velocity.x < 0 && particle.position.x >= -pRadius)) {\n return;\n }\n if (!isPointInside(particle.position, container.canvas.size, Vector.origin, pRadius, direction)) {\n container.particles.remove(particle);\n }\n }\n else {\n const position = particle.position;\n if ((!gravityOptions.inverse &&\n position.y > canvasSize.height + pRadius &&\n direction === \"bottom\") ||\n (gravityOptions.inverse && position.y < -pRadius && direction === \"top\")) {\n container.particles.remove(particle);\n }\n }\n }\n}\n","import { Vector, calculateBounds, getDistances, getRandom, isPointInside, randomInRange, } from \"tsparticles-engine\";\nexport class OutOutMode {\n constructor(container) {\n this.container = container;\n this.modes = [\"out\"];\n }\n update(particle, direction, delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n const container = this.container;\n switch (particle.outType) {\n case \"inside\": {\n const { x: vx, y: vy } = particle.velocity;\n const circVec = Vector.origin;\n circVec.length = particle.moveCenter.radius;\n circVec.angle = particle.velocity.angle + Math.PI;\n circVec.addTo(Vector.create(particle.moveCenter));\n const { dx, dy } = getDistances(particle.position, circVec);\n if ((vx <= 0 && dx >= 0) || (vy <= 0 && dy >= 0) || (vx >= 0 && dx <= 0) || (vy >= 0 && dy <= 0)) {\n return;\n }\n particle.position.x = Math.floor(randomInRange({\n min: 0,\n max: container.canvas.size.width,\n }));\n particle.position.y = Math.floor(randomInRange({\n min: 0,\n max: container.canvas.size.height,\n }));\n const { dx: newDx, dy: newDy } = getDistances(particle.position, particle.moveCenter);\n particle.direction = Math.atan2(-newDy, -newDx);\n particle.velocity.angle = particle.direction;\n break;\n }\n default: {\n if (isPointInside(particle.position, container.canvas.size, Vector.origin, particle.getRadius(), direction)) {\n return;\n }\n switch (particle.outType) {\n case \"outside\": {\n particle.position.x =\n Math.floor(randomInRange({\n min: -particle.moveCenter.radius,\n max: particle.moveCenter.radius,\n })) + particle.moveCenter.x;\n particle.position.y =\n Math.floor(randomInRange({\n min: -particle.moveCenter.radius,\n max: particle.moveCenter.radius,\n })) + particle.moveCenter.y;\n const { dx, dy } = getDistances(particle.position, particle.moveCenter);\n if (particle.moveCenter.radius) {\n particle.direction = Math.atan2(dy, dx);\n particle.velocity.angle = particle.direction;\n }\n break;\n }\n case \"normal\": {\n const wrap = particle.options.move.warp, canvasSize = container.canvas.size, newPos = {\n bottom: canvasSize.height + particle.getRadius() + particle.offset.y,\n left: -particle.getRadius() - particle.offset.x,\n right: canvasSize.width + particle.getRadius() + particle.offset.x,\n top: -particle.getRadius() - particle.offset.y,\n }, sizeValue = particle.getRadius(), nextBounds = calculateBounds(particle.position, sizeValue);\n if (direction === \"right\" &&\n nextBounds.left > canvasSize.width + particle.offset.x) {\n particle.position.x = newPos.left;\n particle.initialPosition.x = particle.position.x;\n if (!wrap) {\n particle.position.y = getRandom() * canvasSize.height;\n particle.initialPosition.y = particle.position.y;\n }\n }\n else if (direction === \"left\" && nextBounds.right < -particle.offset.x) {\n particle.position.x = newPos.right;\n particle.initialPosition.x = particle.position.x;\n if (!wrap) {\n particle.position.y = getRandom() * canvasSize.height;\n particle.initialPosition.y = particle.position.y;\n }\n }\n if (direction === \"bottom\" &&\n nextBounds.top > canvasSize.height + particle.offset.y) {\n if (!wrap) {\n particle.position.x = getRandom() * canvasSize.width;\n particle.initialPosition.x = particle.position.x;\n }\n particle.position.y = newPos.top;\n particle.initialPosition.y = particle.position.y;\n }\n else if (direction === \"top\" && nextBounds.bottom < -particle.offset.y) {\n if (!wrap) {\n particle.position.x = getRandom() * canvasSize.width;\n particle.initialPosition.x = particle.position.x;\n }\n particle.position.y = newPos.bottom;\n particle.initialPosition.y = particle.position.y;\n }\n break;\n }\n }\n break;\n }\n }\n }\n}\n","import { BounceOutMode } from \"./BounceOutMode\";\nimport { DestroyOutMode } from \"./DestroyOutMode\";\nimport { NoneOutMode } from \"./NoneOutMode\";\nimport { OutOutMode } from \"./OutOutMode\";\nexport class OutOfCanvasUpdater {\n constructor(container) {\n this.container = container;\n this.updaters = [\n new BounceOutMode(container),\n new DestroyOutMode(container),\n new OutOutMode(container),\n new NoneOutMode(container),\n ];\n }\n init() {\n }\n isEnabled(particle) {\n return !particle.destroyed && !particle.spawning;\n }\n update(particle, delta) {\n var _a, _b, _c, _d;\n const outModes = particle.options.move.outModes;\n this.updateOutMode(particle, delta, (_a = outModes.bottom) !== null && _a !== void 0 ? _a : outModes.default, \"bottom\");\n this.updateOutMode(particle, delta, (_b = outModes.left) !== null && _b !== void 0 ? _b : outModes.default, \"left\");\n this.updateOutMode(particle, delta, (_c = outModes.right) !== null && _c !== void 0 ? _c : outModes.default, \"right\");\n this.updateOutMode(particle, delta, (_d = outModes.top) !== null && _d !== void 0 ? _d : outModes.default, \"top\");\n }\n updateOutMode(particle, delta, outMode, direction) {\n for (const updater of this.updaters) {\n updater.update(particle, direction, delta, outMode);\n }\n }\n}\n","import { OutOfCanvasUpdater } from \"./OutOfCanvasUpdater\";\nexport async function loadOutModesUpdater(engine) {\n await engine.addParticleUpdater(\"outModes\", (container) => new OutOfCanvasUpdater(container));\n}\n","import { isSsr } from \"tsparticles-engine\";\nexport class ParallaxMover {\n init() {\n }\n isEnabled(particle) {\n return (!isSsr() &&\n !particle.destroyed &&\n particle.container.actualOptions.interactivity.events.onHover.parallax.enable);\n }\n move(particle) {\n const container = particle.container, options = container.actualOptions;\n if (isSsr() || !options.interactivity.events.onHover.parallax.enable) {\n return;\n }\n const parallaxForce = options.interactivity.events.onHover.parallax.force, mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const canvasCenter = {\n x: container.canvas.size.width / 2,\n y: container.canvas.size.height / 2,\n }, parallaxSmooth = options.interactivity.events.onHover.parallax.smooth, factor = particle.getRadius() / parallaxForce, centerDistance = {\n x: (mousePos.x - canvasCenter.x) * factor,\n y: (mousePos.y - canvasCenter.y) * factor,\n };\n particle.offset.x += (centerDistance.x - particle.offset.x) / parallaxSmooth;\n particle.offset.y += (centerDistance.y - particle.offset.y) / parallaxSmooth;\n }\n}\n","import { ParallaxMover } from \"./ParallaxMover\";\nexport async function loadParallaxMover(engine) {\n engine.addMover(\"parallax\", () => new ParallaxMover());\n}\n","import { ParticlesInteractorBase, getDistances } from \"tsparticles-engine\";\nexport class Attractor extends ParticlesInteractorBase {\n constructor(container) {\n super(container);\n }\n clear() {\n }\n init() {\n }\n async interact(p1) {\n var _a;\n const container = this.container, distance = (_a = p1.retina.attractDistance) !== null && _a !== void 0 ? _a : container.retina.attractDistance, pos1 = p1.getPosition(), query = container.particles.quadTree.queryCircle(pos1, distance);\n for (const p2 of query) {\n if (p1 === p2 || !p2.options.move.attract.enable || p2.destroyed || p2.spawning) {\n continue;\n }\n const pos2 = p2.getPosition(), { dx, dy } = getDistances(pos1, pos2), rotate = p1.options.move.attract.rotate, ax = dx / (rotate.x * 1000), ay = dy / (rotate.y * 1000), p1Factor = p2.size.value / p1.size.value, p2Factor = 1 / p1Factor;\n p1.velocity.x -= ax * p1Factor;\n p1.velocity.y -= ay * p1Factor;\n p2.velocity.x += ax * p2Factor;\n p2.velocity.y += ay * p2Factor;\n }\n }\n isEnabled(particle) {\n return particle.options.move.attract.enable;\n }\n reset() {\n }\n}\n","import { Attractor } from \"./Attractor\";\nexport async function loadParticlesAttractInteraction(engine) {\n await engine.addInteractor(\"particlesAttract\", (container) => new Attractor(container));\n}\n","import { clamp } from \"tsparticles-engine\";\nfunction updateAbsorb(p1, r1, p2, r2, delta, pixelRatio) {\n const factor = clamp((p1.options.collisions.absorb.speed * delta.factor) / 10, 0, r2);\n p1.size.value += factor / 2;\n p2.size.value -= factor;\n if (r2 <= pixelRatio) {\n p2.size.value = 0;\n p2.destroy();\n }\n}\nexport function absorb(p1, p2, delta, pixelRatio) {\n const r1 = p1.getRadius(), r2 = p2.getRadius();\n if (r1 === undefined && r2 !== undefined) {\n p1.destroy();\n }\n else if (r1 !== undefined && r2 === undefined) {\n p2.destroy();\n }\n else if (r1 !== undefined && r2 !== undefined) {\n if (r1 >= r2) {\n updateAbsorb(p1, r1, p2, r2, delta, pixelRatio);\n }\n else {\n updateAbsorb(p2, r2, p1, r1, delta, pixelRatio);\n }\n }\n}\n","import { circleBounce, circleBounceDataFromParticle } from \"tsparticles-engine\";\nexport function bounce(p1, p2) {\n circleBounce(circleBounceDataFromParticle(p1), circleBounceDataFromParticle(p2));\n}\n","import { absorb } from \"./Absorb\";\nimport { bounce } from \"./Bounce\";\nimport { destroy } from \"./Destroy\";\nexport function resolveCollision(p1, p2, delta, pixelRatio) {\n switch (p1.options.collisions.mode) {\n case \"absorb\": {\n absorb(p1, p2, delta, pixelRatio);\n break;\n }\n case \"bounce\": {\n bounce(p1, p2);\n break;\n }\n case \"destroy\": {\n destroy(p1, p2);\n break;\n }\n }\n}\n","import { bounce } from \"./Bounce\";\nexport function destroy(p1, p2) {\n if (!p1.unbreakable && !p2.unbreakable) {\n bounce(p1, p2);\n }\n if (p1.getRadius() === undefined && p2.getRadius() !== undefined) {\n p1.destroy();\n }\n else if (p1.getRadius() !== undefined && p2.getRadius() === undefined) {\n p2.destroy();\n }\n else if (p1.getRadius() !== undefined && p2.getRadius() !== undefined) {\n const deleteP = p1.getRadius() >= p2.getRadius() ? p1 : p2;\n deleteP.destroy();\n }\n}\n","import { ParticlesInteractorBase, getDistance } from \"tsparticles-engine\";\nimport { resolveCollision } from \"./ResolveCollision\";\nexport class Collider extends ParticlesInteractorBase {\n constructor(container) {\n super(container);\n }\n clear() {\n }\n init() {\n }\n async interact(p1, delta) {\n const container = this.container, pos1 = p1.getPosition(), radius1 = p1.getRadius(), query = container.particles.quadTree.queryCircle(pos1, radius1 * 2);\n for (const p2 of query) {\n if (p1 === p2 ||\n !p2.options.collisions.enable ||\n p1.options.collisions.mode !== p2.options.collisions.mode ||\n p2.destroyed ||\n p2.spawning) {\n continue;\n }\n const pos2 = p2.getPosition(), radius2 = p2.getRadius();\n if (Math.abs(Math.round(pos1.z) - Math.round(pos2.z)) > radius1 + radius2) {\n continue;\n }\n const dist = getDistance(pos1, pos2), distP = radius1 + radius2;\n if (dist > distP) {\n continue;\n }\n resolveCollision(p1, p2, delta, container.retina.pixelRatio);\n }\n }\n isEnabled(particle) {\n return particle.options.collisions.enable;\n }\n reset() {\n }\n}\n","import { Collider } from \"./Collider\";\nexport async function loadParticlesCollisionsInteraction(engine) {\n await engine.addInteractor(\"particlesCollisions\", (container) => new Collider(container));\n}\n","import { Circle, Rectangle } from \"tsparticles-engine\";\nexport class CircleWarp extends Circle {\n constructor(x, y, radius, canvasSize) {\n super(x, y, radius);\n this.canvasSize = canvasSize;\n this.canvasSize = Object.assign({}, canvasSize);\n }\n contains(point) {\n if (super.contains(point)) {\n return true;\n }\n const posNE = {\n x: point.x - this.canvasSize.width,\n y: point.y,\n };\n if (super.contains(posNE)) {\n return true;\n }\n const posSE = {\n x: point.x - this.canvasSize.width,\n y: point.y - this.canvasSize.height,\n };\n if (super.contains(posSE)) {\n return true;\n }\n const posSW = {\n x: point.x,\n y: point.y - this.canvasSize.height,\n };\n return super.contains(posSW);\n }\n intersects(range) {\n if (super.intersects(range)) {\n return true;\n }\n const rect = range, circle = range, newPos = {\n x: range.position.x - this.canvasSize.width,\n y: range.position.y - this.canvasSize.height,\n };\n if (circle.radius !== undefined) {\n const biggerCircle = new Circle(newPos.x, newPos.y, circle.radius * 2);\n return super.intersects(biggerCircle);\n }\n else if (rect.size !== undefined) {\n const rectSW = new Rectangle(newPos.x, newPos.y, rect.size.width * 2, rect.size.height * 2);\n return super.intersects(rectSW);\n }\n return false;\n }\n}\n","import { OptionsColor } from \"tsparticles-engine\";\nexport class LinksShadow {\n constructor() {\n this.blur = 5;\n this.color = new OptionsColor();\n this.color.value = \"#000\";\n this.enable = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.blur !== undefined) {\n this.blur = data.blur;\n }\n this.color = OptionsColor.create(this.color, data.color);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n","import { OptionsColor } from \"tsparticles-engine\";\nexport class LinksTriangle {\n constructor() {\n this.enable = false;\n this.frequency = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.frequency !== undefined) {\n this.frequency = data.frequency;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n","import { LinksShadow } from \"./LinksShadow\";\nimport { LinksTriangle } from \"./LinksTriangle\";\nimport { OptionsColor } from \"tsparticles-engine\";\nexport class Links {\n constructor() {\n this.blink = false;\n this.color = new OptionsColor();\n this.color.value = \"#fff\";\n this.consent = false;\n this.distance = 100;\n this.enable = false;\n this.frequency = 1;\n this.opacity = 1;\n this.shadow = new LinksShadow();\n this.triangles = new LinksTriangle();\n this.width = 1;\n this.warp = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.id !== undefined) {\n this.id = data.id;\n }\n if (data.blink !== undefined) {\n this.blink = data.blink;\n }\n this.color = OptionsColor.create(this.color, data.color);\n if (data.consent !== undefined) {\n this.consent = data.consent;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.frequency !== undefined) {\n this.frequency = data.frequency;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n this.shadow.load(data.shadow);\n this.triangles.load(data.triangles);\n if (data.width !== undefined) {\n this.width = data.width;\n }\n if (data.warp !== undefined) {\n this.warp = data.warp;\n }\n }\n}\n","import { Circle, ParticlesInteractorBase, getDistance, getLinkRandomColor } from \"tsparticles-engine\";\nimport { CircleWarp } from \"./CircleWarp\";\nimport { Links } from \"./Options/Classes/Links\";\nfunction getLinkDistance(pos1, pos2, optDistance, canvasSize, warp) {\n let distance = getDistance(pos1, pos2);\n if (!warp || distance <= optDistance) {\n return distance;\n }\n const pos2NE = {\n x: pos2.x - canvasSize.width,\n y: pos2.y,\n };\n distance = getDistance(pos1, pos2NE);\n if (distance <= optDistance) {\n return distance;\n }\n const pos2SE = {\n x: pos2.x - canvasSize.width,\n y: pos2.y - canvasSize.height,\n };\n distance = getDistance(pos1, pos2SE);\n if (distance <= optDistance) {\n return distance;\n }\n const pos2SW = {\n x: pos2.x,\n y: pos2.y - canvasSize.height,\n };\n distance = getDistance(pos1, pos2SW);\n return distance;\n}\nexport class Linker extends ParticlesInteractorBase {\n constructor(container) {\n super(container);\n this.linkContainer = container;\n }\n clear() {\n }\n init() {\n this.linkContainer.particles.linksColor = undefined;\n this.linkContainer.particles.linksColors = new Map();\n }\n async interact(p1) {\n var _a;\n if (!p1.options.links) {\n return;\n }\n p1.links = [];\n const pos1 = p1.getPosition(), container = this.container, canvasSize = container.canvas.size;\n if (pos1.x < 0 || pos1.y < 0 || pos1.x > canvasSize.width || pos1.y > canvasSize.height) {\n return;\n }\n const linkOpt1 = p1.options.links, optOpacity = linkOpt1.opacity, optDistance = (_a = p1.retina.linksDistance) !== null && _a !== void 0 ? _a : 0, warp = linkOpt1.warp, range = warp\n ? new CircleWarp(pos1.x, pos1.y, optDistance, canvasSize)\n : new Circle(pos1.x, pos1.y, optDistance), query = container.particles.quadTree.query(range);\n for (const p2 of query) {\n const linkOpt2 = p2.options.links;\n if (p1 === p2 ||\n !(linkOpt2 === null || linkOpt2 === void 0 ? void 0 : linkOpt2.enable) ||\n linkOpt1.id !== linkOpt2.id ||\n p2.spawning ||\n p2.destroyed ||\n !p2.links ||\n p1.links.map((t) => t.destination).indexOf(p2) !== -1 ||\n p2.links.map((t) => t.destination).indexOf(p1) !== -1) {\n continue;\n }\n const pos2 = p2.getPosition();\n if (pos2.x < 0 || pos2.y < 0 || pos2.x > canvasSize.width || pos2.y > canvasSize.height) {\n continue;\n }\n const distance = getLinkDistance(pos1, pos2, optDistance, canvasSize, warp && linkOpt2.warp);\n if (distance > optDistance) {\n return;\n }\n const opacityLine = (1 - distance / optDistance) * optOpacity;\n this.setColor(p1);\n p1.links.push({\n destination: p2,\n opacity: opacityLine,\n });\n }\n }\n isEnabled(particle) {\n var _a;\n return !!((_a = particle.options.links) === null || _a === void 0 ? void 0 : _a.enable);\n }\n loadParticlesOptions(options, ...sources) {\n var _a, _b;\n if (!options.links) {\n options.links = new Links();\n }\n for (const source of sources) {\n options.links.load((_b = (_a = source === null || source === void 0 ? void 0 : source.links) !== null && _a !== void 0 ? _a : source === null || source === void 0 ? void 0 : source.lineLinked) !== null && _b !== void 0 ? _b : source === null || source === void 0 ? void 0 : source.line_linked);\n }\n }\n reset() {\n }\n setColor(p1) {\n if (!p1.options.links) {\n return;\n }\n const container = this.linkContainer, linksOptions = p1.options.links;\n let linkColor = linksOptions.id === undefined\n ? container.particles.linksColor\n : container.particles.linksColors.get(linksOptions.id);\n if (linkColor) {\n return;\n }\n const optColor = linksOptions.color;\n linkColor = getLinkRandomColor(optColor, linksOptions.blink, linksOptions.consent);\n if (linksOptions.id === undefined) {\n container.particles.linksColor = linkColor;\n }\n else {\n container.particles.linksColors.set(linksOptions.id, linkColor);\n }\n }\n}\n","import { Linker } from \"./Linker\";\nexport async function loadInteraction(engine) {\n await engine.addInteractor(\"particlesLinks\", (container) => new Linker(container));\n}\n","import { drawLinkLine, drawLinkTriangle } from \"./Utils\";\nimport { getDistance, getLinkColor, getRandom, getRangeValue, rangeColorToRgb } from \"tsparticles-engine\";\nfunction getLinkKey(ids) {\n ids.sort((a, b) => a - b);\n return ids.join(\"_\");\n}\nfunction setLinkFrequency(particles, dictionary) {\n const key = getLinkKey(particles.map((t) => t.id));\n let res = dictionary.get(key);\n if (res === undefined) {\n res = getRandom();\n dictionary.set(key, res);\n }\n return res;\n}\nexport class LinkInstance {\n constructor(container) {\n this.container = container;\n this._freqs = {\n links: new Map(),\n triangles: new Map(),\n };\n }\n drawParticle(context, particle) {\n var _a;\n const pOptions = particle.options;\n if (!particle.links || particle.links.length <= 0) {\n return;\n }\n const p1Links = particle.links.filter((l) => pOptions.links && this.getLinkFrequency(particle, l.destination) <= pOptions.links.frequency);\n for (const link of p1Links) {\n this.drawTriangles(pOptions, particle, link, p1Links);\n if (link.opacity > 0 && ((_a = particle.retina.linksWidth) !== null && _a !== void 0 ? _a : 0) > 0) {\n this.drawLinkLine(particle, link);\n }\n }\n }\n async init() {\n this._freqs.links = new Map();\n this._freqs.triangles = new Map();\n }\n particleCreated(particle) {\n particle.links = [];\n if (!particle.options.links) {\n return;\n }\n const ratio = this.container.retina.pixelRatio;\n particle.retina.linksDistance = particle.options.links.distance * ratio;\n particle.retina.linksWidth = particle.options.links.width * ratio;\n }\n particleDestroyed(particle) {\n particle.links = [];\n }\n drawLinkLine(p1, link) {\n const container = this.container, options = container.actualOptions, p2 = link.destination, pos1 = p1.getPosition(), pos2 = p2.getPosition();\n let opacity = link.opacity;\n container.canvas.draw((ctx) => {\n var _a, _b, _c;\n if (!p1.options.links) {\n return;\n }\n let colorLine;\n const twinkle = (_a = p1.options.twinkle) === null || _a === void 0 ? void 0 : _a.lines;\n if (twinkle === null || twinkle === void 0 ? void 0 : twinkle.enable) {\n const twinkleFreq = twinkle.frequency, twinkleRgb = rangeColorToRgb(twinkle.color), twinkling = getRandom() < twinkleFreq;\n if (twinkling && twinkleRgb) {\n colorLine = twinkleRgb;\n opacity = getRangeValue(twinkle.opacity);\n }\n }\n if (!colorLine) {\n const linksOptions = p1.options.links, linkColor = (linksOptions === null || linksOptions === void 0 ? void 0 : linksOptions.id) !== undefined\n ? container.particles.linksColors.get(linksOptions.id)\n : container.particles.linksColor;\n colorLine = getLinkColor(p1, p2, linkColor);\n }\n if (!colorLine) {\n return;\n }\n const width = (_b = p1.retina.linksWidth) !== null && _b !== void 0 ? _b : 0, maxDistance = (_c = p1.retina.linksDistance) !== null && _c !== void 0 ? _c : 0;\n drawLinkLine(ctx, width, pos1, pos2, maxDistance, container.canvas.size, p1.options.links.warp, options.backgroundMask.enable, options.backgroundMask.composite, colorLine, opacity, p1.options.links.shadow);\n });\n }\n drawLinkTriangle(p1, link1, link2) {\n var _a;\n if (!p1.options.links) {\n return;\n }\n const container = this.container, options = container.actualOptions, p2 = link1.destination, p3 = link2.destination, triangleOptions = p1.options.links.triangles, opacityTriangle = (_a = triangleOptions.opacity) !== null && _a !== void 0 ? _a : (link1.opacity + link2.opacity) / 2;\n if (opacityTriangle <= 0) {\n return;\n }\n container.canvas.draw((ctx) => {\n var _a;\n const pos1 = p1.getPosition(), pos2 = p2.getPosition(), pos3 = p3.getPosition(), linksDistance = (_a = p1.retina.linksDistance) !== null && _a !== void 0 ? _a : 0;\n if (getDistance(pos1, pos2) > linksDistance ||\n getDistance(pos3, pos2) > linksDistance ||\n getDistance(pos3, pos1) > linksDistance) {\n return;\n }\n let colorTriangle = rangeColorToRgb(triangleOptions.color);\n if (!colorTriangle) {\n const linksOptions = p1.options.links, linkColor = (linksOptions === null || linksOptions === void 0 ? void 0 : linksOptions.id) !== undefined\n ? container.particles.linksColors.get(linksOptions.id)\n : container.particles.linksColor;\n colorTriangle = getLinkColor(p1, p2, linkColor);\n }\n if (!colorTriangle) {\n return;\n }\n drawLinkTriangle(ctx, pos1, pos2, pos3, options.backgroundMask.enable, options.backgroundMask.composite, colorTriangle, opacityTriangle);\n });\n }\n drawTriangles(options, p1, link, p1Links) {\n var _a, _b, _c;\n const p2 = link.destination;\n if (!(((_a = options.links) === null || _a === void 0 ? void 0 : _a.triangles.enable) && ((_b = p2.options.links) === null || _b === void 0 ? void 0 : _b.triangles.enable))) {\n return;\n }\n const vertices = (_c = p2.links) === null || _c === void 0 ? void 0 : _c.filter((t) => {\n const linkFreq = this.getLinkFrequency(p2, t.destination);\n return (p2.options.links &&\n linkFreq <= p2.options.links.frequency &&\n p1Links.findIndex((l) => l.destination === t.destination) >= 0);\n });\n if (!(vertices === null || vertices === void 0 ? void 0 : vertices.length)) {\n return;\n }\n for (const vertex of vertices) {\n const p3 = vertex.destination, triangleFreq = this.getTriangleFrequency(p1, p2, p3);\n if (triangleFreq > options.links.triangles.frequency) {\n continue;\n }\n this.drawLinkTriangle(p1, link, vertex);\n }\n }\n getLinkFrequency(p1, p2) {\n return setLinkFrequency([p1, p2], this._freqs.links);\n }\n getTriangleFrequency(p1, p2, p3) {\n return setLinkFrequency([p1, p2, p3], this._freqs.triangles);\n }\n}\n","import { drawLine, drawTriangle, getDistance, getDistances, getStyleFromRgb, rangeColorToRgb, } from \"tsparticles-engine\";\nexport function drawLinkLine(context, width, begin, end, maxDistance, canvasSize, warp, backgroundMask, composite, colorLine, opacity, shadow) {\n let drawn = false;\n if (getDistance(begin, end) <= maxDistance) {\n drawLine(context, begin, end);\n drawn = true;\n }\n else if (warp) {\n let pi1;\n let pi2;\n const endNE = {\n x: end.x - canvasSize.width,\n y: end.y,\n };\n const d1 = getDistances(begin, endNE);\n if (d1.distance <= maxDistance) {\n const yi = begin.y - (d1.dy / d1.dx) * begin.x;\n pi1 = { x: 0, y: yi };\n pi2 = { x: canvasSize.width, y: yi };\n }\n else {\n const endSW = {\n x: end.x,\n y: end.y - canvasSize.height,\n };\n const d2 = getDistances(begin, endSW);\n if (d2.distance <= maxDistance) {\n const yi = begin.y - (d2.dy / d2.dx) * begin.x;\n const xi = -yi / (d2.dy / d2.dx);\n pi1 = { x: xi, y: 0 };\n pi2 = { x: xi, y: canvasSize.height };\n }\n else {\n const endSE = {\n x: end.x - canvasSize.width,\n y: end.y - canvasSize.height,\n };\n const d3 = getDistances(begin, endSE);\n if (d3.distance <= maxDistance) {\n const yi = begin.y - (d3.dy / d3.dx) * begin.x;\n const xi = -yi / (d3.dy / d3.dx);\n pi1 = { x: xi, y: yi };\n pi2 = { x: pi1.x + canvasSize.width, y: pi1.y + canvasSize.height };\n }\n }\n }\n if (pi1 && pi2) {\n drawLine(context, begin, pi1);\n drawLine(context, end, pi2);\n drawn = true;\n }\n }\n if (!drawn) {\n return;\n }\n context.lineWidth = width;\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n context.strokeStyle = getStyleFromRgb(colorLine, opacity);\n if (shadow.enable) {\n const shadowColor = rangeColorToRgb(shadow.color);\n if (shadowColor) {\n context.shadowBlur = shadow.blur;\n context.shadowColor = getStyleFromRgb(shadowColor);\n }\n }\n context.stroke();\n}\nexport function drawLinkTriangle(context, pos1, pos2, pos3, backgroundMask, composite, colorTriangle, opacityTriangle) {\n drawTriangle(context, pos1, pos2, pos3);\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n context.fillStyle = getStyleFromRgb(colorTriangle, opacityTriangle);\n context.fill();\n}\n","import { LinkInstance } from \"./LinkInstance\";\nclass LinksPlugin {\n constructor() {\n this.id = \"links\";\n }\n getPlugin(container) {\n return new LinkInstance(container);\n }\n loadOptions() {\n }\n needsPlugin() {\n return true;\n }\n}\nexport async function loadPlugin(engine) {\n const plugin = new LinksPlugin();\n await engine.addPlugin(plugin);\n}\n","import { loadInteraction } from \"./interaction\";\nimport { loadPlugin } from \"./plugin\";\nexport async function loadParticlesLinksInteraction(engine) {\n await loadInteraction(engine);\n await loadPlugin(engine);\n}\nexport * from \"./Options/Classes/Links\";\nexport * from \"./Options/Classes/LinksShadow\";\nexport * from \"./Options/Classes/LinksTriangle\";\nexport * from \"./Options/Interfaces/ILinks\";\nexport * from \"./Options/Interfaces/ILinksShadow\";\nexport * from \"./Options/Interfaces/ILinksTriangle\";\n","import { getRangeValue } from \"tsparticles-engine\";\nexport class PolygonDrawerBase {\n draw(context, particle, radius) {\n const start = this.getCenter(particle, radius), side = this.getSidesData(particle, radius), sideCount = side.count.numerator * side.count.denominator, decimalSides = side.count.numerator / side.count.denominator, interiorAngleDegrees = (180 * (decimalSides - 2)) / decimalSides, interiorAngle = Math.PI - (Math.PI * interiorAngleDegrees) / 180;\n if (!context) {\n return;\n }\n context.beginPath();\n context.translate(start.x, start.y);\n context.moveTo(0, 0);\n for (let i = 0; i < sideCount; i++) {\n context.lineTo(side.length, 0);\n context.translate(side.length, 0);\n context.rotate(interiorAngle);\n }\n }\n getSidesCount(particle) {\n var _a, _b;\n const polygon = particle.shapeData, sides = Math.round(getRangeValue((_b = (_a = polygon === null || polygon === void 0 ? void 0 : polygon.sides) !== null && _a !== void 0 ? _a : polygon === null || polygon === void 0 ? void 0 : polygon.nb_sides) !== null && _b !== void 0 ? _b : 5));\n return sides;\n }\n}\n","import { PolygonDrawerBase } from \"./PolygonDrawerBase\";\nexport class PolygonDrawer extends PolygonDrawerBase {\n getCenter(particle, radius) {\n return {\n x: -radius / (particle.sides / 3.5),\n y: -radius / (2.66 / 3.5),\n };\n }\n getSidesData(particle, radius) {\n const sides = particle.sides;\n return {\n count: {\n denominator: 1,\n numerator: sides,\n },\n length: (radius * 2.66) / (sides / 3),\n };\n }\n}\n","import { PolygonDrawerBase } from \"./PolygonDrawerBase\";\nexport class TriangleDrawer extends PolygonDrawerBase {\n getCenter(particle, radius) {\n return {\n x: -radius,\n y: radius / 1.66,\n };\n }\n getSidesCount() {\n return 3;\n }\n getSidesData(particle, radius) {\n return {\n count: {\n denominator: 2,\n numerator: 3,\n },\n length: radius * 2,\n };\n }\n}\n","import { PolygonDrawer } from \"./PolygonDrawer\";\nimport { TriangleDrawer } from \"./TriangleDrawer\";\nexport async function loadGenericPolygonShape(engine) {\n await engine.addShape(\"polygon\", new PolygonDrawer());\n}\nexport async function loadTriangleShape(engine) {\n await engine.addShape(\"triangle\", new TriangleDrawer());\n}\nexport async function loadPolygonShape(engine) {\n await loadGenericPolygonShape(engine);\n await loadTriangleShape(engine);\n}\n","import { clamp, getRandom } from \"tsparticles-engine\";\nfunction checkDestroy(particle, value, minValue, maxValue) {\n switch (particle.options.size.animation.destroy) {\n case \"max\":\n if (value >= maxValue) {\n particle.destroy();\n }\n break;\n case \"min\":\n if (value <= minValue) {\n particle.destroy();\n }\n break;\n }\n}\nfunction updateSize(particle, delta) {\n var _a, _b, _c, _d, _e;\n const sizeVelocity = ((_a = particle.size.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor, minValue = particle.size.min, maxValue = particle.size.max, decay = (_b = particle.size.decay) !== null && _b !== void 0 ? _b : 1;\n if (particle.destroyed ||\n !particle.size.enable ||\n (((_c = particle.size.maxLoops) !== null && _c !== void 0 ? _c : 0) > 0 && ((_d = particle.size.loops) !== null && _d !== void 0 ? _d : 0) > ((_e = particle.size.maxLoops) !== null && _e !== void 0 ? _e : 0))) {\n return;\n }\n switch (particle.size.status) {\n case \"increasing\":\n if (particle.size.value >= maxValue) {\n particle.size.status = \"decreasing\";\n if (!particle.size.loops) {\n particle.size.loops = 0;\n }\n particle.size.loops++;\n }\n else {\n particle.size.value += sizeVelocity;\n }\n break;\n case \"decreasing\":\n if (particle.size.value <= minValue) {\n particle.size.status = \"increasing\";\n if (!particle.size.loops) {\n particle.size.loops = 0;\n }\n particle.size.loops++;\n }\n else {\n particle.size.value -= sizeVelocity;\n }\n }\n if (particle.size.velocity && decay !== 1) {\n particle.size.velocity *= decay;\n }\n checkDestroy(particle, particle.size.value, minValue, maxValue);\n if (!particle.destroyed) {\n particle.size.value = clamp(particle.size.value, minValue, maxValue);\n }\n}\nexport class SizeUpdater {\n init(particle) {\n var _a;\n const container = particle.container, sizeOptions = particle.options.size, sizeAnimation = sizeOptions.animation;\n if (sizeAnimation.enable) {\n particle.size.velocity =\n (((_a = particle.retina.sizeAnimationSpeed) !== null && _a !== void 0 ? _a : container.retina.sizeAnimationSpeed) / 100) *\n container.retina.reduceFactor;\n if (!sizeAnimation.sync) {\n particle.size.velocity *= getRandom();\n }\n }\n }\n isEnabled(particle) {\n var _a, _b, _c, _d;\n return (!particle.destroyed &&\n !particle.spawning &&\n particle.size.enable &&\n (((_a = particle.size.maxLoops) !== null && _a !== void 0 ? _a : 0) <= 0 ||\n (((_b = particle.size.maxLoops) !== null && _b !== void 0 ? _b : 0) > 0 && ((_c = particle.size.loops) !== null && _c !== void 0 ? _c : 0) < ((_d = particle.size.maxLoops) !== null && _d !== void 0 ? _d : 0))));\n }\n reset(particle) {\n particle.size.loops = 0;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateSize(particle, delta);\n }\n}\n","import { SizeUpdater } from \"./SizeUpdater\";\nexport async function loadSizeUpdater(engine) {\n await engine.addParticleUpdater(\"size\", () => new SizeUpdater());\n}\n","const fixFactor = Math.sqrt(2);\nexport class SquareDrawer {\n draw(context, particle, radius) {\n context.rect(-radius / fixFactor, -radius / fixFactor, (radius * 2) / fixFactor, (radius * 2) / fixFactor);\n }\n getSidesCount() {\n return 4;\n }\n}\n","import { SquareDrawer } from \"./SquareDrawer\";\nexport async function loadSquareShape(engine) {\n const drawer = new SquareDrawer();\n await engine.addShape([\"edge\", \"square\"], drawer);\n}\n","import { getRangeValue } from \"tsparticles-engine\";\nexport class StarDrawer {\n draw(context, particle, radius) {\n var _a;\n const sides = particle.sides, inset = (_a = particle.starInset) !== null && _a !== void 0 ? _a : 2;\n context.moveTo(0, 0 - radius);\n for (let i = 0; i < sides; i++) {\n context.rotate(Math.PI / sides);\n context.lineTo(0, 0 - radius * inset);\n context.rotate(Math.PI / sides);\n context.lineTo(0, 0 - radius);\n }\n }\n getSidesCount(particle) {\n var _a, _b;\n const star = particle.shapeData;\n return Math.round(getRangeValue((_b = (_a = star === null || star === void 0 ? void 0 : star.sides) !== null && _a !== void 0 ? _a : star === null || star === void 0 ? void 0 : star.nb_sides) !== null && _b !== void 0 ? _b : 5));\n }\n particleInit(container, particle) {\n var _a;\n const star = particle.shapeData, inset = getRangeValue((_a = star === null || star === void 0 ? void 0 : star.inset) !== null && _a !== void 0 ? _a : 2);\n particle.starInset = inset;\n }\n}\n","import { StarDrawer } from \"./StarDrawer\";\nexport async function loadStarShape(engine) {\n await engine.addShape(\"star\", new StarDrawer());\n}\n","import { getHslAnimationFromHsl, getRangeValue, itemFromSingleOrMultiple, randomInRange, rangeColorToHsl, } from \"tsparticles-engine\";\nfunction updateColorValue(delta, value, valueAnimation, max, decrease) {\n var _a, _b;\n const colorValue = value;\n if (!colorValue ||\n !colorValue.enable ||\n (colorValue.loops !== undefined &&\n colorValue.maxLoops !== undefined &&\n colorValue.maxLoops > 0 &&\n colorValue.loops >= colorValue.maxLoops)) {\n return;\n }\n const offset = randomInRange(valueAnimation.offset), velocity = ((_a = value.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor + offset * 3.6, decay = (_b = value.decay) !== null && _b !== void 0 ? _b : 1;\n if (!decrease || colorValue.status === \"increasing\") {\n colorValue.value += velocity;\n if (colorValue.value > max) {\n if (!colorValue.loops) {\n colorValue.loops = 0;\n }\n colorValue.loops++;\n if (decrease) {\n colorValue.status = \"decreasing\";\n colorValue.value -= colorValue.value % max;\n }\n }\n }\n else {\n colorValue.value -= velocity;\n if (colorValue.value < 0) {\n if (!colorValue.loops) {\n colorValue.loops = 0;\n }\n colorValue.loops++;\n colorValue.status = \"increasing\";\n colorValue.value += colorValue.value;\n }\n }\n if (colorValue.velocity && decay !== 1) {\n colorValue.velocity *= decay;\n }\n if (colorValue.value > max) {\n colorValue.value %= max;\n }\n}\nfunction updateStrokeColor(particle, delta) {\n if (!particle.strokeColor || !particle.strokeAnimation) {\n return;\n }\n const h = particle.strokeColor.h;\n if (h) {\n updateColorValue(delta, h, particle.strokeAnimation.h, 360, false);\n }\n const s = particle.strokeColor.s;\n if (s) {\n updateColorValue(delta, s, particle.strokeAnimation.s, 100, true);\n }\n const l = particle.strokeColor.l;\n if (l) {\n updateColorValue(delta, l, particle.strokeAnimation.l, 100, true);\n }\n}\nexport class StrokeColorUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n var _a, _b, _c;\n const container = this.container;\n const stroke = itemFromSingleOrMultiple(particle.options.stroke, particle.id, particle.options.reduceDuplicates);\n particle.strokeWidth = getRangeValue(stroke.width) * container.retina.pixelRatio;\n particle.strokeOpacity = getRangeValue((_a = stroke.opacity) !== null && _a !== void 0 ? _a : 1);\n particle.strokeAnimation = (_b = stroke.color) === null || _b === void 0 ? void 0 : _b.animation;\n const strokeHslColor = (_c = rangeColorToHsl(stroke.color)) !== null && _c !== void 0 ? _c : particle.getFillColor();\n if (strokeHslColor) {\n particle.strokeColor = getHslAnimationFromHsl(strokeHslColor, particle.strokeAnimation, container.retina.reduceFactor);\n }\n }\n isEnabled(particle) {\n var _a, _b, _c;\n const color = particle.strokeAnimation;\n return (!particle.destroyed &&\n !particle.spawning &&\n !!color &&\n ((((_a = particle.strokeColor) === null || _a === void 0 ? void 0 : _a.h.value) !== undefined && particle.strokeColor.h.enable) ||\n (((_b = particle.strokeColor) === null || _b === void 0 ? void 0 : _b.s.value) !== undefined && particle.strokeColor.s.enable) ||\n (((_c = particle.strokeColor) === null || _c === void 0 ? void 0 : _c.l.value) !== undefined && particle.strokeColor.l.enable)));\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateStrokeColor(particle, delta);\n }\n}\n","import { StrokeColorUpdater } from \"./StrokeColorUpdater\";\nexport async function loadStrokeColorUpdater(engine) {\n await engine.addParticleUpdater(\"strokeColor\", (container) => new StrokeColorUpdater(container));\n}\n","import { executeOnSingleOrMultiple, isInArray, itemFromSingleOrMultiple, loadFont } from \"tsparticles-engine\";\nexport const validTypes = [\"text\", \"character\", \"char\"];\nexport class TextDrawer {\n draw(context, particle, radius, opacity) {\n var _a, _b, _c;\n const character = particle.shapeData;\n if (character === undefined) {\n return;\n }\n const textData = character.value;\n if (textData === undefined) {\n return;\n }\n const textParticle = particle;\n if (textParticle.text === undefined) {\n textParticle.text = itemFromSingleOrMultiple(textData, particle.randomIndexData);\n }\n const text = textParticle.text, style = (_a = character.style) !== null && _a !== void 0 ? _a : \"\", weight = (_b = character.weight) !== null && _b !== void 0 ? _b : \"400\", size = Math.round(radius) * 2, font = (_c = character.font) !== null && _c !== void 0 ? _c : \"Verdana\", fill = particle.fill, offsetX = (text.length * radius) / 2;\n context.font = `${style} ${weight} ${size}px \"${font}\"`;\n const pos = {\n x: -offsetX,\n y: radius / 2,\n };\n context.globalAlpha = opacity;\n if (fill) {\n context.fillText(text, pos.x, pos.y);\n }\n else {\n context.strokeText(text, pos.x, pos.y);\n }\n context.globalAlpha = 1;\n }\n getSidesCount() {\n return 12;\n }\n async init(container) {\n const options = container.actualOptions;\n if (validTypes.find((t) => isInArray(t, options.particles.shape.type))) {\n const shapeOptions = validTypes\n .map((t) => options.particles.shape.options[t])\n .find((t) => !!t), promises = [];\n executeOnSingleOrMultiple(shapeOptions, (shape) => {\n promises.push(loadFont(shape.font, shape.weight));\n });\n await Promise.all(promises);\n }\n }\n}\n","import { TextDrawer, validTypes } from \"./TextDrawer\";\nexport async function loadTextShape(engine) {\n await engine.addShape(validTypes, new TextDrawer());\n}\n","import { initPjs } from \"tsparticles-particles.js\";\nimport { loadAngleUpdater } from \"tsparticles-updater-angle\";\nimport { loadBaseMover } from \"tsparticles-move-base\";\nimport { loadCircleShape } from \"tsparticles-shape-circle\";\nimport { loadColorUpdater } from \"tsparticles-updater-color\";\nimport { loadExternalAttractInteraction } from \"tsparticles-interaction-external-attract\";\nimport { loadExternalBounceInteraction } from \"tsparticles-interaction-external-bounce\";\nimport { loadExternalBubbleInteraction } from \"tsparticles-interaction-external-bubble\";\nimport { loadExternalConnectInteraction } from \"tsparticles-interaction-external-connect\";\nimport { loadExternalGrabInteraction } from \"tsparticles-interaction-external-grab\";\nimport { loadExternalPauseInteraction } from \"tsparticles-interaction-external-pause\";\nimport { loadExternalPushInteraction } from \"tsparticles-interaction-external-push\";\nimport { loadExternalRemoveInteraction } from \"tsparticles-interaction-external-remove\";\nimport { loadExternalRepulseInteraction } from \"tsparticles-interaction-external-repulse\";\nimport { loadExternalSlowInteraction } from \"tsparticles-interaction-external-slow\";\nimport { loadImageShape } from \"tsparticles-shape-image\";\nimport { loadLifeUpdater } from \"tsparticles-updater-life\";\nimport { loadLineShape } from \"tsparticles-shape-line\";\nimport { loadOpacityUpdater } from \"tsparticles-updater-opacity\";\nimport { loadOutModesUpdater } from \"tsparticles-updater-out-modes\";\nimport { loadParallaxMover } from \"tsparticles-move-parallax\";\nimport { loadParticlesAttractInteraction } from \"tsparticles-interaction-particles-attract\";\nimport { loadParticlesCollisionsInteraction } from \"tsparticles-interaction-particles-collisions\";\nimport { loadParticlesLinksInteraction } from \"tsparticles-interaction-particles-links\";\nimport { loadPolygonShape } from \"tsparticles-shape-polygon\";\nimport { loadSizeUpdater } from \"tsparticles-updater-size\";\nimport { loadSquareShape } from \"tsparticles-shape-square\";\nimport { loadStarShape } from \"tsparticles-shape-star\";\nimport { loadStrokeColorUpdater } from \"tsparticles-updater-stroke-color\";\nimport { loadTextShape } from \"tsparticles-shape-text\";\nexport async function loadSlim(engine) {\n await loadBaseMover(engine);\n await loadParallaxMover(engine);\n await loadExternalAttractInteraction(engine);\n await loadExternalBounceInteraction(engine);\n await loadExternalBubbleInteraction(engine);\n await loadExternalConnectInteraction(engine);\n await loadExternalGrabInteraction(engine);\n await loadExternalPauseInteraction(engine);\n await loadExternalPushInteraction(engine);\n await loadExternalRemoveInteraction(engine);\n await loadExternalRepulseInteraction(engine);\n await loadExternalSlowInteraction(engine);\n await loadParticlesAttractInteraction(engine);\n await loadParticlesCollisionsInteraction(engine);\n await loadParticlesLinksInteraction(engine);\n await loadCircleShape(engine);\n await loadImageShape(engine);\n await loadLineShape(engine);\n await loadPolygonShape(engine);\n await loadSquareShape(engine);\n await loadStarShape(engine);\n await loadTextShape(engine);\n await loadLifeUpdater(engine);\n await loadOpacityUpdater(engine);\n await loadSizeUpdater(engine);\n await loadAngleUpdater(engine);\n await loadColorUpdater(engine);\n await loadStrokeColorUpdater(engine);\n await loadOutModesUpdater(engine);\n await initPjs(engine);\n}\n","import { setRangeValue } from \"tsparticles-engine\";\nexport class TiltAnimation {\n constructor() {\n this.enable = false;\n this.speed = 0;\n this.decay = 0;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n if (data.decay !== undefined) {\n this.decay = setRangeValue(data.decay);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { TiltAnimation } from \"./TiltAnimation\";\nimport { ValueWithRandom } from \"tsparticles-engine\";\nexport class Tilt extends ValueWithRandom {\n constructor() {\n super();\n this.animation = new TiltAnimation();\n this.direction = \"clockwise\";\n this.enable = false;\n this.value = 0;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n this.animation.load(data.animation);\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n","import { getRandom, getRangeValue } from \"tsparticles-engine\";\nimport { Tilt } from \"./Options/Classes/Tilt\";\nfunction updateTilt(particle, delta) {\n var _a, _b;\n if (!particle.tilt || !particle.options.tilt) {\n return;\n }\n const tilt = particle.options.tilt, tiltAnimation = tilt.animation, speed = ((_a = particle.tilt.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor, max = 2 * Math.PI, decay = (_b = particle.tilt.decay) !== null && _b !== void 0 ? _b : 1;\n if (!tiltAnimation.enable) {\n return;\n }\n switch (particle.tilt.status) {\n case \"increasing\":\n particle.tilt.value += speed;\n if (particle.tilt.value > max) {\n particle.tilt.value -= max;\n }\n break;\n case \"decreasing\":\n default:\n particle.tilt.value -= speed;\n if (particle.tilt.value < 0) {\n particle.tilt.value += max;\n }\n break;\n }\n if (particle.tilt.velocity && decay !== 1) {\n particle.tilt.velocity *= decay;\n }\n}\nexport class TiltUpdater {\n constructor(container) {\n this.container = container;\n }\n getTransformValues(particle) {\n var _a;\n const tilt = ((_a = particle.tilt) === null || _a === void 0 ? void 0 : _a.enable) && particle.tilt;\n return {\n b: tilt ? Math.cos(tilt.value) * tilt.cosDirection : undefined,\n c: tilt ? Math.sin(tilt.value) * tilt.sinDirection : undefined,\n };\n }\n init(particle) {\n var _a;\n const tiltOptions = particle.options.tilt;\n if (!tiltOptions) {\n return;\n }\n particle.tilt = {\n enable: tiltOptions.enable,\n value: (getRangeValue(tiltOptions.value) * Math.PI) / 180,\n sinDirection: getRandom() >= 0.5 ? 1 : -1,\n cosDirection: getRandom() >= 0.5 ? 1 : -1,\n };\n let tiltDirection = tiltOptions.direction;\n if (tiltDirection === \"random\") {\n const index = Math.floor(getRandom() * 2);\n tiltDirection = index > 0 ? \"counter-clockwise\" : \"clockwise\";\n }\n switch (tiltDirection) {\n case \"counter-clockwise\":\n case \"counterClockwise\":\n particle.tilt.status = \"decreasing\";\n break;\n case \"clockwise\":\n particle.tilt.status = \"increasing\";\n break;\n }\n const tiltAnimation = (_a = particle.options.tilt) === null || _a === void 0 ? void 0 : _a.animation;\n if (tiltAnimation === null || tiltAnimation === void 0 ? void 0 : tiltAnimation.enable) {\n particle.tilt.decay = 1 - getRangeValue(tiltAnimation.decay);\n particle.tilt.velocity = (getRangeValue(tiltAnimation.speed) / 360) * this.container.retina.reduceFactor;\n if (!tiltAnimation.sync) {\n particle.tilt.velocity *= getRandom();\n }\n }\n }\n isEnabled(particle) {\n var _a;\n const tiltAnimation = (_a = particle.options.tilt) === null || _a === void 0 ? void 0 : _a.animation;\n return !particle.destroyed && !particle.spawning && !!(tiltAnimation === null || tiltAnimation === void 0 ? void 0 : tiltAnimation.enable);\n }\n loadOptions(options, ...sources) {\n if (!options.tilt) {\n options.tilt = new Tilt();\n }\n for (const source of sources) {\n options.tilt.load(source === null || source === void 0 ? void 0 : source.tilt);\n }\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateTilt(particle, delta);\n }\n}\n","import { TiltUpdater } from \"./TiltUpdater\";\nexport async function loadTiltUpdater(engine) {\n await engine.addParticleUpdater(\"tilt\", (container) => new TiltUpdater(container));\n}\n","import { OptionsColor, setRangeValue } from \"tsparticles-engine\";\nexport class TwinkleValues {\n constructor() {\n this.enable = false;\n this.frequency = 0.05;\n this.opacity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.frequency !== undefined) {\n this.frequency = data.frequency;\n }\n if (data.opacity !== undefined) {\n this.opacity = setRangeValue(data.opacity);\n }\n }\n}\n","import { TwinkleValues } from \"./TwinkleValues\";\nexport class Twinkle {\n constructor() {\n this.lines = new TwinkleValues();\n this.particles = new TwinkleValues();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.lines.load(data.lines);\n this.particles.load(data.particles);\n }\n}\n","import { getRandom, getRangeValue, getStyleFromHsl, rangeColorToHsl } from \"tsparticles-engine\";\nimport { Twinkle } from \"./Options/Classes/Twinkle\";\nexport class TwinkleUpdater {\n getColorStyles(particle, context, radius, opacity) {\n const pOptions = particle.options, twinkleOptions = pOptions.twinkle;\n if (!twinkleOptions) {\n return {};\n }\n const twinkle = twinkleOptions.particles, twinkling = twinkle.enable && getRandom() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? getRangeValue(twinkle.opacity) * zOpacityFactor : opacity, twinkleRgb = rangeColorToHsl(twinkle.color), twinkleStyle = twinkleRgb ? getStyleFromHsl(twinkleRgb, twinklingOpacity) : undefined, res = {}, needsTwinkle = twinkling && twinkleStyle;\n res.fill = needsTwinkle ? twinkleStyle : undefined;\n res.stroke = needsTwinkle ? twinkleStyle : undefined;\n return res;\n }\n init() {\n }\n isEnabled(particle) {\n const pOptions = particle.options, twinkleOptions = pOptions.twinkle;\n if (!twinkleOptions) {\n return false;\n }\n return twinkleOptions.particles.enable;\n }\n loadOptions(options, ...sources) {\n if (!options.twinkle) {\n options.twinkle = new Twinkle();\n }\n for (const source of sources) {\n options.twinkle.load(source === null || source === void 0 ? void 0 : source.twinkle);\n }\n }\n update() {\n }\n}\n","import { TwinkleUpdater } from \"./TwinkleUpdater\";\nexport async function loadTwinkleUpdater(engine) {\n await engine.addParticleUpdater(\"twinkle\", () => new TwinkleUpdater());\n}\n","import { setRangeValue } from \"tsparticles-engine\";\nexport class WobbleSpeed {\n constructor() {\n this.angle = 50;\n this.move = 10;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.angle !== undefined) {\n this.angle = setRangeValue(data.angle);\n }\n if (data.move !== undefined) {\n this.move = setRangeValue(data.move);\n }\n }\n}\n","import { WobbleSpeed } from \"./WobbleSpeed\";\nimport { setRangeValue } from \"tsparticles-engine\";\nexport class Wobble {\n constructor() {\n this.distance = 5;\n this.enable = false;\n this.speed = new WobbleSpeed();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = setRangeValue(data.distance);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n if (typeof data.speed === \"number\") {\n this.speed.load({ angle: data.speed });\n }\n else {\n const rangeSpeed = data.speed;\n if (rangeSpeed.min !== undefined) {\n this.speed.load({ angle: rangeSpeed });\n }\n else {\n this.speed.load(data.speed);\n }\n }\n }\n }\n}\n","import { getRandom, getRangeValue } from \"tsparticles-engine\";\nimport { Wobble } from \"./Options/Classes/Wobble\";\nfunction updateWobble(particle, delta) {\n var _a;\n const wobble = particle.options.wobble;\n if (!(wobble === null || wobble === void 0 ? void 0 : wobble.enable) || !particle.wobble) {\n return;\n }\n const angleSpeed = particle.wobble.angleSpeed * delta.factor, moveSpeed = particle.wobble.moveSpeed * delta.factor, distance = (moveSpeed * (((_a = particle.retina.wobbleDistance) !== null && _a !== void 0 ? _a : 0) * delta.factor)) / (1000 / 60), max = 2 * Math.PI;\n particle.wobble.angle += angleSpeed;\n if (particle.wobble.angle > max) {\n particle.wobble.angle -= max;\n }\n particle.position.x += distance * Math.cos(particle.wobble.angle);\n particle.position.y += distance * Math.abs(Math.sin(particle.wobble.angle));\n}\nexport class WobbleUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n var _a;\n const wobbleOpt = particle.options.wobble;\n if (wobbleOpt === null || wobbleOpt === void 0 ? void 0 : wobbleOpt.enable) {\n particle.wobble = {\n angle: getRandom() * Math.PI * 2,\n angleSpeed: getRangeValue(wobbleOpt.speed.angle) / 360,\n moveSpeed: getRangeValue(wobbleOpt.speed.move) / 10,\n };\n }\n else {\n particle.wobble = {\n angle: 0,\n angleSpeed: 0,\n moveSpeed: 0,\n };\n }\n particle.retina.wobbleDistance = getRangeValue((_a = wobbleOpt === null || wobbleOpt === void 0 ? void 0 : wobbleOpt.distance) !== null && _a !== void 0 ? _a : 0) * this.container.retina.pixelRatio;\n }\n isEnabled(particle) {\n var _a;\n return !particle.destroyed && !particle.spawning && !!((_a = particle.options.wobble) === null || _a === void 0 ? void 0 : _a.enable);\n }\n loadOptions(options, ...sources) {\n if (!options.wobble) {\n options.wobble = new Wobble();\n }\n for (const source of sources) {\n options.wobble.load(source === null || source === void 0 ? void 0 : source.wobble);\n }\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateWobble(particle, delta);\n }\n}\n","import { WobbleUpdater } from \"./WobbleUpdater\";\nexport async function loadWobbleUpdater(engine) {\n await engine.addParticleUpdater(\"wobble\", (container) => new WobbleUpdater(container));\n}\n","import { loadAbsorbersPlugin } from \"tsparticles-plugin-absorbers\";\nimport { loadDestroyUpdater } from \"tsparticles-updater-destroy\";\nimport { loadEmittersPlugin } from \"tsparticles-plugin-emitters\";\nimport { loadExternalTrailInteraction } from \"tsparticles-interaction-external-trail\";\nimport { loadRollUpdater } from \"tsparticles-updater-roll\";\nimport { loadSlim } from \"tsparticles-slim\";\nimport { loadTiltUpdater } from \"tsparticles-updater-tilt\";\nimport { loadTwinkleUpdater } from \"tsparticles-updater-twinkle\";\nimport { loadWobbleUpdater } from \"tsparticles-updater-wobble\";\nexport async function loadFull(engine) {\n await loadSlim(engine);\n await loadDestroyUpdater(engine);\n await loadRollUpdater(engine);\n await loadTiltUpdater(engine);\n await loadTwinkleUpdater(engine);\n await loadWobbleUpdater(engine);\n await loadExternalTrailInteraction(engine);\n await loadAbsorbersPlugin(engine);\n await loadEmittersPlugin(engine);\n}\n","import particlesConfig from \"./config/particlesConfig\";\r\nimport { useCallback } from \"react\";\r\nimport Particles from \"react-particles\";\r\nimport { loadFull } from \"tsparticles\";\r\n\r\nconst ParticlesBackground = () => {\r\n const particlesInit = useCallback(async engine => {\r\n await loadFull(engine);\r\n }, []);\r\n\r\n const particlesLoaded = useCallback(async container => {\r\n ;\r\n }, []);\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default ParticlesBackground;","import React from 'react';\r\nimport '../css/footer.css';\r\n\r\nconst Footer = () => {\r\n return (\r\n\r\n \r\n\r\n )\r\n}\r\n\r\nexport default Footer;","import React, { useEffect, useState, useRef } from 'react';\r\nimport '../css/Contributions.css';\r\n\r\nconst ContributionCard = ({ repo }) => {\r\n return (\r\n
\r\n \r\n
\r\n

{repo.name}

\r\n

{repo.description}

\r\n \r\n
\r\n
\r\n );\r\n };\r\n\r\nconst ContributionsList = () => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n const listRef = useRef(null);\r\n\r\n useEffect(() => {\r\n const observer = new IntersectionObserver(\r\n (entries) => {\r\n setIsVisible(entries[0].isIntersecting)\r\n },\r\n { threshold: 0.2 }\r\n );\r\n\r\n if (listRef.current) {\r\n observer.observe(listRef.current);\r\n }\r\n\r\n return () => {\r\n if (listRef.current) {\r\n observer.disconnect();\r\n }\r\n };\r\n}, []);\r\n const repos = [\r\n {\r\n name: \"VSCode\",\r\n link: 'https://github.com/microsoft/vscode',\r\n contributionLink: 'https://github.com/microsoft/vscode/pull/193232',\r\n description: 'Added feature that allows terminal title changes for Windows users running WSL and GitBash, shipped in version 1.83.1.',\r\n faIcon: \"fa fa-github\",\r\n },\r\n {\r\n name: 'Superagent',\r\n link: 'https://github.com/ladjs/superagent',\r\n contributionLink: 'https://github.com/ladjs/superagent/pull/1773',\r\n description: 'Fixed bug where superagent fails to serialize BigInt primitives and sends error in request body. The failure is now handled internally, shipped in version 8.1.0 with 8M+ weekly downloads.',\r\n faIcon: \"fa fa-github\",\r\n },\r\n {\r\n name: \"Prefect\",\r\n link: 'https://github.com/PrefectHQ/prefect',\r\n contributionLink: 'https://github.com/PrefectHQ/prefect/pull/10719',\r\n description: 'Fixed bug that broke deployment of workflows due to arguments being parsed as POSIX on Windows systems.',\r\n faIcon: \"fa fa-github\",\r\n },\r\n {\r\n name: 'Aixplora',\r\n link: 'https://github.com/grumpyp/aixplora',\r\n contributionLink: 'https://github.com/grumpyp/aixplora/pull/126',\r\n description: \"Added feature that validates openai api keys before they are saved to the user's profile. Bubbled up error messages to the user so they can take appropriate action.\",\r\n faIcon: \"fa fa-github\",\r\n },\r\n {\r\n name: 'Github Security Advisories',\r\n link: 'https://github.com/advisories?query=credit%3ANikoRaisanen',\r\n contributionLink: 'https://github.com/github/advisory-database/pull/180',\r\n description: 'Helped Github fine-tune their security advisory database by validating and correcting published advisories.',\r\n faIcon: \"fa fa-github\",\r\n },\r\n {\r\n name: 'Offensive Security Writeups',\r\n link: 'https://github.com/NikoRaisanen/Portswigger-Labs',\r\n contributionLink: 'https://github.com/NikoRaisanen/Portswigger-Labs',\r\n description: 'Published 100+ solutions for the Portswigger Academy pentesting labs spanning topics such as XSS, SSRF, directory traversal, injection attacks, and more!',\r\n faIcon: \"fa fa-github\",\r\n },\r\n {\r\n name: 'Engineering Blog Post',\r\n link: 'https://floqast.com/engineering-blog/post/integrating-siem-with-ci-cd/',\r\n contributionLink: 'https://floqast.com/engineering-blog/post/integrating-siem-with-ci-cd/',\r\n description: 'Wrote a blog post about integrating SIEM with CI/CD pipelines to automate security monitoring of cloud infrastructure.',\r\n faIcon: \"fa fa-globe\",\r\n },\r\n {\r\n name: 'InstantCoverLetter',\r\n link: 'https://instantcoverletter.dev',\r\n contributionLink: 'https://github.com/NikoRaisanen/instant-cover-letter',\r\n description: \"Personal project that generates effective cover letters by matching skills in a user's resume with a job description. 50+ active daily users with over 3,000 cover letters generated.\",\r\n faIcon: \"fa fa-globe\",\r\n },\r\n \r\n ];\r\n\r\n return (\r\n
\r\n

Open Source Contributions

\r\n
\r\n {repos.map((repo, index) => (\r\n \r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ContributionsList;\r\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","import React, { useEffect, useState, useRef } from 'react';\r\nimport '../css/experience.css';\r\n\r\nconst experiences = [\r\n {\r\n id: 1,\r\n title: \"Security Engineering\",\r\n description: \"I got started with Hack The Box and dove into the world of offensive security. Shortly after I earned a top 3% rank in the 2021 National Cyber League CTF competition. I then started work as an Application Security Engineer, building security automation tooling with Python and threat modeling services in the fintech space.\",\r\n year: \"2019-2021\",\r\n },\r\n {\r\n id: 2,\r\n title: \"Software Engineering\",\r\n description: \"Working at a tech startup, I was able to quickly gain knowledge in a wide range of domains from infrastructure, to systems design, to frontend development. With an abundance of autonomy and responsibility, I tackled greenfield projects and optimized existing services to better align with our microservice architecture.\",\r\n year: \"2021-Present\",\r\n },\r\n];\r\n\r\nconst Experience = ({ title, description, year }) => {\r\n return (\r\n
\r\n

{title}

\r\n

{description}

\r\n {year}\r\n
\r\n );\r\n};\r\n\r\nconst LinkedInCard = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const ExperienceList = () => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n const listRef = useRef(null);\r\n\r\n useEffect(() => {\r\n const observer = new IntersectionObserver(\r\n (entries) => {\r\n setIsVisible(entries[0].isIntersecting)\r\n },\r\n { threshold: 0.2 }\r\n );\r\n\r\n if (listRef.current) {\r\n observer.observe(listRef.current);\r\n }\r\n\r\n return () => {\r\n if (listRef.current) {\r\n observer.disconnect();\r\n }\r\n };\r\n }, []);\r\n\r\n return (\r\n
\r\n

My Path

\r\n
\r\n {experiences.map(experience => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ExperienceList;\r\n","import './css/App.css';\r\nimport pfp from './images/pfp.png';\r\nimport Socials from './components/Socials';\r\nimport ParticlesBackground from './components/ParticlesBackground';\r\nimport Footer from './components/Footer';\r\nimport ContributionsList from './components/ContributionsList';\r\nimport ExperienceList from './components/ExperiencesList';\r\n\r\nfunction App() {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n

NIKO RAISANEN

\r\n
\r\n\r\n \"headshot\"/\r\n \r\n \r\n
\r\n

Hello, I'm Niko, a Software Engineer with a background in Application Security. With expertise in designing and implementing impactful solutions, I thrive in tackling complex problems that require a unique attention to detail.

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom/client';\r\nimport './css/index.css';\r\nimport App from './App';\r\n\r\nconst root = ReactDOM.createRoot(document.getElementById('root'));\r\nroot.render(\r\n \r\n \r\n \r\n);\r\n"],"names":["module","exports","equal","a","b","constructor","length","i","keys","Array","isArray","RegExp","source","flags","valueOf","Object","prototype","toString","hasOwnProperty","call","key","$$typeof","aa","require","ca","p","c","arguments","encodeURIComponent","da","Set","ea","fa","ha","add","ia","window","document","createElement","ja","ka","la","ma","v","d","e","f","g","this","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","type","sanitizeURL","removeEmptyString","z","split","forEach","toLowerCase","ra","sa","toUpperCase","ta","slice","pa","isNaN","qa","test","oa","removeAttribute","setAttribute","setAttributeNS","replace","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","Symbol","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","iterator","Ka","La","A","assign","Ma","Error","stack","trim","match","Na","Oa","prepareStackTrace","defineProperty","set","Reflect","construct","l","h","k","displayName","includes","name","Pa","tag","render","Qa","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","getOwnPropertyDescriptor","get","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","checked","value","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","fb","options","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","style","indexOf","setProperty","charAt","substring","tb","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","ub","vb","is","wb","xb","target","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","push","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","addEventListener","removeEventListener","Nb","apply","m","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","Math","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","shift","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","id","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","Date","now","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","data","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","String","fromCharCode","code","location","repeat","locale","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","number","password","range","search","tel","text","time","url","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","node","offset","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","start","end","selectionStart","selectionEnd","min","defaultView","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","element","left","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","concat","nf","Ub","instance","listener","D","of","has","pf","qf","rf","random","sf","bind","capture","passive","n","t","J","x","u","w","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","setTimeout","Gf","clearTimeout","Hf","Promise","Jf","queueMicrotask","resolve","then","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","defaultProps","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","context","memoizedValue","next","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","ch","eventTime","lane","payload","callback","dh","K","eh","fh","gh","q","r","y","hh","ih","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","L","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","contextType","state","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","props","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","ref","_owner","_stringRef","th","join","uh","vh","index","wh","xh","yh","implementation","zh","Ah","done","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","tagName","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","P","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","queue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","create","destroy","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","message","digest","Li","Mi","console","error","Ni","WeakMap","Oi","Pi","Qi","Ri","getDerivedStateFromError","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","compare","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","yj","Ej","S","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","size","createElementNS","autoFocus","createTextNode","T","Hj","Ij","Jj","Kj","U","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","insertBefore","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","display","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","src","Wk","mk","ceil","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","Infinity","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","cache","pendingSuspenseBoundaries","dl","el","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","splice","querySelectorAll","JSON","stringify","form","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","version","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createPortal","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","err","__self","__source","jsx","jsxs","setState","forceUpdate","escape","_status","_result","default","Children","map","count","toArray","only","Fragment","Profiler","PureComponent","StrictMode","Suspense","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","pop","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","floor","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","__esModule","definition","o","obj","prop","className","rel","_typeof","_regeneratorRuntime","Op","hasOwn","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","writable","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","fn","arg","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","reject","record","result","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","TypeError","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","val","object","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","_classCallCheck","Constructor","_toPropertyKey","hint","prim","toPrimitive","res","Number","_defineProperties","descriptor","_createClass","protoProps","staticProps","_getPrototypeOf","_superPropBase","property","_get","receiver","_setPrototypeOf","_inherits","subClass","superClass","_possibleConstructorReturn","ReferenceError","_createSuper","Derived","hasNativeReflectConstruct","sham","Proxy","Boolean","Super","NewTarget","_arrayLikeToArray","arr","len","arr2","_unsupportedIterableToArray","minLen","from","_createForOfIteratorHelper","allowArrayLike","it","s","_e","normalCompletion","didErr","step","_e2","EventDispatcher","_listeners","_a","handler","idx","_slicedToArray","_i","_s","_x","_r","_arr","_n","_d","Vector3d","xOrCoords","coords3d","atan2","angle","updateFromAngle","sqrt","getLengthSq","clone","sub","cos","sin","v3d","Vector","_random","easings","getEasing","getRandom","clamp","num","max","mix","comp1","comp2","weight1","weight2","randomInRange","getRangeMax","getRangeMin","getRangeValue","setRangeValue","enable","minimumValue","getDistances","pointA","pointB","dx","dy","distance","getDistance","collisionVelocity","v1","v2","m1","m2","calcPositionOrRandomFromSize","_b","_c","position","calcPositionOrRandomFromSizeRanged","calcExactPositionOrRandomFromSize","parseAlpha","endsWith","parseFloat","rectSideBounce","pSide","pOtherSide","rectSide","rectOtherSide","velocity","factor","bounced","isSsr","safeMatchMedia","query","matchMedia","isInArray","array","loadFont","font","weight","fonts","load","arrayRandomIndex","itemFromArray","useIndex","isPointInside","point","radius","direction","bounds","inside","right","bottom","areBoundsInside","calculateBounds","deepExtend","destination","sources","sourceIsArray","isObject","destDict","isDivModeEnabled","divs","findItemFromSingleOrMultiple","divModeExecute","executeOnSingleOrMultiple","div","divMode","selectors","selector","singleDivModeExecute","matches","some","checkSelector","circleBounceDataFromParticle","getPosition","getRadius","mass","getMass","bounce","horizontal","vertical","circleBounce","p1","p2","xVelocityDiff","yVelocityDiff","xDist","yDist","u1","rotate","u2","vFinal1","vFinal2","rectBounce","particle","divBounds","resH","resV","item","itemFromSingleOrMultiple","find","randomColorValue","midColorValue","colorManagers","addColorManager","manager","hue2rgb","stringToRgba","startsWith","stringPrefix","parseString","hexFixed","_","exec","parseInt","rangeColorToRgb","colorToRgb","handleRangeColor","getRandomRgbColor","stringToRgb","handleColor","rangeColorToHsl","rgb","rgbToHsl","r1","g1","b1","hslToRgb","hsl","hslPercent","fixedMin","getStyleFromRgb","getStyleFromHsl","colorMix","color1","color2","size1","size2","rgb1","rgb2","getLinkColor","linkColor","sourceColor","getFillColor","getStrokeColor","destColor","hslColor","getLinkRandomColor","optColor","blink","consent","getHslFromAnimation","getHslAnimationFromHsl","animationOptions","reduceFactor","resColor","setColorAnimation","colorValue","colorAnimation","speed","decay","status","loops","maxLoops","sync","drawLine","begin","beginPath","moveTo","lineTo","closePath","clear","dimension","clearRect","generatedAttribute","touchEndEvent","mouseMoveEvent","mouseLeaveEvent","setTransformValue","newFactor","newValue","Canvas","container","_generated","_preDrawUpdaters","_postDrawUpdaters","_resizePlugins","_colorPlugins","_mutationObserver","MutationObserver","records","_repairStyle","actualOptions","fullScreen","trail","particles","move","trailFill","_trailFill","backgroundMask","paint","_paintBase","image","_paintImage","draw","ctx","disconnect","remove","_resetOriginalStyle","delta","spawning","destroyed","pfColor","psColor","_getPluginParticleColors","fColor","sColor","zIndexOptions","zOpacityFactor","zIndexFactor","opacityRate","bubble","zOpacity","zStrokeOpacity","transform","colorStyles","fill","stroke","_applyPreDrawUpdaters","composite","shadow","pos","rotation","pathRotation","rotateData","transformData","setTransform","globalCompositeOperation","shadowColor","shadowBlur","blur","shadowOffsetX","shadowOffsetY","fillStyle","lineWidth","strokeStyle","shape","drawer","drawers","retina","pixelRatio","drawShape","close","afterEffect","drawShapeAfterEffect","drawParticle","sizeRate","_applyPostDrawUpdaters","plugin","drawParticlePlugin","drawPlugin","resize","_initStyle","_initCover","_initTrail","initBackground","observe","attributes","initUpdaters","initPlugins","background","elementStyle","backgroundColor","backgroundImage","backgroundPosition","backgroundRepeat","backgroundSize","plugins","particleFillColor","particleStrokeColor","updaters","afterDraw","getColorStyles","getTransformValues","beforeDraw","canvas","ariaHidden","_originalStyle","offsetHeight","offsetWidth","getContext","init","cover","_coverColorStyle","pxRatio","newSize","oldSize","started","resizeFactor","needsRefresh","updateActualOptions","setDensity","_applyResizePlugins","refresh","updaterTransform","coverRgb","coverColor","_fullScreen","_setFullScreenStyle","fillColor","evt","baseColor","fillRect","paintBase","globalAlpha","drawImage","paintImage","originalStyle","manageListener","addOptions","removeOptions","EventListeners","canPush","handlers","mouseMove","mouseTouchMove","touchStart","touchMove","touchEnd","mouseTouchFinish","mouseLeave","touchCancel","touchEndClick","mouseTouchClick","mouseUp","mouseDown","visibilityChange","handleVisibilityChange","themeChange","handleThemeChange","oldThemeChange","handleWindowResize","manageListeners","mouseInteractivity","interactivity","mouse","mousePos","clickPosition","clickTime","getTime","events","handleClickMode","mediaEvent","defaultThemes","themeName","dark","light","theme","themes","auto","loadTheme","pauseOnBlur","hidden","pageHidden","pause","getAnimationStatus","play","resizeTimeout","windowResize","detectType","detectsOn","mouseLeaveTmpEvent","canvasEl","parentElement","mediaMatch","addListener","removeListener","interactivityEl","html","onHover","pointerEvents","ResizeObserver","resizeObserver","unobserve","entries","clicking","downPosition","handled","mousePosition","clickPositionValid","doMouseTouchClick","_f","_g","mouseEvent","clientRect","getBoundingClientRect","sourceRect","targetRect","canvasRect","offsetX","offsetY","touchEvent","lastTouch","initDelta","fpsLimit","smooth","FrameManager","timestamp","lastFrameTime","lifeTime","duration","OptionsColor","Background","BackgroundMaskCover","BackgroundMask","FullScreen","ClickEvent","DivEvent","elementId","ids","Parallax","force","HoverEvent","parallax","ResizeEvent","onDiv","ondiv","tmp","onhover","Modes","engine","_engine","_container","interactors","interactor","loadModeOptions","Interactivity","modes","detect_on","ManualParticle","Responsive","maxWidth","ThemeDefault","Theme","ColorAnimation","HslAnimation","AnimatableColor","CollisionsAbsorb","CollisionsOverlap","retries","Random","ValueWithRandom","ParticlesBounceFactor","ParticlesBounce","Collisions","absorb","overlap","MoveAngle","MoveAttract","rotateX","rotateY","MoveCenter","MoveGravity","acceleration","inverse","maxSpeed","MovePath","MoveTrailFill","MoveTrail","OutModes","Spin","Move","attract","center","drift","gravity","path","outModes","spin","straight","vibrate","warp","collisions","outMode","out_mode","noise","AnimationOptions","OpacityAnimation","startValue","opacity_min","Opacity","anim","ParticlesDensity","value_area","ParticlesNumber","density","limit","Shadow","charKey","charAltKey","imageKey","imageAltKey","polygonKey","polygonAltKey","Shape","_value","custom","loadShape","character","polygon","images","mainKey","altOverride","emptyValue","mainDifferentValues","altDifferentValues","SizeAnimation","size_min","Size","Stroke","ZIndex","velocityRate","ParticlesOptions","groups","reduceDuplicates","group","strokeToLoad","loadOptions","loadParticlesOptions","sourceOptionsArr","sourceOptions","Options","autoPlay","detectRetina","manualParticles","pauseOnOutsideViewport","responsive","zLayers","preset","_importPreset","retina_detect","fps_limit","backgroundMode","optResponsive","sort","existingTheme","optTheme","_findDefaultTheme","defaultOptions","responsiveOptions","screen","availWidth","chosenTheme","clientDarkMode","defaultTheme","getPreset","InteractionManager","_interactors","getInteractors","_externalInteractors","_particleInteractors","isEnabled","interact","fixOutMode","checkModes","coord","maxCoord","setCb","Particle","overrideOptions","override","unbreakable","inRange","slow","particleDestroyed","pathGenerator","_getRollColor","PI","strokeColor","_h","_j","lastPathTime","misplaced","maxDistance","outType","ignoresResizeRatio","mainOptions","particlesOptions","shapeType","shapeOptions","shapeData","_loadShapeData","pathOptions","pathDelay","getPathGenerator","addPath","zIndexValue","initParticle","sizeOptions","sizeRange","sizeAnimation","_calcPosition","initialPosition","copy","canvasSize","moveCenter","isCenterPercent","getParticleDirectionAngle","initialVelocity","_calculateVelocity","moveDecay","origin","needsSort","lastZIndex","sides","getShapeDrawer","sideCountFunc","getSidesCount","movers","mover","particleInit","particleCreated","isInsideCanvas","tryCount","pluginPos","particlePosition","exactPosition","fixHorizontal","fixVertical","_checkOverlap","baseVelocity","getParticleBaseVelocity","moveOptions","rad","radOffset","collisionsOptions","overlapOptions","overlaps","roll","backColor","alter","backFactor","backSum","alterHsl","Point","Range","Circle","rect","circle","pos1","pos2","distPos","abs","pow","Rectangle","intersects","w2","h2","QuadTree","rectangle","capacity","_points","_divided","subdivide","_NE","insert","_NW","_SE","_SW","check","found","Particles","nextId","zArray","pool","interactionManager","quadTree","getMovers","getUpdaters","addParticle","initializer","countToRemove","removeQuantity","_pushParticle","update","particlesInitialization","pathGenerators","addManualParticles","groupOptions","j","pushing","removeAt","quantity","deleted","zIdx","_applyDensity","particlesToDelete","particleUpdate","externalInteract","particlesInteract","manualCount","numberOptions","densityFactor","_initDensityFactor","optParticlesNumber","optParticlesLimit","particlesNumber","particlesCount","filter","densityOptions","canAdd","warn","Retina","devicePixelRatio","ratio","attractDistance","sizeAnimationSpeed","moveDistance","moveDrift","moveSpeed","guardCheck","loadContainerOptions","defaultPathGenerator","generate","Container","_delay","_firstStart","_paused","_sourceOptions","_initialSourceOptions","frameManager","_options","_eventListeners","IntersectionObserver","_intersectionObserver","_intersectionManager","clickOrTouchHandler","posRetina","queryCircle","touched","touchMoved","radiusX","radiusY","mainArr","dom","findIndex","refreshTime","_drawAnimationFrame","requestAnimationFrame","nextFrame","quality","toBlob","exportImage","shapes","getSupportedShapes","availablePlugins","getAvailablePlugins","particlesSetup","_currentTheme","cancelAnimationFrame","needsUpdate","noiseOrGenerator","setPath","pathOrGenerator","oldGenerator","_delayTimeout","addListeners","HTMLElement","removeListeners","newMaxWidth","setResponsive","setTheme","responsiveMaxWidth","isIntersecting","getDataFromUrl","jsonUrl","fetch","response","json","Loader","tagId","params","remote","loadRemoteOptions","domContainer","getElementById","querySelector","append","currentOptions","oldIndex","old","domItem","existingCanvases","getElementsByTagName","newItem","loadCanvas","newIndex","newId","_toConsumableArray","getItemsFromInitializer","initializers","Plugins","_initializers","presets","initInteractor","initMover","initUpdater","getPlugin","presetKey","types","needsPlugin","Engine","_domArray","_eventDispatcher","_initialized","_loader","interactorInitializer","addInteractor","moverInitializer","addParticleMover","updaterInitializer","addParticleUpdater","addPathGenerator","addPlugin","addPreset","customDrawer","addShapeDrawer","pathConfigJson","loadJSON","setJSON","addClickHandler","HslColorManager","hsla","rgbResult","hslaToRgba","RgbColorManager","rgbColor","ExternalInteractorBase","ParticlesInteractorBase","rgbColorManager","hslColorManager","tsParticles","defaultId","library","nextProps","loadParticles","canvasClassName","React","loaded","AbsorberSizeLimit","AbsorberSize","Absorber","draggable","orbits","AbsorberInstance","absorbers","dragging","calcPosition","sizeFactor","absorberOrbit","needsNewPosition","updateParticlePosition","translate","arc","newPosition","setTo","minSize","absorberOrbitDirection","orbitRadius","orbitAngle","orbitDirection","updateFunc","addV","addTo","Absorbers","interactivityAbsorbers","getAbsorber","idxOrName","addAbsorber","absorber","absorberOptions","modeAbsorbers","absorbersModeOptions","absorbersOptions","aPosition","AbsorbersPlugin","loadAbsorbersPlugin","DestroyBounds","SplitFactor","SplitRate","Split","rate","sizeOffset","Destroy","DestroyUpdater","destroyOptions","splitCount","destroyBounds","parent","splitParticlesOptions","splitOptions","particlesSplitOptions","addSplitParticle","loadDestroyUpdater","CircleShape","theta","randomTheta","atan","tan","generateTheta","maxRadius","randomRadius","EmitterLife","wait","EmitterRate","EmitterSize","Emitter","life","startCount","domId","spawnColor","EmitterInstance","emitters","_currentDuration","_currentEmitDelay","_currentSpawnDelay","_initialPosition","_spawnDelay","_shape","emitterShapeManager","getShape","_firstSpawn","_startParticlesAdded","_particlesOptions","_lifeCount","_immortal","emitter","elRect","_emitDelay","prepareToDie","emitParticles","_duration","emit","removeEmitter","getSize","singleParticlesOptions","hslAnimation","pPosition","randomPosition","initValue","maxValue","colorOffset","emitFactor","Emitters","interactivityEmitters","getEmitter","addEmitter","playEmitter","externalPlay","pauseEmitter","externalPause","emitterOptions","modeEmitters","emittersModeOptions","usedIndexes","emittersOptions","ePosition","ShapeManager","randomSquareCoordinate","SquareShape","halfW","halfH","side","EmittersPlugin","emitterMode","loadEmittersPlugin","addEmitterShape","addShape","Trail","pauseOnStop","TrailMaker","trailOptions","optDelay","canEmit","_lastPosition","loadExternalTrailInteraction","RollLight","Roll","darken","enlighten","RollUpdater","rollHorizontal","rollVertical","rollOpt","alterType","updateRoll","loadRollUpdater","initPjs","particlesJS","setOnClickHandler","pJSDom","RotateAnimation","Rotate","RotateUpdater","rotateOptions","rotateDirection","rotateAnimation","updateAngle","loadAngleUpdater","BaseMover","gravityOptions","spinOptions","spinPos","spinCenter","spinAcceleration","particleOptions","slowFactor","getProximitySpeedFactor","baseSpeed","maxSize","maxCanvasSize","applyPath","gravityFactor","multTo","mult","zVelocityFactor","dxFixed","dyFixed","hDistance","vDistance","vel","applyDistance","loadBaseMover","addMover","CircleDrawer","circleRange","loadCircleShape","updateColorValue","valueAnimation","decrease","ColorUpdater","updateColor","loadColorUpdater","Attract","easing","Attractor","attractModeDistance","mouseMoveStatus","hoverEnabled","hoverMode","clickEnabled","clickMode","hoverAttract","clickAttract","attractRadius","processAttract","attractOptions","attractFactor","normVec","subFrom","loadExternalAttractInteraction","Bounce","Bouncer","bounceModeDistance","processMouseBounce","singleSelectorBounce","tolerance","processBounce","elem","offsetLeft","offsetTop","loadExternalBounceInteraction","BubbleBase","BubbleDiv","Bubble","calculateBubbleValue","particleValue","modeValue","optionsValue","Bubbler","bubbleModeDistance","bubbleModeSize","hoverBubble","clickBubble","singleSelectorHover","divBubble","mouseClickPos","durationEnd","distMouse","timeSpent","sizeData","bubbleObj","optValue","particlesObj","process","opacityData","hoverBubbleColor","pointDistance","hoverBubbleSize","hoverBubbleOpacity","bubbleOptions","finalColor","modeColor","bubbleColor","pColor","modeOpacity","optOpacity","modeSize","optSize","bubbleParam","bubbleDuration","bubbleDistance","particlesParam","pObjBubble","pObj","repulseRadius","loadExternalBubbleInteraction","ConnectLinks","Connect","links","lineLinked","line_linked","lineStyle","connectOptions","connect","gradStop","sourcePos","destPos","midRgb","grad","createLinearGradient","addColorStop","gradient","drawConnection","ls","drawConnectLine","linksWidth","Connector","connectModeDistance","connectModeRadius","distMax","xDiff","yDiff","loadExternalConnectInteraction","GrabLinks","Grab","drawGrab","lineColor","beginPos","colorLine","drawGrabLine","Grabber","grab","grabModeDistance","grabLineOptions","lineOpacity","opacityLine","grabLineColor","linksOptions","loadExternalGrabInteraction","Pauser","loadExternalPauseInteraction","Push","particles_nb","Pusher","pushOptions","pushNb","loadExternalPushInteraction","Remove","Remover","removeNb","loadExternalRemoveInteraction","RepulseBase","RepulseDiv","Repulse","Repulser","repulse","repulseModeDistance","hoverRepulse","clickRepulse","singleSelectorRepulse","divRepulse","repulseDistance","vect","processRepulse","repulseOptions","repulseFactor","loadExternalRepulseInteraction","Slow","Slower","slowModeRadius","dist","proximityFactor","loadExternalSlowInteraction","currentColorRegex","loadImage","loading","Image","downloadSvgImage","svgData","replaceImageColor","imageData","svgColoredData","imageShape","colorStyle","preFillIndex","replaceColorSvg","imageRes","replaceColor","replace_color","svg","Blob","domUrl","URL","webkitURL","createObjectURL","revokeObjectURL","img2","ImageDrawer","_images","containerImages","getImages","loadImageShape","addImage","imageFunc","LifeDelay","LifeDuration","Life","LifeUpdater","lifeOptions","delayTime","justSpawned","widthRange","heightRange","loadLifeUpdater","LineDrawer","loadLineShape","OpacityUpdater","opacityOptions","opacityAnimation","opacityRange","minValue","checkDestroy","updateOpacity","loadOpacityUpdater","BounceOutMode","particleBounce","newVelocity","minPos","bounceHorizontal","bounceVertical","DestroyOutMode","vx","vy","NoneOutMode","pRadius","OutOutMode","circVec","newDx","newDy","newPos","sizeValue","nextBounds","OutOfCanvasUpdater","updateOutMode","loadOutModesUpdater","ParallaxMover","parallaxForce","canvasCenter","parallaxSmooth","centerDistance","loadParallaxMover","ax","ay","p1Factor","p2Factor","loadParticlesAttractInteraction","updateAbsorb","r2","resolveCollision","Collider","radius1","radius2","round","loadParticlesCollisionsInteraction","CircleWarp","posNE","posSE","posSW","biggerCircle","rectSW","LinksShadow","LinksTriangle","frequency","Links","triangles","getLinkDistance","optDistance","Linker","linkContainer","linksColor","linksColors","linkOpt1","linksDistance","linkOpt2","setColor","loadInteraction","setLinkFrequency","dictionary","LinkInstance","_freqs","pOptions","p1Links","getLinkFrequency","drawTriangles","drawLinkLine","twinkle","lines","twinkleFreq","twinkleRgb","drawn","pi1","pi2","d1","d2","d3","link1","link2","p3","triangleOptions","opacityTriangle","pos3","colorTriangle","drawTriangle","drawLinkTriangle","vertices","linkFreq","vertex","getTriangleFrequency","LinksPlugin","loadPlugin","loadParticlesLinksInteraction","PolygonDrawerBase","getCenter","getSidesData","sideCount","numerator","denominator","decimalSides","interiorAngleDegrees","interiorAngle","nb_sides","PolygonDrawer","TriangleDrawer","loadGenericPolygonShape","loadTriangleShape","loadPolygonShape","SizeUpdater","sizeVelocity","updateSize","loadSizeUpdater","fixFactor","SquareDrawer","loadSquareShape","StarDrawer","inset","starInset","star","loadStarShape","StrokeColorUpdater","strokeAnimation","strokeHslColor","updateStrokeColor","loadStrokeColorUpdater","validTypes","TextDrawer","textData","textParticle","randomIndexData","fillText","strokeText","promises","all","loadTextShape","loadSlim","TiltAnimation","Tilt","TiltUpdater","tilt","cosDirection","sinDirection","tiltOptions","tiltDirection","tiltAnimation","updateTilt","loadTiltUpdater","TwinkleValues","Twinkle","TwinkleUpdater","twinkleOptions","twinkling","twinklingOpacity","twinkleStyle","needsTwinkle","loadTwinkleUpdater","WobbleSpeed","Wobble","rangeSpeed","WobbleUpdater","wobbleOpt","wobble","angleSpeed","wobbleDistance","updateWobble","loadWobbleUpdater","loadFull","particlesInit","particlesLoaded","particlesConfig","marginBottom","fontSize","paddingRight","paddingTop","viewBox","xmlns","strokeLinecap","strokeLinejoin","ContributionCard","repo","faIcon","contributionLink","description","isVisible","setIsVisible","listRef","observer","threshold","_defineProperty","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","experiences","title","year","Experience","LinkedInCard","textDecoration","experience","getOwnPropertyDescriptors","defineProperties","pfp","alt","ReactDOM"],"sourceRoot":""}