{"version":3,"file":"static/js/main.c960edd4.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","../node_modules/tsparticles-plugin-polygon-mask/esm/pathseg.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/hasOwnProperty shorthand","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.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/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.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/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/Options/Classes/Interactivity/Modes/Modes.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/Events.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Slow.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/Particles/ParticlesOptions.js","../node_modules/tsparticles-engine/esm/Options/Classes/Motion/MotionReduce.js","../node_modules/tsparticles-engine/esm/Options/Classes/Motion/Motion.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/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/Destroy/SplitFactor.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Destroy/SplitRate.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Destroy/Split.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Destroy/Destroy.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/MoveGravity.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/Path/MovePathDelay.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Move/Path/MovePath.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/Rotate/RotateAnimation.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Rotate/Rotate.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/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/Utils/Vector3d.js","../node_modules/tsparticles-engine/esm/Core/Particle.js","../node_modules/tsparticles-engine/esm/Core/Utils/Point.js","../node_modules/tsparticles-engine/esm/Core/Particles.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/CircleWarp.js","../node_modules/tsparticles-engine/esm/Core/Utils/QuadTree.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-tsparticles/esm/Particles.js","../node_modules/react-tsparticles/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-plugin-emitters/esm/Shapes/Circle/CircleShape.js","../node_modules/tsparticles-plugin-emitters/esm/EmitterInstance.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/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-plugin-polygon-mask/esm/Options/Classes/PolygonMaskDrawStroke.js","../node_modules/tsparticles-plugin-polygon-mask/esm/Options/Classes/PolygonMaskDraw.js","../node_modules/tsparticles-plugin-polygon-mask/esm/Options/Classes/PolygonMaskInline.js","../node_modules/tsparticles-plugin-polygon-mask/esm/Options/Classes/PolygonMaskLocalSvg.js","../node_modules/tsparticles-plugin-polygon-mask/esm/Options/Classes/PolygonMaskMove.js","../node_modules/tsparticles-plugin-polygon-mask/esm/Options/Classes/PolygonMask.js","../node_modules/tsparticles-plugin-polygon-mask/esm/utils.js","../node_modules/tsparticles-plugin-polygon-mask/esm/PolygonMaskInstance.js","../node_modules/tsparticles-plugin-polygon-mask/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/AngleUpdater.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/Bubbler.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/index.js","../node_modules/tsparticles-interaction-external-connect/esm/Options/Classes/ConnectLinks.js","../node_modules/tsparticles-interaction-external-connect/esm/Connector.js","../node_modules/tsparticles-interaction-external-connect/esm/Options/Classes/Connect.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/Grabber.js","../node_modules/tsparticles-interaction-external-grab/esm/Options/Classes/Grab.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/Repulser.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/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/Bounce.js","../node_modules/tsparticles-interaction-particles-collisions/esm/ResolveCollision.js","../node_modules/tsparticles-interaction-particles-collisions/esm/Absorb.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/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","Footer.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","\"use strict\";\n(function () {\n \"use strict\";\n try {\n if (typeof window === \"undefined\")\n return;\n if (!(\"SVGPathSeg\" in window)) {\n window.SVGPathSeg = function (type, typeAsLetter, owningPathSegList) {\n this.pathSegType = type;\n this.pathSegTypeAsLetter = typeAsLetter;\n this._owningPathSegList = owningPathSegList;\n };\n window.SVGPathSeg.prototype.classname = \"SVGPathSeg\";\n window.SVGPathSeg.PATHSEG_UNKNOWN = 0;\n window.SVGPathSeg.PATHSEG_CLOSEPATH = 1;\n window.SVGPathSeg.PATHSEG_MOVETO_ABS = 2;\n window.SVGPathSeg.PATHSEG_MOVETO_REL = 3;\n window.SVGPathSeg.PATHSEG_LINETO_ABS = 4;\n window.SVGPathSeg.PATHSEG_LINETO_REL = 5;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS = 6;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL = 7;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS = 8;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL = 9;\n window.SVGPathSeg.PATHSEG_ARC_ABS = 10;\n window.SVGPathSeg.PATHSEG_ARC_REL = 11;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS = 12;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL = 13;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS = 14;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL = 15;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;\n window.SVGPathSeg.prototype._segmentChanged = function () {\n if (this._owningPathSegList)\n this._owningPathSegList.segmentChanged(this);\n };\n window.SVGPathSegClosePath = function (owningPathSegList) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CLOSEPATH, \"z\", owningPathSegList);\n };\n window.SVGPathSegClosePath.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegClosePath.prototype.toString = function () {\n return \"[object SVGPathSegClosePath]\";\n };\n window.SVGPathSegClosePath.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter;\n };\n window.SVGPathSegClosePath.prototype.clone = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n window.SVGPathSegMovetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_ABS, \"M\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegMovetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegMovetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegMovetoAbs]\";\n };\n window.SVGPathSegMovetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegMovetoAbs.prototype.clone = function () {\n return new window.SVGPathSegMovetoAbs(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegMovetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_REL, \"m\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegMovetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegMovetoRel.prototype.toString = function () {\n return \"[object SVGPathSegMovetoRel]\";\n };\n window.SVGPathSegMovetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegMovetoRel.prototype.clone = function () {\n return new window.SVGPathSegMovetoRel(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegLinetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_ABS, \"L\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegLinetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoAbs]\";\n };\n window.SVGPathSegLinetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegLinetoAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoAbs(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegLinetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_REL, \"l\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegLinetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoRel]\";\n };\n window.SVGPathSegLinetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegLinetoRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoRel(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoCubicAbs = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS, \"C\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n window.SVGPathSegCurvetoCubicAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoCubicAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicAbs]\";\n };\n window.SVGPathSegCurvetoCubicAbs.prototype._asPathString = function () {\n return (this.pathSegTypeAsLetter +\n \" \" +\n this._x1 +\n \" \" +\n this._y1 +\n \" \" +\n this._x2 +\n \" \" +\n this._y2 +\n \" \" +\n this._x +\n \" \" +\n this._y);\n };\n window.SVGPathSegCurvetoCubicAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x1\", {\n get: function () {\n return this._x1;\n },\n set: function (x1) {\n this._x1 = x1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y1\", {\n get: function () {\n return this._y1;\n },\n set: function (y1) {\n this._y1 = y1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x2\", {\n get: function () {\n return this._x2;\n },\n set: function (x2) {\n this._x2 = x2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y2\", {\n get: function () {\n return this._y2;\n },\n set: function (y2) {\n this._y2 = y2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoCubicRel = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL, \"c\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n window.SVGPathSegCurvetoCubicRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoCubicRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicRel]\";\n };\n window.SVGPathSegCurvetoCubicRel.prototype._asPathString = function () {\n return (this.pathSegTypeAsLetter +\n \" \" +\n this._x1 +\n \" \" +\n this._y1 +\n \" \" +\n this._x2 +\n \" \" +\n this._y2 +\n \" \" +\n this._x +\n \" \" +\n this._y);\n };\n window.SVGPathSegCurvetoCubicRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicRel(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x1\", {\n get: function () {\n return this._x1;\n },\n set: function (x1) {\n this._x1 = x1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y1\", {\n get: function () {\n return this._y1;\n },\n set: function (y1) {\n this._y1 = y1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x2\", {\n get: function () {\n return this._x2;\n },\n set: function (x2) {\n this._x2 = x2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y2\", {\n get: function () {\n return this._y2;\n },\n set: function (y2) {\n this._y2 = y2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoQuadraticAbs = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS, \"Q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n window.SVGPathSegCurvetoQuadraticAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoQuadraticAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticAbs]\";\n };\n window.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoQuadraticAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, this._x, this._y, this._x1, this._y1);\n };\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x1\", {\n get: function () {\n return this._x1;\n },\n set: function (x1) {\n this._x1 = x1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y1\", {\n get: function () {\n return this._y1;\n },\n set: function (y1) {\n this._y1 = y1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoQuadraticRel = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL, \"q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n window.SVGPathSegCurvetoQuadraticRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoQuadraticRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticRel]\";\n };\n window.SVGPathSegCurvetoQuadraticRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoQuadraticRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, this._x, this._y, this._x1, this._y1);\n };\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x1\", {\n get: function () {\n return this._x1;\n },\n set: function (x1) {\n this._x1 = x1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y1\", {\n get: function () {\n return this._y1;\n },\n set: function (y1) {\n this._y1 = y1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegArcAbs = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_ABS, \"A\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n window.SVGPathSegArcAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegArcAbs.prototype.toString = function () {\n return \"[object SVGPathSegArcAbs]\";\n };\n window.SVGPathSegArcAbs.prototype._asPathString = function () {\n return (this.pathSegTypeAsLetter +\n \" \" +\n this._r1 +\n \" \" +\n this._r2 +\n \" \" +\n this._angle +\n \" \" +\n (this._largeArcFlag ? \"1\" : \"0\") +\n \" \" +\n (this._sweepFlag ? \"1\" : \"0\") +\n \" \" +\n this._x +\n \" \" +\n this._y);\n };\n window.SVGPathSegArcAbs.prototype.clone = function () {\n return new window.SVGPathSegArcAbs(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r1\", {\n get: function () {\n return this._r1;\n },\n set: function (r1) {\n this._r1 = r1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r2\", {\n get: function () {\n return this._r2;\n },\n set: function (r2) {\n this._r2 = r2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"angle\", {\n get: function () {\n return this._angle;\n },\n set: function (angle) {\n this._angle = angle;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"largeArcFlag\", {\n get: function () {\n return this._largeArcFlag;\n },\n set: function (largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"sweepFlag\", {\n get: function () {\n return this._sweepFlag;\n },\n set: function (sweepFlag) {\n this._sweepFlag = sweepFlag;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegArcRel = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_REL, \"a\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n window.SVGPathSegArcRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegArcRel.prototype.toString = function () {\n return \"[object SVGPathSegArcRel]\";\n };\n window.SVGPathSegArcRel.prototype._asPathString = function () {\n return (this.pathSegTypeAsLetter +\n \" \" +\n this._r1 +\n \" \" +\n this._r2 +\n \" \" +\n this._angle +\n \" \" +\n (this._largeArcFlag ? \"1\" : \"0\") +\n \" \" +\n (this._sweepFlag ? \"1\" : \"0\") +\n \" \" +\n this._x +\n \" \" +\n this._y);\n };\n window.SVGPathSegArcRel.prototype.clone = function () {\n return new window.SVGPathSegArcRel(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r1\", {\n get: function () {\n return this._r1;\n },\n set: function (r1) {\n this._r1 = r1;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r2\", {\n get: function () {\n return this._r2;\n },\n set: function (r2) {\n this._r2 = r2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"angle\", {\n get: function () {\n return this._angle;\n },\n set: function (angle) {\n this._angle = angle;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"largeArcFlag\", {\n get: function () {\n return this._largeArcFlag;\n },\n set: function (largeArcFlag) {\n this._largeArcFlag = largeArcFlag;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"sweepFlag\", {\n get: function () {\n return this._sweepFlag;\n },\n set: function (sweepFlag) {\n this._sweepFlag = sweepFlag;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegLinetoHorizontalAbs = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS, \"H\", owningPathSegList);\n this._x = x;\n };\n window.SVGPathSegLinetoHorizontalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoHorizontalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalAbs]\";\n };\n window.SVGPathSegLinetoHorizontalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n window.SVGPathSegLinetoHorizontalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, this._x);\n };\n Object.defineProperty(window.SVGPathSegLinetoHorizontalAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegLinetoHorizontalRel = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL, \"h\", owningPathSegList);\n this._x = x;\n };\n window.SVGPathSegLinetoHorizontalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoHorizontalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalRel]\";\n };\n window.SVGPathSegLinetoHorizontalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n window.SVGPathSegLinetoHorizontalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, this._x);\n };\n Object.defineProperty(window.SVGPathSegLinetoHorizontalRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegLinetoVerticalAbs = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS, \"V\", owningPathSegList);\n this._y = y;\n };\n window.SVGPathSegLinetoVerticalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoVerticalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalAbs]\";\n };\n window.SVGPathSegLinetoVerticalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n window.SVGPathSegLinetoVerticalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, this._y);\n };\n Object.defineProperty(window.SVGPathSegLinetoVerticalAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegLinetoVerticalRel = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL, \"v\", owningPathSegList);\n this._y = y;\n };\n window.SVGPathSegLinetoVerticalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoVerticalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalRel]\";\n };\n window.SVGPathSegLinetoVerticalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n window.SVGPathSegLinetoVerticalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalRel(undefined, this._y);\n };\n Object.defineProperty(window.SVGPathSegLinetoVerticalRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoCubicSmoothAbs = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS, \"S\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothAbs]\";\n };\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, this._x, this._y, this._x2, this._y2);\n };\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x2\", {\n get: function () {\n return this._x2;\n },\n set: function (x2) {\n this._x2 = x2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y2\", {\n get: function () {\n return this._y2;\n },\n set: function (y2) {\n this._y2 = y2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoCubicSmoothRel = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL, \"s\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n window.SVGPathSegCurvetoCubicSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothRel]\";\n };\n window.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, this._x, this._y, this._x2, this._y2);\n };\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x2\", {\n get: function () {\n return this._x2;\n },\n set: function (x2) {\n this._x2 = x2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y2\", {\n get: function () {\n return this._y2;\n },\n set: function (y2) {\n this._y2 = y2;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoQuadraticSmoothAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS, \"T\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothAbs]\";\n };\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathSegCurvetoQuadraticSmoothRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL, \"t\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothRel]\";\n };\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"x\", {\n get: function () {\n return this._x;\n },\n set: function (x) {\n this._x = x;\n this._segmentChanged();\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"y\", {\n get: function () {\n return this._y;\n },\n set: function (y) {\n this._y = y;\n this._segmentChanged();\n },\n enumerable: true,\n });\n window.SVGPathElement.prototype.createSVGPathSegClosePath = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n window.SVGPathElement.prototype.createSVGPathSegMovetoAbs = function (x, y) {\n return new window.SVGPathSegMovetoAbs(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegMovetoRel = function (x, y) {\n return new window.SVGPathSegMovetoRel(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoAbs = function (x, y) {\n return new window.SVGPathSegLinetoAbs(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoRel = function (x, y) {\n return new window.SVGPathSegLinetoRel(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, x, y, x1, y1, x2, y2);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicRel(undefined, x, y, x1, y1, x2, y2);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, x, y, x1, y1);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, x, y, x1, y1);\n };\n window.SVGPathElement.prototype.createSVGPathSegArcAbs = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcAbs(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n window.SVGPathElement.prototype.createSVGPathSegArcRel = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcRel(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs = function (x) {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, x);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel = function (x) {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, x);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs = function (y) {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel = function (y) {\n return new window.SVGPathSegLinetoVerticalRel(undefined, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, x, y, x2, y2);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, x, y, x2, y2);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, x, y);\n };\n if (!(\"getPathSegAtLength\" in window.SVGPathElement.prototype)) {\n window.SVGPathElement.prototype.getPathSegAtLength = function (distance) {\n if (distance === undefined || !isFinite(distance))\n throw \"Invalid arguments.\";\n const measurementElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n measurementElement.setAttribute(\"d\", this.getAttribute(\"d\"));\n let lastPathSegment = measurementElement.pathSegList.numberOfItems - 1;\n if (lastPathSegment <= 0)\n return 0;\n do {\n measurementElement.pathSegList.removeItem(lastPathSegment);\n if (distance > measurementElement.getTotalLength())\n break;\n lastPathSegment--;\n } while (lastPathSegment > 0);\n return lastPathSegment;\n };\n }\n }\n if (!(\"SVGPathSegList\" in window) || !(\"appendItem\" in window.SVGPathSegList.prototype)) {\n window.SVGPathSegList = function (pathElement) {\n this._pathElement = pathElement;\n this._list = this._parsePath(this._pathElement.getAttribute(\"d\"));\n this._mutationObserverConfig = { attributes: true, attributeFilter: [\"d\"] };\n this._pathElementMutationObserver = new MutationObserver(this._updateListFromPathMutations.bind(this));\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n };\n window.SVGPathSegList.prototype.classname = \"SVGPathSegList\";\n Object.defineProperty(window.SVGPathSegList.prototype, \"numberOfItems\", {\n get: function () {\n this._checkPathSynchronizedToList();\n return this._list.length;\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathSegList.prototype, \"length\", {\n get: function () {\n this._checkPathSynchronizedToList();\n return this._list.length;\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"pathSegList\", {\n get: function () {\n if (!this._pathSegList)\n this._pathSegList = new window.SVGPathSegList(this);\n return this._pathSegList;\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"normalizedPathSegList\", {\n get: function () {\n return this.pathSegList;\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedPathSegList\", {\n get: function () {\n return this.pathSegList;\n },\n enumerable: true,\n });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedNormalizedPathSegList\", {\n get: function () {\n return this.pathSegList;\n },\n enumerable: true,\n });\n window.SVGPathSegList.prototype._checkPathSynchronizedToList = function () {\n this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords());\n };\n window.SVGPathSegList.prototype._updateListFromPathMutations = function (mutationRecords) {\n if (!this._pathElement)\n return;\n let hasPathMutations = false;\n mutationRecords.forEach(function (record) {\n if (record.attributeName == \"d\")\n hasPathMutations = true;\n });\n if (hasPathMutations)\n this._list = this._parsePath(this._pathElement.getAttribute(\"d\"));\n };\n window.SVGPathSegList.prototype._writeListToPath = function () {\n this._pathElementMutationObserver.disconnect();\n this._pathElement.setAttribute(\"d\", window.SVGPathSegList._pathSegArrayAsString(this._list));\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n };\n window.SVGPathSegList.prototype.segmentChanged = function (pathSeg) {\n this._writeListToPath();\n };\n window.SVGPathSegList.prototype.clear = function () {\n this._checkPathSynchronizedToList();\n this._list.forEach(function (pathSeg) {\n pathSeg._owningPathSegList = null;\n });\n this._list = [];\n this._writeListToPath();\n };\n window.SVGPathSegList.prototype.initialize = function (newItem) {\n this._checkPathSynchronizedToList();\n this._list = [newItem];\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n };\n window.SVGPathSegList.prototype._checkValidIndex = function (index) {\n if (isNaN(index) || index < 0 || index >= this.numberOfItems)\n throw \"INDEX_SIZE_ERR\";\n };\n window.SVGPathSegList.prototype.getItem = function (index) {\n this._checkPathSynchronizedToList();\n this._checkValidIndex(index);\n return this._list[index];\n };\n window.SVGPathSegList.prototype.insertItemBefore = function (newItem, index) {\n this._checkPathSynchronizedToList();\n if (index > this.numberOfItems)\n index = this.numberOfItems;\n if (newItem._owningPathSegList) {\n newItem = newItem.clone();\n }\n this._list.splice(index, 0, newItem);\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n };\n window.SVGPathSegList.prototype.replaceItem = function (newItem, index) {\n this._checkPathSynchronizedToList();\n if (newItem._owningPathSegList) {\n newItem = newItem.clone();\n }\n this._checkValidIndex(index);\n this._list[index] = newItem;\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n };\n window.SVGPathSegList.prototype.removeItem = function (index) {\n this._checkPathSynchronizedToList();\n this._checkValidIndex(index);\n const item = this._list[index];\n this._list.splice(index, 1);\n this._writeListToPath();\n return item;\n };\n window.SVGPathSegList.prototype.appendItem = function (newItem) {\n this._checkPathSynchronizedToList();\n if (newItem._owningPathSegList) {\n newItem = newItem.clone();\n }\n this._list.push(newItem);\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n };\n window.SVGPathSegList._pathSegArrayAsString = function (pathSegArray) {\n let string = \"\";\n let first = true;\n pathSegArray.forEach(function (pathSeg) {\n if (first) {\n first = false;\n string += pathSeg._asPathString();\n }\n else {\n string += \" \" + pathSeg._asPathString();\n }\n });\n return string;\n };\n window.SVGPathSegList.prototype._parsePath = function (string) {\n if (!string || string.length == 0)\n return [];\n const owningPathSegList = this;\n const Builder = function () {\n this.pathSegList = [];\n };\n Builder.prototype.appendSegment = function (pathSeg) {\n this.pathSegList.push(pathSeg);\n };\n const Source = function (string) {\n this._string = string;\n this._currentIndex = 0;\n this._endIndex = this._string.length;\n this._previousCommand = window.SVGPathSeg.PATHSEG_UNKNOWN;\n this._skipOptionalSpaces();\n };\n Source.prototype._isCurrentSpace = function () {\n const character = this._string[this._currentIndex];\n return (character <= \" \" &&\n (character == \" \" ||\n character == \"\\n\" ||\n character == \"\\t\" ||\n character == \"\\r\" ||\n character == \"\\f\"));\n };\n Source.prototype._skipOptionalSpaces = function () {\n while (this._currentIndex < this._endIndex && this._isCurrentSpace())\n this._currentIndex++;\n return this._currentIndex < this._endIndex;\n };\n Source.prototype._skipOptionalSpacesOrDelimiter = function () {\n if (this._currentIndex < this._endIndex &&\n !this._isCurrentSpace() &&\n this._string.charAt(this._currentIndex) != \",\")\n return false;\n if (this._skipOptionalSpaces()) {\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \",\") {\n this._currentIndex++;\n this._skipOptionalSpaces();\n }\n }\n return this._currentIndex < this._endIndex;\n };\n Source.prototype.hasMoreData = function () {\n return this._currentIndex < this._endIndex;\n };\n Source.prototype.peekSegmentType = function () {\n const lookahead = this._string[this._currentIndex];\n return this._pathSegTypeFromChar(lookahead);\n };\n Source.prototype._pathSegTypeFromChar = function (lookahead) {\n switch (lookahead) {\n case \"Z\":\n case \"z\":\n return window.SVGPathSeg.PATHSEG_CLOSEPATH;\n case \"M\":\n return window.SVGPathSeg.PATHSEG_MOVETO_ABS;\n case \"m\":\n return window.SVGPathSeg.PATHSEG_MOVETO_REL;\n case \"L\":\n return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n case \"l\":\n return window.SVGPathSeg.PATHSEG_LINETO_REL;\n case \"C\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;\n case \"c\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;\n case \"Q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;\n case \"q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;\n case \"A\":\n return window.SVGPathSeg.PATHSEG_ARC_ABS;\n case \"a\":\n return window.SVGPathSeg.PATHSEG_ARC_REL;\n case \"H\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;\n case \"h\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;\n case \"V\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;\n case \"v\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;\n case \"S\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;\n case \"s\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;\n case \"T\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;\n case \"t\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;\n default:\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n }\n };\n Source.prototype._nextCommandHelper = function (lookahead, previousCommand) {\n if ((lookahead == \"+\" ||\n lookahead == \"-\" ||\n lookahead == \".\" ||\n (lookahead >= \"0\" && lookahead <= \"9\")) &&\n previousCommand != window.SVGPathSeg.PATHSEG_CLOSEPATH) {\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_ABS)\n return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_REL)\n return window.SVGPathSeg.PATHSEG_LINETO_REL;\n return previousCommand;\n }\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n };\n Source.prototype.initialCommandIsMoveTo = function () {\n if (!this.hasMoreData())\n return true;\n const command = this.peekSegmentType();\n return (command == window.SVGPathSeg.PATHSEG_MOVETO_ABS ||\n command == window.SVGPathSeg.PATHSEG_MOVETO_REL);\n };\n Source.prototype._parseNumber = function () {\n let exponent = 0;\n let integer = 0;\n let frac = 1;\n let decimal = 0;\n let sign = 1;\n let expsign = 1;\n const startIndex = this._currentIndex;\n this._skipOptionalSpaces();\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"+\")\n this._currentIndex++;\n else if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n sign = -1;\n }\n if (this._currentIndex == this._endIndex ||\n ((this._string.charAt(this._currentIndex) < \"0\" ||\n this._string.charAt(this._currentIndex) > \"9\") &&\n this._string.charAt(this._currentIndex) != \".\"))\n return undefined;\n const startIntPartIndex = this._currentIndex;\n while (this._currentIndex < this._endIndex &&\n this._string.charAt(this._currentIndex) >= \"0\" &&\n this._string.charAt(this._currentIndex) <= \"9\")\n this._currentIndex++;\n if (this._currentIndex != startIntPartIndex) {\n let scanIntPartIndex = this._currentIndex - 1;\n let multiplier = 1;\n while (scanIntPartIndex >= startIntPartIndex) {\n integer += multiplier * (this._string.charAt(scanIntPartIndex--) - \"0\");\n multiplier *= 10;\n }\n }\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \".\") {\n this._currentIndex++;\n if (this._currentIndex >= this._endIndex ||\n this._string.charAt(this._currentIndex) < \"0\" ||\n this._string.charAt(this._currentIndex) > \"9\")\n return undefined;\n while (this._currentIndex < this._endIndex &&\n this._string.charAt(this._currentIndex) >= \"0\" &&\n this._string.charAt(this._currentIndex) <= \"9\") {\n frac *= 10;\n decimal += (this._string.charAt(this._currentIndex) - \"0\") / frac;\n this._currentIndex += 1;\n }\n }\n if (this._currentIndex != startIndex &&\n this._currentIndex + 1 < this._endIndex &&\n (this._string.charAt(this._currentIndex) == \"e\" ||\n this._string.charAt(this._currentIndex) == \"E\") &&\n this._string.charAt(this._currentIndex + 1) != \"x\" &&\n this._string.charAt(this._currentIndex + 1) != \"m\") {\n this._currentIndex++;\n if (this._string.charAt(this._currentIndex) == \"+\") {\n this._currentIndex++;\n }\n else if (this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n expsign = -1;\n }\n if (this._currentIndex >= this._endIndex ||\n this._string.charAt(this._currentIndex) < \"0\" ||\n this._string.charAt(this._currentIndex) > \"9\")\n return undefined;\n while (this._currentIndex < this._endIndex &&\n this._string.charAt(this._currentIndex) >= \"0\" &&\n this._string.charAt(this._currentIndex) <= \"9\") {\n exponent *= 10;\n exponent += this._string.charAt(this._currentIndex) - \"0\";\n this._currentIndex++;\n }\n }\n let number = integer + decimal;\n number *= sign;\n if (exponent)\n number *= Math.pow(10, expsign * exponent);\n if (startIndex == this._currentIndex)\n return undefined;\n this._skipOptionalSpacesOrDelimiter();\n return number;\n };\n Source.prototype._parseArcFlag = function () {\n if (this._currentIndex >= this._endIndex)\n return undefined;\n let flag = false;\n const flagChar = this._string.charAt(this._currentIndex++);\n if (flagChar == \"0\")\n flag = false;\n else if (flagChar == \"1\")\n flag = true;\n else\n return undefined;\n this._skipOptionalSpacesOrDelimiter();\n return flag;\n };\n Source.prototype.parseSegment = function () {\n const lookahead = this._string[this._currentIndex];\n let command = this._pathSegTypeFromChar(lookahead);\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) {\n if (this._previousCommand == window.SVGPathSeg.PATHSEG_UNKNOWN)\n return null;\n command = this._nextCommandHelper(lookahead, this._previousCommand);\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN)\n return null;\n }\n else {\n this._currentIndex++;\n }\n this._previousCommand = command;\n let points;\n switch (command) {\n case window.SVGPathSeg.PATHSEG_MOVETO_REL:\n return new window.SVGPathSegMovetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_MOVETO_ABS:\n return new window.SVGPathSegMovetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_REL:\n return new window.SVGPathSegLinetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_ABS:\n return new window.SVGPathSegLinetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n return new window.SVGPathSegLinetoHorizontalRel(owningPathSegList, this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n return new window.SVGPathSegLinetoHorizontalAbs(owningPathSegList, this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n return new window.SVGPathSegLinetoVerticalRel(owningPathSegList, this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n return new window.SVGPathSegLinetoVerticalAbs(owningPathSegList, this._parseNumber());\n case window.SVGPathSeg.PATHSEG_CLOSEPATH:\n this._skipOptionalSpaces();\n return new window.SVGPathSegClosePath(owningPathSegList);\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:\n points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegCurvetoCubicRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:\n points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegCurvetoCubicAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:\n points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, points.x, points.y, points.x2, points.y2);\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:\n points = {\n x2: this._parseNumber(),\n y2: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, points.x, points.y, points.x2, points.y2);\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:\n points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegCurvetoQuadraticRel(owningPathSegList, points.x, points.y, points.x1, points.y1);\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:\n points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegCurvetoQuadraticAbs(owningPathSegList, points.x, points.y, points.x1, points.y1);\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_ARC_REL:\n points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegArcRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n case window.SVGPathSeg.PATHSEG_ARC_ABS:\n points = {\n x1: this._parseNumber(),\n y1: this._parseNumber(),\n arcAngle: this._parseNumber(),\n arcLarge: this._parseArcFlag(),\n arcSweep: this._parseArcFlag(),\n x: this._parseNumber(),\n y: this._parseNumber(),\n };\n return new window.SVGPathSegArcAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n default:\n throw \"Unknown path seg type.\";\n }\n };\n const builder = new Builder();\n const source = new Source(string);\n if (!source.initialCommandIsMoveTo())\n return [];\n while (source.hasMoreData()) {\n const pathSeg = source.parseSegment();\n if (!pathSeg)\n return [];\n builder.appendSegment(pathSeg);\n }\n return builder.pathSegList;\n };\n }\n }\n catch (e) {\n console.warn(\"An error occurred in tsParticles pathseg polyfill. If the Polygon Mask is not working, please open an issue here: https://github.com/matteobruni/tsparticles\", e);\n }\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); }","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\";\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\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\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\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 generator._invoke = function (innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\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\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\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }(innerFn, self, context), generator;\n }\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\n exports.wrap = wrap;\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\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\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\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\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\n reject(record.arg);\n }\n\n var previousPromise;\n\n this._invoke = function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (undefined === method) {\n if (context.delegate = null, \"throw\" === context.method) {\n if (delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method)) return ContinueSentinel;\n context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\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\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\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\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\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n\n return next.value = undefined, next.done = !0, next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, \"constructor\", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), 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 (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\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\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) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\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\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\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\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\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\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\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\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\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\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\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\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _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, descriptor.key, descriptor);\n }\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\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\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\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\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}","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\n return self;\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\n return assertThisInitialized(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\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\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\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\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\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\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\n var F = function F() {};\n\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\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\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}","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _EventDispatcher_listeners;\nexport class EventDispatcher {\n constructor() {\n _EventDispatcher_listeners.set(this, void 0);\n __classPrivateFieldSet(this, _EventDispatcher_listeners, new Map(), \"f\");\n }\n addEventListener(type, listener) {\n var _a;\n this.removeEventListener(type, listener);\n if (!__classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").get(type)) {\n __classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").set(type, []);\n }\n (_a = __classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").get(type)) === null || _a === void 0 ? void 0 : _a.push(listener);\n }\n dispatchEvent(type, args) {\n var _a;\n (_a = __classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").get(type)) === null || _a === void 0 ? void 0 : _a.forEach((handler) => handler(args));\n }\n hasEventListener(type) {\n return !!__classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").get(type);\n }\n removeAllEventListeners(type) {\n if (!type) {\n __classPrivateFieldSet(this, _EventDispatcher_listeners, new Map(), \"f\");\n }\n else {\n __classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").delete(type);\n }\n }\n removeEventListener(type, listener) {\n const arr = __classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").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 __classPrivateFieldGet(this, _EventDispatcher_listeners, \"f\").delete(type);\n }\n else {\n arr.splice(idx, 1);\n }\n }\n}\n_EventDispatcher_listeners = new WeakMap();\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 = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\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 Vector {\n constructor(xOrCoords, y) {\n if (typeof xOrCoords !== \"number\" && xOrCoords) {\n this.x = xOrCoords.x;\n this.y = xOrCoords.y;\n }\n else if (xOrCoords !== undefined && y !== undefined) {\n this.x = xOrCoords;\n this.y = y;\n }\n else {\n throw new Error(\"tsParticles - Vector not initialized correctly\");\n }\n }\n static get origin() {\n return Vector.create(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 Vector.create(source.x, source.y);\n }\n static create(x, y) {\n return new Vector(x, y);\n }\n add(v) {\n return Vector.create(this.x + v.x, this.y + v.y);\n }\n addTo(v) {\n this.x += v.x;\n this.y += v.y;\n }\n copy() {\n return Vector.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 Vector.create(this.x / n, this.y / n);\n }\n divTo(n) {\n this.x /= n;\n this.y /= n;\n }\n getLengthSq() {\n return this.x ** 2 + this.y ** 2;\n }\n manhattanDistanceTo(v) {\n return Math.abs(v.x - this.x) + Math.abs(v.y - this.y);\n }\n mult(n) {\n return Vector.create(this.x * n, this.y * n);\n }\n multTo(n) {\n this.x *= n;\n this.y *= n;\n }\n rotate(angle) {\n return Vector.create(this.x * Math.cos(angle) - this.y * Math.sin(angle), this.x * Math.sin(angle) + this.y * Math.cos(angle));\n }\n setTo(v) {\n this.x = v.x;\n this.y = v.y;\n }\n sub(v) {\n return Vector.create(this.x - v.x, this.y - v.y);\n }\n subFrom(v) {\n this.x -= v.x;\n this.y -= v.y;\n }\n updateFromAngle(angle, length) {\n this.x = Math.cos(angle) * length;\n this.y = Math.sin(angle) * length;\n }\n}\n","import { Vector } from \"../Core/Utils/Vector\";\nlet _random = Math.random;\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 * dx + dy * dy) };\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 case \"none\":\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 calcEasing(value, type) {\n switch (type) {\n case \"ease-out-quad\":\n return 1 - (1 - value) ** 2;\n case \"ease-out-cubic\":\n return 1 - (1 - value) ** 3;\n case \"ease-out-quart\":\n return 1 - (1 - value) ** 4;\n case \"ease-out-quint\":\n return 1 - (1 - value) ** 5;\n case \"ease-out-expo\":\n return value === 1 ? 1 : 1 - Math.pow(2, -10 * value);\n case \"ease-out-sine\":\n return Math.sin((value * Math.PI) / 2);\n case \"ease-out-back\": {\n const c1 = 1.70158, c3 = c1 + 1;\n return 1 + c3 * Math.pow(value - 1, 3) + c1 * Math.pow(value - 1, 2);\n }\n case \"ease-out-circ\":\n return Math.sqrt(1 - Math.pow(value - 1, 2));\n default:\n return value;\n }\n}\nexport function calcPositionFromSize(data) {\n var _a, _b;\n return ((_a = data.position) === null || _a === void 0 ? void 0 : _a.x) !== undefined && ((_b = data.position) === null || _b === void 0 ? void 0 : _b.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.endsWith(\"%\") ? parseFloat(input) / 100 : parseFloat(input);\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 if (!(selectors instanceof Array)) {\n return element.matches(selectors);\n }\n for (const selector of selectors) {\n if (element.matches(selector)) {\n return true;\n }\n }\n return false;\n}\nexport function isSsr() {\n return typeof window === \"undefined\" || !window || typeof window.document === \"undefined\" || !window.document;\n}\nexport function animate() {\n return isSsr()\n ? (callback) => setTimeout(callback)\n : (callback) => (window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n window.msRequestAnimationFrame ||\n window.setTimeout)(callback);\n}\nexport function cancelAnimation() {\n return isSsr()\n ? (handle) => clearTimeout(handle)\n : (handle) => (window.cancelAnimationFrame ||\n window.webkitCancelRequestAnimationFrame ||\n window.mozCancelRequestAnimationFrame ||\n window.oCancelRequestAnimationFrame ||\n window.msCancelRequestAnimationFrame ||\n window.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 const fixedIndex = index !== undefined && useIndex ? index % array.length : arrayRandomIndex(array);\n return array[fixedIndex];\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 divs instanceof Array ? !!divs.find((t) => t.enable && isInArray(mode, t.mode)) : isInArray(mode, divs.mode);\n}\nexport function divModeExecute(mode, divs, callback) {\n if (divs instanceof Array) {\n for (const div of divs) {\n const divMode = div.mode, divEnabled = div.enable;\n if (divEnabled && isInArray(mode, divMode)) {\n singleDivModeExecute(div, callback);\n }\n }\n }\n else {\n const divMode = divs.mode, divEnabled = divs.enable;\n if (divEnabled && isInArray(mode, divMode)) {\n singleDivModeExecute(divs, callback);\n }\n }\n}\nexport function singleDivModeExecute(div, callback) {\n const selectors = div.selectors;\n if (selectors instanceof Array) {\n for (const selector of selectors) {\n callback(selector, div);\n }\n }\n else {\n callback(selectors, div);\n }\n}\nexport function divMode(divs, element) {\n if (!element || !divs) {\n return;\n }\n if (divs instanceof Array) {\n return divs.find((d) => checkSelector(element, d.selectors));\n }\n else if (checkSelector(element, divs.selectors)) {\n return divs;\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);\n const 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}\n","import { getRandom, getRangeValue, mix, randomInRange, setRangeValue } from \"./NumberUtils\";\nimport { itemFromArray } from \"./Utils\";\nconst randomColorValue = \"random\", midColorValue = \"mid\", colorManagers = new Map();\nexport function addColorManager(key, manager) {\n colorManagers.set(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 {\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 = 0;\n if (!colorAnimation.sync) {\n colorValue.velocity *= getRandom();\n colorValue.value *= getRandom();\n }\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.save();\n context.fillStyle = baseColor !== null && baseColor !== void 0 ? baseColor : \"rgba(0,0,0,0)\";\n context.fillRect(0, 0, dimension.width, dimension.height);\n context.restore();\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, _f, _g, _h, _j, _k;\n const { container, context, particle, delta, colorStyles, backgroundMask, composite, radius, opacity, shadow, transform, } = data;\n const pos = particle.getPosition();\n context.save();\n if (transform.a !== undefined ||\n transform.b !== undefined ||\n transform.c !== undefined ||\n transform.d !== undefined) {\n context.setTransform((_a = transform.a) !== null && _a !== void 0 ? _a : 1, (_b = transform.b) !== null && _b !== void 0 ? _b : 0, (_c = transform.c) !== null && _c !== void 0 ? _c : 0, (_d = transform.d) !== null && _d !== void 0 ? _d : 1, pos.x, pos.y);\n }\n else {\n context.translate(pos.x, pos.y);\n }\n context.beginPath();\n const angle = particle.rotation + (particle.options.rotate.path ? particle.velocity.angle : 0);\n if (angle !== 0) {\n context.rotate(angle);\n }\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 stroke = particle.stroke;\n context.lineWidth = (_e = particle.strokeWidth) !== null && _e !== void 0 ? _e : 0;\n if (colorStyles.stroke) {\n context.strokeStyle = colorStyles.stroke;\n }\n drawShape(container, context, particle, radius, opacity, delta);\n if (((_f = stroke === null || stroke === void 0 ? void 0 : stroke.width) !== null && _f !== void 0 ? _f : 0) > 0) {\n context.stroke();\n }\n if (particle.close) {\n context.closePath();\n }\n if (particle.fill) {\n context.fill();\n }\n context.restore();\n context.save();\n if (transform.a !== undefined ||\n transform.b !== undefined ||\n transform.c !== undefined ||\n transform.d !== undefined) {\n context.setTransform((_g = transform.a) !== null && _g !== void 0 ? _g : 1, (_h = transform.b) !== null && _h !== void 0 ? _h : 0, (_j = transform.c) !== null && _j !== void 0 ? _j : 0, (_k = transform.d) !== null && _k !== void 0 ? _k : 1, pos.x, pos.y);\n }\n else {\n context.translate(pos.x, pos.y);\n }\n if (particle.rotation) {\n context.rotate(particle.rotation);\n }\n if (backgroundMask) {\n context.globalCompositeOperation = composite;\n }\n drawShapeAfterEffect(container, context, particle, radius, opacity, delta);\n context.restore();\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 context.save();\n plugin.draw(context, delta);\n context.restore();\n}\nexport function drawParticlePlugin(context, plugin, particle, delta) {\n if (!plugin.drawParticle) {\n return;\n }\n context.save();\n plugin.drawParticle(context, particle, delta);\n context.restore();\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\";\nexport const noPolygonDataLoaded = \"No polygon data loaded.\";\nexport const noPolygonFound = \"No polygon found, you need to specify SVG url in config.\";\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Canvas_colorPlugins, _Canvas_context, _Canvas_postDrawUpdaters, _Canvas_preDrawUpdaters, _Canvas_resizePlugins;\nimport { clear, drawParticle, drawParticlePlugin, drawPlugin, paintBase } from \"../Utils/CanvasUtils\";\nimport { getStyleFromHsl, getStyleFromRgb, rangeColorToHsl, rangeColorToRgb } from \"../Utils/ColorUtils\";\nimport { deepExtend } from \"../Utils/Utils\";\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 _Canvas_colorPlugins.set(this, void 0);\n _Canvas_context.set(this, void 0);\n _Canvas_postDrawUpdaters.set(this, void 0);\n _Canvas_preDrawUpdaters.set(this, void 0);\n _Canvas_resizePlugins.set(this, void 0);\n this.size = {\n height: 0,\n width: 0,\n };\n __classPrivateFieldSet(this, _Canvas_context, null, \"f\");\n this.generatedCanvas = false;\n __classPrivateFieldSet(this, _Canvas_preDrawUpdaters, [], \"f\");\n __classPrivateFieldSet(this, _Canvas_postDrawUpdaters, [], \"f\");\n __classPrivateFieldSet(this, _Canvas_resizePlugins, [], \"f\");\n __classPrivateFieldSet(this, _Canvas_colorPlugins, [], \"f\");\n }\n clear() {\n const options = this.container.actualOptions, trail = options.particles.move.trail;\n if (options.backgroundMask.enable) {\n this.paint();\n }\n else if (trail.enable && trail.length > 0 && this.trailFillColor) {\n this.paintBase(getStyleFromRgb(this.trailFillColor, 1 / trail.length));\n }\n else {\n this.draw((ctx) => {\n clear(ctx, this.size);\n });\n }\n }\n destroy() {\n var _a;\n if (this.generatedCanvas) {\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();\n }\n else {\n this.resetOriginalStyle();\n }\n this.draw((ctx) => {\n clear(ctx, this.size);\n });\n __classPrivateFieldSet(this, _Canvas_preDrawUpdaters, [], \"f\");\n __classPrivateFieldSet(this, _Canvas_postDrawUpdaters, [], \"f\");\n __classPrivateFieldSet(this, _Canvas_resizePlugins, [], \"f\");\n __classPrivateFieldSet(this, _Canvas_colorPlugins, [], \"f\");\n }\n draw(cb) {\n if (!__classPrivateFieldGet(this, _Canvas_context, \"f\")) {\n return;\n }\n return cb(__classPrivateFieldGet(this, _Canvas_context, \"f\"));\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, _e;\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 = (_e = (_d = particle.stroke) === null || _d === void 0 ? void 0 : _d.opacity) !== null && _e !== void 0 ? _e : 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 init() {\n this.resize();\n this.initStyle();\n this.initCover();\n this.initTrail();\n this.initBackground();\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 __classPrivateFieldSet(this, _Canvas_resizePlugins, [], \"f\");\n for (const [, plugin] of this.container.plugins) {\n if (plugin.resize) {\n __classPrivateFieldGet(this, _Canvas_resizePlugins, \"f\").push(plugin);\n }\n if (plugin.particleFillColor || plugin.particleStrokeColor) {\n __classPrivateFieldGet(this, _Canvas_colorPlugins, \"f\").push(plugin);\n }\n }\n }\n initUpdaters() {\n __classPrivateFieldSet(this, _Canvas_preDrawUpdaters, [], \"f\");\n __classPrivateFieldSet(this, _Canvas_postDrawUpdaters, [], \"f\");\n for (const updater of this.container.particles.updaters) {\n if (updater.afterDraw) {\n __classPrivateFieldGet(this, _Canvas_postDrawUpdaters, \"f\").push(updater);\n }\n if (updater.getColorStyles || updater.getTransformValues || updater.beforeDraw) {\n __classPrivateFieldGet(this, _Canvas_preDrawUpdaters, \"f\").push(updater);\n }\n }\n }\n loadCanvas(canvas) {\n var _a;\n if (this.generatedCanvas) {\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();\n }\n this.generatedCanvas =\n canvas.dataset && generatedAttribute in canvas.dataset\n ? canvas.dataset[generatedAttribute] === \"true\"\n : this.generatedCanvas;\n this.element = canvas;\n this.originalStyle = deepExtend({}, this.element.style);\n this.size.height = canvas.offsetHeight;\n this.size.width = canvas.offsetWidth;\n __classPrivateFieldSet(this, _Canvas_context, this.element.getContext(\"2d\"), \"f\");\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 __classPrivateFieldGet(this, _Canvas_postDrawUpdaters, \"f\")) {\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 __classPrivateFieldGet(this, _Canvas_preDrawUpdaters, \"f\")) {\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 var _a;\n for (const plugin of __classPrivateFieldGet(this, _Canvas_resizePlugins, \"f\")) {\n (_a = plugin.resize) === null || _a === void 0 ? void 0 : _a.call(plugin);\n }\n }\n getPluginParticleColors(particle) {\n let fColor, sColor;\n for (const plugin of __classPrivateFieldGet(this, _Canvas_colorPlugins, \"f\")) {\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 (options.fullScreen.enable) {\n this.originalStyle = deepExtend({}, element.style);\n element.style.setProperty(\"position\", \"fixed\", \"important\");\n element.style.setProperty(\"z-index\", options.fullScreen.zIndex.toString(10), \"important\");\n element.style.setProperty(\"top\", \"0\", \"important\");\n element.style.setProperty(\"left\", \"0\", \"important\");\n element.style.setProperty(\"width\", \"100%\", \"important\");\n element.style.setProperty(\"height\", \"100%\", \"important\");\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 initTrail() {\n const options = this.container.actualOptions, trail = options.particles.move.trail, fillColor = rangeColorToRgb(trail.fillColor);\n if (fillColor) {\n const trail = options.particles.move.trail;\n this.trailFillColor = {\n r: fillColor.r,\n g: fillColor.g,\n b: fillColor.b,\n a: 1 / trail.length,\n };\n }\n }\n paintBase(baseColor) {\n this.draw((ctx) => {\n paintBase(ctx, this.size, baseColor);\n });\n }\n resetOriginalStyle() {\n const element = this.element, originalStyle = this.originalStyle;\n if (element && originalStyle) {\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 }\n}\n_Canvas_colorPlugins = new WeakMap(), _Canvas_context = new WeakMap(), _Canvas_postDrawUpdaters = new WeakMap(), _Canvas_preDrawUpdaters = new WeakMap(), _Canvas_resizePlugins = new WeakMap();\n","import { mouseDownEvent, mouseLeaveEvent, mouseMoveEvent, mouseOutEvent, mouseUpEvent, resizeEvent, touchCancelEvent, touchEndEvent, touchMoveEvent, touchStartEvent, visibilityChangeEvent, } from \"./Constants\";\nimport { isSsr } from \"../../Utils/Utils\";\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.mouseMoveHandler = (e) => this.mouseTouchMove(e);\n this.touchStartHandler = (e) => this.mouseTouchMove(e);\n this.touchMoveHandler = (e) => this.mouseTouchMove(e);\n this.touchEndHandler = () => this.mouseTouchFinish();\n this.mouseLeaveHandler = () => this.mouseTouchFinish();\n this.touchCancelHandler = () => this.mouseTouchFinish();\n this.touchEndClickHandler = (e) => this.mouseTouchClick(e);\n this.mouseUpHandler = (e) => this.mouseTouchClick(e);\n this.mouseDownHandler = () => this.mouseDown();\n this.visibilityChangeHandler = () => this.handleVisibilityChange();\n this.themeChangeHandler = (e) => this.handleThemeChange(e);\n this.oldThemeChangeHandler = (e) => this.handleThemeChange(e);\n this.resizeHandler = () => this.handleWindowResize();\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 mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n container.interactivity.mouse.clickPosition = {\n x: mousePos.x,\n y: mousePos.y,\n };\n container.interactivity.mouse.clickTime = new Date().getTime();\n const onClick = options.interactivity.events.onClick;\n if (onClick.mode instanceof Array) {\n for (const mode of onClick.mode) {\n this.handleClickMode(mode);\n }\n }\n else {\n this.handleClickMode(onClick.mode);\n }\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, themeName = mediaEvent.matches\n ? this.container.options.defaultDarkTheme\n : this.container.options.defaultLightTheme, theme = this.container.options.themes.find((theme) => theme.name === themeName);\n if (theme && theme.default.auto) {\n this.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(); }, 500);\n }\n manageListeners(add) {\n var _a;\n const 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 = !isSsr() && typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-color-scheme: dark)\");\n if (mediaMatch) {\n if (mediaMatch.addEventListener !== undefined) {\n manageListener(mediaMatch, \"change\", this.themeChangeHandler, add);\n }\n else if (mediaMatch.addListener !== undefined) {\n if (add) {\n mediaMatch.addListener(this.oldThemeChangeHandler);\n }\n else {\n mediaMatch.removeListener(this.oldThemeChangeHandler);\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, this.mouseMoveHandler, add);\n manageListener(interactivityEl, touchStartEvent, this.touchStartHandler, add);\n manageListener(interactivityEl, touchMoveEvent, this.touchMoveHandler, add);\n if (!options.interactivity.events.onClick.enable) {\n manageListener(interactivityEl, touchEndEvent, this.touchEndHandler, add);\n }\n else {\n manageListener(interactivityEl, touchEndEvent, this.touchEndClickHandler, add);\n manageListener(interactivityEl, mouseUpEvent, this.mouseUpHandler, add);\n manageListener(interactivityEl, mouseDownEvent, this.mouseDownHandler, add);\n }\n manageListener(interactivityEl, mouseLeaveTmpEvent, this.mouseLeaveHandler, add);\n manageListener(interactivityEl, touchCancelEvent, this.touchCancelHandler, 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, this.resizeHandler, add);\n }\n }\n if (document) {\n manageListener(document, visibilityChangeEvent, this.visibilityChangeHandler, 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;\n const target = mouseEvent.currentTarget;\n const canvasEl = container.canvas.element;\n if (source && target && canvasEl) {\n const sourceRect = source.getBoundingClientRect();\n const targetRect = target.getBoundingClientRect();\n const 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 {\n 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 }\n else {\n this.canPush = e.type !== \"touchmove\";\n const touchEvent = e;\n const lastTouch = touchEvent.touches[touchEvent.touches.length - 1];\n const 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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Modes_container, _Modes_engine;\nimport { Slow } from \"./Slow\";\nexport class Modes {\n constructor(engine, container) {\n _Modes_container.set(this, void 0);\n _Modes_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Modes_engine, engine, \"f\");\n __classPrivateFieldSet(this, _Modes_container, container, \"f\");\n this.slow = new Slow();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.slow.load(data.slow);\n if (__classPrivateFieldGet(this, _Modes_container, \"f\")) {\n const interactors = __classPrivateFieldGet(this, _Modes_engine, \"f\").plugins.interactors.get(__classPrivateFieldGet(this, _Modes_container, \"f\"));\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_Modes_container = new WeakMap(), _Modes_engine = new WeakMap();\n","export 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.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 deltaValue = timestamp - container.lastFrameTime, delta = {\n value: deltaValue,\n factor: (60 * deltaValue) / 1000,\n };\n container.lifeTime += delta.value;\n container.lastFrameTime = timestamp;\n if (deltaValue > 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","export 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 this.selectors instanceof Array\n ? this.selectors.map((t) => t.replace(\"#\", \"\"))\n : this.selectors.replace(\"#\", \"\");\n }\n set ids(value) {\n this.selectors = value instanceof Array ? value.map((t) => `#${t}`) : `#${value}`;\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","import { ClickEvent } from \"./ClickEvent\";\nimport { DivEvent } from \"./DivEvent\";\nimport { HoverEvent } from \"./HoverEvent\";\nexport class Events {\n constructor() {\n this.onClick = new ClickEvent();\n this.onDiv = new DivEvent();\n this.onHover = new HoverEvent();\n this.resize = true;\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 if (onDiv instanceof Array) {\n this.onDiv = onDiv.map((div) => {\n const tmp = new DivEvent();\n tmp.load(div);\n return tmp;\n });\n }\n else {\n this.onDiv = new DivEvent();\n this.onDiv.load(onDiv);\n }\n }\n this.onHover.load((_c = data.onHover) !== null && _c !== void 0 ? _c : data.onhover);\n if (data.resize !== undefined) {\n this.resize = data.resize;\n }\n }\n}\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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar _Interactivity_container, _Interactivity_engine;\nimport { Events } from \"./Events/Events\";\nimport { Modes } from \"./Modes/Modes\";\nexport class Interactivity {\n constructor(engine, container) {\n _Interactivity_container.set(this, void 0);\n _Interactivity_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Interactivity_engine, engine, \"f\");\n __classPrivateFieldSet(this, _Interactivity_container, container, \"f\");\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_Interactivity_container = new WeakMap(), _Interactivity_engine = new WeakMap();\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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _ParticlesOptions_container, _ParticlesOptions_engine;\nimport { AnimatableColor } from \"../AnimatableColor\";\nimport { Collisions } from \"./Collisions/Collisions\";\nimport { Destroy } from \"./Destroy/Destroy\";\nimport { Move } from \"./Move/Move\";\nimport { Opacity } from \"./Opacity/Opacity\";\nimport { ParticlesBounce } from \"./Bounce/ParticlesBounce\";\nimport { ParticlesNumber } from \"./Number/ParticlesNumber\";\nimport { Rotate } from \"./Rotate/Rotate\";\nimport { Shadow } from \"./Shadow\";\nimport { Shape } from \"./Shape/Shape\";\nimport { Size } from \"./Size/Size\";\nimport { Stroke } from \"./Stroke\";\nimport { ZIndex } from \"./ZIndex/ZIndex\";\nimport { deepExtend } from \"../../../Utils/Utils\";\nexport class ParticlesOptions {\n constructor(engine, container) {\n _ParticlesOptions_container.set(this, void 0);\n _ParticlesOptions_engine.set(this, void 0);\n __classPrivateFieldSet(this, _ParticlesOptions_engine, engine, \"f\");\n __classPrivateFieldSet(this, _ParticlesOptions_container, container, \"f\");\n this.bounce = new ParticlesBounce();\n this.collisions = new Collisions();\n this.color = new AnimatableColor();\n this.color.value = \"#fff\";\n this.destroy = new Destroy();\n this.groups = {};\n this.move = new Move();\n this.number = new ParticlesNumber();\n this.opacity = new Opacity();\n this.reduceDuplicates = false;\n this.rotate = new Rotate();\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 this.destroy.load(data.destroy);\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.rotate.load(data.rotate);\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 if (strokeToLoad instanceof Array) {\n this.stroke = strokeToLoad.map((s) => {\n const tmp = new Stroke();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.stroke instanceof Array) {\n this.stroke = new Stroke();\n }\n this.stroke.load(strokeToLoad);\n }\n }\n if (__classPrivateFieldGet(this, _ParticlesOptions_container, \"f\")) {\n const updaters = __classPrivateFieldGet(this, _ParticlesOptions_engine, \"f\").plugins.updaters.get(__classPrivateFieldGet(this, _ParticlesOptions_container, \"f\"));\n if (updaters) {\n for (const updater of updaters) {\n if (updater.loadOptions) {\n updater.loadOptions(this, data);\n }\n }\n }\n const interactors = __classPrivateFieldGet(this, _ParticlesOptions_engine, \"f\").plugins.interactors.get(__classPrivateFieldGet(this, _ParticlesOptions_container, \"f\"));\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_ParticlesOptions_container = new WeakMap(), _ParticlesOptions_engine = new WeakMap();\n","export class MotionReduce {\n constructor() {\n this.factor = 4;\n this.value = true;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n","import { MotionReduce } from \"./MotionReduce\";\nexport class Motion {\n constructor() {\n this.disable = false;\n this.reduce = new MotionReduce();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.disable !== undefined) {\n this.disable = data.disable;\n }\n this.reduce.load(data.reduce);\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 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 { CollisionsOverlap } from \"./CollisionsOverlap\";\nimport { ParticlesBounce } from \"../Bounce/ParticlesBounce\";\nexport class Collisions {\n constructor() {\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.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 { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class SplitFactor extends ValueWithRandom {\n constructor() {\n super();\n this.value = 3;\n }\n}\n","import { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class SplitRate extends ValueWithRandom {\n constructor() {\n super();\n this.value = { min: 4, max: 9 };\n }\n}\n","import { SplitFactor } from \"./SplitFactor\";\nimport { SplitRate } from \"./SplitRate\";\nimport { deepExtend } from \"../../../../Utils/Utils\";\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 if (data.particles !== undefined) {\n if (data.particles instanceof Array) {\n this.particles = data.particles.map((s) => {\n return deepExtend({}, s);\n });\n }\n else {\n this.particles = deepExtend({}, data.particles);\n }\n }\n if (data.sizeOffset !== undefined) {\n this.sizeOffset = data.sizeOffset;\n }\n }\n}\n","import { Split } from \"./Split\";\nexport class Destroy {\n constructor() {\n this.mode = \"none\";\n this.split = new Split();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n this.split.load(data.split);\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","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\";\nexport class MovePathDelay extends ValueWithRandom {\n constructor() {\n super();\n }\n}\n","import { MovePathDelay } from \"./MovePathDelay\";\nimport { deepExtend } from \"../../../../../Utils/Utils\";\nexport class MovePath {\n constructor() {\n this.clamp = true;\n this.delay = new MovePathDelay();\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 MoveTrail {\n constructor() {\n this.enable = false;\n this.length = 10;\n this.fillColor = new OptionsColor();\n this.fillColor.value = \"#000000\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.fillColor = OptionsColor.create(this.fillColor, data.fillColor);\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 { MoveGravity } from \"./MoveGravity\";\nimport { MovePath } from \"./Path/MovePath\";\nimport { MoveTrail } from \"./MoveTrail\";\nimport { OutModes } from \"./OutModes\";\nimport { Spin } from \"./Spin\";\nimport { deepExtend } from \"../../../../Utils/Utils\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Move {\n constructor() {\n this.angle = new MoveAngle();\n this.attract = new MoveAttract();\n this.center = {\n x: 50,\n y: 50,\n radius: 0,\n };\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(value) {\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 if (data.angle !== undefined) {\n if (typeof data.angle === \"number\") {\n this.angle.value = data.angle;\n }\n else {\n this.angle.load(data.angle);\n }\n }\n this.attract.load(data.attract);\n this.center = deepExtend(this.center, data.center);\n if (data.decay !== undefined) {\n this.decay = 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 : deepExtend({}, 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 outMode = (_a = data.outMode) !== null && _a !== void 0 ? _a : data.out_mode;\n if (data.outModes !== undefined || outMode !== undefined) {\n if (typeof data.outModes === \"string\" || (data.outModes === undefined && outMode !== undefined)) {\n this.outModes.load({\n default: (_b = data.outModes) !== null && _b !== void 0 ? _b : outMode,\n });\n }\n else {\n this.outModes.load(data.outModes);\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.area = 800;\n this.factor = 1000;\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;\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n const area = (_a = data.area) !== null && _a !== void 0 ? _a : data.value_area;\n if (area !== undefined) {\n this.area = area;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\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 { setRangeValue } from \"../../../../Utils/NumberUtils\";\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 { RotateAnimation } from \"./RotateAnimation\";\nimport { ValueWithRandom } from \"../../ValueWithRandom\";\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 { 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\";\nexport class Shape {\n constructor() {\n this.options = {};\n this.type = \"circle\";\n }\n get character() {\n var _a;\n return ((_a = this.options[\"character\"]) !== null && _a !== void 0 ? _a : this.options[\"char\"]);\n }\n set character(value) {\n this.options[\"character\"] = value;\n this.options[\"char\"] = 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[\"image\"]) !== null && _a !== void 0 ? _a : this.options[\"images\"]);\n }\n set image(value) {\n this.options[\"image\"] = value;\n this.options[\"images\"] = 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[\"polygon\"]) !== null && _a !== void 0 ? _a : this.options[\"star\"]);\n }\n set polygon(value) {\n this.options[\"polygon\"] = value;\n this.options[\"star\"] = 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, \"character\", \"char\", true);\n this.loadShape(data.polygon, \"polygon\", \"star\", false);\n this.loadShape((_c = data.image) !== null && _c !== void 0 ? _c : data.images, \"image\", \"images\", 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 emptyValue = item instanceof Array ? [] : {}, mainDifferentValues = item instanceof Array !== this.options[mainKey] instanceof Array, altDifferentValues = item instanceof Array !== 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\";\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 = data.width;\n }\n if (data.opacity !== undefined) {\n this.opacity = 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 { 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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Options_instances, _Options_container, _Options_engine, _Options_findDefaultTheme;\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 { Motion } from \"./Motion/Motion\";\nimport { Responsive } from \"./Responsive\";\nimport { Theme } from \"./Theme/Theme\";\nimport { deepExtend } from \"../../Utils/Utils\";\nimport { loadParticlesOptions } from \"../../Utils/OptionsUtils\";\nexport class Options {\n constructor(engine, container) {\n _Options_instances.add(this);\n _Options_container.set(this, void 0);\n _Options_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Options_engine, engine, \"f\");\n __classPrivateFieldSet(this, _Options_container, container, \"f\");\n this.autoPlay = true;\n this.background = new Background();\n this.backgroundMask = new BackgroundMask();\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.motion = new Motion();\n this.particles = loadParticlesOptions(__classPrivateFieldGet(this, _Options_engine, \"f\"), __classPrivateFieldGet(this, _Options_container, \"f\"));\n this.pauseOnBlur = true;\n this.pauseOnOutsideViewport = true;\n this.responsive = [];\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 if (data.preset instanceof Array) {\n for (const preset of data.preset) {\n this.importPreset(preset);\n }\n }\n else {\n this.importPreset(data.preset);\n }\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\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 = 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.motion.load(data.motion);\n this.particles.load(data.particles);\n this.style = deepExtend(this.style, data.style);\n __classPrivateFieldGet(this, _Options_engine, \"f\").plugins.loadOptions(this, data);\n const interactors = __classPrivateFieldGet(this, _Options_engine, \"f\").plugins.interactors.get(__classPrivateFieldGet(this, _Options_container, \"f\"));\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 optTheme = new Theme();\n optTheme.load(theme);\n this.themes.push(optTheme);\n }\n }\n this.defaultDarkTheme = (_d = __classPrivateFieldGet(this, _Options_instances, \"m\", _Options_findDefaultTheme).call(this, \"dark\")) === null || _d === void 0 ? void 0 : _d.name;\n this.defaultLightTheme = (_e = __classPrivateFieldGet(this, _Options_instances, \"m\", _Options_findDefaultTheme).call(this, \"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 = typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-color-scheme: dark)\"), clientDarkMode = mediaMatch && mediaMatch.matches, defaultTheme = __classPrivateFieldGet(this, _Options_instances, \"m\", _Options_findDefaultTheme).call(this, clientDarkMode ? \"dark\" : \"light\");\n if (defaultTheme) {\n this.load(defaultTheme.options);\n }\n }\n }\n importPreset(preset) {\n this.load(__classPrivateFieldGet(this, _Options_engine, \"f\").plugins.getPreset(preset));\n }\n}\n_Options_container = new WeakMap(), _Options_engine = new WeakMap(), _Options_instances = new WeakSet(), _Options_findDefaultTheme = function _Options_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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _InteractionManager_engine, _InteractionManager_interactors;\nexport class InteractionManager {\n constructor(engine, container) {\n this.container = container;\n _InteractionManager_engine.set(this, void 0);\n _InteractionManager_interactors.set(this, void 0);\n __classPrivateFieldSet(this, _InteractionManager_engine, engine, \"f\");\n __classPrivateFieldSet(this, _InteractionManager_interactors, __classPrivateFieldGet(this, _InteractionManager_engine, \"f\").plugins.getInteractors(this.container, true), \"f\");\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 __classPrivateFieldGet(this, _InteractionManager_interactors, \"f\")) {\n switch (interactor.type) {\n case 0:\n this.externalInteractors.push(interactor);\n break;\n case 1:\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);\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_InteractionManager_engine = new WeakMap(), _InteractionManager_interactors = new WeakMap();\n","import { Vector } from \"./Vector\";\nexport class Vector3d extends Vector {\n constructor(xOrCoords, y, z) {\n super(xOrCoords, y);\n if (typeof xOrCoords !== \"number\" && xOrCoords) {\n this.z = xOrCoords.z;\n }\n else if (z !== undefined) {\n this.z = z;\n }\n else {\n throw new Error(\"tsParticles - Vector not initialized correctly\");\n }\n }\n static get origin() {\n return Vector3d.create(0, 0, 0);\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 v instanceof Vector3d ? Vector3d.create(this.x + v.x, this.y + v.y, this.z + v.z) : super.add(v);\n }\n addTo(v) {\n super.addTo(v);\n if (v instanceof Vector3d) {\n this.z += v.z;\n }\n }\n copy() {\n return Vector3d.clone(this);\n }\n div(n) {\n return Vector3d.create(this.x / n, this.y / n, this.z / n);\n }\n divTo(n) {\n super.divTo(n);\n this.z /= n;\n }\n mult(n) {\n return Vector3d.create(this.x * n, this.y * n, this.z * n);\n }\n multTo(n) {\n super.multTo(n);\n this.z *= n;\n }\n setTo(v) {\n super.setTo(v);\n const v3d = v;\n if (v3d.z !== undefined) {\n this.z = v3d.z;\n }\n }\n sub(v) {\n return v instanceof Vector3d ? Vector3d.create(this.x - v.x, this.y - v.y, this.z - v.z) : super.sub(v);\n }\n subFrom(v) {\n super.subFrom(v);\n if (v instanceof Vector3d) {\n this.z -= v.z;\n }\n }\n}\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Particle_engine;\nimport { calcExactPositionOrRandomFromSize, clamp, getDistance, getParticleBaseVelocity, getParticleDirectionAngle, getRandom, getRangeMax, getRangeMin, getRangeValue, getValue, randomInRange, setRangeValue, } from \"../Utils/NumberUtils\";\nimport { deepExtend, isInArray, itemFromArray } from \"../Utils/Utils\";\nimport { getHslFromAnimation, rangeColorToRgb } from \"../Utils/ColorUtils\";\nimport { Interactivity } from \"../Options/Classes/Interactivity/Interactivity\";\nimport { Shape } from \"../Options/Classes/Particles/Shape/Shape\";\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) || 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 var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n this.id = id;\n this.container = container;\n this.group = group;\n _Particle_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Particle_engine, engine, \"f\");\n this.fill = true;\n this.close = true;\n this.lastPathTime = 0;\n this.destroyed = false;\n this.unbreakable = false;\n this.splitCount = 0;\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(__classPrivateFieldGet(this, _Particle_engine, \"f\"), container, mainOptions.particles);\n const shapeType = particlesOptions.shape.type, reduceDuplicates = particlesOptions.reduceDuplicates;\n this.shape = shapeType instanceof Array ? itemFromArray(shapeType, this.id, reduceDuplicates) : shapeType;\n if (overrideOptions === null || overrideOptions === void 0 ? void 0 : overrideOptions.shape) {\n if (overrideOptions.shape.type) {\n const overrideShapeType = overrideOptions.shape.type;\n this.shape =\n overrideShapeType instanceof Array\n ? itemFromArray(overrideShapeType, this.id, reduceDuplicates)\n : overrideShapeType;\n }\n const shapeOptions = new Shape();\n shapeOptions.load(overrideOptions.shape);\n if (this.shape) {\n this.shapeData = this.loadShapeData(shapeOptions, reduceDuplicates);\n }\n }\n else {\n this.shapeData = this.loadShapeData(particlesOptions.shape, reduceDuplicates);\n }\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 = __classPrivateFieldGet(this, _Particle_engine, \"f\").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 = 0;\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 = 0;\n break;\n case \"random\":\n this.size.value = randomInRange(this.size) * pxRatio;\n this.size.status = getRandom() >= 0.5 ? 0 : 1;\n break;\n case \"max\":\n default:\n this.size.value = this.size.max;\n this.size.status = 1;\n break;\n }\n this.size.velocity =\n (((_f = this.retina.sizeAnimationSpeed) !== null && _f !== void 0 ? _f : container.retina.sizeAnimationSpeed) / 100) *\n container.retina.reduceFactor;\n if (!sizeAnimation.sync) {\n this.size.velocity *= getRandom();\n }\n }\n this.bubble = {\n inRange: false,\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, moveCenterPerc = this.options.move.center;\n this.moveCenter = {\n x: (canvasSize.width * moveCenterPerc.x) / 100,\n y: (canvasSize.height * moveCenterPerc.y) / 100,\n radius: this.options.move.center.radius,\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 = __classPrivateFieldGet(this, _Particle_engine, \"f\").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 (_g = updater.init) === null || _g === void 0 ? void 0 : _g.call(updater, 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 destroy(override) {\n if (this.unbreakable || this.destroyed) {\n return;\n }\n this.destroyed = true;\n this.bubble.inRange = false;\n for (const [, plugin] of this.container.plugins) {\n if (plugin.particleDestroyed) {\n plugin.particleDestroyed(this, override);\n }\n }\n if (override) {\n return;\n }\n const destroyOptions = this.options.destroy;\n if (destroyOptions.mode === \"split\") {\n this.split();\n }\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, _b;\n const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.color);\n if (color && this.roll && (this.backColor || this.roll.alter)) {\n const backFactor = this.roll.horizontal && this.roll.vertical ? 2 : 1, backSum = this.roll.horizontal ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;\n if (rolled) {\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 }\n }\n return 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, _b;\n return (_b = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.strokeColor)) !== null && _b !== void 0 ? _b : this.getFillColor();\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 if (this.opacity) {\n this.opacity.loops = 0;\n }\n this.size.loops = 0;\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);\n const res = baseVelocity.copy();\n const 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);\n const radOffset = (Math.PI / 180) * getRangeValue(moveOptions.angle.offset);\n const 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 loadShapeData(shapeOptions, reduceDuplicates) {\n const shapeData = shapeOptions.options[this.shape];\n if (shapeData) {\n return deepExtend({}, shapeData instanceof Array ? itemFromArray(shapeData, this.id, reduceDuplicates) : shapeData);\n }\n }\n split() {\n const splitOptions = this.options.destroy.split;\n if (splitOptions.count >= 0 && this.splitCount++ > splitOptions.count) {\n return;\n }\n const rate = getValue(splitOptions.rate), particlesSplitOptions = splitOptions.particles instanceof Array\n ? itemFromArray(splitOptions.particles)\n : splitOptions.particles;\n for (let i = 0; i < rate; i++) {\n this.container.particles.addSplitParticle(this, particlesSplitOptions);\n }\n }\n}\n_Particle_engine = new WeakMap();\n","export class Point {\n constructor(position, particle) {\n this.position = position;\n this.particle = particle;\n }\n}\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Particles_engine;\nimport { calcPositionFromSize, getRandom, getRangeMax, getRangeMin, getValue, randomInRange, setRangeValue, } from \"../Utils/NumberUtils\";\nimport { InteractionManager } from \"./Utils/InteractionManager\";\nimport { Particle } from \"./Particle\";\nimport { Point } from \"./Utils/Point\";\nimport { QuadTree } from \"./Utils/QuadTree\";\nimport { Rectangle } from \"./Utils/Rectangle\";\nimport { loadParticlesOptions } from \"../Utils/OptionsUtils\";\nexport class Particles {\n constructor(engine, container) {\n this.container = container;\n _Particles_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Particles_engine, engine, \"f\");\n this.nextId = 0;\n this.array = [];\n this.zArray = [];\n this.limit = 0;\n this.needsSort = false;\n this.lastZIndex = 0;\n this.freqs = {\n links: new Map(),\n triangles: new Map(),\n };\n this.interactionManager = new InteractionManager(__classPrivateFieldGet(this, _Particles_engine, \"f\"), 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 = __classPrivateFieldGet(this, _Particles_engine, \"f\").plugins.getMovers(container, true);\n this.updaters = __classPrivateFieldGet(this, _Particles_engine, \"f\").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) {\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);\n }\n addSplitParticle(parent, splitParticlesOptions) {\n const splitOptions = parent.options.destroy.split, options = loadParticlesOptions(__classPrivateFieldGet(this, _Particles_engine, \"f\"), this.container, parent.options), factor = getValue(splitOptions.factor);\n options.color.load({\n value: {\n hsl: parent.getFillColor(),\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.pushParticle(position, options, parent.group, (particle) => {\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 = parent.splitCount + 1;\n particle.unbreakable = true;\n setTimeout(() => {\n particle.unbreakable = false;\n }, 500);\n return true;\n });\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 getLinkFrequency(p1, p2) {\n const range = setRangeValue(p1.id, p2.id), key = `${getRangeMin(range)}_${getRangeMax(range)}`;\n let res = this.freqs.links.get(key);\n if (res === undefined) {\n res = getRandom();\n this.freqs.links.set(key, res);\n }\n return res;\n }\n getTriangleFrequency(p1, p2, p3) {\n let [id1, id2, id3] = [p1.id, p2.id, p3.id];\n if (id1 > id2) {\n [id2, id1] = [id1, id2];\n }\n if (id2 > id3) {\n [id3, id2] = [id2, id3];\n }\n if (id1 > id3) {\n [id3, id1] = [id1, id3];\n }\n const key = `${id1}_${id2}_${id3}`;\n let res = this.freqs.triangles.get(key);\n if (res === undefined) {\n res = getRandom();\n this.freqs.triangles.set(key, res);\n }\n return res;\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 this.freqs.links = new Map();\n this.freqs.triangles = new Map();\n let handled = false;\n this.updaters = __classPrivateFieldGet(this, _Particles_engine, \"f\").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 deleted++;\n __classPrivateFieldGet(this, _Particles_engine, \"f\").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 }\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 container.particles.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 const particle = new Particle(__classPrivateFieldGet(this, _Particles_engine, \"f\"), this.nextId, this.container, position, overrideOptions, group);\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 __classPrivateFieldGet(this, _Particles_engine, \"f\").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_Particles_engine = new WeakMap();\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, xDist = Math.abs(pos2.x - pos1.x), yDist = Math.abs(pos2.y - pos1.y), r = this.radius;\n if (circle.radius !== undefined) {\n const rSum = r + circle.radius, dist = Math.sqrt(xDist * xDist + yDist + yDist);\n return rSum > dist;\n }\n else if (rect.size !== undefined) {\n const w = rect.size.width, h = rect.size.height, edges = Math.pow(xDist - w, 2) + Math.pow(yDist - h, 2);\n if (xDist > r + w || yDist > r + h) {\n return false;\n }\n if (xDist <= w || yDist <= h) {\n return true;\n }\n return edges <= r * r;\n }\n return false;\n }\n}\n","import { 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 const rect = range, circle = range, w = this.size.width, h = this.size.height, pos1 = this.position, pos2 = range.position;\n if (circle.radius !== undefined) {\n return circle.intersects(this);\n }\n if (!rect.size) {\n return false;\n }\n const size2 = rect.size, 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\";\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 { Circle } from \"./Circle\";\nimport { CircleWarp } from \"./CircleWarp\";\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.northEast) === null || _a === void 0 ? void 0 : _a.insert(point)) ||\n ((_b = this.northWest) === null || _b === void 0 ? void 0 : _b.insert(point)) ||\n ((_c = this.southEast) === null || _c === void 0 ? void 0 : _c.insert(point)) ||\n ((_d = this.southWest) === 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.northEast) === null || _a === void 0 ? void 0 : _a.query(range, check, res);\n (_b = this.northWest) === null || _b === void 0 ? void 0 : _b.query(range, check, res);\n (_c = this.southEast) === null || _c === void 0 ? void 0 : _c.query(range, check, res);\n (_d = this.southWest) === 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 queryCircleWarp(position, radius, containerOrSize, check) {\n const container = containerOrSize, size = containerOrSize;\n return this.query(new CircleWarp(position.x, position.y, radius, container.canvas !== undefined ? container.canvas.size : size), 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.northEast = new QuadTree(new Rectangle(x, y, w / 2, h / 2), capacity);\n this.northWest = new QuadTree(new Rectangle(x + w / 2, y, w / 2, h / 2), capacity);\n this.southEast = new QuadTree(new Rectangle(x, y + h / 2, w / 2, h / 2), capacity);\n this.southWest = new QuadTree(new Rectangle(x + w / 2, y + h / 2, w / 2, h / 2), capacity);\n this.divided = true;\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 const motionOptions = this.container.actualOptions.motion;\n if (motionOptions && (motionOptions.disable || motionOptions.reduce.value)) {\n if (isSsr() || typeof matchMedia === \"undefined\" || !matchMedia) {\n this.reduceFactor = 1;\n }\n else {\n const mediaQuery = matchMedia(\"(prefers-reduced-motion: reduce)\");\n if (mediaQuery) {\n this.handleMotionChange(mediaQuery);\n const handleChange = () => {\n this.handleMotionChange(mediaQuery);\n container.refresh().catch(() => {\n });\n };\n if (mediaQuery.addEventListener !== undefined) {\n mediaQuery.addEventListener(\"change\", handleChange);\n }\n else if (mediaQuery.addListener !== undefined) {\n mediaQuery.addListener(handleChange);\n }\n }\n }\n }\n else {\n this.reduceFactor = 1;\n }\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 const modes = options.interactivity.modes;\n this.slowModeRadius = modes.slow.radius * 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 handleMotionChange(mediaQuery) {\n const options = this.container.actualOptions;\n if (mediaQuery.matches) {\n const motion = options.motion;\n this.reduceFactor = motion.disable ? 0 : motion.reduce.value ? 1 / motion.reduce.factor : 1;\n }\n else {\n this.reduceFactor = 1;\n }\n }\n}\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Container_engine, _Container_eventListeners, _Container_intersectionObserver, _Container_options, _Container_sourceOptions;\nimport { 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 !== undefined && !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};\nexport class Container {\n constructor(engine, id, sourceOptions) {\n this.id = id;\n _Container_engine.set(this, void 0);\n _Container_eventListeners.set(this, void 0);\n _Container_intersectionObserver.set(this, void 0);\n _Container_options.set(this, void 0);\n _Container_sourceOptions.set(this, void 0);\n __classPrivateFieldSet(this, _Container_engine, engine, \"f\");\n this.fpsLimit = 120;\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 __classPrivateFieldSet(this, _Container_sourceOptions, sourceOptions, \"f\");\n this._initialSourceOptions = sourceOptions;\n this.retina = new Retina(this);\n this.canvas = new Canvas(this);\n this.particles = new Particles(__classPrivateFieldGet(this, _Container_engine, \"f\"), 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 __classPrivateFieldSet(this, _Container_options, loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"), this), \"f\");\n this.actualOptions = loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"), this);\n __classPrivateFieldSet(this, _Container_eventListeners, new EventListeners(this), \"f\");\n if (typeof IntersectionObserver !== \"undefined\" && IntersectionObserver) {\n __classPrivateFieldSet(this, _Container_intersectionObserver, new IntersectionObserver((entries) => this.intersectionManager(entries)), \"f\");\n }\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerBuilt\", { container: this });\n }\n get options() {\n return __classPrivateFieldGet(this, _Container_options, \"f\");\n }\n get sourceOptions() {\n return __classPrivateFieldGet(this, _Container_sourceOptions, \"f\");\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 var _a, _b, _c;\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 canvasRect = (_a = this.canvas.element) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect(), pos = {\n x: lastTouch.clientX - ((_b = canvasRect === null || canvasRect === void 0 ? void 0 : canvasRect.left) !== null && _b !== void 0 ? _b : 0),\n y: lastTouch.clientY - ((_c = canvasRect === null || canvasRect === void 0 ? void 0 : canvasRect.top) !== null && _c !== void 0 ? _c : 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;\n let 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 __classPrivateFieldGet(this, _Container_engine, \"f\").plugins.destroy(this);\n this.destroyed = true;\n const mainArr = __classPrivateFieldGet(this, _Container_engine, \"f\").dom(), idx = mainArr.findIndex((t) => t === this);\n if (idx >= 0) {\n mainArr.splice(idx, 1);\n }\n __classPrivateFieldGet(this, _Container_engine, \"f\").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, undefined, 2);\n }\n exportImage(callback, type, quality) {\n var _a;\n return (_a = this.canvas.element) === null || _a === void 0 ? void 0 : _a.toBlob(callback, type !== null && type !== void 0 ? type : \"image/png\", quality);\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 = __classPrivateFieldGet(this, _Container_engine, \"f\").plugins.getSupportedShapes();\n for (const type of shapes) {\n const drawer = __classPrivateFieldGet(this, _Container_engine, \"f\").plugins.getShapeDrawer(type);\n if (drawer) {\n this.drawers.set(type, drawer);\n }\n }\n __classPrivateFieldSet(this, _Container_options, loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"), this, this._initialSourceOptions, this.sourceOptions), \"f\");\n this.actualOptions = loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"), this, __classPrivateFieldGet(this, _Container_options, \"f\"));\n this.retina.init();\n 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);\n this.lifeTime = 0;\n this.fpsLimit = this.actualOptions.fpsLimit > 0 ? this.actualOptions.fpsLimit : 120;\n const availablePlugins = __classPrivateFieldGet(this, _Container_engine, \"f\").plugins.getAvailablePlugins(this);\n for (const [id, plugin] of availablePlugins) {\n this.plugins.set(id, plugin);\n }\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 plugin.init(this.actualOptions);\n }\n else if (plugin.initAsync !== undefined) {\n await plugin.initAsync(this.actualOptions);\n }\n }\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerInit\", { container: this });\n this.particles.init();\n this.particles.setDensity();\n for (const [, plugin] of this.plugins) {\n if (plugin.particlesSetup !== undefined) {\n plugin.particlesSetup();\n }\n }\n __classPrivateFieldGet(this, _Container_engine, \"f\").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 __classPrivateFieldGet(this, _Container_engine, \"f\").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 __classPrivateFieldGet(this, _Container_engine, \"f\").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 __classPrivateFieldSet(this, _Container_options, loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"), this), \"f\");\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 (this.started || !guardCheck(this)) {\n return;\n }\n await this.init();\n this.started = true;\n __classPrivateFieldGet(this, _Container_eventListeners, \"f\").addListeners();\n if (this.interactivity.element instanceof HTMLElement && __classPrivateFieldGet(this, _Container_intersectionObserver, \"f\")) {\n __classPrivateFieldGet(this, _Container_intersectionObserver, \"f\").observe(this.interactivity.element);\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.startAsync !== undefined) {\n await plugin.startAsync();\n }\n else if (plugin.start !== undefined) {\n plugin.start();\n }\n }\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerStarted\", { container: this });\n this.play();\n }\n stop() {\n var _a;\n if (!this.started || !guardCheck(this)) {\n return;\n }\n this.firstStart = true;\n this.started = false;\n __classPrivateFieldGet(this, _Container_eventListeners, \"f\").removeListeners();\n this.pause();\n this.particles.clear();\n this.canvas.clear();\n if (this.interactivity.element instanceof HTMLElement && __classPrivateFieldGet(this, _Container_intersectionObserver, \"f\")) {\n __classPrivateFieldGet(this, _Container_intersectionObserver, \"f\").unobserve(this.interactivity.element);\n }\n for (const [, plugin] of this.plugins) {\n (_a = plugin.stop) === null || _a === void 0 ? void 0 : _a.call(plugin);\n }\n for (const key of this.plugins.keys()) {\n this.plugins.delete(key);\n }\n __classPrivateFieldSet(this, _Container_sourceOptions, __classPrivateFieldGet(this, _Container_options, \"f\"), \"f\");\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerStopped\", { container: this });\n }\n updateActualOptions() {\n this.actualOptions.responsive = [];\n const newMaxWidth = this.actualOptions.setResponsive(this.canvas.size.width, this.retina.pixelRatio, __classPrivateFieldGet(this, _Container_options, \"f\"));\n this.actualOptions.setTheme(this.currentTheme);\n if (this.responsiveMaxWidth != newMaxWidth) {\n this.responsiveMaxWidth = newMaxWidth;\n return true;\n }\n return false;\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_Container_engine = new WeakMap(), _Container_eventListeners = new WeakMap(), _Container_intersectionObserver = new WeakMap(), _Container_options = new WeakMap(), _Container_sourceOptions = new WeakMap();\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Loader_engine;\nimport { Container } from \"./Container\";\nimport { generatedAttribute } from \"./Utils/Constants\";\nimport { getRandom } from \"../Utils/NumberUtils\";\nimport { itemFromArray } from \"../Utils/Utils\";\nfunction fetchError(statusCode) {\n console.error(`tsParticles - Error ${statusCode} while retrieving config file`);\n}\nasync function getDataFromUrl(jsonUrl, index) {\n const url = jsonUrl instanceof Array ? itemFromArray(jsonUrl, index) : jsonUrl;\n if (!url) {\n return;\n }\n const response = await fetch(url);\n if (response.ok) {\n return response.json();\n }\n fetchError(response.status);\n}\nexport class Loader {\n constructor(engine) {\n _Loader_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Loader_engine, engine, \"f\");\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 = options instanceof Array ? itemFromArray(options, index) : options, dom = __classPrivateFieldGet(this, _Loader_engine, \"f\").dom(), oldIndex = dom.findIndex((v) => v.id === tagId);\n if (oldIndex >= 0) {\n const old = __classPrivateFieldGet(this, _Loader_engine, \"f\").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(__classPrivateFieldGet(this, _Loader_engine, \"f\"), 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_Loader_engine = new WeakMap();\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}","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar _Plugins_engine;\nexport class Plugins {\n constructor(engine) {\n _Plugins_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Plugins_engine, engine, \"f\");\n this.plugins = [];\n this.interactorsInitializers = new Map();\n this.moversInitializers = new Map();\n this.updatersInitializers = new Map();\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.interactorsInitializers.set(name, initInteractor);\n }\n addParticleMover(name, initMover) {\n this.moversInitializers.set(name, initMover);\n }\n addParticleUpdater(name, initUpdater) {\n this.updatersInitializers.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(type, drawer) {\n if (!this.getShapeDrawer(type)) {\n this.drawers.set(type, drawer);\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 let res = this.interactors.get(container);\n if (!res || force) {\n res = [...this.interactorsInitializers.values()].map((t) => t(container));\n this.interactors.set(container, res);\n }\n return res;\n }\n getMovers(container, force = false) {\n let res = this.movers.get(container);\n if (!res || force) {\n res = [...this.moversInitializers.values()].map((t) => t(container));\n this.movers.set(container, res);\n }\n return res;\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 let res = this.updaters.get(container);\n if (!res || force) {\n res = [...this.updatersInitializers.values()].map((t) => t(container));\n this.updaters.set(container, res);\n }\n return res;\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_Plugins_engine = new WeakMap();\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Engine_domArray, _Engine_eventDispatcher, _Engine_initialized, _Engine_loader;\nimport { EventDispatcher } from \"./Utils/EventDispatcher\";\nimport { Loader } from \"./Core/Loader\";\nimport { Plugins } from \"./Core/Utils/Plugins\";\nexport class Engine {\n constructor() {\n _Engine_domArray.set(this, void 0);\n _Engine_eventDispatcher.set(this, void 0);\n _Engine_initialized.set(this, void 0);\n _Engine_loader.set(this, void 0);\n __classPrivateFieldSet(this, _Engine_domArray, [], \"f\");\n __classPrivateFieldSet(this, _Engine_eventDispatcher, new EventDispatcher(), \"f\");\n __classPrivateFieldSet(this, _Engine_initialized, false, \"f\");\n __classPrivateFieldSet(this, _Engine_loader, new Loader(this), \"f\");\n this.plugins = new Plugins(this);\n }\n addEventListener(type, listener) {\n __classPrivateFieldGet(this, _Engine_eventDispatcher, \"f\").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 __classPrivateFieldGet(this, _Engine_eventDispatcher, \"f\").dispatchEvent(type, args);\n }\n dom() {\n return __classPrivateFieldGet(this, _Engine_domArray, \"f\");\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 (!__classPrivateFieldGet(this, _Engine_initialized, \"f\")) {\n __classPrivateFieldSet(this, _Engine_initialized, true, \"f\");\n }\n }\n async load(tagId, options) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").load(tagId, options);\n }\n async loadFromArray(tagId, options, index) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").load(tagId, options, index);\n }\n async loadJSON(tagId, pathConfigJson, index) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").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 __classPrivateFieldGet(this, _Engine_eventDispatcher, \"f\").removeEventListener(type, listener);\n }\n async set(id, element, options) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").set(id, element, options);\n }\n async setJSON(id, element, pathConfigJson, index) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").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_Engine_domArray = new WeakMap(), _Engine_eventDispatcher = new WeakMap(), _Engine_initialized = new WeakMap(), _Engine_loader = new WeakMap();\n","import { getRangeValue, parseAlpha } from \"./NumberUtils\";\nimport { hslToRgb, hslaToRgba } from \"./ColorUtils\";\nexport class HslColorManager {\n constructor() {\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.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.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 = 0;\n }\n}\n","export class ParticlesInteractorBase {\n constructor(container) {\n this.container = container;\n this.type = 1;\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(\"rgb\", rgbColorManager);\naddColorManager(\"hsl\", 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/IParticleUpdater\";\nexport * from \"./Core/Interfaces/IParticleValueAnimation\";\nexport * from \"./Core/Interfaces/IParticleWobble\";\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/Utils/Circle\";\nexport * from \"./Core/Utils/CircleWarp\";\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/DestroyMode\";\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/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/Interactivity/Modes/Slow\";\nexport * from \"./Options/Classes/ManualParticle\";\nexport * from \"./Options/Classes/Motion/Motion\";\nexport * from \"./Options/Classes/Motion/MotionReduce\";\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/Destroy/Destroy\";\nexport * from \"./Options/Classes/Particles/Destroy/Split\";\nexport * from \"./Options/Classes/Particles/Destroy/SplitFactor\";\nexport * from \"./Options/Classes/Particles/Destroy/SplitRate\";\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/MoveGravity\";\nexport * from \"./Options/Classes/Particles/Move/OutModes\";\nexport * from \"./Options/Classes/Particles/Move/Path/MovePath\";\nexport * from \"./Options/Classes/Particles/Move/Path/MovePathDelay\";\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/Rotate/Rotate\";\nexport * from \"./Options/Classes/Particles/Rotate/RotateAnimation\";\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/Modes/ISlow\";\nexport * from \"./Options/Interfaces/Interactivity/IInteractivity\";\nexport * from \"./Options/Interfaces/Motion/IMotion\";\nexport * from \"./Options/Interfaces/Motion/IMotionReduce\";\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/Destroy/IDestroy\";\nexport * from \"./Options/Interfaces/Particles/Destroy/ISplit\";\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/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/Rotate/IRotate\";\nexport * from \"./Options/Interfaces/Particles/Rotate/IRotateAnimation\";\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/RangeValue\";\nexport * from \"./Types/RecursivePartial\";\nexport * from \"./Types/ShapeData\";\nexport * from \"./Types/ShapeDrawerFunctions\";\nexport * from \"./Types/SingleOrMultiple\";\nexport * from \"./Types/PathOptions\";\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 };\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 { Absorber } from \"./Options/Classes/Absorber\";\nimport { AbsorberInstance } from \"./AbsorberInstance\";\nimport { itemFromArray } from \"tsparticles-engine\";\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 context.save();\n absorber.draw(context);\n context.restore();\n }\n }\n handleClickMode(mode) {\n const absorberOptions = this.absorbers, modeAbsorbers = this.interactivityAbsorbers;\n if (mode === \"absorber\") {\n let absorbersModeOptions;\n if (modeAbsorbers instanceof Array) {\n if (modeAbsorbers.length > 0) {\n absorbersModeOptions = itemFromArray(modeAbsorbers);\n }\n }\n else {\n absorbersModeOptions = modeAbsorbers;\n }\n const absorbersOptions = absorbersModeOptions !== null && absorbersModeOptions !== void 0 ? absorbersModeOptions : (absorberOptions instanceof Array ? itemFromArray(absorberOptions) : absorberOptions), aPosition = this.container.interactivity.mouse.clickPosition;\n this.addAbsorber(absorbersOptions, aPosition);\n }\n }\n init(options) {\n var _a, _b;\n if (!options) {\n return;\n }\n if (options.absorbers) {\n if (options.absorbers instanceof Array) {\n this.absorbers = options.absorbers.map((s) => {\n const tmp = new Absorber();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.absorbers instanceof Array) {\n this.absorbers = new Absorber();\n }\n this.absorbers.load(options.absorbers);\n }\n }\n const interactivityAbsorbers = (_b = (_a = options.interactivity) === null || _a === void 0 ? void 0 : _a.modes) === null || _b === void 0 ? void 0 : _b.absorbers;\n if (interactivityAbsorbers) {\n if (interactivityAbsorbers instanceof Array) {\n this.interactivityAbsorbers = interactivityAbsorbers.map((s) => {\n const tmp = new Absorber();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.interactivityAbsorbers instanceof Array) {\n this.interactivityAbsorbers = new Absorber();\n }\n this.interactivityAbsorbers.load(interactivityAbsorbers);\n }\n }\n if (this.absorbers instanceof Array) {\n for (const absorberOptions of this.absorbers) {\n this.addAbsorber(absorberOptions);\n }\n }\n else {\n this.addAbsorber(this.absorbers);\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 { Absorber } from \"./Options/Classes/Absorber\";\nimport { Absorbers } from \"./Absorbers\";\nimport { isInArray } from \"tsparticles-engine\";\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 const optionsCast = options;\n if (source === null || source === void 0 ? void 0 : source.absorbers) {\n if ((source === null || source === void 0 ? void 0 : source.absorbers) instanceof Array) {\n optionsCast.absorbers = source === null || source === void 0 ? void 0 : source.absorbers.map((s) => {\n const tmp = new Absorber();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n let absorberOptions = optionsCast.absorbers;\n if ((absorberOptions === null || absorberOptions === void 0 ? void 0 : absorberOptions.load) === undefined) {\n optionsCast.absorbers = absorberOptions = new Absorber();\n }\n absorberOptions.load(source === null || source === void 0 ? void 0 : source.absorbers);\n }\n }\n const interactivityAbsorbers = (_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;\n if (interactivityAbsorbers) {\n if (interactivityAbsorbers instanceof Array) {\n optionsCast.interactivity.modes.absorbers = interactivityAbsorbers.map((s) => {\n const tmp = new Absorber();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n let absorberOptions = optionsCast.interactivity.modes.absorbers;\n if ((absorberOptions === null || absorberOptions === void 0 ? void 0 : absorberOptions.load) === undefined) {\n optionsCast.interactivity.modes.absorbers = absorberOptions = new Absorber();\n }\n absorberOptions.load(interactivityAbsorbers);\n }\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\";\nexport * from \"./Options/Interfaces/IAbsorberOptions\";\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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _EmitterInstance_engine, _EmitterInstance_firstSpawn, _EmitterInstance_startParticlesAdded;\nimport { Vector, calcPositionOrRandomFromSizeRanged, deepExtend, getRangeValue, isPointInside, itemFromArray, 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 _EmitterInstance_engine.set(this, void 0);\n _EmitterInstance_firstSpawn.set(this, void 0);\n _EmitterInstance_startParticlesAdded.set(this, void 0);\n __classPrivateFieldSet(this, _EmitterInstance_engine, engine, \"f\");\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 = __classPrivateFieldGet(this, _EmitterInstance_engine, \"f\").emitterShapeManager) === null || _c === void 0 ? void 0 : _c.getShape(this.options.shape);\n this.fill = this.options.fill;\n __classPrivateFieldSet(this, _EmitterInstance_firstSpawn, !this.options.life.wait, \"f\");\n __classPrivateFieldSet(this, _EmitterInstance_startParticlesAdded, false, \"f\");\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 __classPrivateFieldGet(this, _EmitterInstance_engine, \"f\").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 (__classPrivateFieldGet(this, _EmitterInstance_firstSpawn, \"f\") || 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 (__classPrivateFieldGet(this, _EmitterInstance_firstSpawn, \"f\")) {\n __classPrivateFieldSet(this, _EmitterInstance_firstSpawn, false, \"f\");\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 (!__classPrivateFieldGet(this, _EmitterInstance_startParticlesAdded, \"f\")) {\n __classPrivateFieldSet(this, _EmitterInstance_startParticlesAdded, true, \"f\");\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 __classPrivateFieldGet(this, _EmitterInstance_engine, \"f\").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 __classPrivateFieldGet(this, _EmitterInstance_engine, \"f\").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 = this.particlesOptions instanceof Array ? itemFromArray(this.particlesOptions) : 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_EmitterInstance_engine = new WeakMap(), _EmitterInstance_firstSpawn = new WeakMap(), _EmitterInstance_startParticlesAdded = new WeakMap();\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, 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 if (data.particles !== undefined) {\n if (data.particles instanceof Array) {\n this.particles = data.particles.map((s) => {\n return deepExtend({}, s);\n });\n }\n else {\n this.particles = deepExtend({}, data.particles);\n }\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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Emitters_engine;\nimport { arrayRandomIndex, deepExtend, 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 _Emitters_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Emitters_engine, engine, \"f\");\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(__classPrivateFieldGet(this, _Emitters_engine, \"f\"), 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 if (emittersOptions instanceof Array) {\n for (const emitterOptions of emittersOptions) {\n this.addEmitter(emitterOptions, ePosition);\n }\n }\n else {\n this.addEmitter(deepExtend({}, emittersOptions), ePosition);\n }\n }\n }\n init(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (!options) {\n return;\n }\n if (options.emitters) {\n if (options.emitters instanceof Array) {\n this.emitters = options.emitters.map((s) => {\n const tmp = new Emitter();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.emitters instanceof Array) {\n this.emitters = new Emitter();\n }\n this.emitters.load(options.emitters);\n }\n }\n const interactivityEmitters = (_b = (_a = options.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 this.interactivityEmitters = {\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 this.interactivityEmitters = {\n random: {\n count: (_c = this.interactivityEmitters.random.count) !== null && _c !== void 0 ? _c : 1,\n enable: (_d = this.interactivityEmitters.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 this.interactivityEmitters = {\n random: {\n count: (_e = this.interactivityEmitters.random.count) !== null && _e !== void 0 ? _e : 1,\n enable: (_f = this.interactivityEmitters.random.enable) !== null && _f !== void 0 ? _f : false,\n },\n value: tmp,\n };\n }\n }\n else {\n const tmp = new Emitter();\n tmp.load(interactivityEmitters);\n this.interactivityEmitters = {\n random: {\n count: (_g = this.interactivityEmitters.random.count) !== null && _g !== void 0 ? _g : 1,\n enable: (_h = this.interactivityEmitters.random.enable) !== null && _h !== void 0 ? _h : false,\n },\n value: tmp,\n };\n }\n }\n }\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_Emitters_engine = new WeakMap();\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar _ShapeManager_engine;\nconst shapes = new Map();\nexport class ShapeManager {\n constructor(engine) {\n _ShapeManager_engine.set(this, void 0);\n __classPrivateFieldSet(this, _ShapeManager_engine, engine, \"f\");\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_ShapeManager_engine = new WeakMap();\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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _EmittersPlugin_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\";\nimport { isInArray } from \"tsparticles-engine\";\nclass EmittersPlugin {\n constructor(engine) {\n _EmittersPlugin_engine.set(this, void 0);\n __classPrivateFieldSet(this, _EmittersPlugin_engine, engine, \"f\");\n this.id = \"emitters\";\n }\n getPlugin(container) {\n return new Emitters(__classPrivateFieldGet(this, _EmittersPlugin_engine, \"f\"), 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 const optionsCast = options;\n if (source === null || source === void 0 ? void 0 : source.emitters) {\n if ((source === null || source === void 0 ? void 0 : source.emitters) instanceof Array) {\n optionsCast.emitters = source === null || source === void 0 ? void 0 : source.emitters.map((s) => {\n const tmp = new Emitter();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n let emitterOptions = optionsCast.emitters;\n if ((emitterOptions === null || emitterOptions === void 0 ? void 0 : emitterOptions.load) === undefined) {\n optionsCast.emitters = emitterOptions = new Emitter();\n }\n emitterOptions.load(source === null || source === void 0 ? void 0 : source.emitters);\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 optionsCast.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 optionsCast.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 optionsCast.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 = (optionsCast.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}\n_EmittersPlugin_engine = new WeakMap();\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\";\nexport * from \"./Options/Interfaces/IEmitterOptions\";\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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _TrailMaker_container;\nimport { ExternalInteractorBase, isInArray } from \"tsparticles-engine\";\nimport { Trail } from \"./Options/Classes/Trail\";\nexport class TrailMaker extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n _TrailMaker_container.set(this, void 0);\n __classPrivateFieldSet(this, _TrailMaker_container, container, \"f\");\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 = __classPrivateFieldGet(this, _TrailMaker_container, \"f\"), 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_TrailMaker_container = new WeakMap();\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 { OptionsColor, stringToAlpha } from \"tsparticles-engine\";\nexport class PolygonMaskDrawStroke {\n constructor() {\n this.color = new OptionsColor();\n this.width = 0.5;\n this.opacity = 1;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n this.color = OptionsColor.create(this.color, data.color);\n if (typeof this.color.value === \"string\") {\n this.opacity = (_a = stringToAlpha(this.color.value)) !== null && _a !== void 0 ? _a : this.opacity;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n","import { OptionsColor } from \"tsparticles-engine\";\nimport { PolygonMaskDrawStroke } from \"./PolygonMaskDrawStroke\";\nexport class PolygonMaskDraw {\n constructor() {\n this.enable = false;\n this.stroke = new PolygonMaskDrawStroke();\n }\n get lineColor() {\n return this.stroke.color;\n }\n set lineColor(value) {\n this.stroke.color = OptionsColor.create(this.stroke.color, value);\n }\n get lineWidth() {\n return this.stroke.width;\n }\n set lineWidth(value) {\n this.stroke.width = value;\n }\n load(data) {\n var _a;\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n const stroke = (_a = data.stroke) !== null && _a !== void 0 ? _a : {\n color: data.lineColor,\n width: data.lineWidth,\n };\n this.stroke.load(stroke);\n }\n}\n","export class PolygonMaskInline {\n constructor() {\n this.arrangement = \"one-per-point\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.arrangement !== undefined) {\n this.arrangement = data.arrangement;\n }\n }\n}\n","export class PolygonMaskLocalSvg {\n constructor() {\n this.path = [];\n this.size = {\n height: 0,\n width: 0,\n };\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.path !== undefined) {\n this.path = data.path;\n }\n if (data.size !== undefined) {\n if (data.size.width !== undefined) {\n this.size.width = data.size.width;\n }\n if (data.size.height !== undefined) {\n this.size.height = data.size.height;\n }\n }\n }\n}\n","export class PolygonMaskMove {\n constructor() {\n this.radius = 10;\n this.type = \"path\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n","import { PolygonMaskDraw } from \"./PolygonMaskDraw\";\nimport { PolygonMaskInline } from \"./PolygonMaskInline\";\nimport { PolygonMaskLocalSvg } from \"./PolygonMaskLocalSvg\";\nimport { PolygonMaskMove } from \"./PolygonMaskMove\";\nimport { deepExtend } from \"tsparticles-engine\";\nexport class PolygonMask {\n constructor() {\n this.draw = new PolygonMaskDraw();\n this.enable = false;\n this.inline = new PolygonMaskInline();\n this.move = new PolygonMaskMove();\n this.scale = 1;\n this.type = \"none\";\n }\n get inlineArrangement() {\n return this.inline.arrangement;\n }\n set inlineArrangement(value) {\n this.inline.arrangement = value;\n }\n load(data) {\n if (!data) {\n return;\n }\n this.draw.load(data.draw);\n this.inline.load(data.inline);\n this.move.load(data.move);\n if (data.scale !== undefined) {\n this.scale = data.scale;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n else {\n this.enable = this.type !== \"none\";\n }\n if (data.url !== undefined) {\n this.url = data.url;\n }\n if (data.data !== undefined) {\n if (typeof data.data === \"string\") {\n this.data = data.data;\n }\n else {\n this.data = new PolygonMaskLocalSvg();\n this.data.load(data.data);\n }\n }\n if (data.position !== undefined) {\n this.position = deepExtend({}, data.position);\n }\n }\n}\n","import { Vector, getDistances, getStyleFromRgb, rangeColorToRgb } from \"tsparticles-engine\";\nexport function drawPolygonMask(context, rawData, stroke) {\n const color = rangeColorToRgb(stroke.color);\n if (!color) {\n return;\n }\n context.beginPath();\n context.moveTo(rawData[0].x, rawData[0].y);\n for (const item of rawData) {\n context.lineTo(item.x, item.y);\n }\n context.closePath();\n context.strokeStyle = getStyleFromRgb(color);\n context.lineWidth = stroke.width;\n context.stroke();\n}\nexport function drawPolygonMaskPath(context, path, stroke, position) {\n context.translate(position.x, position.y);\n const color = rangeColorToRgb(stroke.color);\n if (!color) {\n return;\n }\n context.strokeStyle = getStyleFromRgb(color, stroke.opacity);\n context.lineWidth = stroke.width;\n context.stroke(path);\n}\nexport function parsePaths(paths, scale, offset) {\n var _a;\n const res = [];\n for (const path of paths) {\n const segments = path.element.pathSegList, len = (_a = segments === null || segments === void 0 ? void 0 : segments.numberOfItems) !== null && _a !== void 0 ? _a : 0, p = {\n x: 0,\n y: 0,\n };\n for (let i = 0; i < len; i++) {\n const segment = segments === null || segments === void 0 ? void 0 : segments.getItem(i);\n const svgPathSeg = window.SVGPathSeg;\n switch (segment === null || segment === void 0 ? void 0 : segment.pathSegType) {\n case svgPathSeg.PATHSEG_MOVETO_ABS:\n case svgPathSeg.PATHSEG_LINETO_ABS:\n case svgPathSeg.PATHSEG_CURVETO_CUBIC_ABS:\n case svgPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:\n case svgPathSeg.PATHSEG_ARC_ABS:\n case svgPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:\n case svgPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: {\n const absSeg = segment;\n p.x = absSeg.x;\n p.y = absSeg.y;\n break;\n }\n case svgPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n p.x = segment.x;\n break;\n case svgPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n p.y = segment.y;\n break;\n case svgPathSeg.PATHSEG_LINETO_REL:\n case svgPathSeg.PATHSEG_MOVETO_REL:\n case svgPathSeg.PATHSEG_CURVETO_CUBIC_REL:\n case svgPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:\n case svgPathSeg.PATHSEG_ARC_REL:\n case svgPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:\n case svgPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: {\n const relSeg = segment;\n p.x += relSeg.x;\n p.y += relSeg.y;\n break;\n }\n case svgPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n p.x += segment.x;\n break;\n case svgPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n p.y += segment.y;\n break;\n case svgPathSeg.PATHSEG_UNKNOWN:\n case svgPathSeg.PATHSEG_CLOSEPATH:\n continue;\n }\n res.push({\n x: p.x * scale + offset.x,\n y: p.y * scale + offset.y,\n });\n }\n }\n return res;\n}\nexport function calcClosestPtOnSegment(s1, s2, pos) {\n const { dx, dy } = getDistances(pos, s1), { dx: dxx, dy: dyy } = getDistances(s2, s1), t = (dx * dxx + dy * dyy) / (dxx ** 2 + dyy ** 2), res = {\n x: s1.x + dxx * t,\n y: s1.x + dyy * t,\n isOnSegment: t >= 0 && t <= 1,\n };\n if (t < 0) {\n res.x = s1.x;\n res.y = s1.y;\n }\n else if (t > 1) {\n res.x = s2.x;\n res.y = s2.y;\n }\n return res;\n}\nexport function segmentBounce(start, stop, velocity) {\n const { dx, dy } = getDistances(start, stop), wallAngle = Math.atan2(dy, dx), wallNormal = Vector.create(Math.sin(wallAngle), -Math.cos(wallAngle)), d = 2 * (velocity.x * wallNormal.x + velocity.y * wallNormal.y);\n wallNormal.multTo(d);\n velocity.subFrom(wallNormal);\n}\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _PolygonMaskInstance_engine;\nimport { calcClosestPtOnSegment, drawPolygonMask, drawPolygonMaskPath, parsePaths, segmentBounce } from \"./utils\";\nimport { deepExtend, getDistance, getDistances, getRandom, itemFromArray, noPolygonDataLoaded, noPolygonFound, } from \"tsparticles-engine\";\nimport { PolygonMask } from \"./Options/Classes/PolygonMask\";\nexport class PolygonMaskInstance {\n constructor(container, engine) {\n this.container = container;\n _PolygonMaskInstance_engine.set(this, void 0);\n __classPrivateFieldSet(this, _PolygonMaskInstance_engine, engine, \"f\");\n this.dimension = {\n height: 0,\n width: 0,\n };\n this.path2DSupported = !!window.Path2D;\n this.options = new PolygonMask();\n this.polygonMaskMoveRadius = this.options.move.radius * container.retina.pixelRatio;\n }\n clickPositionValid(position) {\n const options = this.options;\n return (options.enable &&\n options.type !== \"none\" &&\n options.type !== \"inline\" &&\n this.checkInsidePolygon(position));\n }\n draw(context) {\n var _a;\n if (!((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {\n return;\n }\n const options = this.options, polygonDraw = options.draw;\n if (!options.enable || !polygonDraw.enable) {\n return;\n }\n const rawData = this.raw;\n for (const path of this.paths) {\n const path2d = path.path2d, path2dSupported = this.path2DSupported;\n if (!context) {\n continue;\n }\n if (path2dSupported && path2d && this.offset) {\n drawPolygonMaskPath(context, path2d, polygonDraw.stroke, this.offset);\n }\n else if (rawData) {\n drawPolygonMask(context, rawData, polygonDraw.stroke);\n }\n }\n }\n async initAsync(options) {\n this.options.load(options === null || options === void 0 ? void 0 : options.polygon);\n const polygonMaskOptions = this.options;\n this.polygonMaskMoveRadius = polygonMaskOptions.move.radius * this.container.retina.pixelRatio;\n if (polygonMaskOptions.enable) {\n await this.initRawData();\n }\n }\n particleBounce(particle, delta, direction) {\n return this.polygonBounce(particle, delta, direction);\n }\n particlePosition(position) {\n var _a, _b;\n const options = this.options;\n if (!(options.enable && ((_b = (_a = this.raw) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0)) {\n return;\n }\n return deepExtend({}, position ? position : this.randomPoint());\n }\n particlesInitialization() {\n const options = this.options;\n if (options.enable &&\n options.type === \"inline\" &&\n (options.inline.arrangement === \"one-per-point\" ||\n options.inline.arrangement === \"per-point\")) {\n this.drawPoints();\n return true;\n }\n return false;\n }\n resize() {\n const container = this.container, options = this.options;\n if (!(options.enable && options.type !== \"none\")) {\n return;\n }\n if (this.redrawTimeout) {\n clearTimeout(this.redrawTimeout);\n }\n this.redrawTimeout = window.setTimeout(async () => {\n await this.initRawData(true);\n await container.particles.redraw();\n }, 250);\n }\n stop() {\n delete this.raw;\n delete this.paths;\n }\n checkInsidePolygon(position) {\n var _a, _b;\n const container = this.container, options = this.options;\n if (!options.enable || options.type === \"none\" || options.type === \"inline\") {\n return true;\n }\n if (!this.raw) {\n throw new Error(noPolygonFound);\n }\n const canvasSize = container.canvas.size, x = (_a = position === null || position === void 0 ? void 0 : position.x) !== null && _a !== void 0 ? _a : getRandom() * canvasSize.width, y = (_b = position === null || position === void 0 ? void 0 : position.y) !== null && _b !== void 0 ? _b : getRandom() * canvasSize.height;\n let inside = false;\n for (let i = 0, j = this.raw.length - 1; i < this.raw.length; j = i++) {\n const pi = this.raw[i], pj = this.raw[j], intersect = pi.y > y !== pj.y > y && x < ((pj.x - pi.x) * (y - pi.y)) / (pj.y - pi.y) + pi.x;\n if (intersect) {\n inside = !inside;\n }\n }\n return options.type === \"inside\"\n ? inside\n : options.type === \"outside\"\n ? !inside\n : false;\n }\n createPath2D() {\n var _a, _b;\n const options = this.options;\n if (!this.path2DSupported || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {\n return;\n }\n for (const path of this.paths) {\n const pathData = (_b = path.element) === null || _b === void 0 ? void 0 : _b.getAttribute(\"d\");\n if (pathData) {\n const path2d = new Path2D(pathData), matrix = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGMatrix(), finalPath = new Path2D(), transform = matrix.scale(options.scale);\n if (finalPath.addPath) {\n finalPath.addPath(path2d, transform);\n path.path2d = finalPath;\n }\n else {\n delete path.path2d;\n }\n }\n else {\n delete path.path2d;\n }\n if (path.path2d || !this.raw) {\n continue;\n }\n path.path2d = new Path2D();\n path.path2d.moveTo(this.raw[0].x, this.raw[0].y);\n this.raw.forEach((pos, i) => {\n var _a;\n if (i > 0) {\n (_a = path.path2d) === null || _a === void 0 ? void 0 : _a.lineTo(pos.x, pos.y);\n }\n });\n path.path2d.closePath();\n }\n }\n async downloadSvgPath(svgUrl, force) {\n const options = this.options, url = svgUrl || options.url, forceDownload = force !== null && force !== void 0 ? force : false;\n if (!url || (this.paths !== undefined && !forceDownload)) {\n return this.raw;\n }\n const req = await fetch(url);\n if (!req.ok) {\n throw new Error(\"tsParticles Error - Error occurred during polygon mask download\");\n }\n return this.parseSvgPath(await req.text(), force);\n }\n drawPoints() {\n if (!this.raw) {\n return;\n }\n for (const item of this.raw) {\n this.container.particles.addParticle({\n x: item.x,\n y: item.y,\n });\n }\n }\n getEquidistantPointByIndex(index) {\n var _a, _b, _c, _d, _e, _f, _g;\n const options = this.container.actualOptions, polygonMaskOptions = this.options;\n if (!this.raw || !this.raw.length || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length))\n throw new Error(noPolygonDataLoaded);\n let offset = 0, point;\n const totalLength = this.paths.reduce((tot, path) => tot + path.length, 0), distance = totalLength / options.particles.number.value;\n for (const path of this.paths) {\n const pathDistance = distance * index - offset;\n if (pathDistance <= path.length) {\n point = path.element.getPointAtLength(pathDistance);\n break;\n }\n else {\n offset += path.length;\n }\n }\n return {\n x: ((_b = point === null || point === void 0 ? void 0 : point.x) !== null && _b !== void 0 ? _b : 0) * polygonMaskOptions.scale + ((_d = (_c = this.offset) === null || _c === void 0 ? void 0 : _c.x) !== null && _d !== void 0 ? _d : 0),\n y: ((_e = point === null || point === void 0 ? void 0 : point.y) !== null && _e !== void 0 ? _e : 0) * polygonMaskOptions.scale + ((_g = (_f = this.offset) === null || _f === void 0 ? void 0 : _f.y) !== null && _g !== void 0 ? _g : 0),\n };\n }\n getPointByIndex(index) {\n if (!this.raw || !this.raw.length) {\n throw new Error(noPolygonDataLoaded);\n }\n const coords = this.raw[index % this.raw.length];\n return {\n x: coords.x,\n y: coords.y,\n };\n }\n getRandomPoint() {\n if (!this.raw || !this.raw.length) {\n throw new Error(noPolygonDataLoaded);\n }\n const coords = itemFromArray(this.raw);\n return {\n x: coords.x,\n y: coords.y,\n };\n }\n getRandomPointByLength() {\n var _a, _b, _c;\n const options = this.options;\n if (!this.raw || !this.raw.length || !((_a = this.paths) === null || _a === void 0 ? void 0 : _a.length)) {\n throw new Error(noPolygonDataLoaded);\n }\n const path = itemFromArray(this.paths), distance = Math.floor(getRandom() * path.length) + 1, point = path.element.getPointAtLength(distance);\n return {\n x: point.x * options.scale + (((_b = this.offset) === null || _b === void 0 ? void 0 : _b.x) || 0),\n y: point.y * options.scale + (((_c = this.offset) === null || _c === void 0 ? void 0 : _c.y) || 0),\n };\n }\n async initRawData(force) {\n const options = this.options;\n if (options.url) {\n this.raw = await this.downloadSvgPath(options.url, force);\n }\n else if (options.data) {\n const data = options.data;\n let svg;\n if (typeof data !== \"string\") {\n const path = data.path instanceof Array\n ? data.path.map((t) => ``).join(\"\")\n : ``;\n const namespaces = 'xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"';\n svg = `${path}`;\n }\n else {\n svg = data;\n }\n this.raw = this.parseSvgPath(svg, force);\n }\n this.createPath2D();\n __classPrivateFieldGet(this, _PolygonMaskInstance_engine, \"f\").dispatchEvent(\"polygonMaskLoaded\", {\n container: this.container,\n });\n }\n parseSvgPath(xml, force) {\n var _a, _b, _c;\n const forceDownload = force !== null && force !== void 0 ? force : false;\n if (this.paths !== undefined && !forceDownload) {\n return this.raw;\n }\n const container = this.container, options = this.options, parser = new DOMParser(), doc = parser.parseFromString(xml, \"image/svg+xml\"), svg = doc.getElementsByTagName(\"svg\")[0];\n let svgPaths = svg.getElementsByTagName(\"path\");\n if (!svgPaths.length) {\n svgPaths = doc.getElementsByTagName(\"path\");\n }\n this.paths = [];\n for (let i = 0; i < svgPaths.length; i++) {\n const path = svgPaths.item(i);\n if (path) {\n this.paths.push({\n element: path,\n length: path.getTotalLength(),\n });\n }\n }\n const pxRatio = container.retina.pixelRatio, scale = options.scale / pxRatio;\n this.dimension.width = parseFloat((_a = svg.getAttribute(\"width\")) !== null && _a !== void 0 ? _a : \"0\") * scale;\n this.dimension.height = parseFloat((_b = svg.getAttribute(\"height\")) !== null && _b !== void 0 ? _b : \"0\") * scale;\n const position = (_c = options.position) !== null && _c !== void 0 ? _c : {\n x: 50,\n y: 50,\n };\n this.offset = {\n x: (container.canvas.size.width * position.x) / (100 * pxRatio) - this.dimension.width / 2,\n y: (container.canvas.size.height * position.y) / (100 * pxRatio) - this.dimension.height / 2,\n };\n return parsePaths(this.paths, scale, this.offset);\n }\n polygonBounce(particle, _delta, direction) {\n const options = this.options;\n if (!this.raw || !options.enable || direction !== \"top\") {\n return false;\n }\n if (options.type === \"inside\" || options.type === \"outside\") {\n let closest, dx, dy;\n const pos = particle.getPosition(), radius = particle.getRadius();\n for (let i = 0, j = this.raw.length - 1; i < this.raw.length; j = i++) {\n const pi = this.raw[i], pj = this.raw[j];\n closest = calcClosestPtOnSegment(pi, pj, pos);\n const dist = getDistances(pos, closest);\n [dx, dy] = [dist.dx, dist.dy];\n if (dist.distance < radius) {\n segmentBounce(pi, pj, particle.velocity);\n return true;\n }\n }\n if (closest && dx !== undefined && dy !== undefined && !this.checkInsidePolygon(pos)) {\n const factor = { x: 1, y: 1 };\n if (particle.position.x >= closest.x) {\n factor.x = -1;\n }\n if (particle.position.y >= closest.y) {\n factor.y = -1;\n }\n particle.position.x = closest.x + radius * 2 * factor.x;\n particle.position.y = closest.y + radius * 2 * factor.y;\n particle.velocity.mult(-1);\n return true;\n }\n }\n else if (options.type === \"inline\" && particle.initialPosition) {\n const dist = getDistance(particle.initialPosition, particle.getPosition());\n if (dist > this.polygonMaskMoveRadius) {\n particle.velocity.x = particle.velocity.y / 2 - particle.velocity.x;\n particle.velocity.y = particle.velocity.x / 2 - particle.velocity.y;\n return true;\n }\n }\n return false;\n }\n randomPoint() {\n const container = this.container, options = this.options;\n let position;\n if (options.type === \"inline\") {\n switch (options.inline.arrangement) {\n case \"random-point\":\n position = this.getRandomPoint();\n break;\n case \"random-length\":\n position = this.getRandomPointByLength();\n break;\n case \"equidistant\":\n position = this.getEquidistantPointByIndex(container.particles.count);\n break;\n case \"one-per-point\":\n case \"per-point\":\n default:\n position = this.getPointByIndex(container.particles.count);\n }\n }\n else {\n position = {\n x: getRandom() * container.canvas.size.width,\n y: getRandom() * container.canvas.size.height,\n };\n }\n if (this.checkInsidePolygon(position)) {\n return position;\n }\n else {\n return this.randomPoint();\n }\n }\n}\n_PolygonMaskInstance_engine = new WeakMap();\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _PolygonMaskPlugin_engine;\nimport \"./pathseg\";\nimport { PolygonMask } from \"./Options/Classes/PolygonMask\";\nimport { PolygonMaskInstance } from \"./PolygonMaskInstance\";\nclass PolygonMaskPlugin {\n constructor(engine) {\n _PolygonMaskPlugin_engine.set(this, void 0);\n this.id = \"polygonMask\";\n __classPrivateFieldSet(this, _PolygonMaskPlugin_engine, engine, \"f\");\n }\n getPlugin(container) {\n return new PolygonMaskInstance(container, __classPrivateFieldGet(this, _PolygonMaskPlugin_engine, \"f\"));\n }\n loadOptions(options, source) {\n if (!this.needsPlugin(source)) {\n return;\n }\n const optionsCast = options;\n let polygonOptions = optionsCast.polygon;\n if ((polygonOptions === null || polygonOptions === void 0 ? void 0 : polygonOptions.load) === undefined) {\n optionsCast.polygon = polygonOptions = new PolygonMask();\n }\n polygonOptions.load(source === null || source === void 0 ? void 0 : source.polygon);\n }\n needsPlugin(options) {\n var _a, _b, _c;\n return ((_b = (_a = options === null || options === void 0 ? void 0 : options.polygon) === null || _a === void 0 ? void 0 : _a.enable) !== null && _b !== void 0 ? _b : (((_c = options === null || options === void 0 ? void 0 : options.polygon) === null || _c === void 0 ? void 0 : _c.type) !== undefined && options.polygon.type !== \"none\"));\n }\n}\n_PolygonMaskPlugin_engine = new WeakMap();\nexport async function loadPolygonMaskPlugin(engine) {\n const plugin = new PolygonMaskPlugin(engine);\n await engine.addPlugin(plugin);\n}\nexport * from \"./Enums/PolygonMaskInlineArrangement\";\nexport * from \"./Enums/PolygonMaskMoveType\";\nexport * from \"./Enums/PolygonMaskType\";\nexport * from \"./Options/Interfaces/IPolygonMaskOptions\";\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 { getRandom, getRangeValue } from \"tsparticles-engine\";\nfunction updateAngle(particle, delta) {\n var _a, _b;\n const rotate = particle.rotate;\n if (!rotate) {\n return;\n }\n const rotateOptions = particle.options.rotate, 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 0:\n rotate.value += speed;\n if (rotate.value > max) {\n rotate.value -= max;\n }\n break;\n case 1:\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 AngleUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const rotateOptions = particle.options.rotate;\n particle.rotate = {\n enable: rotateOptions.animation.enable,\n value: (getRangeValue(rotateOptions.value) * Math.PI) / 180,\n };\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 = 1;\n break;\n case \"clockwise\":\n particle.rotate.status = 0;\n break;\n }\n const rotateAnimation = particle.options.rotate.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, rotateAnimation = rotate.animation;\n return !particle.destroyed && !particle.spawning && rotateAnimation.enable && !rotate.path;\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 { AngleUpdater } from \"./AngleUpdater\";\nexport async function loadAngleUpdater(engine) {\n await engine.addParticleUpdater(\"angle\", (container) => new AngleUpdater(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 };\n const spinCenter = {\n x: (spinPos.x / 100) * container.canvas.size.width,\n y: (spinPos.y / 100) * container.canvas.size.height,\n };\n const pos = particle.getPosition();\n const distance = getDistance(pos, spinCenter);\n const 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 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 += (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 (moveOptions.spin.enable) {\n spin(particle, moveSpeed);\n }\n else {\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, getDistance, getDistances, getRandom, isInArray } 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;\n const pathOptions = particlesOptions.move.path;\n const 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 const container = particle.container;\n const options = container.actualOptions;\n const active = isInArray(\"slow\", options.interactivity.events.onHover.mode);\n if (!active) {\n return 1;\n }\n const mousePos = particle.container.interactivity.mouse.position;\n if (!mousePos) {\n return 1;\n }\n const particlePos = particle.getPosition();\n const dist = getDistance(mousePos, particlePos);\n const radius = container.retina.slowModeRadius;\n if (dist > radius) {\n return 1;\n }\n const proximityFactor = dist / radius || 0;\n const slowFactor = options.interactivity.modes.slow.factor;\n return proximityFactor / slowFactor;\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 context.arc(0, 0, radius, 0, Math.PI * 2, false);\n }\n getSidesCount() {\n return 12;\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 || !valueAnimation.enable) {\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 === 0) {\n colorValue.value += velocity;\n if (decrease && colorValue.value > max) {\n colorValue.status = 1;\n colorValue.value -= colorValue.value % max;\n }\n }\n else {\n colorValue.value -= velocity;\n if (colorValue.value < 0) {\n colorValue.status = 0;\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 if (((_a = particle.color) === null || _a === void 0 ? void 0 : _a.h) !== undefined) {\n updateColorValue(delta, particle.color.h, animationOptions.h, 360, false);\n }\n if (((_b = particle.color) === null || _b === void 0 ? void 0 : _b.s) !== undefined) {\n updateColorValue(delta, particle.color.s, animationOptions.s, 100, true);\n }\n if (((_c = particle.color) === null || _c === void 0 ? void 0 : _c.l) !== undefined) {\n updateColorValue(delta, particle.color.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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Attractor_container;\nimport { Circle, ExternalInteractorBase, Vector, calcEasing, clamp, getDistances, isInArray, mouseMoveEvent, } from \"tsparticles-engine\";\nimport { Attract } from \"./Options/Classes/Attract\";\nexport class Attractor extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n _Attractor_container.set(this, void 0);\n __classPrivateFieldSet(this, _Attractor_container, container, \"f\");\n if (!container.attract) {\n container.attract = { particles: [] };\n }\n this.handleClickMode = (mode) => {\n const options = __classPrivateFieldGet(this, _Attractor_container, \"f\").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 = __classPrivateFieldGet(this, _Attractor_container, \"f\"), 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 = __classPrivateFieldGet(this, _Attractor_container, \"f\"), 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 = __classPrivateFieldGet(this, _Attractor_container, \"f\"), 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 = __classPrivateFieldGet(this, _Attractor_container, \"f\");\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 = __classPrivateFieldGet(this, _Attractor_container, \"f\"), 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 = __classPrivateFieldGet(this, _Attractor_container, \"f\"), 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(calcEasing(1 - distance / attractRadius, attractOptions.easing) * 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_Attractor_container = new WeakMap();\n","import { Attractor } from \"./Attractor\";\nexport async function loadExternalAttractInteraction(engine) {\n await engine.addInteractor(\"externalAttract\", (container) => new Attractor(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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Bouncer_container;\nimport { 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 _Bouncer_container.set(this, void 0);\n __classPrivateFieldSet(this, _Bouncer_container, container, \"f\");\n }\n clear() {\n }\n init() {\n const container = __classPrivateFieldGet(this, _Bouncer_container, \"f\"), 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 = __classPrivateFieldGet(this, _Bouncer_container, \"f\"), 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 = __classPrivateFieldGet(this, _Bouncer_container, \"f\"), 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 = __classPrivateFieldGet(this, _Bouncer_container, \"f\").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 = __classPrivateFieldGet(this, _Bouncer_container, \"f\"), 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 = __classPrivateFieldGet(this, _Bouncer_container, \"f\"), 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_Bouncer_container = new WeakMap();\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 } 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 if (data.color instanceof Array) {\n this.color = data.color.map((s) => OptionsColor.create(undefined, s));\n }\n else {\n if (this.color instanceof Array) {\n this.color = new OptionsColor();\n }\n this.color = OptionsColor.create(this.color, data.color);\n }\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n }\n}\n","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Bubbler_container;\nimport { Circle, ExternalInteractorBase, Rectangle, clamp, colorMix, divMode, divModeExecute, getDistance, getRangeMax, isDivModeEnabled, isInArray, itemFromArray, 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 _Bubbler_container.set(this, void 0);\n __classPrivateFieldSet(this, _Bubbler_container, container, \"f\");\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, 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 = __classPrivateFieldGet(this, _Bubbler_container, \"f\"), 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() {\n const options = __classPrivateFieldGet(this, _Bubbler_container, \"f\").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();\n }\n else if (clickEnabled && isInArray(\"bubble\", clickMode)) {\n this.clickBubble();\n }\n else {\n divModeExecute(\"bubble\", divs, (selector, div) => this.singleSelectorHover(selector, div));\n }\n }\n isEnabled(particle) {\n var _a;\n const container = __classPrivateFieldGet(this, _Bubbler_container, \"f\"), 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() {\n var _a, _b;\n const container = __classPrivateFieldGet(this, _Bubbler_container, \"f\"), 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() {\n const container = __classPrivateFieldGet(this, _Bubbler_container, \"f\"), 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 = __classPrivateFieldGet(this, _Bubbler_container, \"f\").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 = modeColor instanceof Array ? itemFromArray(modeColor) : 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 = __classPrivateFieldGet(this, _Bubbler_container, \"f\"), 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 = __classPrivateFieldGet(this, _Bubbler_container, \"f\"), 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 = __classPrivateFieldGet(this, _Bubbler_container, \"f\"), 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(selector, div) {\n const container = __classPrivateFieldGet(this, _Bubbler_container, \"f\"), 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, 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_Bubbler_container = new WeakMap();\n","import { BubbleBase } from \"./BubbleBase\";\nexport class BubbleDiv extends BubbleBase {\n constructor() {\n super();\n this.selectors = [];\n }\n get ids() {\n return this.selectors instanceof Array\n ? this.selectors.map((t) => t.replace(\"#\", \"\"))\n : this.selectors.replace(\"#\", \"\");\n }\n set ids(value) {\n this.selectors = value instanceof Array ? value.map((t) => `#${t}`) : `#${value}`;\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\";\nexport class Bubble extends BubbleBase {\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.divs instanceof Array) {\n this.divs = data.divs.map((s) => {\n const tmp = new BubbleDiv();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.divs instanceof Array || !this.divs) {\n this.divs = new BubbleDiv();\n }\n this.divs.load(data.divs);\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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Connector_container;\nimport { 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 context.save();\n drawLine(context, begin, end);\n context.lineWidth = width;\n context.strokeStyle = lineStyle;\n context.stroke();\n context.restore();\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 _Connector_container.set(this, void 0);\n __classPrivateFieldSet(this, _Connector_container, container, \"f\");\n }\n clear() {\n }\n init() {\n const container = __classPrivateFieldGet(this, _Connector_container, \"f\"), 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 = __classPrivateFieldGet(this, _Connector_container, \"f\"), 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_Connector_container = new WeakMap();\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 { 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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Grabber_container;\nimport { 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 context.save();\n drawLine(context, begin, end);\n context.strokeStyle = getStyleFromRgb(colorLine, opacity);\n context.lineWidth = width;\n context.stroke();\n context.restore();\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 _Grabber_container.set(this, void 0);\n __classPrivateFieldSet(this, _Grabber_container, container, \"f\");\n }\n clear() {\n }\n init() {\n const container = __classPrivateFieldGet(this, _Grabber_container, \"f\"), 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 = __classPrivateFieldGet(this, _Grabber_container, \"f\"), 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_Grabber_container = new WeakMap();\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 { 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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Pusher_container;\nimport { 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 _Pusher_container.set(this, void 0);\n __classPrivateFieldSet(this, _Pusher_container, container, \"f\");\n this.handleClickMode = (mode) => {\n if (mode !== \"push\") {\n return;\n }\n const container = __classPrivateFieldGet(this, _Pusher_container, \"f\"), 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_Pusher_container = new WeakMap();\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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Remover_container;\nimport { ExternalInteractorBase } from \"tsparticles-engine\";\nimport { Remove } from \"./Options/Classes/Remove\";\nexport class Remover extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n _Remover_container.set(this, void 0);\n __classPrivateFieldSet(this, _Remover_container, container, \"f\");\n this.handleClickMode = (mode) => {\n const container = __classPrivateFieldGet(this, _Remover_container, \"f\"), 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_Remover_container = new WeakMap();\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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Repulser_container;\nimport { Circle, ExternalInteractorBase, Rectangle, Vector, calcEasing, clamp, divMode, divModeExecute, getDistances, isDivModeEnabled, isInArray, mouseMoveEvent, } from \"tsparticles-engine\";\nimport { Repulse } from \"./Options/Classes/Repulse\";\nexport class Repulser extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n _Repulser_container.set(this, void 0);\n __classPrivateFieldSet(this, _Repulser_container, container, \"f\");\n if (!container.repulse) {\n container.repulse = { particles: [] };\n }\n this.handleClickMode = (mode) => {\n const options = __classPrivateFieldGet(this, _Repulser_container, \"f\").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 = __classPrivateFieldGet(this, _Repulser_container, \"f\"), 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 = __classPrivateFieldGet(this, _Repulser_container, \"f\"), 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 = __classPrivateFieldGet(this, _Repulser_container, \"f\"), 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 = __classPrivateFieldGet(this, _Repulser_container, \"f\"), 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 = __classPrivateFieldGet(this, _Repulser_container, \"f\"), 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 = __classPrivateFieldGet(this, _Repulser_container, \"f\"), 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(calcEasing(1 - distance / repulseRadius, repulseOptions.easing) * 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 = __classPrivateFieldGet(this, _Repulser_container, \"f\"), 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_Repulser_container = new WeakMap();\n","import { RepulseBase } from \"./RepulseBase\";\nexport class RepulseDiv extends RepulseBase {\n constructor() {\n super();\n this.selectors = [];\n }\n get ids() {\n if (this.selectors instanceof Array) {\n return this.selectors.map((t) => t.replace(\"#\", \"\"));\n }\n else {\n return this.selectors.replace(\"#\", \"\");\n }\n }\n set ids(value) {\n if (value instanceof Array) {\n this.selectors = value.map(() => `#${value}`);\n }\n else {\n this.selectors = `#${value}`;\n }\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\";\nexport class Repulse extends RepulseBase {\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.divs instanceof Array) {\n this.divs = data.divs.map((s) => {\n const tmp = new RepulseDiv();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.divs instanceof Array || !this.divs) {\n this.divs = new RepulseDiv();\n }\n this.divs.load(data.divs);\n }\n }\n}\n","import { Repulser } from \"./Repulser\";\nexport async function loadExternalRepulseInteraction(engine) {\n await engine.addInteractor(\"externalRepulse\", (container) => new Repulser(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","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","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _ImageDrawer_images;\nimport { downloadSvgImage, loadImage, replaceImageColor } from \"./Utils\";\nexport class ImageDrawer {\n constructor() {\n _ImageDrawer_images.set(this, void 0);\n __classPrivateFieldSet(this, _ImageDrawer_images, [], \"f\");\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 __classPrivateFieldSet(this, _ImageDrawer_images, [], \"f\");\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 = __classPrivateFieldGet(this, _ImageDrawer_images, \"f\").find((t) => t.id === container.id);\n if (!containerImages) {\n __classPrivateFieldGet(this, _ImageDrawer_images, \"f\").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 return;\n }\n if (image.error) {\n return;\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 && replaceColor && 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_ImageDrawer_images = new WeakMap();\n","import { ImageDrawer } from \"./ImageDrawer\";\nexport async function loadImageShape(engine) {\n const imageDrawer = new ImageDrawer();\n await engine.addShape(\"image\", imageDrawer);\n await engine.addShape(\"images\", 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 0:\n if (particle.opacity.value >= maxValue) {\n particle.opacity.status = 1;\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 1:\n if (particle.opacity.value <= minValue) {\n particle.opacity.status = 0;\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 = 0;\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 = 0;\n break;\n case \"random\":\n particle.opacity.value = randomInRange(particle.opacity);\n particle.opacity.status =\n getRandom() >= 0.5 ? 0 : 1;\n break;\n case \"max\":\n default:\n particle.opacity.value = particle.opacity.max;\n particle.opacity.status = 1;\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 }\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 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 { 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, fps, pixelRatio) {\n switch (p1.options.collisions.mode) {\n case \"absorb\": {\n absorb(p1, p2, fps, 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 { clamp } from \"tsparticles-engine\";\nexport function absorb(p1, p2, fps, pixelRatio) {\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 if (p1.getRadius() >= p2.getRadius()) {\n const factor = clamp(p1.getRadius() / p2.getRadius(), 0, p2.getRadius()) * fps;\n p1.size.value += factor;\n p2.size.value -= factor;\n if (p2.getRadius() <= pixelRatio) {\n p2.size.value = 0;\n p2.destroy();\n }\n }\n else {\n const factor = clamp(p2.getRadius() / p1.getRadius(), 0, p1.getRadius()) * fps;\n p1.size.value -= factor;\n p2.size.value += factor;\n if (p1.getRadius() <= pixelRatio) {\n p1.size.value = 0;\n p1.destroy();\n }\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 if (p1.getRadius() >= p2.getRadius()) {\n p2.destroy();\n }\n else {\n p1.destroy();\n }\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) {\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();\n const 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);\n const distP = radius1 + radius2;\n if (dist > distP) {\n continue;\n }\n resolveCollision(p1, p2, container.fpsLimit / 1000, 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 { 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, CircleWarp, ParticlesInteractorBase, getDistance, getLinkRandomColor } from \"tsparticles-engine\";\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.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\";\nexport class LinkInstance {\n constructor(container) {\n this.container = container;\n }\n drawParticle(context, particle) {\n var _a;\n const container = this.container, pOptions = particle.options;\n if (!particle.links || particle.links.length <= 0) {\n return;\n }\n context.save();\n const p1Links = particle.links.filter((l) => pOptions.links &&\n container.particles.getLinkFrequency(particle, l.destination) <= pOptions.links.frequency);\n for (const link of p1Links) {\n this.drawTriangles(container, 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 context.restore();\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(container, options, p1, link, p1Links) {\n var _a, _b, _c;\n const p2 = link.destination, particles = container.particles;\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 = container.particles.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 = particles.getTriangleFrequency(p1, p2, p3);\n if (triangleFreq > options.links.triangles.frequency) {\n continue;\n }\n this.drawLinkTriangle(p1, link, vertex);\n }\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","export class PolygonDrawerBase {\n draw(context, particle, radius) {\n const start = this.getCenter(particle, radius);\n const side = this.getSidesData(particle, radius);\n const sideCount = side.count.numerator * side.count.denominator;\n const decimalSides = side.count.numerator / side.count.denominator;\n const interiorAngleDegrees = (180 * (decimalSides - 2)) / decimalSides;\n const 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;\n return (_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 }\n}\n","import { PolygonDrawerBase } from \"./PolygonDrawerBase\";\nexport class PolygonDrawer extends PolygonDrawerBase {\n getCenter(particle, radius) {\n const sides = this.getSidesCount(particle);\n return {\n x: -radius / (sides / 3.5),\n y: -radius / (2.66 / 3.5),\n };\n }\n getSidesData(particle, radius) {\n var _a, _b;\n const polygon = particle.shapeData;\n const sides = (_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 {\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 } 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 0:\n if (particle.size.value >= maxValue) {\n particle.size.status = 1;\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 1:\n if (particle.size.value <= minValue) {\n particle.size.status = 0;\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() {\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 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\", drawer);\n await engine.addShape(\"square\", drawer);\n}\n","export class StarDrawer {\n draw(context, particle, radius) {\n var _a;\n const star = particle.shapeData, sides = this.getSidesCount(particle), inset = (_a = star === null || star === void 0 ? void 0 : star.inset) !== 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 (_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}\n","import { StarDrawer } from \"./StarDrawer\";\nexport async function loadStarShape(engine) {\n await engine.addShape(\"star\", new StarDrawer());\n}\n","import { getHslAnimationFromHsl, itemFromArray, randomInRange, rangeColorToHsl, } from \"tsparticles-engine\";\nfunction updateColorValue(delta, value, valueAnimation, max, decrease) {\n var _a, _b;\n const colorValue = value;\n if (!colorValue || !colorValue.enable) {\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 === 0) {\n colorValue.value += velocity;\n if (decrease && colorValue.value > max) {\n colorValue.status = 1;\n colorValue.value -= colorValue.value % max;\n }\n }\n else {\n colorValue.value -= velocity;\n if (colorValue.value < 0) {\n colorValue.status = 0;\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 var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (!((_a = particle.stroke) === null || _a === void 0 ? void 0 : _a.color)) {\n return;\n }\n const animationOptions = particle.stroke.color.animation, h = (_c = (_b = particle.strokeColor) === null || _b === void 0 ? void 0 : _b.h) !== null && _c !== void 0 ? _c : (_d = particle.color) === null || _d === void 0 ? void 0 : _d.h;\n if (h) {\n updateColorValue(delta, h, animationOptions.h, 360, false);\n }\n const s = (_f = (_e = particle.strokeColor) === null || _e === void 0 ? void 0 : _e.s) !== null && _f !== void 0 ? _f : (_g = particle.color) === null || _g === void 0 ? void 0 : _g.s;\n if (s) {\n updateColorValue(delta, s, animationOptions.s, 100, true);\n }\n const l = (_j = (_h = particle.strokeColor) === null || _h === void 0 ? void 0 : _h.l) !== null && _j !== void 0 ? _j : (_k = particle.color) === null || _k === void 0 ? void 0 : _k.l;\n if (l) {\n updateColorValue(delta, l, animationOptions.l, 100, true);\n }\n}\nexport class StrokeColorUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n var _a, _b;\n const container = this.container;\n particle.stroke =\n particle.options.stroke instanceof Array\n ? itemFromArray(particle.options.stroke, particle.id, particle.options.reduceDuplicates)\n : particle.options.stroke;\n particle.strokeWidth = particle.stroke.width * container.retina.pixelRatio;\n const strokeHslColor = (_a = rangeColorToHsl(particle.stroke.color)) !== null && _a !== void 0 ? _a : particle.getFillColor();\n if (strokeHslColor) {\n particle.strokeColor = getHslAnimationFromHsl(strokeHslColor, (_b = particle.stroke.color) === null || _b === void 0 ? void 0 : _b.animation, container.retina.reduceFactor);\n }\n }\n isEnabled(particle) {\n var _a, _b, _c, _d;\n const color = (_a = particle.stroke) === null || _a === void 0 ? void 0 : _a.color;\n return (!particle.destroyed &&\n !particle.spawning &&\n !!color &&\n ((((_b = particle.strokeColor) === null || _b === void 0 ? void 0 : _b.h.value) !== undefined && color.animation.h.enable) ||\n (((_c = particle.strokeColor) === null || _c === void 0 ? void 0 : _c.s.value) !== undefined && color.animation.s.enable) ||\n (((_d = particle.strokeColor) === null || _d === void 0 ? void 0 : _d.l.value) !== undefined && color.animation.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 { isInArray, itemFromArray, 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 =\n textData instanceof Array ? itemFromArray(textData, particle.randomIndexData) : textData;\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);\n if (shapeOptions instanceof Array) {\n const promises = [];\n for (const character of shapeOptions) {\n const charShape = character;\n promises.push(loadFont(charShape.font, charShape.weight));\n }\n await Promise.allSettled(promises);\n }\n else {\n if (shapeOptions !== undefined) {\n const charShape = shapeOptions;\n await loadFont(charShape.font, charShape.weight);\n }\n }\n }\n }\n}\n","import { TextDrawer, validTypes } from \"./TextDrawer\";\nexport async function loadTextShape(engine) {\n const drawer = new TextDrawer();\n for (const type of validTypes) {\n await engine.addShape(type, drawer);\n }\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 { 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 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 0:\n particle.tilt.value += speed;\n if (particle.tilt.value > max) {\n particle.tilt.value -= max;\n }\n break;\n case 1:\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 = 1;\n break;\n case \"clockwise\":\n particle.tilt.status = 0;\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 { loadEmittersPlugin } from \"tsparticles-plugin-emitters\";\nimport { loadExternalTrailInteraction } from \"tsparticles-interaction-external-trail\";\nimport { loadPolygonMaskPlugin } from \"tsparticles-plugin-polygon-mask\";\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 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 await loadPolygonMaskPlugin(engine);\n}\n","import './styles/footer.scss'\r\nimport React from 'react';\r\nimport { useState } from 'react';\r\n\r\nfunction Footer() {\r\n\r\n const [email,setEmail] = useState(\"\")\r\n\r\n return(\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n setEmail(e.target.value)}/>\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \"ESRB\r\n \"Nippon\r\n \r\n \"NIS\r\n \r\n
\r\n

\r\n ©2020-2023 Nippon Ichi Software, Inc. ©2020-2023 NIS America, Inc. All rights reserved.\r\n

\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Footer;","import Particles from \"react-tsparticles\";\r\nimport { loadFull } from \"tsparticles\";\r\nimport Footer from \"./Footer\";\r\nimport './styles/app.scss'\r\n\r\nfunction App() {\r\n\r\n const particlesInit = async (main) => {\r\n console.log(main);\r\n await loadFull(main);\r\n};\r\n\r\nconst particleSettings = {\r\n particles: {\r\n number: {\r\n value: 20,\r\n density: {\r\n enable: true,\r\n area: 800\r\n }\r\n },\r\n color: {\r\n value: [\"#34a102\", \"#00b4ba\"]\r\n },\r\n shape: {\r\n type: \"circle\",\r\n stroke: {\r\n width: 0,\r\n color: \"#b6b2b2\"\r\n } \r\n },\r\n shadow: {\r\n blur: 10,\r\n enable: true,\r\n color: {\r\n value: [\"#34a102\", \"#00b4ba\"]\r\n }\r\n },\r\n opacity: {\r\n value: 0.5211089197812949,\r\n random: false,\r\n animation: {\r\n enable: true,\r\n speed: 1,\r\n minimumValue: 0.1,\r\n sync: false\r\n }\r\n },\r\n size: {\r\n value: 8.017060304327615,\r\n random: true,\r\n animation: {\r\n enable: true,\r\n speed: 12.181158184520175,\r\n minimumValue: 0.1,\r\n sync: false\r\n }\r\n },\r\n lineLinked: {\r\n enable: false,\r\n distance: 0,\r\n color: \"#c8c8c8\",\r\n opacity: 0.4,\r\n width: 1\r\n },\r\n move: {\r\n enable: true,\r\n speed: 1,\r\n direction: \"none\",\r\n random: false,\r\n straight: false,\r\n outMode: \"bounce\",\r\n bounce: false,\r\n attract: {\r\n enable: false,\r\n rotateX: 600,\r\n rotateY: 1200\r\n }\r\n }\r\n },\r\n interactivity: {\r\n detectOn: \"canvas\",\r\n events: {\r\n onHover: {\r\n enable: true,\r\n mode: \"connect\"\r\n },\r\n onClick: {\r\n enable: false,\r\n mode: \"push\"\r\n },\r\n resize: true\r\n },\r\n modes: {\r\n grab: {\r\n distance: 400,\r\n lineLinked: {\r\n opacity: 1\r\n }\r\n },\r\n bubble: {\r\n distance: 400,\r\n size: 40,\r\n duration: 2,\r\n opacity: 8,\r\n speed: 3\r\n },\r\n connect: {},\r\n repulse: {\r\n distance: 200,\r\n duration: 0.4\r\n },\r\n push: {\r\n particles_nb: 4\r\n },\r\n remove: {\r\n particles_nb: 2\r\n }\r\n }\r\n },\r\n detectRetina: true\r\n }\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

\r\n \r\n VOID TERRARIUM \r\n \r\n
\r\n \r\n PORTAL WEBSITE\r\n \r\n

\r\n
\r\n
\r\n \"Void\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"Void\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"Void\r\n
\r\n
\r\n \r\n \"sprout\"\r\n
\r\n
\r\n
\r\n \"glass\"\r\n \"glass\"\r\n \"glass\"\r\n
\r\n
\r\n \"glass\"\r\n \"glass\"\r\n \"glass\"\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';\nimport ReactDOM from 'react-dom/client';\nimport App from './App';\nimport './styles/index.scss'\n\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render(\n \n \n \n);\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","SVGPathSeg","typeAsLetter","owningPathSegList","pathSegType","pathSegTypeAsLetter","_owningPathSegList","classname","PATHSEG_UNKNOWN","PATHSEG_CLOSEPATH","PATHSEG_MOVETO_ABS","PATHSEG_MOVETO_REL","PATHSEG_LINETO_ABS","PATHSEG_LINETO_REL","PATHSEG_CURVETO_CUBIC_ABS","PATHSEG_CURVETO_CUBIC_REL","PATHSEG_CURVETO_QUADRATIC_ABS","PATHSEG_CURVETO_QUADRATIC_REL","PATHSEG_ARC_ABS","PATHSEG_ARC_REL","PATHSEG_LINETO_HORIZONTAL_ABS","PATHSEG_LINETO_HORIZONTAL_REL","PATHSEG_LINETO_VERTICAL_ABS","PATHSEG_LINETO_VERTICAL_REL","PATHSEG_CURVETO_CUBIC_SMOOTH_ABS","PATHSEG_CURVETO_CUBIC_SMOOTH_REL","PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS","PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL","_segmentChanged","segmentChanged","SVGPathSegClosePath","_asPathString","clone","undefined","SVGPathSegMovetoAbs","_x","_y","SVGPathSegMovetoRel","SVGPathSegLinetoAbs","SVGPathSegLinetoRel","SVGPathSegCurvetoCubicAbs","x1","y1","x2","y2","_x1","_y1","_x2","_y2","SVGPathSegCurvetoCubicRel","SVGPathSegCurvetoQuadraticAbs","SVGPathSegCurvetoQuadraticRel","SVGPathSegArcAbs","r1","r2","angle","largeArcFlag","sweepFlag","_r1","_r2","_angle","_largeArcFlag","_sweepFlag","SVGPathSegArcRel","SVGPathSegLinetoHorizontalAbs","SVGPathSegLinetoHorizontalRel","SVGPathSegLinetoVerticalAbs","SVGPathSegLinetoVerticalRel","SVGPathSegCurvetoCubicSmoothAbs","SVGPathSegCurvetoCubicSmoothRel","SVGPathSegCurvetoQuadraticSmoothAbs","SVGPathSegCurvetoQuadraticSmoothRel","SVGPathElement","createSVGPathSegClosePath","createSVGPathSegMovetoAbs","createSVGPathSegMovetoRel","createSVGPathSegLinetoAbs","createSVGPathSegLinetoRel","createSVGPathSegCurvetoCubicAbs","createSVGPathSegCurvetoCubicRel","createSVGPathSegCurvetoQuadraticAbs","createSVGPathSegCurvetoQuadraticRel","createSVGPathSegArcAbs","createSVGPathSegArcRel","createSVGPathSegLinetoHorizontalAbs","createSVGPathSegLinetoHorizontalRel","createSVGPathSegLinetoVerticalAbs","createSVGPathSegLinetoVerticalRel","createSVGPathSegCurvetoCubicSmoothAbs","createSVGPathSegCurvetoCubicSmoothRel","createSVGPathSegCurvetoQuadraticSmoothAbs","createSVGPathSegCurvetoQuadraticSmoothRel","getPathSegAtLength","distance","isFinite","measurementElement","getAttribute","lastPathSegment","pathSegList","numberOfItems","removeItem","getTotalLength","SVGPathSegList","pathElement","_pathElement","_list","_parsePath","_mutationObserverConfig","attributes","attributeFilter","_pathElementMutationObserver","MutationObserver","_updateListFromPathMutations","observe","_checkPathSynchronizedToList","_pathSegList","takeRecords","mutationRecords","hasPathMutations","record","_writeListToPath","disconnect","_pathSegArrayAsString","pathSeg","clear","initialize","newItem","_checkValidIndex","getItem","insertItemBefore","replaceItem","item","appendItem","pathSegArray","string","first","Builder","appendSegment","Source","_string","_currentIndex","_endIndex","_previousCommand","_skipOptionalSpaces","_isCurrentSpace","character","_skipOptionalSpacesOrDelimiter","hasMoreData","peekSegmentType","lookahead","_pathSegTypeFromChar","_nextCommandHelper","previousCommand","initialCommandIsMoveTo","command","_parseNumber","exponent","integer","frac","decimal","sign","expsign","startIndex","startIntPartIndex","scanIntPartIndex","multiplier","pow","_parseArcFlag","flag","flagChar","parseSegment","points","arcAngle","arcLarge","arcSweep","builder","warn","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","o","obj","prop","_typeof","_regeneratorRuntime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","writable","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","method","arg","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","tryCatch","fn","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","reject","result","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","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","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","_defineProperties","descriptor","_createClass","protoProps","staticProps","_getPrototypeOf","_superPropBase","property","_get","receiver","desc","_setPrototypeOf","_inherits","subClass","superClass","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_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","__classPrivateFieldSet","kind","__classPrivateFieldGet","EventDispatcher","_a","handler","idx","_slicedToArray","_i","_s","_arr","_n","_d","Vector","xOrCoords","atan2","updateFromAngle","sqrt","getLengthSq","sub","abs","cos","sin","_random","getRandom","clamp","num","max","mix","comp1","comp2","weight1","weight2","randomInRange","getRangeMax","getRangeMin","getRangeValue","setRangeValue","enable","minimumValue","getDistances","pointA","pointB","dx","dy","getDistance","collisionVelocity","v1","v2","m1","m2","calcEasing","PI","c1","calcPositionFromSize","_b","position","calcPositionOrRandomFromSize","_c","calcPositionOrRandomFromSizeRanged","calcExactPositionOrRandomFromSize","parseAlpha","endsWith","parseFloat","rectSideBounce","pSide","pOtherSide","rectSide","rectOtherSide","velocity","factor","res","bounced","checkSelector","selectors","matches","selector","isSsr","isInArray","array","loadFont","font","weight","fonts","load","arrayRandomIndex","itemFromArray","useIndex","fixedIndex","isPointInside","point","radius","direction","bounds","inside","right","bottom","areBoundsInside","calculateBounds","deepExtend","destination","sources","sourceIsArray","isObject","destDict","isDivModeEnabled","divs","find","divModeExecute","div","divMode","singleDivModeExecute","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","randomColorValue","colorManagers","addColorManager","manager","hue2rgb","stringToRgba","startsWith","stringPrefix","parseString","hexFixed","_","exec","parseInt","rangeColorToRgb","colorToRgb","handleRangeColor","getRandomRgbColor","stringToRgb","handleColor","rangeColorToHsl","rgb","rgbToHsl","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","sync","drawLine","begin","beginPath","moveTo","lineTo","closePath","dimension","clearRect","_Canvas_colorPlugins","_Canvas_context","_Canvas_postDrawUpdaters","_Canvas_preDrawUpdaters","_Canvas_resizePlugins","generatedAttribute","touchEndEvent","mouseMoveEvent","mouseLeaveEvent","noPolygonDataLoaded","setTransformValue","newFactor","newValue","Canvas","container","generatedCanvas","actualOptions","trail","particles","move","backgroundMask","paint","trailFillColor","paintBase","draw","ctx","remove","resetOriginalStyle","delta","spawning","destroyed","pfColor","psColor","getPluginParticleColors","fColor","sColor","zIndexOptions","zOpacityFactor","zIndexFactor","opacityRate","bubble","zOpacity","zStrokeOpacity","stroke","transform","colorStyles","fill","applyPreDrawUpdaters","_f","_g","_h","_j","_k","composite","shadow","pos","save","setTransform","translate","rotation","path","globalCompositeOperation","shadowColor","shadowBlur","blur","shadowOffsetX","shadowOffsetY","fillStyle","lineWidth","strokeStyle","shape","drawer","drawers","retina","pixelRatio","drawShape","close","restore","afterEffect","drawShapeAfterEffect","drawParticle","sizeRate","applyPostDrawUpdaters","plugin","drawParticlePlugin","drawPlugin","resize","initStyle","initCover","initTrail","initBackground","initUpdaters","initPlugins","background","elementStyle","backgroundColor","backgroundImage","image","backgroundPosition","backgroundRepeat","backgroundSize","plugins","particleFillColor","particleStrokeColor","updaters","afterDraw","getColorStyles","getTransformValues","beforeDraw","canvas","originalStyle","offsetHeight","offsetWidth","getContext","init","cover","coverColorStyle","pxRatio","newSize","oldSize","started","resizeFactor","needsRefresh","updateActualOptions","setDensity","applyResizePlugins","refresh","updaterTransform","coverRgb","coverColor","fullScreen","fillColor","baseColor","fillRect","manageListener","addOptions","removeOptions","_Modes_container","_Modes_engine","EventListeners","canPush","mouseMoveHandler","mouseTouchMove","touchStartHandler","touchMoveHandler","touchEndHandler","mouseTouchFinish","mouseLeaveHandler","touchCancelHandler","touchEndClickHandler","mouseTouchClick","mouseUpHandler","mouseDownHandler","mouseDown","visibilityChangeHandler","handleVisibilityChange","themeChangeHandler","handleThemeChange","oldThemeChangeHandler","resizeHandler","handleWindowResize","manageListeners","mousePos","interactivity","mouse","clickPosition","clickTime","getTime","events","handleClickMode","themeName","defaultDarkTheme","defaultLightTheme","theme","themes","auto","loadTheme","pauseOnBlur","hidden","pageHidden","pause","getAnimationStatus","play","resizeTimeout","windowResize","detectType","detectsOn","mouseLeaveTmpEvent","canvasEl","parentElement","mediaMatch","matchMedia","addListener","removeListener","interactivityEl","html","onHover","pointerEvents","ResizeObserver","resizeObserver","unobserve","entries","clicking","downPosition","handled","mousePosition","clickPositionValid","doMouseTouchClick","mouseEvent","clientRect","getBoundingClientRect","sourceRect","targetRect","canvasRect","offsetX","offsetY","touchEvent","lastTouch","FrameManager","timestamp","lastFrameTime","fpsLimit","deltaValue","lifeTime","duration","OptionsColor","Background","BackgroundMaskCover","BackgroundMask","FullScreen","ClickEvent","DivEvent","elementId","ids","Parallax","force","smooth","HoverEvent","parallax","onDiv","ondiv","tmp","onhover","Slow","Modes","engine","slow","interactors","interactor","loadModeOptions","_Interactivity_container","_Interactivity_engine","Interactivity","modes","detect_on","_ParticlesOptions_container","_ParticlesOptions_engine","ManualParticle","MotionReduce","Motion","disable","reduce","Responsive","maxWidth","ThemeDefault","Theme","ColorAnimation","HslAnimation","AnimatableColor","CollisionsOverlap","retries","Random","ValueWithRandom","ParticlesBounceFactor","ParticlesBounce","Collisions","overlap","SplitFactor","SplitRate","Split","rate","sizeOffset","Destroy","MoveAngle","MoveAttract","rotateX","rotateY","MoveGravity","acceleration","inverse","maxSpeed","MovePathDelay","MovePath","MoveTrail","OutModes","Spin","Move","attract","center","drift","gravity","outModes","spin","straight","vibrate","warp","collisions","outMode","out_mode","noise","AnimationOptions","OpacityAnimation","startValue","opacity_min","Opacity","anim","ParticlesDensity","value_area","ParticlesNumber","density","limit","RotateAnimation","Rotate","Shadow","Shape","_value","custom","loadShape","polygon","images","mainKey","altOverride","emptyValue","mainDifferentValues","altDifferentValues","SizeAnimation","size_min","Size","Stroke","ZIndex","velocityRate","ParticlesOptions","groups","reduceDuplicates","group","strokeToLoad","loadOptions","loadParticlesOptions","sourceOptionsArr","sourceOptions","_Options_instances","_Options_container","_Options_engine","_Options_findDefaultTheme","Options","autoPlay","detectRetina","manualParticles","motion","pauseOnOutsideViewport","responsive","zLayers","preset","importPreset","retina_detect","fps_limit","backgroundMode","optResponsive","sort","optTheme","defaultOptions","responsiveOptions","screen","availWidth","chosenTheme","clientDarkMode","defaultTheme","getPreset","_InteractionManager_engine","_InteractionManager_interactors","InteractionManager","getInteractors","externalInteractors","particleInteractors","isEnabled","interact","_Particle_engine","Vector3d","v3d","fixOutMode","checkModes","coord","maxCoord","setCb","Particle","overrideOptions","lastPathTime","unbreakable","splitCount","misplaced","maxDistance","outType","ignoresResizeRatio","mainOptions","particlesOptions","shapeType","overrideShapeType","shapeOptions","shapeData","loadShapeData","pathOptions","pathDelay","pathGenerator","getPathGenerator","addPath","zIndexValue","initParticle","sizeOptions","sizeRange","sizeAnimation","loops","maxLoops","sizeAnimationSpeed","inRange","calcPosition","initialPosition","copy","canvasSize","moveCenterPerc","moveCenter","getParticleDirectionAngle","initialVelocity","calculateVelocity","moveDecay","origin","needsSort","lastZIndex","sides","getShapeDrawer","sideCountFunc","getSidesCount","movers","mover","particleInit","particleCreated","override","particleDestroyed","roll","backColor","alter","backFactor","backSum","alterHsl","strokeColor","isInsideCanvas","tryCount","pluginPos","particlePosition","exactPosition","fixHorizontal","fixVertical","checkOverlap","baseVelocity","getParticleBaseVelocity","moveOptions","rad","radOffset","collisionsOptions","overlapOptions","overlaps","splitOptions","particlesSplitOptions","addSplitParticle","_Particles_engine","Point","Range","Circle","rect","circle","pos1","pos2","edges","Rectangle","intersects","w2","h2","CircleWarp","posNE","posSE","posSW","newPos","biggerCircle","rectSW","QuadTree","rectangle","capacity","divided","subdivide","northEast","insert","northWest","southEast","southWest","check","found","query","containerOrSize","Particles","nextId","zArray","freqs","links","triangles","interactionManager","quadTree","getMovers","getUpdaters","addParticle","countToRemove","removeQuantity","pushParticle","parent","splitParticlesOptions","update","p3","id1","id2","id3","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","initializer","canAdd","_Container_engine","_Container_eventListeners","_Container_intersectionObserver","_Container_options","_Container_sourceOptions","Retina","devicePixelRatio","motionOptions","mediaQuery","handleMotionChange","handleChange","ratio","attractDistance","slowModeRadius","moveDistance","moveDrift","moveSpeed","guardCheck","loadContainerOptions","defaultPathGenerator","generate","Container","firstStart","paused","_initialSourceOptions","frameManager","IntersectionObserver","intersectionManager","clickOrTouchHandler","posRetina","queryCircle","touched","touchMoved","radiusX","radiusY","mainArr","dom","findIndex","refreshTime","drawAnimationFrame","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","nextFrame","quality","toBlob","exportImage","shapes","getSupportedShapes","availablePlugins","getAvailablePlugins","initAsync","particlesSetup","currentTheme","cancelAnimationFrame","webkitCancelRequestAnimationFrame","mozCancelRequestAnimationFrame","oCancelRequestAnimationFrame","msCancelRequestAnimationFrame","needsUpdate","noiseOrGenerator","setPath","pathOrGenerator","oldGenerator","addListeners","HTMLElement","startAsync","removeListeners","newMaxWidth","setResponsive","setTheme","responsiveMaxWidth","isIntersecting","_Loader_engine","fetchError","statusCode","getDataFromUrl","jsonUrl","fetch","response","json","Loader","tagId","params","remote","loadRemoteOptions","domContainer","getElementById","querySelector","append","currentOptions","oldIndex","old","domItem","existingCanvases","getElementsByTagName","loadCanvas","newIndex","newId","_toConsumableArray","_Plugins_engine","Plugins","interactorsInitializers","moversInitializers","updatersInitializers","presets","initInteractor","initMover","initUpdater","getPlugin","presetKey","needsPlugin","_Engine_domArray","_Engine_eventDispatcher","_Engine_initialized","_Engine_loader","Engine","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","className","canvasClassName","React","loaded","AbsorberSizeLimit","AbsorberSize","Absorber","draggable","orbits","AbsorberInstance","absorbers","dragging","sizeFactor","absorberOrbit","needsNewPosition","updateParticlePosition","arc","newPosition","setTo","minSize","absorberOrbitDirection","orbitRadius","orbitAngle","orbitDirection","updateFunc","addV","addTo","Absorbers","interactivityAbsorbers","getAbsorber","idxOrName","addAbsorber","absorber","absorberOptions","modeAbsorbers","absorbersModeOptions","absorbersOptions","aPosition","AbsorbersPlugin","optionsCast","loadAbsorbersPlugin","_EmitterInstance_engine","_EmitterInstance_firstSpawn","_EmitterInstance_startParticlesAdded","CircleShape","theta","randomTheta","atan","tan","generateTheta","maxRadius","randomRadius","EmitterLife","wait","EmitterRate","EmitterSize","Emitter","life","startCount","domId","spawnColor","EmitterInstance","emitters","currentDuration","currentEmitDelay","currentSpawnDelay","spawnDelay","emitterShapeManager","getShape","lifeCount","immortal","emitter","elRect","emitDelay","prepareToDie","emitParticles","emit","removeEmitter","getSize","singleParticlesOptions","hslAnimation","pPosition","randomPosition","initValue","maxValue","colorOffset","emitFactor","_Emitters_engine","Emitters","interactivityEmitters","getEmitter","addEmitter","playEmitter","externalPlay","pauseEmitter","externalPause","emitterOptions","modeEmitters","emittersModeOptions","usedIndexes","emittersOptions","ePosition","emitterMode","_ShapeManager_engine","ShapeManager","randomSquareCoordinate","_EmittersPlugin_engine","SquareShape","halfW","halfH","side","EmittersPlugin","loadEmittersPlugin","addEmitterShape","addShape","_TrailMaker_container","Trail","pauseOnStop","TrailMaker","trailOptions","optDelay","canEmit","lastPosition","loadExternalTrailInteraction","PolygonMaskDrawStroke","stringToAlpha","PolygonMaskDraw","lineColor","PolygonMaskInline","arrangement","PolygonMaskLocalSvg","PolygonMaskMove","PolygonMask","inline","scale","drawPolygonMask","rawData","drawPolygonMaskPath","calcClosestPtOnSegment","s1","s2","dxx","dyy","isOnSegment","segmentBounce","wallAngle","wallNormal","multTo","subFrom","_PolygonMaskInstance_engine","PolygonMaskInstance","path2DSupported","Path2D","polygonMaskMoveRadius","checkInsidePolygon","paths","polygonDraw","raw","path2d","path2dSupported","polygonMaskOptions","initRawData","polygonBounce","randomPoint","drawPoints","redrawTimeout","redraw","pathData","matrix","createSVGMatrix","finalPath","svgUrl","forceDownload","req","parseSvgPath","totalLength","tot","pathDistance","getPointAtLength","coords","downloadSvgPath","svg","createPath2D","xml","doc","DOMParser","parseFromString","svgPaths","segments","segment","svgPathSeg","absSeg","relSeg","parsePaths","_delta","closest","dist","mult","getRandomPoint","getRandomPointByLength","getEquidistantPointByIndex","getPointByIndex","_PolygonMaskPlugin_engine","PolygonMaskPlugin","polygonOptions","loadPolygonMaskPlugin","RollLight","Roll","darken","enlighten","RollUpdater","rollHorizontal","rollVertical","rollOpt","alterType","updateRoll","loadRollUpdater","initPjs","particlesJS","setOnClickHandler","pJSDom","AngleUpdater","rotateOptions","rotateDirection","rotateAnimation","updateAngle","loadAngleUpdater","BaseMover","gravityOptions","spinOptions","spinPos","spinCenter","spinAcceleration","particleOptions","slowFactor","getProximitySpeedFactor","baseSpeed","maxSize","applyPath","gravityFactor","zVelocityFactor","maxCanvasSize","dxFixed","dyFixed","hDistance","vDistance","vel","applyDistance","loadBaseMover","addMover","CircleDrawer","loadCircleShape","updateColorValue","valueAnimation","decrease","ColorUpdater","updateColor","loadColorUpdater","_Attractor_container","Attract","easing","Attractor","attractModeDistance","mouseMoveStatus","hoverEnabled","hoverMode","clickEnabled","clickMode","hoverAttract","clickAttract","attractRadius","processAttract","attractOptions","attractFactor","normVec","loadExternalAttractInteraction","_Bouncer_container","Bounce","Bouncer","bounceModeDistance","processMouseBounce","singleSelectorBounce","tolerance","processBounce","elem","offsetLeft","offsetTop","loadExternalBounceInteraction","_Bubbler_container","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","_Connector_container","ConnectLinks","Connect","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","_Grabber_container","GrabLinks","Grab","drawGrab","beginPos","colorLine","drawGrabLine","Grabber","grab","grabModeDistance","grabLineOptions","lineOpacity","opacityLine","grabLineColor","linksOptions","loadExternalGrabInteraction","Pauser","loadExternalPauseInteraction","_Pusher_container","Push","particles_nb","Pusher","pushOptions","pushNb","loadExternalPushInteraction","_Remover_container","Remove","Remover","removeNb","loadExternalRemoveInteraction","_Repulser_container","RepulseBase","RepulseDiv","Repulse","Repulser","repulse","repulseModeDistance","hoverRepulse","clickRepulse","singleSelectorRepulse","divRepulse","repulseDistance","vect","processRepulse","repulseOptions","repulseFactor","loadExternalRepulseInteraction","currentColorRegex","loadImage","loading","Image","downloadSvgImage","svgData","replaceImageColor","imageData","svgColoredData","imageShape","colorStyle","preFillIndex","replaceColorSvg","imageRes","replaceColor","replace_color","Blob","domUrl","URL","webkitURL","createObjectURL","revokeObjectURL","img2","_ImageDrawer_images","ImageDrawer","containerImages","getImages","globalAlpha","drawImage","loadImageShape","addImage","imageFunc","imageDrawer","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","sizeValue","nextBounds","OutOfCanvasUpdater","updateOutMode","loadOutModesUpdater","ParallaxMover","parallaxForce","canvasCenter","parallaxSmooth","centerDistance","loadParallaxMover","ax","ay","p1Factor","p2Factor","loadParticlesAttractInteraction","resolveCollision","fps","absorb","Collider","radius1","radius2","round","loadParticlesCollisionsInteraction","LinksShadow","LinksTriangle","frequency","Links","getLinkDistance","optDistance","Linker","linkContainer","linksColors","linkOpt1","linksDistance","linkOpt2","setColor","linksColor","loadInteraction","LinkInstance","pOptions","p1Links","getLinkFrequency","drawTriangles","drawLinkLine","twinkle","lines","twinkleFreq","twinkleRgb","drawn","pi1","pi2","d1","d2","d3","link1","link2","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","star","inset","loadStarShape","StrokeColorUpdater","strokeHslColor","updateStrokeColor","loadStrokeColorUpdater","validTypes","TextDrawer","textData","textParticle","randomIndexData","fillText","strokeText","promises","charShape","allSettled","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","setEmail","rel","alt","noValidate","placeHolder","required","onChange","tabindex","particlesInit","main","animationDelay","detectOn","ReactDOM"],"sourceRoot":""}