{"version":3,"file":"static/js/main.731bc5fb.js","mappings":"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","sources":["../node_modules/@arwes/animation/lib/AnimatorContext/AnimatorContext.js","../node_modules/@arwes/animation/lib/AnimatorContext/index.js","../node_modules/@arwes/animation/lib/AnimatorGeneralContext/AnimatorGeneralContext.js","../node_modules/@arwes/animation/lib/AnimatorGeneralContext/index.js","../node_modules/@arwes/animation/lib/AnimatorGeneralProvider/AnimatorGeneralProvider.component.js","../node_modules/@arwes/animation/lib/AnimatorGeneralProvider/index.js","../node_modules/@arwes/animation/lib/Animator/Animator.component.js","../node_modules/@arwes/animation/lib/Animator/index.js","../node_modules/@arwes/animation/lib/constants.js","../node_modules/@arwes/animation/lib/extendAnimator/extendAnimator.js","../node_modules/@arwes/animation/lib/extendAnimator/index.js","../node_modules/@arwes/animation/lib/index.js","../node_modules/@arwes/animation/lib/useAnimatorGeneral/index.js","../node_modules/@arwes/animation/lib/useAnimatorGeneral/useAnimatorGeneral.js","../node_modules/@arwes/animation/lib/useAnimator/index.js","../node_modules/@arwes/animation/lib/useAnimator/useAnimator.js","../node_modules/@arwes/animation/lib/utils/filterClassAnimatorSettings/filterClassAnimatorSettings.js","../node_modules/@arwes/animation/lib/utils/filterClassAnimatorSettings/index.js","../node_modules/@arwes/animation/lib/utils/getChildrenNodesSequenceActivationTimes/getChildrenNodesSequenceActivationTimes.js","../node_modules/@arwes/animation/lib/utils/getChildrenNodesSequenceActivationTimes/index.js","../node_modules/@arwes/animation/lib/utils/getChildrenNodesStaggerActivationTimes/getChildrenNodesStaggerActivationTimes.js","../node_modules/@arwes/animation/lib/utils/getChildrenNodesStaggerActivationTimes/index.js","../node_modules/@arwes/animation/lib/utils/makeScheduler/index.js","../node_modules/@arwes/animation/lib/utils/makeScheduler/makeScheduler.js","../node_modules/@arwes/animation/lib/utils/mergeClassAndInstanceAnimatorSettings/index.js","../node_modules/@arwes/animation/lib/utils/mergeClassAndInstanceAnimatorSettings/mergeClassAndInstanceAnimatorSettings.js","../node_modules/@arwes/animation/lib/withAnimator/index.js","../node_modules/@arwes/animation/lib/withAnimator/withAnimator.js","../node_modules/@arwes/core/lib/ArwesThemeProvider/ArwesThemeProvider.component.js","../node_modules/@arwes/core/lib/ArwesThemeProvider/index.js","../node_modules/@arwes/core/lib/Blockquote/Blockquote.component.js","../node_modules/@arwes/core/lib/Blockquote/Blockquote.styles.js","../node_modules/@arwes/core/lib/Blockquote/index.js","../node_modules/@arwes/core/lib/Button/Button.component.js","../node_modules/@arwes/core/lib/Button/Button.styles.js","../node_modules/@arwes/core/lib/Button/index.js","../node_modules/@arwes/core/lib/Card/Card.animator.js","../node_modules/@arwes/core/lib/Card/Card.component.js","../node_modules/@arwes/core/lib/Card/Card.styles.js","../node_modules/@arwes/core/lib/Card/index.js","../node_modules/@arwes/core/lib/CodeBlock/CodeBlock.animator.js","../node_modules/@arwes/core/lib/CodeBlock/CodeBlock.component.js","../node_modules/@arwes/core/lib/CodeBlock/CodeBlock.styles.js","../node_modules/@arwes/core/lib/CodeBlock/index.js","../node_modules/@arwes/core/lib/Figure/Figure.animator.js","../node_modules/@arwes/core/lib/Figure/Figure.component.js","../node_modules/@arwes/core/lib/Figure/Figure.styles.js","../node_modules/@arwes/core/lib/Figure/index.js","../node_modules/@arwes/core/lib/FrameBox/FrameBox.component.js","../node_modules/@arwes/core/lib/FrameBox/index.js","../node_modules/@arwes/core/lib/FrameCorners/FrameCorners.component.js","../node_modules/@arwes/core/lib/FrameCorners/index.js","../node_modules/@arwes/core/lib/FrameHexagon/FrameHexagon.component.js","../node_modules/@arwes/core/lib/FrameHexagon/index.js","../node_modules/@arwes/core/lib/FrameLines/FrameLines.component.js","../node_modules/@arwes/core/lib/FrameLines/index.js","../node_modules/@arwes/core/lib/FramePentagon/FramePentagon.component.js","../node_modules/@arwes/core/lib/FramePentagon/index.js","../node_modules/@arwes/core/lib/FrameUnderline/FrameUnderline.component.js","../node_modules/@arwes/core/lib/FrameUnderline/index.js","../node_modules/@arwes/core/lib/List/List.animator.js","../node_modules/@arwes/core/lib/List/List.component.js","../node_modules/@arwes/core/lib/List/List.styles.js","../node_modules/@arwes/core/lib/List/index.js","../node_modules/@arwes/core/lib/LoadingBars/LoadingBars.animator.js","../node_modules/@arwes/core/lib/LoadingBars/LoadingBars.component.js","../node_modules/@arwes/core/lib/LoadingBars/LoadingBars.effects.js","../node_modules/@arwes/core/lib/LoadingBars/LoadingBars.styles.js","../node_modules/@arwes/core/lib/LoadingBars/index.js","../node_modules/@arwes/core/lib/StylesBaseline/StylesBaseline.component.js","../node_modules/@arwes/core/lib/StylesBaseline/StylesBaseline.styles.js","../node_modules/@arwes/core/lib/StylesBaseline/index.js","../node_modules/@arwes/core/lib/Table/Table.animator.js","../node_modules/@arwes/core/lib/Table/Table.component.js","../node_modules/@arwes/core/lib/Table/Table.styles.js","../node_modules/@arwes/core/lib/Table/TableRow/TableRow.animator.js","../node_modules/@arwes/core/lib/Table/TableRow/TableRow.component.js","../node_modules/@arwes/core/lib/Table/TableRow/TableRow.styles.js","../node_modules/@arwes/core/lib/Table/TableRow/index.js","../node_modules/@arwes/core/lib/Table/index.js","../node_modules/@arwes/core/lib/Text/Text.animator.js","../node_modules/@arwes/core/lib/Text/Text.component.js","../node_modules/@arwes/core/lib/Text/Text.styles.js","../node_modules/@arwes/core/lib/Text/index.js","../node_modules/@arwes/core/lib/index.js","../node_modules/@arwes/core/lib/utils/Animated/Animated.component.js","../node_modules/@arwes/core/lib/utils/Animated/index.js","../node_modules/@arwes/core/lib/utils/Frame/Frame.component.js","../node_modules/@arwes/core/lib/utils/Frame/index.js","../node_modules/@arwes/core/lib/utils/appearTransitions/appearTransitions.js","../node_modules/@arwes/core/lib/utils/appearTransitions/index.js","../node_modules/@arwes/core/lib/utils/expandCSSBoxProp/expandCSSBoxProp.js","../node_modules/@arwes/core/lib/utils/expandCSSBoxProp/index.js","../node_modules/@arwes/core/lib/utils/loadImage/index.js","../node_modules/@arwes/core/lib/utils/loadImage/loadImage.js","../node_modules/@arwes/core/lib/utils/setTextNodesEnteringContentLength/index.js","../node_modules/@arwes/core/lib/utils/setTextNodesEnteringContentLength/setTextNodesEnteringContentLength.js","../node_modules/@arwes/core/lib/utils/setTextNodesExitingContentLength/index.js","../node_modules/@arwes/core/lib/utils/setTextNodesExitingContentLength/setTextNodesExitingContentLength.js","../node_modules/@arwes/core/lib/utils/textAnimations/index.js","../node_modules/@arwes/core/lib/utils/textAnimations/textAnimations.js","../node_modules/@arwes/core/lib/utils/useBleepsOnAnimator/index.js","../node_modules/@arwes/core/lib/utils/useBleepsOnAnimator/useBleepsOnAnimator.js","../node_modules/@arwes/core/lib/utils/walkTextNodes/index.js","../node_modules/@arwes/core/lib/utils/walkTextNodes/walkTextNodes.js","../node_modules/@arwes/design/lib/constants.js","../node_modules/@arwes/design/lib/createThemeFactorMultiplier/createThemeFactorMultiplier.js","../node_modules/@arwes/design/lib/createThemeFactorMultiplier/index.js","../node_modules/@arwes/design/lib/createThemePaletteBasic/createThemePaletteBasic.js","../node_modules/@arwes/design/lib/createThemePaletteBasic/index.js","../node_modules/@arwes/design/lib/createThemePaletteElevation/createThemePaletteElevation.js","../node_modules/@arwes/design/lib/createThemePaletteElevation/index.js","../node_modules/@arwes/design/lib/createTheme/createTheme.js","../node_modules/@arwes/design/lib/createTheme/createThemeBreakpoints.js","../node_modules/@arwes/design/lib/createTheme/createThemePalette.js","../node_modules/@arwes/design/lib/createTheme/getThemeSetup.js","../node_modules/@arwes/design/lib/createTheme/index.js","../node_modules/@arwes/design/lib/index.js","../node_modules/@arwes/design/lib/updateColorContrastLuminance/index.js","../node_modules/@arwes/design/lib/updateColorContrastLuminance/updateColorContrastLuminance.js","../node_modules/@arwes/sounds/lib/BleepsContext/BleepsContext.js","../node_modules/@arwes/sounds/lib/BleepsContext/index.js","../node_modules/@arwes/sounds/lib/BleepsProvider/BleepsProvider.component.js","../node_modules/@arwes/sounds/lib/BleepsProvider/index.js","../node_modules/@arwes/sounds/lib/constants.js","../node_modules/@arwes/sounds/lib/index.js","../node_modules/@arwes/sounds/lib/useBleepsSetup/index.js","../node_modules/@arwes/sounds/lib/useBleepsSetup/useBleepsSetup.js","../node_modules/@arwes/sounds/lib/useBleeps/index.js","../node_modules/@arwes/sounds/lib/useBleeps/useBleeps.js","../node_modules/@arwes/sounds/lib/utils/createBleep/createBleep.js","../node_modules/@arwes/sounds/lib/utils/createBleep/index.js","../node_modules/@arwes/sounds/lib/utils/createOrUpdateBleeps/createOrUpdateBleeps.js","../node_modules/@arwes/sounds/lib/utils/createOrUpdateBleeps/index.js","../node_modules/@arwes/sounds/lib/utils/unloadBleep/index.js","../node_modules/@arwes/sounds/lib/utils/unloadBleep/unloadBleep.js","../node_modules/@arwes/sounds/lib/utils/unloadBleeps/index.js","../node_modules/@arwes/sounds/lib/utils/unloadBleeps/unloadBleeps.js","../node_modules/@arwes/sounds/lib/utils/updateBleep/index.js","../node_modules/@arwes/sounds/lib/utils/updateBleep/updateBleep.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Prefixer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js","../node_modules/@emotion/css/dist/emotion-css.esm.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js","../node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-cbed451f.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@emotion/hash/dist/hash.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/animejs/lib/anime.es.js","../node_modules/fast-deep-equal/react.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/howler/dist/howler.js","../node_modules/object-assign/index.js","../node_modules/polished/lib/color/darken.js","../node_modules/polished/lib/color/getContrast.js","../node_modules/polished/lib/color/getLuminance.js","../node_modules/polished/lib/color/hsl.js","../node_modules/polished/lib/color/hsla.js","../node_modules/polished/lib/color/lighten.js","../node_modules/polished/lib/color/parseToHsl.js","../node_modules/polished/lib/color/parseToRgb.js","../node_modules/polished/lib/color/readableColor.js","../node_modules/polished/lib/color/rgb.js","../node_modules/polished/lib/color/rgba.js","../node_modules/polished/lib/color/toColorString.js","../node_modules/polished/lib/internalHelpers/_curry.js","../node_modules/polished/lib/internalHelpers/_errors.js","../node_modules/polished/lib/internalHelpers/_guard.js","../node_modules/polished/lib/internalHelpers/_hslToHex.js","../node_modules/polished/lib/internalHelpers/_hslToRgb.js","../node_modules/polished/lib/internalHelpers/_nameToHex.js","../node_modules/polished/lib/internalHelpers/_numberToHex.js","../node_modules/polished/lib/internalHelpers/_reduceHexValue.js","../node_modules/polished/lib/internalHelpers/_rgbToHsl.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-tsparticles/cjs/particles.js","../node_modules/react-tsparticles/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-engine/esm/Utils/EventDispatcher.js","../node_modules/tsparticles-engine/esm/Core/Utils/Vector.js","../node_modules/tsparticles-engine/esm/Utils/NumberUtils.js","../node_modules/tsparticles-engine/esm/Options/Classes/OptionsColor.js","../node_modules/tsparticles-engine/esm/Options/Classes/Options.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/Attract.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Bounce.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/BubbleBase.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/BubbleDiv.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Bubble.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/ConnectLinks.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Connect.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/GrabLinks.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Grab.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/LightGradient.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/LightArea.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/LightShadow.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Light.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Push.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Remove.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/RepulseBase.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/RepulseDiv.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Repulse.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Slow.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Trail.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Modes/Modes.js","../node_modules/tsparticles-engine/esm/Options/Classes/Interactivity/Interactivity.js","../node_modules/tsparticles-engine/esm/Options/Classes/ManualParticle.js","../node_modules/tsparticles-engine/esm/Options/Classes/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/AnimatableGradient.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/Life/LifeDelay.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Life/LifeDuration.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Life/Life.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Links/LinksShadow.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Links/LinksTriangle.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Links/Links.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/Orbit/OrbitRotation.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Orbit/Orbit.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/Repulse/ParticlesRepulse.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Roll/RollLight.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Roll/Roll.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/Tilt/TiltAnimation.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Tilt/Tilt.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Twinkle/TwinkleValues.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Twinkle/Twinkle.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/Wobble/Wobble.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/ZIndex/ZIndex.js","../node_modules/tsparticles-engine/esm/Options/Classes/Particles/ParticlesOptions.js","../node_modules/tsparticles-engine/esm/Utils/Utils.js","../node_modules/tsparticles-engine/esm/Core/Utils/Constants.js","../node_modules/tsparticles-engine/esm/Utils/ColorUtils.js","../node_modules/tsparticles-engine/esm/Utils/CanvasUtils.js","../node_modules/tsparticles-engine/esm/Core/Canvas.js","../node_modules/tsparticles-engine/esm/Core/Utils/EventListeners.js","../node_modules/tsparticles-engine/esm/Core/Utils/InteractionManager.js","../node_modules/tsparticles-engine/esm/Core/Utils/FrameManager.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/tsparticles-engine/esm/Core/Utils/Plugins.js","../node_modules/tsparticles-engine/esm/engine.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/@babel/runtime/helpers/esm/arrayLikeToArray.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/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.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/@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/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../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/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/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/Attractor.js","../node_modules/tsparticles-interaction-external-attract/esm/index.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/Bubbler.js","../node_modules/tsparticles-interaction-external-bubble/esm/index.js","../node_modules/tsparticles-interaction-external-connect/esm/Connector.js","../node_modules/tsparticles-interaction-external-connect/esm/index.js","../node_modules/tsparticles-interaction-external-grab/esm/Grabber.js","../node_modules/tsparticles-interaction-external-grab/esm/index.js","../node_modules/tsparticles-interaction-external-pause/esm/Pauser.js","../node_modules/tsparticles-interaction-external-pause/esm/index.js","../node_modules/tsparticles-interaction-external-push/esm/Pusher.js","../node_modules/tsparticles-interaction-external-push/esm/index.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/Repulser.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/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/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/TiltUpdater.js","../node_modules/tsparticles-updater-tilt/esm/index.js","../node_modules/tsparticles-updater-twinkle/esm/TwinkleUpdater.js","../node_modules/tsparticles-updater-twinkle/esm/index.js","../node_modules/tsparticles-updater-wobble/esm/WobbleUpdater.js","../node_modules/tsparticles-updater-wobble/esm/index.js","../node_modules/tsparticles/esm/index.js","components/LinkContainer.js","App.js","serviceWorker.js","index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AnimatorContext = void 0;\nvar react_1 = require(\"react\");\nvar AnimatorContext = react_1.createContext(undefined);\nexports.AnimatorContext = AnimatorContext;\nAnimatorContext.displayName = 'AnimatorContext';\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./AnimatorContext\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AnimatorGeneralContext = void 0;\nvar react_1 = require(\"react\");\nvar AnimatorGeneralContext = react_1.createContext(undefined);\nexports.AnimatorGeneralContext = AnimatorGeneralContext;\nAnimatorGeneralContext.displayName = 'AnimatorGeneralContext';\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./AnimatorGeneralContext\"), exports);\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AnimatorGeneralProvider = void 0;\nvar react_1 = __importStar(require(\"react\"));\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar AnimatorGeneralContext_1 = require(\"../AnimatorGeneralContext\");\nvar AnimatorGeneralProvider = function (props) {\n var localSettings = props.animator, children = props.children;\n var parentSettings = react_1.useContext(AnimatorGeneralContext_1.AnimatorGeneralContext);\n var toProvideSettings = react_1.useMemo(function () {\n if (!localSettings) {\n return parentSettings;\n }\n var settings = __assign(__assign({}, parentSettings), localSettings);\n if (localSettings.duration) {\n settings.duration = __assign(__assign({}, parentSettings === null || parentSettings === void 0 ? void 0 : parentSettings.duration), localSettings === null || localSettings === void 0 ? void 0 : localSettings.duration);\n }\n return settings;\n }, [localSettings, parentSettings]);\n return (react_1.default.createElement(AnimatorGeneralContext_1.AnimatorGeneralContext.Provider, { value: toProvideSettings }, children));\n};\nexports.AnimatorGeneralProvider = AnimatorGeneralProvider;\nAnimatorGeneralProvider.propTypes = {\n // @ts-expect-error\n animator: prop_types_1.default.shape({\n duration: prop_types_1.default.shape({\n enter: prop_types_1.default.number,\n exit: prop_types_1.default.number,\n stagger: prop_types_1.default.number,\n delay: prop_types_1.default.number,\n offset: prop_types_1.default.number\n })\n }),\n children: prop_types_1.default.any\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./AnimatorGeneralProvider.component\"), exports);\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Animator = void 0;\nvar react_1 = require(\"react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar constants_1 = require(\"../constants\");\nvar makeScheduler_1 = require(\"../utils/makeScheduler\");\nvar getChildrenNodesSequenceActivationTimes_1 = require(\"../utils/getChildrenNodesSequenceActivationTimes\");\nvar getChildrenNodesStaggerActivationTimes_1 = require(\"../utils/getChildrenNodesStaggerActivationTimes\");\nvar AnimatorContext_1 = require(\"../AnimatorContext\");\nvar useAnimatorGeneral_1 = require(\"../useAnimatorGeneral\");\nvar useAnimator_1 = require(\"../useAnimator\");\nvar ANIMATE_DEFAULT = true;\nvar DURATION_DEFAULT = Object.freeze({\n enter: 100,\n exit: 100,\n stagger: 25,\n delay: 0,\n offset: 0\n});\nvar animatorEmptySettings = {};\nvar classInstanceIdCounter = 0;\nvar Animator = function (props) {\n var _a;\n var _b = props.animator, animator = _b === void 0 ? animatorEmptySettings : _b, children = props.children;\n var parentAnimatorGeneral = useAnimatorGeneral_1.useAnimatorGeneral();\n var parentAnimator = useAnimator_1.useAnimator();\n // Since the expected boolean values applicable to the node are provided down\n // to the next child node, they are converted to booleans always to prevent\n // possible data leaking.\n var isParentAnimated = parentAnimator ? !!parentAnimator.animate : ANIMATE_DEFAULT;\n var animate = animator.animate !== undefined ? !!animator.animate : isParentAnimated;\n var root = parentAnimator ? !!animator.root : true;\n var merge = !root && !!animator.merge;\n var combine = !!animator.combine;\n var manager = (_a = animator.manager) !== null && _a !== void 0 ? _a : constants_1.PARALLEL;\n var instanceId = react_1.useState(function () { return classInstanceIdCounter++; })[0];\n var scheduler = react_1.useState(function () { return makeScheduler_1.makeScheduler(); })[0];\n // All the children non-root instances.\n var childrenNodesMap = react_1.useState(function () { return new Map(); })[0];\n var dynamicDuration = react_1.useRef(undefined);\n // This variable is supposed to be defined by the component using this\n // . It will contain the reference(s) to the actual HTML element(s)\n // to animate on the flow transitions and component lifecycles.\n var animateRefs = react_1.useRef([]);\n // Since the animator data is passed to different contexts, if it were to be\n // a \"useState\", a stale version of the data would be passed. So this is a\n // \"persistent animator data reference\" across different contexts.\n // It must be the same as \"publicAnimatorRef\" for consistency.\n var _persistentAnimatorRef = react_1.useRef(null);\n var getPersistentAnimatorRef = function () { return _persistentAnimatorRef.current; };\n // It is initially empty to trigger an initial flow diff and call the\n // event callbacks in the first render.\n var previousAnimatorRef = react_1.useRef();\n var createAnimatorRef = function (providedFlowValue) {\n var _a, _b;\n var oldAnimatorRef = getPersistentAnimatorRef();\n var duration = Object.freeze(__assign(__assign(__assign(__assign({}, DURATION_DEFAULT), parentAnimatorGeneral === null || parentAnimatorGeneral === void 0 ? void 0 : parentAnimatorGeneral.duration), animator.duration), dynamicDuration.current));\n // The flow object is not directly updated.\n // It is always updated based on its next flow value.\n var newFlow;\n if (!oldAnimatorRef) {\n var value = animate ? constants_1.EXITED : constants_1.ENTERED;\n var hasEntered = value === constants_1.ENTERED;\n var hasExited = value === constants_1.EXITED;\n newFlow = Object.freeze((_a = { value: value }, _a[value] = true, _a.hasEntered = hasEntered, _a.hasExited = hasExited, _a));\n }\n else {\n var value = providedFlowValue !== null && providedFlowValue !== void 0 ? providedFlowValue : oldAnimatorRef.flow.value;\n var hasEntered = (oldAnimatorRef === null || oldAnimatorRef === void 0 ? void 0 : oldAnimatorRef.flow.hasEntered) || value === constants_1.ENTERED;\n var hasExited = (oldAnimatorRef === null || oldAnimatorRef === void 0 ? void 0 : oldAnimatorRef.flow.hasExited) || value === constants_1.EXITED;\n newFlow = Object.freeze((_b = { value: value }, _b[value] = true, _b.hasEntered = hasEntered, _b.hasExited = hasExited, _b));\n }\n var flow = newFlow;\n var setupAnimateRefs = function () {\n var refs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n refs[_i] = arguments[_i];\n }\n animateRefs.current = refs;\n };\n var updateDuration = function (newDynamicDuration) {\n if (combine) {\n console.error('Animator can not update duration dynamically when \"combine\" is enabled.');\n return;\n }\n dynamicDuration.current = newDynamicDuration;\n updateAnimatorRef(createAnimatorRef());\n };\n var _id = instanceId;\n var _subscribe = function (id, node) {\n childrenNodesMap.set(id, node);\n };\n var _unsubscribe = function (id) {\n childrenNodesMap.delete(id);\n };\n return Object.freeze({\n animate: animate,\n root: root,\n merge: merge,\n combine: combine,\n manager: manager,\n duration: duration,\n flow: flow,\n setupAnimateRefs: setupAnimateRefs,\n updateDuration: updateDuration,\n _id: _id,\n _subscribe: _subscribe,\n _unsubscribe: _unsubscribe\n });\n };\n // \"_persistentAnimatorRef\" and \"publicAnimatorRef\" must be the same data.\n // \"_persistentAnimatorRef\" is passed to different contexts to prevent\n // stale data since it is a \"useRef\". \"publicAnimatorRef\" is passed as provided\n // React context value to trigger renders.\n // Both values should be updated only with \"updateAnimatorRef\".\n if (!_persistentAnimatorRef.current) {\n var valueRef = _persistentAnimatorRef;\n valueRef.current = createAnimatorRef();\n }\n var _c = react_1.useState(_persistentAnimatorRef.current), publicAnimatorRef = _c[0], _setPublicAnimatorRef = _c[1];\n var updateAnimatorRef = function (newAnimatorRef) {\n var valueRef = _persistentAnimatorRef;\n valueRef.current = newAnimatorRef;\n _setPublicAnimatorRef(newAnimatorRef);\n };\n var childActivations = react_1.useRef(null);\n var generateChildActivations = function (flowValue) {\n var animatorRef = getPersistentAnimatorRef();\n var duration = animatorRef.duration;\n var nodes = Array.from(childrenNodesMap.values());\n var nodesToUpdate = [];\n // On EXITED, no nodes should be updated.\n if (combine) {\n nodesToUpdate = nodes;\n }\n else if (flowValue === constants_1.ENTERING) {\n nodesToUpdate = nodes.filter(function (node) { return node.getIsMerge(); });\n }\n else if (flowValue === constants_1.ENTERED) {\n nodesToUpdate = nodes.filter(function (node) { return !node.getIsMerge(); });\n }\n else if (flowValue === constants_1.EXITING) {\n nodesToUpdate = nodes;\n }\n // On EXITING, all nodes exit at the same time in parallel.\n if (flowValue === constants_1.EXITING || manager === constants_1.PARALLEL) {\n // Since all the children will be transitioned in parallel, a possible\n // approach is to make the process synchronous so the scheduler only makes\n // one task. This becomes a bottle-neck if there are more animated nodes\n // than the machine CPU can handle and eventually block the thread.\n // So each node is transitioned separately to prevent this case.\n var totalDuration_1 = 0;\n var times = nodesToUpdate.map(function (node) {\n totalDuration_1 = Math.max(totalDuration_1, flowValue === constants_1.EXITING ? node.getDuration().exit : node.getDuration().enter);\n return { node: node, time: 0 };\n });\n childActivations.current = { duration: totalDuration_1, times: times };\n }\n else if (flowValue === constants_1.EXITED) {\n childActivations.current = { times: [] };\n }\n else if (manager === constants_1.SEQUENCE) {\n childActivations.current = getChildrenNodesSequenceActivationTimes_1.getChildrenNodesSequenceActivationTimes(nodesToUpdate);\n }\n else if (manager === constants_1.STAGGER) {\n childActivations.current = getChildrenNodesStaggerActivationTimes_1.getChildrenNodesStaggerActivationTimes(nodesToUpdate, duration);\n }\n else if (typeof manager === 'function') {\n childActivations.current = manager({ nodes: nodesToUpdate, duration: duration });\n }\n else if (process.env.NODE_ENV !== 'production') {\n console.error(\"Animator manager \\\"\" + String(manager) + \"\\\" is not supported.\");\n }\n };\n var generateActivationsDuration = function (newFlowValue) {\n var _a;\n var _b, _c, _d;\n var animatorRef = getPersistentAnimatorRef();\n if (!combine) {\n return animatorRef.duration;\n }\n generateChildActivations(newFlowValue);\n if (process.env.NODE_ENV !== 'production' &&\n typeof manager === 'function' &&\n !((_b = childActivations.current) === null || _b === void 0 ? void 0 : _b.duration) && ((_c = childActivations.current) === null || _c === void 0 ? void 0 : _c.times.length)) {\n console.error([\n 'Animator with custom \"manager\" and \"combine\" enabled should return a child',\n 'activations \"duration\". Otherwise the Animator duration will use the default',\n 'value and it will not reflect the real combination of the durations.'\n ].join('\\n'));\n }\n var durationChangedKey = newFlowValue === constants_1.EXITING ? 'exit' : 'enter';\n var durationValueDefault = durationChangedKey === 'enter'\n ? animatorRef.duration.enter\n : animatorRef.duration.exit;\n var durationValue = ((_d = childActivations.current) === null || _d === void 0 ? void 0 : _d.duration) || durationValueDefault;\n return __assign(__assign({}, animatorRef.duration), (_a = {}, _a[durationChangedKey] = durationValue, _a));\n };\n var setFlowValue = function (newFlowValue) {\n if (!combine) {\n generateChildActivations(newFlowValue);\n }\n var newAnimatorRef = createAnimatorRef(newFlowValue);\n updateAnimatorRef(newAnimatorRef);\n };\n var setActivate = function (activate) {\n var flow = getPersistentAnimatorRef().flow;\n if (activate) {\n if (flow.value === constants_1.ENTERING || flow.value === constants_1.ENTERED) {\n return;\n }\n var duration_1 = generateActivationsDuration(constants_1.ENTERING);\n scheduler.start(duration_1.delay, function () {\n setFlowValue(constants_1.ENTERING);\n scheduler.start(duration_1.enter, function () { return setFlowValue(constants_1.ENTERED); });\n });\n }\n else {\n if (flow.value === constants_1.EXITING || flow.value === constants_1.EXITED) {\n return;\n }\n var duration_2 = generateActivationsDuration(constants_1.EXITING);\n scheduler.start(0, function () {\n setFlowValue(constants_1.EXITING);\n scheduler.start(duration_2.exit, function () { return setFlowValue(constants_1.EXITED); });\n });\n }\n };\n react_1.useEffect(function () {\n var _a;\n if (!animate) {\n return;\n }\n // TODO: What if node is changed from child node to root node and needs\n // to be unsuscribed from its parent?\n if (!root) {\n var id = instanceId;\n var getDuration = function () { return getPersistentAnimatorRef().duration; };\n var getIsMerge = function () { return getPersistentAnimatorRef().merge; };\n var child = Object.freeze({\n id: id,\n getDuration: getDuration,\n getIsMerge: getIsMerge,\n setActivate: setActivate\n });\n parentAnimator === null || parentAnimator === void 0 ? void 0 : parentAnimator._subscribe(instanceId, child);\n }\n (_a = animator.onAnimateMount) === null || _a === void 0 ? void 0 : _a.call.apply(_a, __spreadArrays([animator, publicAnimatorRef], animateRefs.current));\n return function () {\n var _a;\n scheduler.stopAll();\n (_a = animator.onAnimateUnmount) === null || _a === void 0 ? void 0 : _a.call.apply(_a, __spreadArrays([animator, publicAnimatorRef], animateRefs.current));\n if (!root) {\n parentAnimator === null || parentAnimator === void 0 ? void 0 : parentAnimator._unsubscribe(instanceId);\n }\n };\n }, []);\n react_1.useEffect(function () {\n var _a, _b, _c, _d, _e, _f, _g;\n if (!animate) {\n return;\n }\n var animatorRef = getPersistentAnimatorRef();\n var flow = animatorRef.flow;\n // An animated root node is by default activated.\n if (root) {\n setActivate(animator.activate !== false);\n }\n // If the flow value was changed in this update.\n if (((_a = previousAnimatorRef.current) === null || _a === void 0 ? void 0 : _a.flow.value) !== flow.value) {\n (_b = animator.onTransition) === null || _b === void 0 ? void 0 : _b.call(animator, flow);\n switch (flow.value) {\n case constants_1.ENTERING:\n (_c = animator.onAnimateEntering) === null || _c === void 0 ? void 0 : _c.call.apply(_c, __spreadArrays([animator, publicAnimatorRef], animateRefs.current));\n break;\n case constants_1.ENTERED:\n (_d = animator.onAnimateEntered) === null || _d === void 0 ? void 0 : _d.call.apply(_d, __spreadArrays([animator, publicAnimatorRef], animateRefs.current));\n break;\n case constants_1.EXITING:\n (_e = animator.onAnimateExiting) === null || _e === void 0 ? void 0 : _e.call.apply(_e, __spreadArrays([animator, publicAnimatorRef], animateRefs.current));\n break;\n case constants_1.EXITED:\n (_f = animator.onAnimateExited) === null || _f === void 0 ? void 0 : _f.call.apply(_f, __spreadArrays([animator, publicAnimatorRef], animateRefs.current));\n break;\n }\n if ((_g = childActivations.current) === null || _g === void 0 ? void 0 : _g.times.length) {\n var newChildrenActivation_1 = flow.value === constants_1.ENTERING || flow.value === constants_1.ENTERED;\n childActivations.current.times.forEach(function (_a) {\n var node = _a.node, time = _a.time;\n return scheduler.start(node.id, time, function () { return node.setActivate(newChildrenActivation_1); });\n });\n }\n }\n previousAnimatorRef.current = animatorRef;\n }, [parentAnimatorGeneral, parentAnimator, animator, publicAnimatorRef]);\n return react_1.createElement(AnimatorContext_1.AnimatorContext.Provider, { value: publicAnimatorRef }, children);\n};\nexports.Animator = Animator;\nAnimator.propTypes = {\n // @ts-expect-error\n animator: prop_types_1.default.shape({\n duration: prop_types_1.default.shape({\n enter: prop_types_1.default.number,\n exit: prop_types_1.default.number,\n stagger: prop_types_1.default.number,\n delay: prop_types_1.default.number,\n offset: prop_types_1.default.number\n }),\n animate: prop_types_1.default.bool,\n root: prop_types_1.default.bool,\n merge: prop_types_1.default.bool,\n combine: prop_types_1.default.bool,\n manager: prop_types_1.default.oneOfType([\n prop_types_1.default.oneOf([constants_1.PARALLEL, constants_1.SEQUENCE, constants_1.STAGGER]),\n prop_types_1.default.func\n ]),\n onAnimateMount: prop_types_1.default.func,\n onAnimateEntering: prop_types_1.default.func,\n onAnimateEntered: prop_types_1.default.func,\n onAnimateExiting: prop_types_1.default.func,\n onAnimateExited: prop_types_1.default.func,\n onAnimateUnmount: prop_types_1.default.func,\n activate: prop_types_1.default.bool,\n onTransition: prop_types_1.default.func\n }),\n children: prop_types_1.default.any\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Animator.component\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.STAGGER = exports.SEQUENCE = exports.PARALLEL = exports.EXITED = exports.EXITING = exports.ENTERED = exports.ENTERING = void 0;\nexports.ENTERING = 'entering';\nexports.ENTERED = 'entered';\nexports.EXITING = 'exiting';\nexports.EXITED = 'exited';\nexports.PARALLEL = 'parallel';\nexports.SEQUENCE = 'sequence';\nexports.STAGGER = 'stagger';\n","\"use strict\";\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.extendAnimator = void 0;\n// TODO: Review and analyze if the extension functionality is necessary or\n// if it can be removed, since it creates excesive typing overload and\n// decreases performance.\n// TODO: Test cases are not correctly checking typing.\nvar react_1 = require(\"react\");\nvar mergeClassAndInstanceAnimatorSettings_1 = require(\"../utils/mergeClassAndInstanceAnimatorSettings\");\nfunction extendAnimator(extendedClassAnimator) {\n var extendAnimatorWrapper = function (InputComponent) {\n var OutputComponent = react_1.forwardRef(function (props, ref) {\n var instanceAnimator = props.animator, otherProps = __rest(props, [\"animator\"]);\n var resultAnimator = mergeClassAndInstanceAnimatorSettings_1.mergeClassAndInstanceAnimatorSettings(extendedClassAnimator, instanceAnimator);\n return react_1.createElement(InputComponent, __assign(__assign({}, otherProps), { animator: resultAnimator, ref: ref }));\n });\n var componentName = InputComponent.displayName || InputComponent.name || 'Component';\n OutputComponent.displayName = \"extendAnimator(\" + componentName + \")\";\n return OutputComponent;\n };\n return extendAnimatorWrapper;\n}\nexports.extendAnimator = extendAnimator;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./extendAnimator\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./constants\"), exports);\n__exportStar(require(\"./AnimatorGeneralProvider\"), exports);\n__exportStar(require(\"./useAnimatorGeneral\"), exports);\n__exportStar(require(\"./Animator\"), exports);\n__exportStar(require(\"./useAnimator\"), exports);\n__exportStar(require(\"./withAnimator\"), exports);\n__exportStar(require(\"./extendAnimator\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./useAnimatorGeneral\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useAnimatorGeneral = void 0;\nvar react_1 = require(\"react\");\nvar AnimatorGeneralContext_1 = require(\"../AnimatorGeneralContext\");\nfunction useAnimatorGeneral() {\n return react_1.useContext(AnimatorGeneralContext_1.AnimatorGeneralContext);\n}\nexports.useAnimatorGeneral = useAnimatorGeneral;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./useAnimator\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useAnimator = void 0;\nvar react_1 = require(\"react\");\nvar AnimatorContext_1 = require(\"../AnimatorContext\");\nfunction useAnimator() {\n return react_1.useContext(AnimatorContext_1.AnimatorContext);\n}\nexports.useAnimator = useAnimator;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.filterClassAnimatorSettings = void 0;\nvar CLASS_ALLOWED_SETTINGS = [\n 'duration',\n 'animate',\n 'root',\n 'merge',\n 'combine',\n 'manager',\n 'onAnimateMount',\n 'onAnimateEntering',\n 'onAnimateEntered',\n 'onAnimateExiting',\n 'onAnimateExited',\n 'onAnimateUnmount'\n];\nfunction filterClassAnimatorSettings(providedSettings) {\n return CLASS_ALLOWED_SETTINGS\n .filter(function (key) { return providedSettings[key] !== undefined; })\n .reduce(function (obj, key) {\n var _a;\n return (__assign(__assign({}, obj), (_a = {}, _a[key] = providedSettings[key], _a)));\n }, {});\n}\nexports.filterClassAnimatorSettings = filterClassAnimatorSettings;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./filterClassAnimatorSettings\"), exports);\n","\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChildrenNodesSequenceActivationTimes = void 0;\nfunction getChildrenNodesSequenceActivationTimes(nodes) {\n var duration = 0;\n var times = nodes.reduce(function (items, node, index) {\n var nodeDuration = node.getDuration();\n var offset = nodeDuration.offset || 0;\n var time = offset;\n if (index !== 0) {\n var prevItem = items[index - 1];\n time = prevItem.time + prevItem.node.getDuration().enter + offset;\n }\n duration = time + nodeDuration.enter;\n var item = { node: node, time: time };\n return __spreadArrays(items, [item]);\n }, []);\n return { duration: duration, times: times };\n}\nexports.getChildrenNodesSequenceActivationTimes = getChildrenNodesSequenceActivationTimes;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./getChildrenNodesSequenceActivationTimes\"), exports);\n","\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChildrenNodesStaggerActivationTimes = void 0;\nfunction getChildrenNodesStaggerActivationTimes(nodes, parentDuration) {\n var accumulatedOffset = 0;\n var times = nodes.reduce(function (items, node, index) {\n accumulatedOffset += node.getDuration().offset || 0;\n var normalTime = !index ? 0 : index * parentDuration.stagger;\n var time = normalTime + accumulatedOffset;\n var item = { node: node, time: time };\n return __spreadArrays(items, [item]);\n }, []);\n var lastItem = times[times.length - 1];\n // Assuming all children nodes have the same duration.\n var duration = !times.length ? 0 : lastItem.time + lastItem.node.getDuration().enter;\n return { duration: duration, times: times };\n}\nexports.getChildrenNodesStaggerActivationTimes = getChildrenNodesStaggerActivationTimes;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./getChildrenNodesStaggerActivationTimes\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./makeScheduler\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.makeScheduler = void 0;\nfunction makeScheduler() {\n var timeouts = {};\n function stop(id) {\n clearTimeout(timeouts[id]);\n }\n function stopAll() {\n Object.values(timeouts).forEach(function (timeout) { return clearTimeout(timeout); });\n }\n function start(a, b, c) {\n var id = c ? a : undefined;\n var time = c ? b : a;\n var callback = c || b;\n stop(id);\n timeouts[id] = setTimeout(callback, time);\n }\n return { stop: stop, stopAll: stopAll, start: start };\n}\nexports.makeScheduler = makeScheduler;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./mergeClassAndInstanceAnimatorSettings\"), exports);\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mergeClassAndInstanceAnimatorSettings = void 0;\nvar filterClassAnimatorSettings_1 = require(\"../filterClassAnimatorSettings\");\nfunction mergeClassAndInstanceAnimatorSettings(providedClassAnimator, instanceAnimator) {\n var classAnimator = providedClassAnimator ? filterClassAnimatorSettings_1.filterClassAnimatorSettings(providedClassAnimator) : {};\n var newAnimatorSettings = __assign(__assign({}, classAnimator), instanceAnimator);\n var newDuration;\n if ((classAnimator === null || classAnimator === void 0 ? void 0 : classAnimator.duration) !== undefined) {\n newDuration = classAnimator.duration;\n }\n if ((instanceAnimator === null || instanceAnimator === void 0 ? void 0 : instanceAnimator.duration) !== undefined) {\n var newInstanceDuration = newDuration !== null && newDuration !== void 0 ? newDuration : {};\n newDuration = __assign(__assign({}, newInstanceDuration), instanceAnimator.duration);\n }\n if (newDuration) {\n newAnimatorSettings.duration = newDuration;\n }\n return newAnimatorSettings;\n}\nexports.mergeClassAndInstanceAnimatorSettings = mergeClassAndInstanceAnimatorSettings;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./withAnimator\"), exports);\n","\"use strict\";\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withAnimator = void 0;\nvar react_1 = require(\"react\");\nvar mergeClassAndInstanceAnimatorSettings_1 = require(\"../utils/mergeClassAndInstanceAnimatorSettings\");\nvar Animator_1 = require(\"../Animator\");\nvar useAnimator_1 = require(\"../useAnimator\");\nfunction withAnimator(classAnimator) {\n var withAnimatorWrapper = function (InputComponent) {\n var AnimatorMiddleware = function (props) {\n var InputComponent = props.InputComponent, forwardedRef = props.forwardedRef, otherProps = __rest(props, [\"InputComponent\", \"forwardedRef\"]);\n var componentAnimator = useAnimator_1.useAnimator();\n return react_1.createElement(InputComponent, __assign(__assign({}, otherProps), { animator: componentAnimator, ref: forwardedRef }));\n };\n var OutputComponent = react_1.forwardRef(function (props, forwardedRef) {\n var instanceAnimator = props.animator, otherProps = __rest(props, [\"animator\"]);\n var resultAnimator = mergeClassAndInstanceAnimatorSettings_1.mergeClassAndInstanceAnimatorSettings(classAnimator, instanceAnimator);\n return react_1.createElement(Animator_1.Animator, { animator: resultAnimator }, react_1.createElement(AnimatorMiddleware, __assign(__assign({}, otherProps), { InputComponent: InputComponent,\n forwardedRef: forwardedRef })));\n });\n var componentName = InputComponent.displayName || InputComponent.name || 'Component';\n OutputComponent.displayName = \"withAnimator(\" + componentName + \")\";\n return OutputComponent;\n };\n return withAnimatorWrapper;\n}\nexports.withAnimator = withAnimator;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ArwesThemeProvider = void 0;\nvar react_1 = __importStar(require(\"react\"));\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar react_2 = require(\"@emotion/react\");\nvar design_1 = require(\"@arwes/design\");\nvar ArwesThemeProvider = function (props) {\n var themeSettings = props.themeSettings, children = props.children;\n var theme = react_1.useMemo(function () {\n var _a;\n return design_1.createTheme(__assign(__assign({}, themeSettings), { breakpoints: themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.breakpoints, palette: __assign(__assign({ primary: {\n light3: '#befcfe',\n light2: '#7efcf6',\n light1: '#3efbfb',\n main: '#00f8f8',\n dark1: '#05c6c1',\n dark2: '#0b8481',\n dark3: '#15333c'\n }, secondary: {\n light3: '#ffece1',\n light2: '#ffe4d2',\n light1: '#ffc69f',\n main: '#ffa76c',\n dark1: '#f66901',\n dark2: '#e24a0f',\n dark3: '#a32d08'\n }, neutral: {\n main: '#021114'\n } }, themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.palette), { text: __assign({ root: '#7efcf6', headings: '#00f8f8', link: '#ffa76c', linkHover: '#ffc69f' }, (_a = themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.palette) === null || _a === void 0 ? void 0 : _a.text) }) }));\n }, []);\n return (react_1.default.createElement(react_2.ThemeProvider, { theme: theme }, children));\n};\nexports.ArwesThemeProvider = ArwesThemeProvider;\nArwesThemeProvider.propTypes = {\n themeSettings: prop_types_1.default.object\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ArwesThemeProvider.component\"), exports);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Blockquote = void 0;\n/* @jsx jsx */\nvar react_1 = require(\"react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar css_1 = require(\"@emotion/css\");\nvar react_2 = require(\"@emotion/react\");\nvar Animated_1 = require(\"../utils/Animated\");\nvar appearTransitions_1 = require(\"../utils/appearTransitions\");\nvar Blockquote_styles_1 = require(\"./Blockquote.styles\");\nvar Blockquote = function (props) {\n var palette = props.palette, className = props.className, style = props.style, rootRef = props.rootRef, children = props.children;\n var theme = react_2.useTheme();\n var styles = react_1.useMemo(function () { return Blockquote_styles_1.generateStyles(theme, { palette: palette }); }, [theme, palette]);\n return (react_2.jsx(\"blockquote\", { className: css_1.cx('arwes-blockquote', className), css: styles.root, style: style, ref: rootRef },\n react_2.jsx(Animated_1.Animated, { className: 'arwes-blockquote__bg', css: styles.bg, animated: {\n initialStyles: { opacity: 0 },\n entering: appearTransitions_1.transitionAppear,\n exiting: appearTransitions_1.transitionDisappear\n } }),\n react_2.jsx(Animated_1.Animated, { className: 'arwes-blockquote__line', css: styles.line, animated: {\n initialStyles: { opacity: 0, transform: 'scaleY(0)' },\n entering: [appearTransitions_1.transitionAppear, { scaleY: 1 }],\n exiting: [appearTransitions_1.transitionDisappear, { scaleY: 0 }]\n } }),\n react_2.jsx(\"div\", { className: 'arwes-blockquote__content', css: styles.content }, children)));\n};\nexports.Blockquote = Blockquote;\nBlockquote.propTypes = {\n palette: prop_types_1.default.string,\n className: prop_types_1.default.string,\n style: prop_types_1.default.object,\n rootRef: prop_types_1.default.any\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateStyles = void 0;\nvar rgba_1 = __importDefault(require(\"polished/lib/color/rgba\"));\nvar generateStyles = function (theme, options) {\n var _a;\n var space = theme.space, outline = theme.outline, shadowBlur = theme.shadowBlur;\n var defaultPalette = theme.palette.primary;\n var colorPalette = (_a = theme.palette[options.palette]) !== null && _a !== void 0 ? _a : defaultPalette;\n var color = colorPalette.main;\n var colorBg = rgba_1.default(colorPalette.light1, 0.05);\n return {\n root: {\n position: 'relative',\n display: 'block',\n margin: 0,\n marginBottom: space(4),\n border: 'none',\n padding: 0,\n backgroundColor: 'transparent'\n },\n bg: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: colorBg\n },\n line: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: outline(6),\n height: '100%',\n backgroundColor: color,\n boxShadow: \"0 0 \" + shadowBlur(2) + \"px \" + color,\n transformOrigin: 'top'\n },\n content: {\n paddingLeft: space(4) + outline(6),\n paddingRight: space(4),\n paddingTop: space(2),\n paddingBottom: space(2)\n }\n };\n};\nexports.generateStyles = generateStyles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Blockquote = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar Blockquote_component_1 = require(\"./Blockquote.component\");\nvar classAnimatorSettings = {\n manager: 'stagger'\n};\nvar Blockquote = animation_1.withAnimator(classAnimatorSettings)(Blockquote_component_1.Blockquote);\nexports.Blockquote = Blockquote;\n","\"use strict\";\n// The component encapsulates an animated .\n// The component will pass its received `animator` prop directly to the\n// to simplify the animator management.\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Button = void 0;\n// TODO: There needs to be a better way to compose animator components\n// like the Button component manipulates the Framecomponent.\n/* @jsx jsx */\nvar react_1 = require(\"react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar css_1 = require(\"@emotion/css\");\nvar react_2 = require(\"@emotion/react\");\nvar sounds_1 = require(\"@arwes/sounds\");\nvar FrameUnderline_1 = require(\"../FrameUnderline\");\nvar Button_styles_1 = require(\"./Button.styles\");\n// The component will receive the `animator` as `AnimatorInstanceSettings` and\n// not as `AnimatorRef` since it is encapsulating another animated component.\n// That's why the props accepts `WithAnimatorOutputProps`, not the input one.\nvar Button = function (props) {\n var animatorSettings = props.animator, FrameComponent = props.FrameComponent, palette = props.palette, disabled = props.disabled, active = props.active, onClick = props.onClick, className = props.className, style = props.style, rootRef = props.rootRef, children = props.children;\n var theme = react_2.useTheme();\n var bleeps = sounds_1.useBleeps();\n var styles = react_1.useMemo(function () { return Button_styles_1.generateStyles(theme, { palette: palette, disabled: disabled }); }, [theme, palette, disabled]);\n var effectsRef = react_1.useRef(null);\n // A copy of the animator flow for the functionalities.\n var _a = react_1.useState(null), flow = _a[0], setFlow = _a[1];\n var buttonOnClick = function (event) {\n var _a, _b;\n var isAnimated = !!flow; // If flow exist, it means it's animated.\n var isEntered = isAnimated ? flow === null || flow === void 0 ? void 0 : flow.entered : true; // No animated? Then it's entered.\n if (!disabled && isEntered) {\n (_a = effectsRef.current) === null || _a === void 0 ? void 0 : _a.highlight();\n (_b = bleeps.click) === null || _b === void 0 ? void 0 : _b.play();\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n }\n };\n return (react_2.jsx(FrameComponent, { animator: __assign(__assign({}, animatorSettings), { onTransition: function (flow) {\n var _a;\n setFlow(flow);\n (_a = animatorSettings === null || animatorSettings === void 0 ? void 0 : animatorSettings.onTransition) === null || _a === void 0 ? void 0 : _a.call(animatorSettings, flow);\n } }), as: 'button', className: css_1.cx('arwes-button', className), css: [\n styles.root,\n !!flow && !flow.entered && styles.rootIsTransitioning\n ], style: style, rootRef: rootRef, effectsRef: effectsRef, palette: palette, disabled: disabled, hideShapes: !active, hover: true, onClick: buttonOnClick }, children));\n};\nexports.Button = Button;\nButton.propTypes = {\n FrameComponent: prop_types_1.default.any.isRequired,\n palette: prop_types_1.default.string,\n active: prop_types_1.default.bool,\n disabled: prop_types_1.default.bool,\n onClick: prop_types_1.default.func,\n className: prop_types_1.default.string,\n style: prop_types_1.default.object,\n rootRef: prop_types_1.default.any\n};\nButton.defaultProps = {\n FrameComponent: FrameUnderline_1.FrameUnderline\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateStyles = void 0;\nvar generateStyles = function (theme, options) {\n var _a;\n var shadowBlur = theme.shadowBlur, transitionDuration = theme.transitionDuration;\n var disabled = options.disabled;\n var defaultPalette = theme.palette.primary;\n var colorPalette = (_a = theme.palette[options.palette]) !== null && _a !== void 0 ? _a : defaultPalette;\n var color = disabled ? colorPalette.dark2 : colorPalette.main;\n var colorHover = colorPalette.light2;\n return {\n root: {\n display: 'inline-block',\n outline: 'none',\n border: 'none',\n backgroundColor: 'transparent',\n lineHeight: 1,\n fontSize: '0.875rem',\n textTransform: 'uppercase',\n textDecoration: 'none',\n textShadow: \"0 0 \" + shadowBlur(1) + \"px \" + color,\n color: color,\n cursor: disabled ? 'default' : 'pointer',\n transition: ['color', 'text-shadow']\n .map(function (prop) { return prop + \" \" + transitionDuration() + \"ms ease-out\"; })\n .join(),\n '&:hover, &:focus': !disabled && {\n textShadow: \"0 0 \" + shadowBlur(1) + \"px \" + colorHover,\n color: colorHover\n }\n },\n rootIsTransitioning: {\n cursor: 'default'\n }\n };\n};\nexports.generateStyles = generateStyles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Button = void 0;\nvar Button_component_1 = require(\"./Button.component\");\nObject.defineProperty(exports, \"Button\", { enumerable: true, get: function () { return Button_component_1.Button; } });\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.animator = void 0;\nvar animejs_1 = __importDefault(require(\"animejs\"));\nvar appearTransitions_1 = require(\"../utils/appearTransitions\");\nvar transitionRemoveCard = function (animator, containerRef) {\n var container = containerRef.current;\n if (container) {\n var animatedElements = container.querySelectorAll([\n '.arwes-card__line',\n '.arwes-card__image',\n '.arwes-card__content-bg'\n ].join(','));\n animejs_1.default.remove(animatedElements);\n }\n};\nvar transitionCard = function (animator, containerRef, theme, bleeps) {\n var _a;\n var flow = animator.flow, duration = animator.duration;\n var isEntering = flow.entering || flow.entered;\n var durationTransition = isEntering ? duration.enter : duration.exit;\n var container = containerRef.current;\n var space = theme.space;\n if (isEntering) {\n (_a = bleeps.object) === null || _a === void 0 ? void 0 : _a.play();\n animejs_1.default({\n targets: container.querySelector('.arwes-card__line-picture'),\n duration: durationTransition,\n easing: 'easeOutSine',\n translateX: [space(4), 0]\n });\n animejs_1.default({\n targets: container.querySelector('.arwes-card__line-content'),\n duration: durationTransition,\n easing: 'easeOutSine',\n translateY: [-space(4), 0]\n });\n appearTransitions_1.transitionAppear({\n targets: container.querySelectorAll('.arwes-card__line'),\n duration: durationTransition\n });\n appearTransitions_1.transitionAppear({\n targets: container.querySelectorAll('.arwes-card__image, .arwes-card__content-bg'),\n duration: durationTransition,\n delay: durationTransition\n });\n }\n else {\n appearTransitions_1.transitionDisappear({\n targets: container.querySelectorAll([\n '.arwes-card__line',\n '.arwes-card__image',\n '.arwes-card__content-bg'\n ].join(',')),\n duration: durationTransition\n });\n }\n};\nvar animator = {\n manager: 'stagger',\n onAnimateEntering: transitionCard,\n onAnimateExiting: transitionCard,\n onAnimateUnmount: transitionRemoveCard\n};\nexports.animator = animator;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Card = void 0;\n/* @jsx jsx */\nvar react_1 = require(\"react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar css_1 = require(\"@emotion/css\");\nvar react_2 = require(\"@emotion/react\");\nvar sounds_1 = require(\"@arwes/sounds\");\nvar Text_1 = require(\"../Text\");\nvar Card_styles_1 = require(\"./Card.styles\");\nvar Card = function (props) {\n var animator = props.animator, image = props.image, title = props.title, options = props.options, landscape = props.landscape, hover = props.hover, rootRef = props.rootRef, className = props.className, style = props.style, children = props.children;\n var animate = animator.animate;\n var theme = react_2.useTheme();\n var bleeps = sounds_1.useBleeps();\n var styles = react_1.useMemo(function () { return Card_styles_1.generateStyles(theme, { animate: animate, landscape: landscape, hover: hover }); }, [theme, animate, landscape, hover]);\n var containerRef = react_1.useRef(null);\n animator.setupAnimateRefs(containerRef, theme, bleeps);\n return (react_2.jsx(\"article\", { className: css_1.cx('arwes-card', className), css: styles.root, style: style, ref: rootRef },\n react_2.jsx(\"div\", { className: 'arwes-card__container', css: styles.container, ref: containerRef },\n !!image && (react_2.jsx(\"div\", { className: 'arwes-card__picture', css: styles.picture },\n react_2.jsx(\"img\", { className: 'arwes-card__image', css: styles.image, style: { backgroundImage: \"url(\" + image.src + \")\" }, src: image.src, alt: image.alt || '' }),\n react_2.jsx(\"div\", { className: 'arwes-card__line arwes-card__line-picture', css: [styles.line, styles.linePicture] }))),\n react_2.jsx(\"div\", { className: 'arwes-card__content', css: styles.content },\n react_2.jsx(\"div\", { className: 'arwes-card__content-bg', css: styles.contentBg }),\n !!title && (react_2.jsx(\"header\", { className: 'arwes-card__header', css: styles.header },\n react_2.jsx(Text_1.Text, { as: 'h1', className: 'arwes-card__title', css: styles.title }, title))),\n react_2.jsx(\"div\", { className: 'arwes-card__children', css: styles.children }, children),\n !!options && (react_2.jsx(\"div\", { className: 'arwes-card__options', css: styles.options }, options)),\n react_2.jsx(\"div\", { className: 'arwes-card__line arwes-card__line-content', css: [styles.line, styles.lineContent] })))));\n};\nexports.Card = Card;\nCard.propTypes = {\n image: prop_types_1.default.shape({\n src: prop_types_1.default.string.isRequired,\n alt: prop_types_1.default.string\n }),\n title: prop_types_1.default.node,\n options: prop_types_1.default.node,\n landscape: prop_types_1.default.bool,\n hover: prop_types_1.default.bool,\n className: prop_types_1.default.string,\n style: prop_types_1.default.object,\n rootRef: prop_types_1.default.any\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateStyles = void 0;\nvar rgba_1 = __importDefault(require(\"polished/lib/color/rgba\"));\nvar generateStyles = function (theme, options) {\n var _a;\n var palette = theme.palette, space = theme.space, outline = theme.outline, shadowBlur = theme.shadowBlur, transitionDuration = theme.transitionDuration;\n var animate = options.animate, landscape = options.landscape, hover = options.hover;\n var contentBg = rgba_1.default(palette.primary.light1, 0.05);\n return {\n root: (_a = {\n display: 'block'\n },\n _a[[\n '&:hover .arwes-card__line-picture',\n '&:focus .arwes-card__line-picture'\n ].join(',')] = hover && {\n backgroundColor: palette.secondary.light1,\n boxShadow: \"0 0 \" + shadowBlur(1) + \"px \" + palette.secondary.light1\n },\n _a[[\n '&:hover .arwes-card__line-content',\n '&:focus .arwes-card__line-content'\n ].join(',')] = hover && {\n backgroundColor: palette.primary.light1,\n boxShadow: \"0 0 \" + shadowBlur(1) + \"px \" + palette.primary.light1\n },\n _a),\n container: {\n display: 'flex',\n flexDirection: landscape ? 'row' : 'column',\n width: '100%',\n height: '100%'\n },\n line: {\n position: 'absolute',\n transition: ['background-color', 'box-shadow']\n .map(function (prop) { return prop + \" \" + transitionDuration() + \"ms ease-out\"; })\n .join(','),\n opacity: animate ? 0 : undefined\n },\n picture: {\n position: 'relative',\n width: landscape ? '30%' : undefined\n },\n // If no landscape, the real image is hidden and the background-image\n // is shown to properly set its aspect ratio.\n // See: https://css-tricks.com/scale-svg/#option-2-use-css-background-images-and-the-padding-bottom-hack\n image: {\n boxSizing: 'content-box',\n display: 'block',\n verticalAlign: 'top',\n outline: 'none',\n margin: 0,\n border: 'none',\n padding: 0,\n paddingBottom: landscape ? 0 : 'calc(100% * 2 / 4)',\n width: '100%',\n height: landscape ? '100%' : 0,\n objectFit: 'cover',\n objectPosition: 'center',\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n backgroundColor: palette.neutral.elevate(2),\n opacity: animate ? 0 : undefined\n },\n linePicture: {\n left: 0,\n top: 0,\n width: outline(1),\n height: '100%',\n backgroundColor: palette.secondary.dark1,\n boxShadow: \"0 0 \" + shadowBlur(1) + \"px \" + palette.secondary.dark1\n },\n content: {\n flex: 1,\n position: 'relative',\n display: 'grid',\n gridTemplateRows: 'auto 1fr auto',\n gridTemplateColumns: 'auto',\n padding: space(4),\n minHeight: 0 // Content overflow fix.\n },\n contentBg: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: contentBg,\n opacity: animate ? 0 : undefined\n },\n header: {\n marginBottom: space(4)\n },\n title: {\n margin: 0,\n fontSize: '1.5rem'\n },\n children: {\n marginBottom: space(1),\n overflow: 'hidden',\n minHeight: 0 // Content overflow fix.\n },\n options: {\n marginTop: space(4),\n textAlign: 'right'\n },\n lineContent: {\n left: 0,\n bottom: 0,\n width: '100%',\n height: outline(1),\n backgroundColor: palette.primary.dark1,\n boxShadow: \"0 0 \" + shadowBlur(1) + \"px \" + palette.primary.dark1\n }\n };\n};\nexports.generateStyles = generateStyles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Card = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar Card_component_1 = require(\"./Card.component\");\nvar Card_animator_1 = require(\"./Card.animator\");\nvar Card = animation_1.withAnimator(Card_animator_1.animator)(Card_component_1.Card);\nexports.Card = Card;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.animator = void 0;\nvar animejs_1 = __importDefault(require(\"animejs\"));\nvar playBleeps = function (bleeps) {\n var _a;\n (_a = bleeps.readout) === null || _a === void 0 ? void 0 : _a.play();\n};\nvar stopBleeps = function (bleeps) {\n var _a, _b;\n if ((_a = bleeps.readout) === null || _a === void 0 ? void 0 : _a.getIsPlaying()) {\n (_b = bleeps.readout) === null || _b === void 0 ? void 0 : _b.stop();\n }\n};\nvar stopCodeBlockAnimation = function (animator, containerRef) {\n if (containerRef.current) {\n var container = containerRef.current;\n var elements = container.querySelectorAll([\n '.arwes-code-block__wrap',\n '.arwes-code-block__bg',\n '.arwes-code-block__lang-bg',\n '.arwes-code-block__line'\n ].join(','));\n animejs_1.default.remove(elements);\n }\n};\nvar startCodeBlockAnimation = function (animator, containerRef) {\n stopCodeBlockAnimation(animator, containerRef);\n var duration = animator.duration, flow = animator.flow;\n var isEntering = flow.entering || flow.entered;\n var container = containerRef.current;\n animejs_1.default({\n targets: container.querySelector('.arwes-code-block__wrap'),\n duration: isEntering ? duration.enter : duration.exit,\n easing: 'easeInExpo',\n opacity: isEntering ? [0, 1] : [1, 0]\n });\n animejs_1.default({\n targets: container.querySelectorAll('.arwes-code-block__bg, .arwes-code-block__lang-bg'),\n duration: isEntering ? duration.enter : duration.exit,\n easing: 'easeOutSine',\n opacity: isEntering ? [0, 1] : [1, 0]\n });\n animejs_1.default({\n targets: container.querySelectorAll('.arwes-code-block__line'),\n duration: isEntering ? duration.enter : duration.exit,\n easing: 'easeOutSine',\n width: isEntering ? [0, '100%'] : ['100%', 0]\n });\n};\nvar onAnimateEntering = function (animator, containerRef, bleeps) {\n startCodeBlockAnimation(animator, containerRef);\n playBleeps(bleeps);\n};\nvar onAnimateEntered = function (animator, containerRef, bleeps) {\n stopBleeps(bleeps);\n};\nvar onAnimateExiting = function (animator, containerRef) {\n startCodeBlockAnimation(animator, containerRef);\n};\nvar onAnimateUnmount = function (animator, containerRef, bleeps) {\n stopCodeBlockAnimation(animator, containerRef);\n stopBleeps(bleeps);\n};\nvar animator = {\n onAnimateEntering: onAnimateEntering,\n onAnimateEntered: onAnimateEntered,\n onAnimateExiting: onAnimateExiting,\n onAnimateUnmount: onAnimateUnmount\n};\nexports.animator = animator;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CodeBlock = void 0;\n/* @jsx jsx */\nvar react_1 = require(\"react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar css_1 = require(\"@emotion/css\");\nvar react_2 = require(\"@emotion/react\");\nvar sounds_1 = require(\"@arwes/sounds\");\nvar Text_1 = require(\"../Text\");\nvar CodeBlock_styles_1 = require(\"./CodeBlock.styles\");\nvar CodeBlock = function (props) {\n var animator = props.animator, lang = props.lang, contentTextProps = props.contentTextProps, children = props.children, className = props.className, style = props.style, rootRef = props.rootRef;\n var animate = animator.animate;\n var theme = react_2.useTheme();\n var bleeps = sounds_1.useBleeps();\n var styles = react_1.useMemo(function () { return CodeBlock_styles_1.generateStyles(theme, { animate: animate }); }, [theme, animate]);\n var containerRef = react_1.useRef(null);\n animator.setupAnimateRefs(containerRef, bleeps);\n return (react_2.jsx(\"div\", { className: css_1.cx('arwes-code-block', className), css: styles.root, style: style, ref: rootRef },\n react_2.jsx(\"div\", { className: 'arwes-code-block__container', css: styles.container, ref: containerRef },\n react_2.jsx(\"div\", { className: 'arwes-code-block__bg', css: styles.bg }),\n react_2.jsx(\"div\", { className: 'arwes-code-block__wrap', css: styles.wrap },\n react_2.jsx(Text_1.Text, __assign({}, contentTextProps, { className: 'arwes-code-block__content', css: styles.content }), children)),\n !!lang && (react_2.jsx(\"div\", { className: 'arwes-code-block__lang', css: styles.lang },\n react_2.jsx(\"div\", { className: 'arwes-code-block__lang-bg', css: styles.langBg }),\n react_2.jsx(\"div\", { className: 'arwes-code-block__line arwes-code-block__line-lang', css: [styles.line, styles.lineLang] }),\n react_2.jsx(Text_1.Text, { blink: false }, lang))),\n react_2.jsx(\"div\", { className: 'arwes-code-block__line arwes-code-block__line-top', css: [styles.line, styles.lineTop] }),\n react_2.jsx(\"div\", { className: 'arwes-code-block__line arwes-code-block__line-bottom', css: [styles.line, styles.lineBottom] }))));\n};\nexports.CodeBlock = CodeBlock;\nCodeBlock.propTypes = {\n lang: prop_types_1.default.string,\n contentTextProps: prop_types_1.default.object,\n className: prop_types_1.default.string,\n style: prop_types_1.default.object,\n rootRef: prop_types_1.default.any\n};\nCodeBlock.defaultProps = {\n contentTextProps: {\n as: 'pre',\n blink: false\n }\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateStyles = void 0;\nvar rgba_1 = __importDefault(require(\"polished/lib/color/rgba\"));\nvar generateStyles = function (theme, options) {\n var palette = theme.palette, space = theme.space, outline = theme.outline, shadowBlur = theme.shadowBlur;\n var animate = options.animate;\n return {\n root: {\n display: 'flex',\n margin: \"0 0 \" + space(4) + \"px\"\n },\n container: {\n position: 'relative',\n flex: 1,\n display: 'flex',\n minWidth: 0,\n minHeight: 0 // Fix overflow issue.\n },\n bg: {\n position: 'absolute',\n zIndex: 0,\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: rgba_1.default(palette.primary.light2, 0.05),\n opacity: animate ? 0 : undefined\n },\n wrap: {\n position: 'relative',\n zIndex: 1,\n flex: 1,\n overflow: 'auto',\n padding: space(4)\n },\n // In case it is a PRE element, reset its default styles.\n content: {\n display: 'block',\n margin: 0,\n border: 'none',\n padding: 0,\n backgroundColor: 'transparent'\n },\n lang: {\n position: 'absolute',\n zIndex: 2,\n right: 0,\n top: outline(1),\n padding: space(0.5) + \"px \" + space(1.5) + \"px\",\n color: palette.secondary.main,\n textShadow: \"0 0 \" + shadowBlur(1) + \"px \" + palette.secondary.main,\n textTransform: 'uppercase'\n },\n langBg: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: palette.primary.dark3,\n opacity: animate ? 0 : undefined\n },\n line: {\n position: 'absolute',\n left: 0,\n width: animate ? 0 : '100%',\n height: outline(1),\n backgroundColor: palette.primary.dark1,\n boxShadow: \"0 0 \" + outline(1) + \"px \" + palette.primary.dark1\n },\n lineTop: {\n top: 0\n },\n lineBottom: {\n bottom: 0\n },\n lineLang: {\n bottom: 0,\n backgroundColor: palette.secondary.dark1,\n boxShadow: \"0 0 \" + outline(1) + \"px \" + palette.secondary.dark1\n }\n };\n};\nexports.generateStyles = generateStyles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CodeBlock = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar CodeBlock_component_1 = require(\"./CodeBlock.component\");\nvar CodeBlock_animator_1 = require(\"./CodeBlock.animator\");\nvar CodeBlock = animation_1.withAnimator(CodeBlock_animator_1.animator)(CodeBlock_component_1.CodeBlock);\nexports.CodeBlock = CodeBlock;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.animator = void 0;\nvar animejs_1 = __importDefault(require(\"animejs\"));\nvar appearTransitions_1 = require(\"../utils/appearTransitions\");\nvar onAnimateEntering = function (animator, containerRef, theme, styles, bleeps) {\n var _a;\n (_a = bleeps.object) === null || _a === void 0 ? void 0 : _a.play();\n var duration = animator.duration;\n var container = containerRef.current;\n animejs_1.default({\n targets: container.querySelectorAll('.arwes-figure__line'),\n duration: duration.enter,\n easing: 'easeOutSine',\n opacity: [0, 1],\n translateY: function (el) {\n if (el.classList.contains('arwes-figure__line-b')) {\n return [theme.space(15), 0];\n }\n return [-theme.space(15), 0];\n },\n skewX: function (el) {\n if (el.classList.contains('arwes-figure__line-c')) {\n return [330, 330];\n }\n return 0;\n }\n });\n appearTransitions_1.transitionAppear({\n targets: container.querySelectorAll([\n '.arwes-figure__asset',\n '.arwes-figure__description-bg'\n ].join(',')),\n duration: duration.enter,\n delay: duration.enter\n });\n};\nvar onAnimateExiting = function (animator, containerRef) {\n var duration = animator.duration;\n var container = containerRef.current;\n appearTransitions_1.transitionDisappear({\n targets: container.querySelectorAll([\n '.arwes-figure__asset',\n '.arwes-figure__description-bg',\n '.arwes-figure__line'\n ].join(',')),\n duration: duration.enter\n });\n};\nvar onAnimateUnmount = function (animator, containerRef) {\n var container = containerRef.current;\n if (!container) {\n return;\n }\n animejs_1.default.remove(container.querySelectorAll([\n '.arwes-figure__asset',\n '.arwes-figure__description-bg',\n '.arwes-figure__line'\n ].join(',')));\n};\nvar animator = {\n onAnimateEntering: onAnimateEntering,\n onAnimateExiting: onAnimateExiting,\n onAnimateUnmount: onAnimateUnmount\n};\nexports.animator = animator;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Figure = void 0;\n/* @jsx jsx */\nvar react_1 = require(\"react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar css_1 = require(\"@emotion/css\");\nvar react_2 = require(\"@emotion/react\");\nvar design_1 = require(\"@arwes/design\");\nvar sounds_1 = require(\"@arwes/sounds\");\nvar loadImage_1 = require(\"../utils/loadImage\");\nvar appearTransitions_1 = require(\"../utils/appearTransitions\");\nvar Text_1 = require(\"../Text\");\nvar LoadingBars_1 = require(\"../LoadingBars\");\nvar Figure_styles_1 = require(\"./Figure.styles\");\nvar Figure = function (props) {\n var animator = props.animator, src = props.src, alt = props.alt, fluid = props.fluid, preload = props.preload, imgProps = props.imgProps, descriptionTextProps = props.descriptionTextProps, loadingProps = props.loadingProps, className = props.className, style = props.style, rootRef = props.rootRef, children = props.children;\n var animate = animator.animate;\n var theme = react_2.useTheme();\n var bleeps = sounds_1.useBleeps();\n var styles = react_1.useMemo(function () { return Figure_styles_1.generateStyles(theme, { animate: animate, fluid: fluid }); }, [theme, animate, fluid]);\n var containerRef = react_1.useRef(null);\n var isMountedRef = react_1.useRef(true);\n var _a = react_1.useState(false), isLoading = _a[0], setIsLoading = _a[1];\n var _b = react_1.useState(false), hasError = _b[0], setHasError = _b[1];\n react_1.useEffect(function () {\n if (!preload) {\n return;\n }\n // TODO: Create a custom functionality to handle dynamic\n // breakpoint resources settings.\n var imageURL;\n if (Array.isArray(src)) {\n src.find(function (value, index) {\n var breakpointKey = design_1.THEME_BREAKPOINTS_KEYS[index];\n var breakpoint = theme.breakpoints.values[breakpointKey];\n if (breakpoint && breakpoint >= window.innerWidth) {\n return true;\n }\n if (value) {\n imageURL = value;\n }\n return false;\n });\n }\n else {\n imageURL = src;\n }\n if (imageURL) {\n setIsLoading(true);\n setHasError(false);\n loadImage_1.loadImage(imageURL)\n .catch(function () {\n if (isMountedRef.current) {\n setHasError(true);\n }\n })\n .then(function () {\n var _a;\n if (isMountedRef.current) {\n setIsLoading(false);\n appearTransitions_1.transitionAppear({\n targets: (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('.arwes-figure__asset'),\n duration: animator.duration.enter\n });\n }\n })\n .catch(function () { });\n }\n else {\n setHasError(true);\n }\n return function () {\n isMountedRef.current = false;\n };\n }, []);\n animator.setupAnimateRefs(containerRef, theme, styles, bleeps);\n return (react_2.jsx(\"figure\", { className: css_1.cx('arwes-figure', className), css: styles.root, style: style, ref: rootRef },\n react_2.jsx(\"div\", { className: 'arwes-figure__container', css: styles.container, ref: containerRef },\n react_2.jsx(\"div\", { className: 'arwes-figure__content', css: styles.content },\n react_2.jsx(\"picture\", { className: 'arwes-figure__asset', css: [\n styles.asset,\n hasError && styles.assetHasError\n ] },\n !Array.isArray(src) && (react_2.jsx(\"img\", __assign({}, imgProps, { className: 'arwes-figure__image', css: styles.image, src: src, alt: alt }))),\n Array.isArray(src) && (src\n .map(function (srcItem, index) {\n if (!srcItem) {\n return null;\n }\n if (index === 0) {\n return (react_2.jsx(\"img\", __assign({ key: index }, imgProps, { className: 'arwes-figure__image', css: styles.image, src: srcItem, alt: alt })));\n }\n return (react_2.jsx(\"source\", { key: index, srcSet: srcItem, media: theme.breakpoints\n .up(design_1.THEME_BREAKPOINTS_KEYS[index])\n .replace('@media ', '') }));\n })\n .filter(Boolean)\n .reverse()),\n preload && isLoading && (react_2.jsx(LoadingBars_1.LoadingBars, __assign({}, loadingProps, { className: 'arwes-figure__loading', css: styles.loading, full: true })))),\n !!children && (react_2.jsx(\"div\", { className: 'arwes-figure__description', css: styles.description },\n react_2.jsx(\"div\", { className: 'arwes-figure__description-bg arwes-figure__description-bg1', css: [styles.descriptionBg, styles.descriptionBg1] }),\n react_2.jsx(\"div\", { className: 'arwes-figure__description-bg arwes-figure__description-bg2', css: [styles.descriptionBg, styles.descriptionBg2] }),\n react_2.jsx(\"div\", { className: 'arwes-figure__description-bg arwes-figure__description-bg3', css: [styles.descriptionBg, styles.descriptionBg3] }),\n react_2.jsx(\"figcaption\", { className: 'arwes-figure__description-text', css: styles.descriptionText },\n react_2.jsx(Text_1.Text, __assign({}, descriptionTextProps), children))))),\n react_2.jsx(\"div\", { className: 'arwes-figure__line arwes-figure__line-a arwes-figure__line-a1', css: [styles.line, styles.lineA1] }),\n react_2.jsx(\"div\", { className: 'arwes-figure__line arwes-figure__line-a arwes-figure__line-a2', css: [styles.line, styles.lineA2] }),\n react_2.jsx(\"div\", { className: 'arwes-figure__line arwes-figure__line-b arwes-figure__line-b1', css: [styles.line, styles.lineB1] }),\n react_2.jsx(\"div\", { className: 'arwes-figure__line arwes-figure__line-b arwes-figure__line-b1', css: [styles.line, styles.lineB2] }),\n !!children && (react_2.jsx(react_1.Fragment, null,\n react_2.jsx(\"div\", { className: 'arwes-figure__line arwes-figure__line-c', css: [styles.line, styles.lineC] }),\n react_2.jsx(\"div\", { className: 'arwes-figure__line arwes-figure__line-d', css: [styles.line, styles.lineD] }))))));\n};\nexports.Figure = Figure;\nFigure.propTypes = {\n src: prop_types_1.default.oneOfType([\n prop_types_1.default.string.isRequired,\n prop_types_1.default.arrayOf(prop_types_1.default.string)\n ]).isRequired,\n alt: prop_types_1.default.string,\n fluid: prop_types_1.default.bool,\n imgProps: prop_types_1.default.object,\n descriptionTextProps: prop_types_1.default.object,\n loadingProps: prop_types_1.default.object,\n className: prop_types_1.default.string,\n style: prop_types_1.default.object,\n rootRef: prop_types_1.default.any\n};\nFigure.defaultProps = {\n descriptionTextProps: {\n blink: false\n }\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateStyles = void 0;\nvar rgba_1 = __importDefault(require(\"polished/lib/color/rgba\"));\nvar generateStyles = function (theme, options) {\n var palette = theme.palette, space = theme.space, outline = theme.outline, shadowBlur = theme.shadowBlur;\n var animate = options.animate, fluid = options.fluid;\n var containerPadding = space(2);\n var lineWidth = outline(1);\n var lineShadowBlur = shadowBlur(2);\n var lineColor = palette.primary.main;\n var lineShadowColor = palette.primary.main;\n var lineLength = space(18);\n var lineMaxLength = '20%';\n var descriptionRightAngleWidth = space(4);\n var descriptionBgColor = rgba_1.default(palette.primary.light1, 0.05);\n return {\n root: {\n display: fluid ? 'block' : 'flex',\n margin: \"0 auto \" + space(4) + \"px\"\n },\n container: {\n position: 'relative',\n margin: '0 auto',\n padding: containerPadding\n },\n content: {\n display: fluid ? 'block' : 'table',\n margin: '0 auto'\n },\n asset: {\n position: 'relative',\n display: 'block',\n backgroundColor: palette.neutral.elevate(2),\n opacity: animate ? 0 : undefined\n },\n assetHasError: {\n backgroundColor: rgba_1.default(palette.error.main, 0.2),\n '& img': {\n opacity: 0\n }\n },\n image: {\n display: 'block',\n margin: 0,\n border: 'none',\n width: fluid ? '100%' : 'auto',\n minWidth: 300,\n height: 'auto',\n minHeight: 150,\n verticalAlign: 'top'\n },\n loading: {\n backgroundColor: palette.neutral.elevate(2)\n },\n description: {\n display: fluid ? 'block' : 'table-caption',\n captionSide: 'bottom',\n position: 'relative',\n overflow: 'hidden',\n paddingLeft: space(2),\n paddingRight: space(4),\n paddingTop: space(2),\n paddingBottom: space(2),\n fontSize: '80%',\n textAlign: 'right'\n },\n descriptionText: {\n display: 'block',\n margin: 0,\n border: 'none',\n padding: 0,\n backgroundColor: 'transparent'\n },\n descriptionBg: {\n position: 'absolute',\n overflow: 'hidden',\n opacity: animate ? 0 : undefined\n },\n descriptionBg1: {\n left: 0,\n right: descriptionRightAngleWidth,\n top: 0,\n bottom: 0,\n backgroundColor: descriptionBgColor\n },\n descriptionBg2: {\n right: 0,\n top: 0,\n bottom: space(6),\n width: descriptionRightAngleWidth,\n backgroundColor: descriptionBgColor\n },\n descriptionBg3: {\n right: 0,\n bottom: 0,\n width: descriptionRightAngleWidth,\n height: space(6),\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n right: 0,\n top: 0,\n width: '100%',\n height: '100%',\n transform: 'skewX(330deg)',\n transformOrigin: 'top',\n backgroundColor: descriptionBgColor\n }\n },\n line: {\n position: 'absolute',\n backgroundColor: lineColor,\n boxShadow: \"0 0 \" + lineShadowBlur + \"px \" + lineShadowColor,\n opacity: animate ? 0 : undefined\n },\n lineA1: {\n left: 0,\n bottom: 0,\n width: lineWidth,\n height: lineLength,\n maxHeight: lineMaxLength\n },\n lineA2: {\n left: 0,\n bottom: 0,\n width: lineLength,\n maxWidth: lineMaxLength,\n height: lineWidth\n },\n lineB1: {\n right: 0,\n top: 0,\n width: lineWidth,\n height: lineLength,\n maxHeight: lineMaxLength\n },\n lineB2: {\n right: 0,\n top: 0,\n width: lineLength,\n maxWidth: lineMaxLength,\n height: lineWidth\n },\n lineC: {\n right: 0,\n bottom: 0,\n width: lineWidth,\n height: space(8),\n transform: 'skewX(330deg)',\n transformOrigin: 'top'\n },\n lineD: {\n right: containerPadding + descriptionRightAngleWidth + space(1),\n bottom: 0,\n width: '20%',\n height: lineWidth\n }\n };\n};\nexports.generateStyles = generateStyles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Figure = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar Figure_component_1 = require(\"./Figure.component\");\nvar Figure_animator_1 = require(\"./Figure.animator\");\n// TODO: Fix props or HOC to properly use nested component props with withAnimator.\nvar Figure = animation_1.withAnimator(Figure_animator_1.animator)(Figure_component_1.Figure);\nexports.Figure = Figure;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameBox = void 0;\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar css_1 = require(\"@emotion/css\");\nvar react_1 = require(\"@emotion/react\");\nvar expandCSSBoxProp_1 = require(\"../utils/expandCSSBoxProp\");\nvar useBleepsOnAnimator_1 = require(\"../utils/useBleepsOnAnimator\");\nvar Frame_1 = require(\"../utils/Frame\");\nfunction FrameBox(props) {\n var animator = props.animator, className = props.className, origins = props.origins, linesWidths = props.linesWidths, otherProps = __rest(props, [\"animator\", \"className\", \"origins\", \"linesWidths\"]);\n useBleepsOnAnimator_1.useBleepsOnAnimator({\n entering: 'assemble',\n exiting: 'assemble'\n });\n var theme = react_1.useTheme();\n var originsList = expandCSSBoxProp_1.expandCSSBoxProp(origins, 'center');\n var linesWidthsList = expandCSSBoxProp_1.expandCSSBoxProp(linesWidths, 1).map(theme.outline);\n var polylinesRaw = [\n [[0, 0], ['100%', 0]],\n [['100%', 0], ['100%', '100%']],\n [['100%', '100%'], [0, '100%']],\n [[0, '100%'], [0, 0]] // left\n ];\n var polylinesFiltered = polylinesRaw\n .map(function (polyline, index) {\n var _a, _b;\n var scaleAxis = index === 0 || index === 2 ? 'scaleX' : 'scaleY';\n var transformOrigin = originsList[index];\n var lineWidth = linesWidthsList[index];\n if (!lineWidth) {\n return null;\n }\n var polylineCustom = {\n polyline: polyline,\n lineWidth: lineWidth,\n css: { strokeLinecap: 'square' },\n animated: {\n initialStyles: { transform: scaleAxis + \"(0)\", transformOrigin: transformOrigin },\n entering: (_a = {}, _a[scaleAxis] = 1, _a),\n exiting: (_b = {}, _b[scaleAxis] = 0, _b)\n }\n };\n return polylineCustom;\n });\n var polylines = polylinesFiltered.filter(Boolean);\n return (react_1.jsx(Frame_1.Frame, __assign({}, otherProps, { className: css_1.cx('arwes-frame-box', className), shapes: [\n [\n [0, 0],\n [0, '100%'],\n ['100%', '100%'],\n ['100%', 0]\n ]\n ], polylines: polylines })));\n}\nexports.FrameBox = FrameBox;\n;\nFrameBox.propTypes = {\n origins: prop_types_1.default.oneOfType([\n prop_types_1.default.string,\n prop_types_1.default.arrayOf(prop_types_1.default.string)\n ]),\n linesWidths: prop_types_1.default.oneOfType([\n prop_types_1.default.number,\n prop_types_1.default.arrayOf(prop_types_1.default.number)\n ])\n};\nFrameBox.defaultProps = {\n origins: 'center',\n linesWidths: 1\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameBox = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar FrameBox_component_1 = require(\"./FrameBox.component\");\n// TODO: withAnimator does not support a functional React component declared\n// in \"function Component () {}\" notation with \"defaultProps\".\nvar FrameBox = animation_1.withAnimator()(FrameBox_component_1.FrameBox);\nexports.FrameBox = FrameBox;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameCorners = void 0;\nvar css_1 = require(\"@emotion/css\");\nvar react_1 = require(\"@emotion/react\");\nvar useBleepsOnAnimator_1 = require(\"../utils/useBleepsOnAnimator\");\nvar Frame_1 = require(\"../utils/Frame\");\nfunction FrameCorners(props) {\n var animator = props.animator, className = props.className, cornerWidth = props.cornerWidth, cornerLength = props.cornerLength, showContentLines = props.showContentLines, contentLineWidth = props.contentLineWidth, otherProps = __rest(props, [\"animator\", \"className\", \"cornerWidth\", \"cornerLength\", \"showContentLines\", \"contentLineWidth\"]);\n useBleepsOnAnimator_1.useBleepsOnAnimator({\n entering: 'assemble',\n exiting: 'assemble'\n });\n var theme = react_1.useTheme();\n var cw = theme.outline(cornerWidth);\n var cl = cornerLength;\n var contentPolylines = [];\n if (showContentLines) {\n var yAnimated = {\n initialStyles: { transform: 'scaleY(0)' },\n entering: { scaleY: 1 },\n exiting: { scaleY: 0 }\n };\n var xAnimated = {\n initialStyles: { transform: 'scaleX(0)' },\n entering: { scaleX: 1 },\n exiting: { scaleX: 0 }\n };\n contentPolylines = [\n {\n polyline: [[cw, cw], [cw, \"100% - \" + cw]],\n animated: yAnimated\n },\n {\n polyline: [[\"100% - \" + cw, cw], [\"100% - \" + cw, \"100% - \" + cw]],\n animated: yAnimated\n },\n {\n polyline: [[cw, cw], [\"100% - \" + cw, cw]],\n animated: xAnimated\n },\n {\n polyline: [[cw, \"100% - \" + cw], [\"100% - \" + cw, \"100% - \" + cw]],\n animated: xAnimated\n }\n ].map(function (contentLine) { return (__assign(__assign({}, contentLine), { lineWidth: theme.outline(contentLineWidth), css: { transformOrigin: 'center', opacity: 0.5 } })); });\n }\n var cornerPolylines = [\n [[0, 0], [0, cl]],\n [[0, 0], [cl, 0]],\n [['100%', 0], [\"100% - \" + cl, 0]],\n [['100%', 0], ['100%', cl]],\n [['100%', '100%'], [\"100% - \" + cl, '100%']],\n [['100%', '100%'], ['100%', \"100% - \" + cl]],\n [[0, '100%'], [0, \"100% - \" + cl]],\n [[0, '100%'], [cl, '100%']]\n ].map(function (polyline) { return ({\n polyline: polyline,\n css: { strokeLinecap: 'square' }\n }); });\n return (react_1.jsx(Frame_1.Frame, __assign({}, otherProps, { className: css_1.cx('arwes-frame-corners', className), shapes: [\n [\n [cw, cw],\n [cw, \"100% - \" + cw],\n [\"100% - \" + cw, \"100% - \" + cw],\n [\"100% - \" + cw, cw]\n ]\n ], polylines: __spreadArrays(contentPolylines, cornerPolylines), lineWidth: cw })));\n}\nexports.FrameCorners = FrameCorners;\nFrameCorners.defaultProps = {\n cornerWidth: 1,\n cornerLength: 10,\n contentLineWidth: 1\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameCorners = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar FrameCorners_component_1 = require(\"./FrameCorners.component\");\n// TODO: withAnimator does not support a functional React component declared\n// in \"function Component () {}\" notation with \"defaultProps\".\nvar FrameCorners = animation_1.withAnimator()(FrameCorners_component_1.FrameCorners);\nexports.FrameCorners = FrameCorners;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameHexagon = void 0;\nvar css_1 = require(\"@emotion/css\");\nvar react_1 = require(\"@emotion/react\");\nvar useBleepsOnAnimator_1 = require(\"../utils/useBleepsOnAnimator\");\nvar Frame_1 = require(\"../utils/Frame\");\nfunction FrameHexagon(props) {\n var animator = props.animator, className = props.className, lineWidth = props.lineWidth, squareSize = props.squareSize, inverted = props.inverted, otherProps = __rest(props, [\"animator\", \"className\", \"lineWidth\", \"squareSize\", \"inverted\"]);\n useBleepsOnAnimator_1.useBleepsOnAnimator({\n entering: 'assemble',\n exiting: 'assemble'\n });\n var _a = react_1.useTheme(), space = _a.space, outline = _a.outline;\n var ss = squareSize;\n // Polylines without repeated points between them.\n var polyline1 = [];\n var polyline2 = [];\n if (!inverted) {\n polyline1 = [\n [0, '100%'],\n [\"100% - \" + ss, '100%'],\n ['100%', \"100% - \" + ss],\n ['100%', 0]\n ];\n polyline2 = [\n [ss, 0],\n [0, ss]\n ];\n }\n else {\n polyline1 = [\n [0, 0],\n [0, \"100% - \" + ss],\n [ss, '100%'],\n ['100%', '100%']\n ];\n polyline2 = [\n ['100%', ss],\n [\"100% - \" + ss, 0]\n ];\n }\n return (react_1.jsx(Frame_1.Frame, __assign({}, otherProps, { className: css_1.cx('arwes-frame-hexagon', className), css: {\n padding: space(2) + \"px \" + space(4) + \"px\"\n }, shapes: [\n polyline1.concat(polyline2)\n ], polylines: [\n polyline1,\n __spreadArrays([\n polyline1[polyline1.length - 1]\n ], polyline2, [\n polyline1[0]\n ])\n ], lineWidth: outline(lineWidth) })));\n}\nexports.FrameHexagon = FrameHexagon;\nFrameHexagon.defaultProps = {\n lineWidth: 1,\n squareSize: 15\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameHexagon = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar FrameHexagon_component_1 = require(\"./FrameHexagon.component\");\n// TODO: withAnimator does not support a functional React component declared\n// in \"function Component () {}\" notation with \"defaultProps\".\nvar FrameHexagon = animation_1.withAnimator()(FrameHexagon_component_1.FrameHexagon);\nexports.FrameHexagon = FrameHexagon;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameLines = void 0;\nvar css_1 = require(\"@emotion/css\");\nvar react_1 = require(\"@emotion/react\");\nvar useBleepsOnAnimator_1 = require(\"../utils/useBleepsOnAnimator\");\nvar Frame_1 = require(\"../utils/Frame\");\nfunction FrameLines(props) {\n var animator = props.animator, className = props.className, largeLineWidth = props.largeLineWidth, smallLineWidth = props.smallLineWidth, smallLineLength = props.smallLineLength, hideTopLines = props.hideTopLines, hideBottomLines = props.hideBottomLines, otherProps = __rest(props, [\"animator\", \"className\", \"largeLineWidth\", \"smallLineWidth\", \"smallLineLength\", \"hideTopLines\", \"hideBottomLines\"]);\n useBleepsOnAnimator_1.useBleepsOnAnimator({\n entering: 'assemble',\n exiting: 'assemble'\n });\n var theme = react_1.useTheme();\n var llWidth = theme.outline(largeLineWidth);\n var slWidth = theme.outline(smallLineWidth);\n var slLength = smallLineLength;\n // Large Polylines.\n var largePolylines = [];\n if (!hideTopLines) {\n largePolylines = [\n [[0, 0], ['50% + 0.1', 0]],\n [['100%', 0], ['50% - 0.1', 0]]\n ];\n }\n if (!hideBottomLines) {\n largePolylines = largePolylines.concat([\n [[0, '100%'], ['50% + 0.1', '100%']],\n [['100%', '100%'], ['50% - 0.1', '100%']]\n ]);\n }\n // Small Polylines.\n var smallPolylines = [];\n if (!hideTopLines) {\n smallPolylines = [\n [[0, llWidth], [slLength, llWidth]],\n [['100%', llWidth], [\"100% - \" + slLength, llWidth]]\n ];\n }\n if (!hideBottomLines) {\n smallPolylines = smallPolylines.concat([\n [[0, \"100% - \" + llWidth], [slLength, \"100% - \" + llWidth]],\n [['100%', \"100% - \" + llWidth], [\"100% - \" + slLength, \"100% - \" + llWidth]]\n ]);\n }\n return (react_1.jsx(Frame_1.Frame, __assign({}, otherProps, { className: css_1.cx('arwes-frame-lines', className), shapes: [\n [\n [0, 0],\n [0, '100%'],\n ['100%', '100%'],\n ['100%', 0]\n ]\n ], polylines: __spreadArrays(largePolylines.map(function (polyline) { return ({\n polyline: polyline,\n lineWidth: llWidth\n }); }), smallPolylines.map(function (polyline) { return ({\n polyline: polyline,\n lineWidth: slWidth\n }); })) })));\n}\nexports.FrameLines = FrameLines;\nFrameLines.defaultProps = {\n largeLineWidth: 1,\n smallLineWidth: 1,\n smallLineLength: 10\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameLines = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar FrameLines_component_1 = require(\"./FrameLines.component\");\n// TODO: withAnimator does not support a functional React component declared\n// in \"function Component () {}\" notation with \"defaultProps\".\nvar FrameLines = animation_1.withAnimator()(FrameLines_component_1.FrameLines);\nexports.FrameLines = FrameLines;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FramePentagon = void 0;\nvar css_1 = require(\"@emotion/css\");\nvar react_1 = require(\"@emotion/react\");\nvar useBleepsOnAnimator_1 = require(\"../utils/useBleepsOnAnimator\");\nvar Frame_1 = require(\"../utils/Frame\");\nfunction FramePentagon(props) {\n var animator = props.animator, className = props.className, lineWidth = props.lineWidth, squareSize = props.squareSize, inverted = props.inverted, otherProps = __rest(props, [\"animator\", \"className\", \"lineWidth\", \"squareSize\", \"inverted\"]);\n useBleepsOnAnimator_1.useBleepsOnAnimator({\n entering: 'assemble',\n exiting: 'assemble'\n });\n var _a = react_1.useTheme(), space = _a.space, outline = _a.outline;\n var ss = squareSize;\n var polyline1 = [];\n var polyline2 = [];\n if (!inverted) {\n polyline1 = [\n [0, '100%'],\n [\"100% - \" + ss, '100%'],\n ['100%', \"100% - \" + ss],\n ['100%', 0]\n ];\n polyline2 = [\n [0, 0]\n ];\n }\n else {\n polyline1 = [\n [0, 0],\n [0, \"100% - \" + ss],\n [ss, '100%'],\n ['100%', '100%']\n ];\n polyline2 = [\n ['100%', 0]\n ];\n }\n return (react_1.jsx(Frame_1.Frame, __assign({}, otherProps, { className: css_1.cx('arwes-frame-pentagon', className), css: {\n padding: space(2) + \"px \" + space(4) + \"px\"\n }, shapes: [\n polyline1.concat(polyline2)\n ], polylines: [\n polyline1,\n __spreadArrays([\n polyline1[polyline1.length - 1]\n ], polyline2, [\n polyline1[0]\n ])\n ], lineWidth: outline(lineWidth) })));\n}\nexports.FramePentagon = FramePentagon;\nFramePentagon.defaultProps = {\n lineWidth: 1,\n squareSize: 15\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FramePentagon = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar FramePentagon_component_1 = require(\"./FramePentagon.component\");\n// TODO: withAnimator does not support a functional React component declared\n// in \"function Component () {}\" notation with \"defaultProps\".\nvar FramePentagon = animation_1.withAnimator()(FramePentagon_component_1.FramePentagon);\nexports.FramePentagon = FramePentagon;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameUnderline = void 0;\nvar css_1 = require(\"@emotion/css\");\nvar react_1 = require(\"@emotion/react\");\nvar Frame_1 = require(\"../utils/Frame\");\nvar useBleepsOnAnimator_1 = require(\"../utils/useBleepsOnAnimator\");\nfunction FrameUnderline(props) {\n var animator = props.animator, className = props.className, lineWidth = props.lineWidth, squareSize = props.squareSize, otherProps = __rest(props, [\"animator\", \"className\", \"lineWidth\", \"squareSize\"]);\n var _a = react_1.useTheme(), space = _a.space, outline = _a.outline;\n var ss = squareSize;\n useBleepsOnAnimator_1.useBleepsOnAnimator({\n entering: 'assemble',\n exiting: 'assemble'\n });\n return (react_1.jsx(Frame_1.Frame, __assign({}, otherProps, { className: css_1.cx('arwes-frame-underline', className), css: {\n padding: space(2) + \"px \" + space(4) + \"px\"\n }, shapes: [\n [\n [0, 0],\n [0, '100%'],\n [\"100% - \" + ss, '100%'],\n ['100%', \"100% - \" + ss],\n ['100%', 0]\n ]\n ], polylines: [\n [\n [0, '100%'],\n [\"100% - \" + ss, '100%'],\n ['100%', \"100% - \" + ss]\n ]\n ], lineWidth: outline(lineWidth) })));\n}\nexports.FrameUnderline = FrameUnderline;\nFrameUnderline.defaultProps = {\n lineWidth: 2,\n squareSize: 15\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FrameUnderline = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar FrameUnderline_component_1 = require(\"./FrameUnderline.component\");\n// TODO: withAnimator does not support a functional React component declared\n// in \"function Component () {}\" notation with \"defaultProps\".\nvar FrameUnderline = animation_1.withAnimator()(FrameUnderline_component_1.FrameUnderline);\nexports.FrameUnderline = FrameUnderline;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.animator = void 0;\nvar animejs_1 = __importDefault(require(\"animejs\"));\nvar transitionRemoveList = function (animator, containerRef) {\n var container = containerRef.current;\n if (container) {\n var items = container.querySelectorAll(':scope > li');\n animejs_1.default.remove(items);\n }\n};\nvar transitionList = function (animator, containerRef, theme) {\n transitionRemoveList(animator, containerRef);\n var flow = animator.flow, duration = animator.duration;\n var isEntering = flow.entering || flow.entered;\n var durationTransition = isEntering ? duration.enter : duration.exit;\n var container = containerRef.current;\n var items = container.querySelectorAll(':scope > li');\n var space = theme.space;\n if (isEntering) {\n animejs_1.default({\n targets: items,\n delay: animejs_1.default.stagger(duration.stagger),\n opacity: {\n easing: 'easeOutExpo',\n duration: durationTransition / 3,\n value: [0, 1]\n },\n translateX: {\n easing: 'easeOutSine',\n duration: durationTransition,\n value: [-space(2), 0]\n }\n });\n }\n else {\n animejs_1.default({\n targets: items,\n // Only set `opacity: 0` when the animation is completed so the
\n // children text components can be animated properly.\n easing: function () { return function (progress) { return progress === 1 ? 1 : 0; }; },\n duration: durationTransition,\n opacity: [1, 0]\n });\n }\n};\nvar animator = {\n combine: true,\n manager: 'stagger',\n onAnimateEntering: transitionList,\n onAnimateExiting: transitionList,\n onAnimateUnmount: transitionRemoveList\n};\nexports.animator = animator;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.List = void 0;\n/* @jsx jsx */\nvar react_1 = require(\"react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar css_1 = require(\"@emotion/css\");\nvar react_2 = require(\"@emotion/react\");\nvar List_styles_1 = require(\"./List.styles\");\nvar List = function (props) {\n var animator = props.animator, asProvided = props.as, externalRef = props.rootRef, className = props.className, style = props.style, children = props.children;\n var animate = animator.animate;\n var as = react_1.useMemo(function () { return asProvided || 'ul'; }, []);\n var internalRef = react_1.useRef(null);\n var rootRef = react_1.useCallback(function (node) {\n internalRef.current = node;\n if (typeof externalRef === 'function') {\n externalRef(node);\n }\n else if (externalRef) {\n externalRef.current = node;\n }\n }, []);\n var theme = react_2.useTheme();\n var styles = react_1.useMemo(function () { return List_styles_1.generateStyles({ animate: animate }); }, []);\n animator.setupAnimateRefs(internalRef, theme);\n return react_2.jsx(as, {\n className: css_1.cx('arwes-list', className),\n css: styles.root,\n style: style,\n ref: rootRef\n }, children);\n};\nexports.List = List;\nList.propTypes = {\n as: prop_types_1.default.oneOf(['ul', 'ol']),\n className: prop_types_1.default.string,\n style: prop_types_1.default.object,\n rootRef: prop_types_1.default.any\n};\nList.defaultProps = {\n as: 'ul'\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateStyles = void 0;\nvar generateStyles = function (options) {\n var animate = options.animate;\n return {\n root: {\n '& > li': {\n opacity: animate ? 0 : undefined\n }\n }\n };\n};\nexports.generateStyles = generateStyles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.List = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar List_component_1 = require(\"./List.component\");\nvar List_animator_1 = require(\"./List.animator\");\nvar List = animation_1.withAnimator(List_animator_1.animator)(List_component_1.List);\nexports.List = List;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.animator = void 0;\nvar LoadingBars_effects_1 = require(\"./LoadingBars.effects\");\nvar animator = {\n onAnimateEntering: LoadingBars_effects_1.startLoadingBarsTransition,\n onAnimateExiting: LoadingBars_effects_1.startLoadingBarsTransition,\n onAnimateUnmount: LoadingBars_effects_1.stopLoadingBarsTransition\n};\nexports.animator = animator;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LoadingBars = void 0;\n/* @jsx jsx */\nvar react_1 = require(\"react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar css_1 = require(\"@emotion/css\");\nvar react_2 = require(\"@emotion/react\");\nvar LoadingBars_styles_1 = require(\"./LoadingBars.styles\");\nvar LoadingBars_effects_1 = require(\"./LoadingBars.effects\");\nvar LoadingBars = function (props) {\n var animator = props.animator, determinate = props.determinate, full = props.full, className = props.className, style = props.style, externalRootRef = props.rootRef;\n var length = props.length;\n var progress = props.progress;\n var size = props.size;\n var speed = props.speed;\n var animate = animator.animate, flow = animator.flow;\n var theme = react_2.useTheme();\n var styles = react_1.useMemo(function () { return LoadingBars_styles_1.generateStyles(theme, { animate: animate, length: length, size: size, full: full }); }, [theme, animate, length, size, full]);\n var rootRef = react_1.useRef(null);\n var animateRefs = react_1.useRef({\n rootRef: rootRef,\n animationFrameId: 0\n });\n var internalRootRef = react_1.useCallback(function (node) {\n rootRef.current = node;\n if (typeof externalRootRef === 'function') {\n externalRootRef(node);\n }\n else if (externalRootRef) {\n externalRootRef.current = node;\n }\n }, []);\n react_1.useEffect(function () {\n if (!determinate && flow.entered) {\n LoadingBars_effects_1.startLoadingBarsUndeterminateAnimation(animator, animateRefs, styles, { speed: speed });\n }\n return function () { return LoadingBars_effects_1.stopLoadingBarsUndeterminateAnimation(animator, animateRefs, styles); };\n }, [determinate, flow.entered]);\n animator.setupAnimateRefs(animateRefs, theme);\n return (react_2.jsx(\"div\", { className: css_1.cx('arwes-loading-bars', className), css: styles.root, style: style, ref: internalRootRef },\n react_2.jsx(\"div\", { className: 'arwes-loading-bars__container', css: styles.container }, Array(length).fill(0).map(function (_, index) {\n return react_2.jsx(\"div\", { key: index, className: 'arwes-loading-bars__item', css: [\n styles.item,\n determinate &&\n ((!index && progress > 0) || ((index + 1) <= ((progress * length) / 100))) &&\n styles.itemPrimaryActive\n ] });\n }))));\n};\nexports.LoadingBars = LoadingBars;\nLoadingBars.propTypes = {\n determinate: prop_types_1.default.bool,\n length: prop_types_1.default.number.isRequired,\n progress: prop_types_1.default.number,\n size: prop_types_1.default.number.isRequired,\n full: prop_types_1.default.bool,\n speed: prop_types_1.default.number.isRequired,\n className: prop_types_1.default.string,\n style: prop_types_1.default.object,\n rootRef: prop_types_1.default.any\n};\nLoadingBars.defaultProps = {\n length: 8,\n progress: 0,\n size: 1,\n speed: 3\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startLoadingBarsUndeterminateAnimation = exports.stopLoadingBarsUndeterminateAnimation = exports.startLoadingBarsTransition = exports.stopLoadingBarsTransition = void 0;\nvar animejs_1 = __importDefault(require(\"animejs\"));\nvar stopLoadingBarsTransition = function (animator, refs) {\n var root = refs.current.rootRef.current;\n if (root) {\n var container = root.querySelector('.arwes-loading-bars__container');\n animejs_1.default.remove(container);\n Object.assign(container.style, {\n transform: '',\n opacity: ''\n });\n }\n};\nexports.stopLoadingBarsTransition = stopLoadingBarsTransition;\nvar startLoadingBarsTransition = function (animator, refs, theme) {\n stopLoadingBarsTransition(animator, refs);\n var duration = animator.duration, flow = animator.flow;\n var isEntering = flow.entering || flow.entered;\n var space = theme.space;\n var root = refs.current.rootRef.current;\n var container = root.querySelector('.arwes-loading-bars__container');\n animejs_1.default({\n targets: container,\n duration: isEntering ? duration.enter : duration.exit,\n easing: 'easeOutSine',\n translateX: isEntering ? [-space(4), 0] : [0, space(4)],\n opacity: isEntering ? [0, 1] : [1, 0]\n });\n};\nexports.startLoadingBarsTransition = startLoadingBarsTransition;\nvar stopLoadingBarsUndeterminateAnimation = function (animator, refs, styles) {\n window.cancelAnimationFrame(refs.current.animationFrameId);\n var root = refs.current.rootRef.current;\n if (root) {\n var items = Array.from(root.querySelectorAll('.arwes-loading-bars__item'));\n items.forEach(function (item) {\n Object.assign(item.style, styles.itemInactive);\n });\n }\n};\nexports.stopLoadingBarsUndeterminateAnimation = stopLoadingBarsUndeterminateAnimation;\nvar startLoadingBarsUndeterminateAnimation = function (animator, refs, styles, options) {\n stopLoadingBarsUndeterminateAnimation(animator, refs, styles);\n var root = refs.current.rootRef.current;\n var items = Array.from(root.querySelectorAll('.arwes-loading-bars__item'));\n var speed = options.speed;\n // A normal FPS duration times a speed time factor.\n var itemDuration = (1000 / 60) * speed;\n var roundDuration = items.length * itemDuration;\n var timeStart = 0;\n var addNextFrame = function (render) {\n refs.current.animationFrameId = window.requestAnimationFrame(render);\n };\n var renderFrame = function (timestamp) {\n if (!timeStart) {\n timeStart = timestamp;\n }\n var durationProgress = Math.max(timestamp - timeStart, 0);\n var currentRoundDuration = durationProgress % roundDuration;\n var currentPosition = Math.max(Math.floor(currentRoundDuration / itemDuration), 0);\n items.forEach(function (item) {\n Object.assign(item.style, styles.itemInactive);\n });\n if (currentPosition > 0) {\n Object.assign(items[currentPosition - 1].style, styles.itemSecondaryActive);\n }\n Object.assign(items[currentPosition].style, styles.itemPrimaryActive);\n if (currentPosition < items.length - 1) {\n Object.assign(items[currentPosition + 1].style, styles.itemSecondaryActive);\n }\n addNextFrame(renderFrame);\n };\n addNextFrame(renderFrame);\n};\nexports.startLoadingBarsUndeterminateAnimation = startLoadingBarsUndeterminateAnimation;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateStyles = void 0;\nvar rootFullStyles = {\n display: 'flex',\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar generateStyles = function (theme, options) {\n var palette = theme.palette, space = theme.space, outline = theme.outline, shadowBlur = theme.shadowBlur;\n var animate = options.animate, length = options.length, size = options.size, full = options.full;\n return {\n root: Object.assign({\n display: 'inline-block',\n padding: \"0 \" + space(2 * size) + \"px\"\n }, full ? rootFullStyles : undefined),\n container: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n margin: 'auto',\n width: space(length * 2 * size),\n opacity: animate ? 0 : undefined\n },\n item: {\n width: space(1 * size),\n height: space(5 * size),\n borderStyle: 'solid',\n borderColor: palette.primary.main,\n borderWidth: outline(1),\n boxShadow: \"0 0 \" + shadowBlur(1 * size) + \"px \" + palette.primary.main,\n transform: 'skewX(330deg)',\n transformOrigin: 'center'\n },\n itemPrimaryActive: {\n backgroundColor: palette.primary.main,\n boxShadow: \"0 0 \" + shadowBlur(2 * size) + \"px \" + palette.primary.main\n },\n itemSecondaryActive: {\n backgroundColor: palette.primary.dark2,\n boxShadow: \"0 0 \" + shadowBlur(2 * size) + \"px \" + palette.primary.dark2\n },\n itemInactive: {\n backgroundColor: '',\n boxShadow: ''\n }\n };\n};\nexports.generateStyles = generateStyles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LoadingBars = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar LoadingBars_component_1 = require(\"./LoadingBars.component\");\nvar LoadingBars_animator_1 = require(\"./LoadingBars.animator\");\nvar LoadingBars = animation_1.withAnimator(LoadingBars_animator_1.animator)(LoadingBars_component_1.LoadingBars);\nexports.LoadingBars = LoadingBars;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StylesBaseline = void 0;\nvar react_1 = __importStar(require(\"react\"));\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar react_2 = require(\"@emotion/react\");\nvar StylesBaseline_styles_1 = require(\"./StylesBaseline.styles\");\nvar StylesBaseline = function (props) {\n var styles = props.styles, children = props.children;\n var theme = react_2.useTheme();\n var globalGeneralStyles = react_1.useMemo(function () {\n return StylesBaseline_styles_1.createGlobalGeneralStyles(theme);\n }, [theme]);\n return (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(react_2.Global, { styles: globalGeneralStyles }),\n styles && react_1.default.createElement(react_2.Global, { styles: styles }),\n children));\n};\nexports.StylesBaseline = StylesBaseline;\nStylesBaseline.propTypes = {\n // @ts-expect-error\n styles: prop_types_1.default.oneOfType([\n prop_types_1.default.object,\n prop_types_1.default.func\n ])\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createGlobalGeneralStyles = void 0;\nvar rgba_1 = __importDefault(require(\"polished/lib/color/rgba\"));\nvar createGlobalGeneralStyles = function (theme) {\n var _a, _b;\n var palette = theme.palette, space = theme.space, outline = theme.outline, shadowBlur = theme.shadowBlur, fontScale = theme.fontScale, transitionDuration = theme.transitionDuration;\n var highlightedContentBgColor1 = rgba_1.default(palette.primary.light1, 0.05);\n var highlightedContentBgColor2 = rgba_1.default(palette.primary.light1, 0.1);\n var highlightedContentBgColor3 = rgba_1.default(palette.primary.light1, 0.15);\n return _a = {\n '*, *:before, *:after': {\n boxSizing: 'border-box',\n margin: 0,\n padding: 0\n },\n 'html, body': (_b = {\n backgroundColor: palette.neutral.main,\n // Prevent adjustments of font size after orientation changes in iOS.\n WebkitTextSizeAdjust: '100%',\n // Fonts\n fontSize: 16 * fontScale() + \"px\",\n lineHeight: 1.3,\n color: palette.text.root,\n // Scrollbars\n scrollbarWidth: 'thin',\n scrollbarColor: palette.primary.dark2 + ' ' + palette.neutral.elevate(2),\n '& ::-webkit-scrollbar': {\n width: space(1.5),\n height: space(1.5)\n }\n },\n _b[[\n '& ::-webkit-scrollbar-thumb',\n '& ::-webkit-scrollbar-track',\n '& ::-webkit-scrollbar-corner'\n ].join()] = {\n backgroundColor: palette.neutral.elevate(3)\n },\n _b['& ::-webkit-scrollbar-thumb'] = {\n border: space(0.4) + \"px solid \" + palette.neutral.elevate(3),\n backgroundColor: palette.primary.dark1,\n transition: \"background-color \" + transitionDuration() + \"ms ease-out\",\n '&:hover': {\n backgroundColor: palette.primary.main\n }\n },\n // Selection\n _b['& ::selection'] = {\n backgroundColor: rgba_1.default(palette.primary.main, 0.3),\n color: 'inherit'\n },\n _b),\n // TEXT\n 'h1, h2, h3, h4, h5, h6': {\n fontWeight: 'bold',\n color: palette.text.headings,\n textTransform: 'uppercase',\n letterSpacing: 0.5,\n textShadow: \"0 0 \" + shadowBlur(2) + \"px \" + palette.text.headings,\n a: {\n textShadow: \"0 0 \" + shadowBlur(2) + \"px \" + palette.text.link\n }\n },\n h1: { fontSize: '1.75rem' },\n h2: { fontSize: '1.625rem' },\n h3: { fontSize: '1.5rem' },\n h4: { fontSize: '1.375rem' },\n h5: { fontSize: '1.25rem' },\n h6: { fontSize: '1.125rem' },\n p: {\n fontSize: '1rem'\n },\n 'b, strong': {\n fontWeight: 'bolder'\n },\n small: {\n fontSize: '80%'\n },\n 'sub, sup': {\n fontSize: '75%',\n lineHeight: 0,\n position: 'relative',\n verticalAlign: 'baseline'\n },\n sub: {\n bottom: '-0.25em'\n },\n sup: {\n top: '-0.5em'\n },\n a: {\n color: palette.text.link,\n outline: 'none',\n textDecoration: 'none',\n transition: \"color \" + transitionDuration() + \"ms ease-out\",\n 'h1, h2, h3, h4, h5, h6': {\n textShadow: \"0 0 \" + shadowBlur(2) + \"px \" + palette.text.link\n },\n '&:hover, &:focus': {\n color: palette.text.linkHover\n }\n },\n // LISTS\n 'ul, ol': {\n paddingLeft: space(6),\n 'ul, ol': {\n marginBottom: 0\n }\n },\n ul: {\n li: {\n '&::marker': {\n content: '\"≫ \"',\n display: 'inline-block',\n marginTop: '0.05em',\n fontSize: '0.9em'\n }\n }\n },\n // CODES\n 'code, pre': {\n fontFamily: 'monospace'\n },\n pre: {\n display: 'block',\n borderWidth: outline(1) + \"px 0 \" + outline(1) + \"px 0\",\n borderStyle: 'solid',\n borderColor: palette.primary.dark1,\n padding: space(4),\n fontSize: '0.9rem',\n backgroundColor: highlightedContentBgColor1\n },\n // BLOCKQUOTE\n blockquote: {\n borderLeft: outline(6) + \"px solid \" + palette.primary.main,\n paddingLeft: space(4) + outline(6),\n paddingRight: space(4),\n paddingTop: space(2),\n paddingBottom: space(2),\n backgroundColor: highlightedContentBgColor1,\n 'p:last-of-type': {\n marginBottom: 0\n }\n },\n // TABLES\n table: {\n borderCollapse: 'separate',\n borderSpacing: space(1),\n width: '100%',\n textAlign: 'left'\n },\n thead: {\n tr: {\n backgroundColor: highlightedContentBgColor3\n },\n 'th, td': {\n borderBottom: outline(1) + \"px solid \" + palette.secondary.dark1\n }\n },\n tbody: {\n tr: {\n backgroundColor: highlightedContentBgColor1,\n '&:hover, &:focus': {\n backgroundColor: highlightedContentBgColor2\n }\n },\n td: {\n borderBottom: outline(1) + \"px solid \" + palette.primary.dark2\n }\n },\n 'th, td': {\n padding: space(1) + \"px \" + space(1.5) + \"px\"\n },\n tr: {\n transition: \"background-color \" + transitionDuration() + \"ms ease-out\"\n },\n // ASSETS\n img: {\n maxWidth: '100%'\n },\n figure: {\n img: {\n marginBottom: 0,\n verticalAlign: 'top'\n }\n },\n figcaption: {\n padding: space(2),\n backgroundColor: highlightedContentBgColor1\n },\n // LINE\n hr: {\n display: 'block',\n height: 0,\n borderWidth: \"0 0 \" + outline(1) + \"px 0\",\n borderStyle: 'solid',\n borderColor: palette.text.root\n },\n // FORMS\n fieldset: {\n borderStyle: 'solid',\n borderWidth: outline(1),\n borderColor: palette.primary.dark2,\n padding: space(4)\n },\n 'button, input, optgroup, select, textarea': {\n fontFamily: 'inherit',\n fontSize: '100%',\n lineHeight: 1.2\n },\n 'button, [type=\"button\"], [type=\"reset\"], [type=\"submit\"]': {\n display: 'inline-block',\n outline: 'none',\n border: 'none',\n cursor: 'pointer',\n // Correct the inability to style clickable types in iOS and Safari.\n WebkitAppearance: 'button',\n '&:hover, &:focus': {\n outline: 'none'\n },\n '&:disabled': {\n cursor: 'auto'\n }\n },\n 'input, textarea, select': {\n display: 'block',\n outline: 'none',\n borderWidth: \"0 0 \" + outline(2) + \"px 0\",\n borderStyle: 'solid',\n borderColor: palette.secondary.main,\n padding: space(1) + \"px \" + space(2) + \"px\",\n width: '100%',\n lineHeight: space(6) + \"px\",\n color: palette.secondary.light1,\n backgroundColor: 'transparent',\n transition: [\n \"border-color \" + transitionDuration() + \"ms ease-out\",\n \"background-color \" + transitionDuration() + \"ms ease-out\",\n \"box-shadow \" + transitionDuration() + \"ms ease-out\"\n ].join(', '),\n '&::placeholder': {\n color: rgba_1.default(palette.secondary.light1, 0.5)\n },\n '&:hover, &:focus': {\n borderColor: palette.secondary.light1,\n backgroundColor: rgba_1.default(palette.secondary.dark3, 0.3),\n boxShadow: \"0 0 \" + outline(2) + \"px \" + palette.secondary.dark3\n },\n '&:disabled': {\n borderColor: palette.primary.dark2,\n color: palette.primary.dark1,\n backgroundColor: 'transparent',\n boxShadow: 'none',\n cursor: 'auto',\n '&::placeholder': {\n color: palette.primary.dark2\n }\n }\n },\n option: {\n color: palette.secondary.light1,\n backgroundColor: palette.secondary.dark3\n },\n // Show the overflow in Edge.\n 'button, input': {\n overflow: 'visible'\n }\n },\n // Remove the inner border and padding in Firefox.\n _a[[\n 'button::-moz-focus-inner',\n '[type=\"button\"]::-moz-focus-inner',\n '[type=\"reset\"]::-moz-focus-inner',\n '[type=\"submit\"]::-moz-focus-inner'\n ].join(', ')] = {\n borderStyle: 'none',\n padding: 0\n },\n // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n _a.progress = {\n verticalAlign: 'baseline'\n },\n // Correct the cursor style of increment and decrement buttons in Chrome.\n _a[[\n '[type=\"number\"]::-webkit-inner-spin-button',\n '[type=\"number\"]::-webkit-outer-spin-button'\n ].join('')] = {\n height: 'auto'\n },\n _a['[type=\"search\"]'] = {\n // Correct the odd appearance in Chrome and Safari.\n WebkitAppearance: 'textfield',\n // Correct the outline style in Safari.\n outlineOffset: '-2px'\n },\n // Remove the inner padding in Chrome and Safari on macOS.\n _a['[type=\"search\"]::-webkit-search-decoration'] = {\n WebkitAppearance: 'none'\n },\n _a['::-webkit-file-upload-button'] = {\n // Correct the inability to style clickable types in iOS and Safari.\n WebkitAppearance: 'button',\n // Change font properties to `inherit` in Safari.\n font: 'inherit'\n },\n // CONTENT BLOCK ELEMENTS\n _a[[\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'p',\n 'ul',\n 'ol',\n 'pre',\n 'blockquote',\n 'table',\n 'figure',\n 'hr',\n 'fieldset'\n ].join(', ')] = {\n marginBottom: space(4)\n },\n _a;\n};\nexports.createGlobalGeneralStyles = createGlobalGeneralStyles;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./StylesBaseline.component\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.animator = void 0;\nvar playTableTransitionBleep = function (bleeps) {\n var _a;\n (_a = bleeps.readout) === null || _a === void 0 ? void 0 : _a.play();\n};\nvar stopTableTransitionBleep = function (bleeps) {\n var _a, _b;\n if ((_a = bleeps.readout) === null || _a === void 0 ? void 0 : _a.getIsPlaying()) {\n (_b = bleeps.readout) === null || _b === void 0 ? void 0 : _b.stop();\n }\n};\nvar onAnimateEntering = function (animator, bleeps) {\n playTableTransitionBleep(bleeps);\n};\nvar onAnimateEntered = function (animator, bleeps) {\n stopTableTransitionBleep(bleeps);\n};\nvar onAnimateExiting = function (animator, bleeps) {\n playTableTransitionBleep(bleeps);\n};\nvar onAnimateExited = function (animator, bleeps) {\n stopTableTransitionBleep(bleeps);\n};\nvar onAnimateUnmount = function (animator, bleeps) {\n stopTableTransitionBleep(bleeps);\n};\nvar animator = {\n combine: true,\n manager: 'stagger',\n onAnimateEntering: onAnimateEntering,\n onAnimateEntered: onAnimateEntered,\n onAnimateExiting: onAnimateExiting,\n onAnimateExited: onAnimateExited,\n onAnimateUnmount: onAnimateUnmount\n};\nexports.animator = animator;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Table = void 0;\n/** @jsx jsx */\nvar react_1 = require(\"react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar css_1 = require(\"@emotion/css\");\nvar react_2 = require(\"@emotion/react\");\nvar sounds_1 = require(\"@arwes/sounds\");\nvar TableRow_1 = require(\"./TableRow\");\nvar Table_styles_1 = require(\"./Table.styles\");\nvar Table = function (props) {\n var animator = props.animator, headers = props.headers, dataset = props.dataset, columnWidths = props.columnWidths, condensed = props.condensed, style = props.style, className = props.className, rootRef = props.rootRef;\n var theme = react_2.useTheme();\n var bleeps = sounds_1.useBleeps();\n var styles = react_1.useMemo(function () { return Table_styles_1.generateStyles(theme); }, [theme]);\n animator.setupAnimateRefs(bleeps);\n return (react_2.jsx(\"div\", { className: css_1.cx('arwes-table', className), css: [\n styles.root,\n !animator.flow.entered && styles.rootIsTransitioning\n ], style: style, ref: rootRef },\n react_2.jsx(\"div\", { className: 'arwes-table__container', css: styles.container },\n react_2.jsx(TableRow_1.TableRow, { theme: theme, isHeader: true, columns: headers, columnWidths: columnWidths, condensed: condensed }),\n dataset.map(function (row) {\n return react_2.jsx(TableRow_1.TableRow, { theme: theme, key: row.id, columns: row.columns, columnWidths: columnWidths, condensed: condensed });\n }))));\n};\nexports.Table = Table;\nvar propTypeColumns = prop_types_1.default.arrayOf(prop_types_1.default.shape({\n id: prop_types_1.default.oneOfType([prop_types_1.default.string, prop_types_1.default.number]).isRequired,\n data: prop_types_1.default.node.isRequired\n}).isRequired).isRequired;\nTable.propTypes = {\n headers: propTypeColumns,\n dataset: prop_types_1.default.arrayOf(prop_types_1.default.shape({\n id: prop_types_1.default.oneOfType([prop_types_1.default.string, prop_types_1.default.number]).isRequired,\n columns: propTypeColumns\n }).isRequired).isRequired,\n columnWidths: prop_types_1.default.arrayOf(prop_types_1.default.oneOfType([\n prop_types_1.default.string,\n prop_types_1.default.number\n ]).isRequired),\n condensed: prop_types_1.default.bool,\n rootRef: prop_types_1.default.any,\n className: prop_types_1.default.string\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateStyles = void 0;\nvar generateStyles = function (theme) {\n var space = theme.space;\n return {\n root: {\n display: 'block',\n overflow: 'auto',\n margin: \"0 0 \" + space(4) + \"px\",\n width: '100%'\n },\n rootIsTransitioning: {\n overflow: 'hidden'\n },\n container: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%'\n }\n };\n};\nexports.generateStyles = generateStyles;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.animator = void 0;\nvar rgba_1 = __importDefault(require(\"polished/lib/color/rgba\"));\nvar animejs_1 = __importDefault(require(\"animejs\"));\nvar textAnimations_1 = require(\"../../utils/textAnimations\");\nvar transitionRemoveTableRow = function (animator, refs) {\n var tableRow = refs.current.rootRef.current;\n if (tableRow) {\n var cells = Array.from(tableRow.querySelectorAll('.arwes-table__cell'));\n cells.forEach(function (cell) {\n var cellLine = cell.querySelector('.arwes-table__cell-line');\n animejs_1.default.remove(cell);\n animejs_1.default.remove(cellLine);\n });\n }\n if (refs.current.textAnimateRefsCollection.current.length) {\n refs.current.textAnimateRefsCollection.current.forEach(function (refs) {\n textAnimations_1.stopTextAnimation(animator, refs);\n });\n refs.current.textAnimateRefsCollection.current = [];\n }\n};\nvar transitionTableRow = function (animator, refs, theme, isHeader) {\n transitionRemoveTableRow(animator, refs);\n var isEntering = animator.flow.entering || animator.flow.entered;\n var tableRow = refs.current.rootRef.current;\n var cells = Array.from(tableRow.querySelectorAll('.arwes-table__cell'));\n refs.current.textAnimateRefsCollection.current = [];\n cells.forEach(function (cell) {\n var cellContainer = cell.querySelector('.arwes-table__cell-container');\n var cellContent = cell.querySelector('.arwes-table__cell-content');\n var cellLine = cell.querySelector('.arwes-table__cell-line');\n var cellTextAnimationRefs = {\n current: {\n rootRef: { current: cellContainer },\n actualChildrenRef: { current: cellContent },\n cloneNode: { current: null },\n blinkNode: { current: null },\n animationFrame: { current: null }\n }\n };\n refs.current.textAnimateRefsCollection.current.push(cellTextAnimationRefs);\n cell.style.backgroundColor = isEntering\n ? rgba_1.default(theme.palette.text.root, isHeader ? 0.15 : 0.05)\n : '';\n textAnimations_1.startTextAnimation(animator, cellTextAnimationRefs);\n animejs_1.default({\n targets: cell,\n duration: animator.duration.enter,\n easing: 'easeOutSine',\n translateX: isEntering ? [theme.space(1), 0] : [0, theme.space(1)]\n });\n animejs_1.default({\n targets: cellLine,\n duration: animator.duration.enter,\n easing: 'easeOutSine',\n width: isEntering ? [0, '100%'] : ['100%', 0]\n });\n });\n};\nvar animator = {\n onAnimateEntering: transitionTableRow,\n onAnimateExiting: transitionTableRow,\n onAnimateUnmount: transitionRemoveTableRow\n};\nexports.animator = animator;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TableRow = void 0;\n/** @jsx jsx */\nvar react_1 = require(\"react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar react_2 = require(\"@emotion/react\");\nvar css_1 = require(\"@emotion/css\");\nvar TableRow_styles_1 = require(\"./TableRow.styles\");\nvar TableRow = function (props) {\n var animator = props.animator, theme = props.theme, isHeader = props.isHeader, columns = props.columns, columnWidths = props.columnWidths, condensed = props.condensed;\n var styles = react_1.useMemo(function () { return TableRow_styles_1.generateStyles(theme, { animate: animator.animate, isHeader: isHeader, condensed: condensed }); }, [theme, animator.animate, isHeader, condensed]);\n var rootRef = react_1.useRef(null);\n var textAnimateRefsCollection = react_1.useRef([]);\n var transitionRefs = react_1.useRef({ rootRef: rootRef, textAnimateRefsCollection: textAnimateRefsCollection });\n animator.setupAnimateRefs(transitionRefs, theme, isHeader);\n var cellMarginLateral = condensed ? theme.space(0.5) : theme.space(1);\n return (react_2.jsx(\"div\", { css: styles.row, className: css_1.cx('arwes-table__row', isHeader ? 'arwes-table__row--header' : 'arwes-table__row--body'), ref: rootRef }, columns.map(function (column, index) {\n var isLast = columns.length - 1 === index;\n var lessMargin = isLast ? '' : \" - \" + cellMarginLateral + \"px\";\n var cellWidth = columnWidths\n ? \"calc(\" + (columnWidths[index] || 'auto') + lessMargin + \")\"\n : \"calc(\" + 100 / columns.length + \"%\" + lessMargin + \")\";\n return (react_2.jsx(\"div\", { key: column.id, css: styles.cell, className: css_1.cx('arwes-table__cell', condensed && 'arwes-table__cell--condensed'), style: { flex: \"0 0 \" + cellWidth } },\n react_2.jsx(\"div\", { css: styles.cellContainer, className: 'arwes-table__cell-container' },\n react_2.jsx(\"div\", { css: styles.cellContent, className: 'arwes-table__cell-content' }, column.data)),\n react_2.jsx(\"div\", { css: styles.cellLine, className: 'arwes-table__cell-line' })));\n })));\n};\nexports.TableRow = TableRow;\nTableRow.propTypes = {\n columns: prop_types_1.default.arrayOf(prop_types_1.default.shape({\n id: prop_types_1.default.oneOfType([prop_types_1.default.string, prop_types_1.default.number]).isRequired,\n data: prop_types_1.default.node.isRequired\n }).isRequired).isRequired,\n columnWidths: prop_types_1.default.arrayOf(prop_types_1.default.oneOfType([\n prop_types_1.default.string,\n prop_types_1.default.number\n ]).isRequired),\n isHeader: prop_types_1.default.bool,\n condensed: prop_types_1.default.bool\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateStyles = void 0;\nvar rgba_1 = __importDefault(require(\"polished/lib/color/rgba\"));\nvar generateStyles = function (theme, options) {\n var palette = theme.palette, space = theme.space, outline = theme.outline, transitionDuration = theme.transitionDuration;\n var animate = options.animate, isHeader = options.isHeader, condensed = options.condensed;\n return {\n row: {\n position: 'relative',\n display: 'flex',\n flexDirection: 'row',\n marginBottom: space(1),\n fontWeight: isHeader ? 'bold' : 'normal',\n transition: \"background-color \" + transitionDuration() + \"ms ease-out\",\n '&:last-child': {\n marginBottom: 0\n },\n '&:hover, &:focus': {\n backgroundColor: isHeader ? undefined : rgba_1.default(palette.text.root, 0.1)\n }\n },\n cell: {\n position: 'relative',\n marginRight: condensed ? space(0.5) : space(1),\n padding: condensed ? space(0.5) + \"px \" + space(0.75) + \"px\" : space(1) + \"px \" + space(1.5) + \"px\",\n minWidth: 0,\n whiteSpace: 'normal',\n wordBreak: 'break-word',\n backgroundColor: animate ? undefined : rgba_1.default(palette.text.root, isHeader ? 0.15 : 0.05),\n transition: \"background-color \" + transitionDuration() + \"ms ease-out\",\n '&:last-child': {\n marginRight: 0\n }\n },\n cellContainer: {\n position: 'relative'\n },\n cellContent: {\n zIndex: 1,\n opacity: animate ? 0 : undefined\n },\n cellLine: {\n position: 'absolute',\n left: 0,\n bottom: 0,\n width: animate ? 0 : '100%',\n height: outline(1),\n backgroundColor: isHeader ? palette.secondary.dark1 : palette.primary.dark2\n }\n };\n};\nexports.generateStyles = generateStyles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TableRow = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar TableRow_component_1 = require(\"./TableRow.component\");\nvar TableRow_animator_1 = require(\"./TableRow.animator\");\n// TODO: Fix props or HOC to properly use nested component props with withAnimator.\nvar TableRow = animation_1.withAnimator(TableRow_animator_1.animator)(TableRow_component_1.TableRow);\nexports.TableRow = TableRow;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Table = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar Table_component_1 = require(\"./Table.component\");\nvar Table_animator_1 = require(\"./Table.animator\");\n// TODO: Fix props or HOC to properly use nested component props with withAnimator.\nvar Table = animation_1.withAnimator(Table_animator_1.animator)(Table_component_1.Table);\nexports.Table = Table;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.animator = void 0;\nvar textAnimations_1 = require(\"../utils/textAnimations\");\nvar onAnimateEntering = function (animator, refs, bleeps) {\n var _a;\n (_a = bleeps.type) === null || _a === void 0 ? void 0 : _a.play();\n textAnimations_1.startTextAnimation(animator, refs);\n};\nvar onAnimateEntered = function (animator, refs, bleeps) {\n var _a;\n (_a = bleeps.type) === null || _a === void 0 ? void 0 : _a.stop();\n};\nvar onAnimateExiting = function (animator, refs, bleeps) {\n var _a;\n (_a = bleeps.type) === null || _a === void 0 ? void 0 : _a.play();\n textAnimations_1.startTextAnimation(animator, refs);\n};\nvar onAnimateExited = function (animator, refs, bleeps) {\n var _a;\n (_a = bleeps.type) === null || _a === void 0 ? void 0 : _a.stop();\n};\nvar onAnimateUnmount = function (animator, refs, bleeps) {\n var _a;\n textAnimations_1.stopTextAnimation(animator, refs);\n (_a = bleeps.type) === null || _a === void 0 ? void 0 : _a.stop();\n};\nvar animator = {\n onAnimateEntering: onAnimateEntering,\n onAnimateEntered: onAnimateEntered,\n onAnimateExiting: onAnimateExiting,\n onAnimateExited: onAnimateExited,\n onAnimateUnmount: onAnimateUnmount\n};\nexports.animator = animator;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Text = void 0;\nvar react_1 = require(\"react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar css_1 = require(\"@emotion/css\");\nvar react_2 = require(\"@emotion/react\");\nvar sounds_1 = require(\"@arwes/sounds\");\nvar textAnimations_1 = require(\"../utils/textAnimations\");\nvar Text_styles_1 = require(\"./Text.styles\");\n// Browser normally renders 60 frames per second for requested animations.\nvar FPS_NORMAL_DURATION = 1000 / 60;\nvar Text = function (props) {\n var animator = props.animator, providedAs = props.as, hasBlink = props.blink, blinkText = props.blinkText, blinkInterval = props.blinkInterval, dynamicDuration = props.dynamicDuration, dynamicDurationFactor = props.dynamicDurationFactor, className = props.className, style = props.style, providedRootRef = props.rootRef, children = props.children;\n var internalRootRef = react_1.useRef(null);\n var actualChildrenRef = react_1.useRef(null);\n var cloneNode = react_1.useRef(null);\n var blinkNode = react_1.useRef(null);\n var animationFrame = react_1.useRef(null);\n var animateRefs = react_1.useRef({\n rootRef: internalRootRef,\n actualChildrenRef: actualChildrenRef,\n cloneNode: cloneNode,\n blinkNode: blinkNode,\n animationFrame: animationFrame\n });\n var bleeps = sounds_1.useBleeps();\n var styles = react_1.useMemo(function () { return Text_styles_1.generateStyles({ animate: animator.animate }); }, [animator.animate]);\n var as = react_1.useMemo(function () { return providedAs; }, []);\n var rootRef = react_1.useCallback(function (node) {\n internalRootRef.current = node;\n if (typeof providedRootRef === 'function') {\n providedRootRef(node);\n }\n else if (providedRootRef) {\n providedRootRef.current = node;\n }\n }, []);\n react_1.useEffect(function () {\n // The blink element is created only once for all the animations,\n // since this element is the same each case.\n if (animator.animate && hasBlink && blinkText && blinkInterval) {\n var blinkKeyframes = css_1.keyframes(styles.blinkKeyframes);\n var blinkClassName = css_1.css(__assign(__assign({}, styles.blink), { animation: blinkKeyframes + \" \" + blinkInterval + \"ms step-end infinite\" }));\n blinkNode.current = document.createElement('span');\n blinkNode.current.innerHTML = blinkText;\n blinkNode.current.setAttribute('class', blinkClassName);\n }\n else {\n blinkNode.current = null;\n }\n }, [animator.animate, hasBlink]);\n // Every time the children content is updated when the animator is ENTERED,\n // the animation should be re-run. This check is a simple comparision if children\n // is a string, but if it is a JSX object(s), every time any prop changes,\n // the children is received as changed too.\n // The solution is to store a copy of the children element content as\n // a string, then compare it each time it is changed.\n var childrenContent = react_1.useRef('');\n react_1.useLayoutEffect(function () {\n var _a, _b, _c;\n if (!animator.animate) {\n return;\n }\n // The dynamic duration for ENTERING transition is the minimum number of:\n // 1) The children text length multiplied by a factor number. The factor is\n // by default a \"normal\" FPS (Frame per second) duration which is 1 second / 60.\n // 2) The provided animator entering duration.\n // This minimum calculation is made to ensure a consistent behavior.\n // If a fixed value is needed, dynamic duration must be disabled, and\n // a specific animator duration needs to be provided.\n if (dynamicDuration) {\n var newChildrenTextContent = String(((_a = actualChildrenRef.current) === null || _a === void 0 ? void 0 : _a.textContent) || '');\n var factor = dynamicDurationFactor || FPS_NORMAL_DURATION;\n var newDynamicDuration = Math.min(factor * newChildrenTextContent.length, animator.duration.enter);\n if (animator.duration.enter !== newDynamicDuration) {\n animator.updateDuration({ enter: newDynamicDuration });\n }\n }\n var newChildrenContent = String(((_b = actualChildrenRef.current) === null || _b === void 0 ? void 0 : _b.innerHTML) || '');\n var isChildrenContentEqual = newChildrenContent === childrenContent.current;\n childrenContent.current = newChildrenContent;\n // The animation is re-run every time the children content changes when\n // animator is ENTERED.\n if (animator.flow.entered && !isChildrenContentEqual) {\n (_c = bleeps.type) === null || _c === void 0 ? void 0 : _c.play();\n textAnimations_1.startTextAnimation(animator, animateRefs, function () {\n var _a;\n (_a = bleeps.type) === null || _a === void 0 ? void 0 : _a.stop();\n });\n }\n }, [children]);\n animator.setupAnimateRefs(animateRefs, bleeps);\n return react_2.jsx(as, {\n className: css_1.cx('arwes-text', className),\n css: styles.root,\n style: style,\n ref: rootRef\n }, react_2.jsx('span', {\n ref: actualChildrenRef,\n css: styles.actualChildren,\n className: 'arwes-text__content'\n }, children));\n};\nexports.Text = Text;\nText.propTypes = {\n // @ts-expect-error\n as: prop_types_1.default.string,\n dynamicDuration: prop_types_1.default.bool,\n dynamicDurationFactor: prop_types_1.default.number,\n blink: prop_types_1.default.bool,\n blinkText: prop_types_1.default.string,\n blinkInterval: prop_types_1.default.number,\n rootRef: prop_types_1.default.any\n};\nText.defaultProps = {\n as: 'span',\n dynamicDuration: true,\n dynamicDurationFactor: FPS_NORMAL_DURATION,\n blink: true,\n blinkText: '▎',\n blinkInterval: 100\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateStyles = void 0;\nvar generateStyles = function (options) {\n var animate = options.animate;\n return {\n root: {\n position: 'relative',\n display: 'inline-block'\n },\n actualChildren: {\n display: 'inline-block',\n zIndex: 1,\n opacity: animate ? 0 : undefined\n },\n blink: {\n position: 'relative',\n display: 'inline-block',\n width: 0,\n height: 0,\n lineHeight: '0',\n color: 'inherit'\n },\n blinkKeyframes: {\n '0%, 100%': {\n color: 'transparent'\n },\n '50%': {\n color: 'inherit'\n }\n }\n };\n};\nexports.generateStyles = generateStyles;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Text = void 0;\nvar animation_1 = require(\"@arwes/animation\");\nvar Text_component_1 = require(\"./Text.component\");\nvar Text_animator_1 = require(\"./Text.animator\");\nvar Text = animation_1.withAnimator(Text_animator_1.animator)(Text_component_1.Text);\nexports.Text = Text;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ArwesThemeProvider\"), exports);\n__exportStar(require(\"./StylesBaseline\"), exports);\n__exportStar(require(\"./Text\"), exports);\n__exportStar(require(\"./List\"), exports);\n__exportStar(require(\"./Blockquote\"), exports);\n__exportStar(require(\"./Table\"), exports);\n__exportStar(require(\"./CodeBlock\"), exports);\n__exportStar(require(\"./Figure\"), exports);\n__exportStar(require(\"./Card\"), exports);\n__exportStar(require(\"./LoadingBars\"), exports);\n__exportStar(require(\"./Button\"), exports);\n__exportStar(require(\"./FrameBox\"), exports);\n__exportStar(require(\"./FrameCorners\"), exports);\n__exportStar(require(\"./FramePentagon\"), exports);\n__exportStar(require(\"./FrameHexagon\"), exports);\n__exportStar(require(\"./FrameUnderline\"), exports);\n__exportStar(require(\"./FrameLines\"), exports);\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Animated = void 0;\nvar react_1 = require(\"react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar animejs_1 = __importDefault(require(\"animejs\"));\nvar animation_1 = require(\"@arwes/animation\");\nvar Animated = function (props) {\n var asProvided = props.as, animated = props.animated, className = props.className, style = props.style, externalRef = props.rootRef, // TODO: Use external ref.\n otherProps = __rest(props, [\"as\", \"animated\", \"className\", \"style\", \"rootRef\"]);\n var as = react_1.useMemo(function () { return asProvided || 'div'; }, []);\n // TODO: Add external root ref.\n var rootRef = react_1.useRef(null);\n var animator = animation_1.useAnimator();\n if (process.env.NODE_ENV !== 'production' && !animator) {\n throw new Error('Animated component can only be used inside an Animator.');\n }\n var animate = (animator || {}).animate;\n var dynamicStyles = animate ? animated === null || animated === void 0 ? void 0 : animated.initialStyles : null;\n var initialAttributes = animate ? animated === null || animated === void 0 ? void 0 : animated.initialAttributes : null;\n react_1.useEffect(function () {\n return function () {\n animejs_1.default.remove(rootRef.current);\n };\n }, []);\n react_1.useEffect(function () {\n if (!animator || !animator.animate || !animated) {\n return;\n }\n switch (animator.flow.value) {\n case animation_1.ENTERING: {\n if (animated.entering) {\n var animationParams_1 = {\n targets: rootRef.current,\n duration: animator.duration.enter\n };\n var animations = Array.isArray(animated.entering)\n ? animated.entering\n : [animated.entering];\n animations.forEach(function (animation) {\n if (typeof animation === 'function') {\n animation(animationParams_1);\n }\n else {\n animejs_1.default(__assign(__assign({ easing: 'easeOutSine' }, animation), { targets: rootRef.current, duration: animator.duration.enter }));\n }\n });\n }\n break;\n }\n case animation_1.EXITING: {\n if (animated.exiting) {\n var animationParams_2 = {\n targets: rootRef.current,\n duration: animator.duration.exit\n };\n var animations = Array.isArray(animated.exiting)\n ? animated.exiting\n : [animated.exiting];\n animations.forEach(function (animation) {\n if (typeof animation === 'function') {\n animation(animationParams_2);\n }\n else {\n animejs_1.default(__assign(__assign({ easing: 'easeOutSine' }, animation), { targets: rootRef.current, duration: animator.duration.exit }));\n }\n });\n }\n break;\n }\n }\n }, [animator === null || animator === void 0 ? void 0 : animator.flow]);\n return react_1.createElement(as, __assign(__assign(__assign({}, otherProps), initialAttributes), { className: className, style: __assign(__assign({}, style), dynamicStyles), ref: rootRef }));\n};\nexports.Animated = Animated;\nAnimated.propTypes = {\n as: prop_types_1.default.string.isRequired,\n animated: prop_types_1.default.shape({\n initialAttributes: prop_types_1.default.object,\n initialStyles: prop_types_1.default.object,\n entering: prop_types_1.default.oneOfType([\n prop_types_1.default.func,\n prop_types_1.default.object,\n prop_types_1.default.arrayOf(prop_types_1.default.oneOfType([\n prop_types_1.default.func,\n prop_types_1.default.object\n ]))\n ]),\n exiting: prop_types_1.default.oneOfType([\n prop_types_1.default.func,\n prop_types_1.default.object,\n prop_types_1.default.arrayOf(prop_types_1.default.oneOfType([\n prop_types_1.default.func,\n prop_types_1.default.object\n ]))\n ])\n })\n};\nAnimated.defaultProps = {\n as: 'div'\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Animated.component\"), exports);\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Frame = void 0;\n/* @jsx jsx */\nvar react_1 = require(\"react\");\nvar react_2 = require(\"@emotion/react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar css_1 = require(\"@emotion/css\");\nvar animejs_1 = __importDefault(require(\"animejs\"));\nvar appearTransitions_1 = require(\"../appearTransitions\");\nvar Animated_1 = require(\"../Animated\");\nfunction Frame(props) {\n var _a;\n var asProvided = props.as, shapes = props.shapes, polylines = props.polylines, lineWidth = props.lineWidth, hideShapes = props.hideShapes, hidePolylines = props.hidePolylines, palette = props.palette, hover = props.hover, disabled = props.disabled, className = props.className, rootRef = props.rootRef, effectsRef = props.effectsRef, children = props.children, otherProps = __rest(props, [\"as\", \"shapes\", \"polylines\", \"lineWidth\", \"hideShapes\", \"hidePolylines\", \"palette\", \"hover\", \"disabled\", \"className\", \"rootRef\", \"effectsRef\", \"children\"]);\n var as = react_1.useMemo(function () { return asProvided || 'div'; }, []);\n var theme = react_2.useTheme();\n var _b = react_1.useState({ width: 0, height: 0 }), size = _b[0], setSize = _b[1];\n var containerRef = react_1.useRef(null);\n var observerRef = react_1.useRef(null);\n var blurPadding = theme.shadowBlur(2);\n var defaultPalette = theme.palette.primary;\n var colorPalette = (_a = theme.palette[palette]) !== null && _a !== void 0 ? _a : defaultPalette;\n var color = disabled ? colorPalette.dark2 : colorPalette.main;\n var colorHover = colorPalette.light2;\n // TODO: Modularize functionalities.\n var formatPoint = function (point) {\n var width = size.width - (blurPadding * 2);\n var height = size.height - (blurPadding * 2);\n return point\n .slice(0, 2)\n .map(function (value, index) {\n if (typeof value === 'number') {\n return value;\n }\n var isX = index === 0;\n var axisSize = isX ? width : height;\n return String(value)\n .trim()\n .replace(/- /g, ' -')\n .replace(/\\+ /g, ' +')\n .split(' ')\n .reduce(function (total, item) {\n var n = Number(item.replace(/[+\\-%]/g, ''));\n if (n === 0) {\n return total;\n }\n var isMinus = item.startsWith('-');\n var isPercentage = item.endsWith('%');\n var point = isPercentage ? axisSize * (n / 100) : n;\n return isMinus ? total - point : total + point;\n }, 0);\n })\n .join(',');\n };\n var formatPolyline = function (polyline) {\n return polyline\n .map(formatPoint)\n .map(function (point, index) { return (index === 0 ? 'M' : 'L') + point; })\n .join(' ');\n };\n react_1.useEffect(function () {\n var root = containerRef.current;\n if (effectsRef) {\n var highlight = function () {\n var shapes = root.querySelectorAll('path[data-type=shape]');\n var startOpacity = hideShapes ? 0 : 0.1;\n var endOpacity = 0.5;\n animejs_1.default\n .timeline({\n targets: shapes,\n duration: theme.transitionDuration() / 4,\n easing: 'easeOutSine'\n })\n .add({ opacity: [startOpacity, endOpacity] })\n .add({ opacity: [endOpacity, startOpacity] });\n };\n var effects = { highlight: highlight };\n if (typeof effectsRef === 'function') {\n effectsRef(effects);\n }\n else {\n effectsRef.current = effects;\n }\n }\n var onResize = function () {\n var width = root.offsetWidth, height = root.offsetHeight;\n setSize({ width: width, height: height });\n };\n // TODO: ResizeObserver class is not recoginized by TypeScript.\n var win = window;\n var ResizeObserver = win.ResizeObserver;\n if (ResizeObserver) {\n observerRef.current = new ResizeObserver(onResize);\n observerRef.current.observe(root);\n return function () { var _a; return (_a = observerRef.current) === null || _a === void 0 ? void 0 : _a.disconnect(); };\n }\n else {\n // Resize only once initially.\n onResize();\n }\n }, []);\n return react_2.jsx(as, __assign(__assign({}, otherProps), { className: css_1.cx('arwes-frame', className), ref: rootRef, css: {\n position: 'relative',\n display: 'inline-block',\n padding: theme.space(2),\n '&:hover svg, &:focus svg': hover && !disabled && {\n filter: \"drop-shadow(0 0 \" + blurPadding + \"px \" + colorHover + \")\"\n },\n '&:hover path[data-type=shape], &:focus path[data-type=shape]': hover && !disabled && {\n fill: colorHover\n },\n '&:hover path[data-type=polyline], &:focus path[data-type=polyline]': hover && !disabled && {\n stroke: colorHover\n }\n } }), react_2.jsx(\"div\", { ref: containerRef, className: 'arwes-frame__structure', css: {\n position: 'absolute',\n left: -blurPadding,\n right: -blurPadding,\n top: -blurPadding,\n bottom: -blurPadding,\n display: 'flex'\n } }, !!size.width && !!size.height && (react_2.jsx(\"svg\", { xmlns: 'http://www.w3.org/2000/svg', viewBox: \"0 0 \" + size.width + \" \" + size.height, \n // Even if it is still resized automatically, in case there is a delay\n // or the ResizeObserver API is not available, the SVG should be resized.\n preserveAspectRatio: 'none', css: {\n display: 'block',\n flex: 1,\n transition: \"filter \" + theme.transitionDuration() + \"ms ease-out\",\n filter: \"drop-shadow(0 0 \" + blurPadding + \"px \" + color + \")\"\n } },\n react_2.jsx(Animated_1.Animated, { as: 'g', style: { transform: \"translate(\" + blurPadding + \"px, \" + blurPadding + \"px)\" }, \n // Hide polylines only when animations are EXITED.\n animated: {\n initialStyles: { opacity: 0 },\n entering: { opacity: 1, easing: function () { return function (progress) { return progress ? 1 : 0; }; } },\n exiting: { opacity: 0, easing: function () { return function (progress) { return progress === 1 ? 1 : 0; }; } }\n } },\n react_2.jsx(Animated_1.Animated, { as: 'g', animated: {\n initialStyles: { opacity: 0 },\n entering: appearTransitions_1.transitionAppear,\n exiting: appearTransitions_1.transitionDisappear\n } }, (shapes || []).map(function (shape, index) { return (react_2.jsx(\"path\", { key: index, \"data-type\": 'shape', d: formatPolyline(shape), css: {\n strokeWidth: 0,\n stroke: 'transparent',\n fill: color,\n opacity: hideShapes ? 0 : 0.1,\n transition: \"fill \" + theme.transitionDuration() + \"ms ease-out\"\n } })); })),\n !hidePolylines && (polylines || []).map(function (item, index) {\n var polyline = Array.isArray(item) ? item : item.polyline;\n var strokeWidth = item.lineWidth || lineWidth;\n var animated = item.animated;\n var css = item.css;\n return (react_2.jsx(Animated_1.Animated, { as: 'path', key: index, \"data-type\": 'polyline', d: formatPolyline(polyline), css: __assign({ strokeWidth: strokeWidth, stroke: color, vectorEffect: 'non-scaling-stroke', fill: 'transparent', transition: \"stroke \" + theme.transitionDuration() + \"ms ease-out\" }, css), \n // To set the stroke-dashoffset animation, the path total length\n // is required. A trick to reset it is to set a (way) bigger value.\n animated: animated || {\n initialAttributes: { strokeDasharray: 999999 },\n initialStyles: { strokeDashoffset: 999999 },\n entering: { strokeDashoffset: [animejs_1.default.setDashoffset, 0] },\n exiting: { strokeDashoffset: [0, animejs_1.default.setDashoffset] }\n } }));\n }))))), react_2.jsx(\"div\", { className: 'arwes-frame__content', css: { position: 'relative' } }, children));\n}\nexports.Frame = Frame;\n;\nFrame.propTypes = {\n as: prop_types_1.default.string.isRequired,\n shapes: prop_types_1.default.array,\n polylines: prop_types_1.default.array,\n lineWidth: prop_types_1.default.number,\n palette: prop_types_1.default.string,\n hideShapes: prop_types_1.default.bool,\n hidePolylines: prop_types_1.default.bool,\n hover: prop_types_1.default.bool,\n disabled: prop_types_1.default.bool,\n rootRef: prop_types_1.default.any\n};\nFrame.defaultProps = {\n as: 'div',\n shapes: [],\n polylines: [],\n lineWidth: 1,\n palette: 'primary'\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Frame.component\"), exports);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.transitionDisappear = exports.transitionAppear = void 0;\nvar animejs_1 = __importDefault(require(\"animejs\"));\nvar transitionAppear = function (params) {\n var targets = params.targets, duration = params.duration, _a = params.delay, delay = _a === void 0 ? 0 : _a;\n return animejs_1.default\n .timeline({\n targets: targets,\n easing: 'easeOutSine',\n duration: duration / 3\n })\n .add({ opacity: [0, 1] }, delay)\n .add({ opacity: [1, 0.5] })\n .add({ opacity: [0.5, 1] });\n};\nexports.transitionAppear = transitionAppear;\nvar transitionDisappear = function (params) {\n var targets = params.targets, duration = params.duration, _a = params.delay, delay = _a === void 0 ? 0 : _a;\n return animejs_1.default\n .timeline({\n targets: targets,\n easing: 'easeOutSine',\n duration: duration / 3\n })\n .add({ opacity: [1, 0] }, delay)\n .add({ opacity: [0, 0.5] })\n .add({ opacity: [0.5, 0] });\n};\nexports.transitionDisappear = transitionDisappear;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./appearTransitions\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.expandCSSBoxProp = void 0;\nfunction expandCSSBoxProp(value, defaultValue) {\n var _a, _b, _c, _d;\n var expansion = [];\n if (Array.isArray(value)) {\n switch (value.length) {\n case 0: {\n break;\n }\n case 1: {\n var data = value[0];\n expansion = [data, data, data, data];\n break;\n }\n case 2: {\n var y = value[0], x = value[1];\n expansion = [y, x, y, x];\n break;\n }\n case 3: {\n var top_1 = value[0], x = value[1], bottom = value[2];\n expansion = [top_1, x, bottom, x];\n break;\n }\n default: {\n expansion = value;\n break;\n }\n }\n }\n else {\n expansion = [value, value, value, value];\n }\n return [\n (_a = expansion[0]) !== null && _a !== void 0 ? _a : defaultValue,\n (_b = expansion[1]) !== null && _b !== void 0 ? _b : defaultValue,\n (_c = expansion[2]) !== null && _c !== void 0 ? _c : defaultValue,\n (_d = expansion[3]) !== null && _d !== void 0 ? _d : defaultValue\n ];\n}\nexports.expandCSSBoxProp = expandCSSBoxProp;\n;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./expandCSSBoxProp\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./loadImage\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.loadImage = void 0;\nvar loadImage = function (url) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onerror = img.onabort = function () { return reject(); };\n img.onload = function () { return resolve(); };\n img.src = url;\n });\n};\nexports.loadImage = loadImage;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./setTextNodesEnteringContentLength\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.setTextNodesEnteringContentLength = void 0;\nvar setTextNodesEnteringContentLength = function (textNodes, texts, newLength) {\n var markerLength = 0;\n for (var index = 0; index < textNodes.length; index++) {\n var textNode = textNodes[index];\n var text = texts[index];\n var newMarkerLength = markerLength + text.length;\n if (newMarkerLength <= newLength) {\n if (textNode.textContent !== text) {\n textNode.textContent = text;\n }\n if (newMarkerLength === newLength) {\n break;\n }\n markerLength = newMarkerLength;\n }\n else {\n var currentTextNodeLengthPortion = newLength - markerLength;\n var currentTextNodeText = text.substring(0, currentTextNodeLengthPortion);\n textNode.textContent = currentTextNodeText;\n break;\n }\n }\n};\nexports.setTextNodesEnteringContentLength = setTextNodesEnteringContentLength;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./setTextNodesExitingContentLength\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.setTextNodesExitingContentLength = void 0;\nvar setTextNodesExitingContentLength = function (textNodes, texts, newLength, totalLength) {\n var markerLength = totalLength;\n for (var index = textNodes.length - 1; index >= 0; index--) {\n var textNode = textNodes[index];\n var text = texts[index];\n var newMarkerLength = markerLength - text.length;\n if (newMarkerLength >= newLength) {\n if (textNode.textContent !== '') {\n textNode.textContent = '';\n }\n if (newMarkerLength === newLength) {\n break;\n }\n markerLength = newMarkerLength;\n }\n else {\n var currentTextNodeLengthPortionRight = markerLength - newLength;\n var currentTextNodeLengthPortionLeft = text.length - currentTextNodeLengthPortionRight;\n var currentTextNodeText = text.substring(0, currentTextNodeLengthPortionLeft);\n textNode.textContent = currentTextNodeText;\n break;\n }\n }\n};\nexports.setTextNodesExitingContentLength = setTextNodesExitingContentLength;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./textAnimations\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.startTextAnimation = exports.stopTextAnimation = void 0;\nvar css_1 = require(\"@emotion/css\");\nvar walkTextNodes_1 = require(\"../walkTextNodes\");\nvar setTextNodesEnteringContentLength_1 = require(\"../setTextNodesEnteringContentLength\");\nvar setTextNodesExitingContentLength_1 = require(\"../setTextNodesExitingContentLength\");\n// TODO: Since these styles could be used simultaneously by many components,\n// should these styles be memoized to improve performance?\nvar styles = {\n cloneNode: {\n display: 'inline-block',\n position: 'absolute',\n zIndex: 0,\n left: '0',\n right: '0',\n top: '0',\n overflow: 'hidden',\n userSelect: 'none'\n }\n};\nvar stopTextAnimation = function (animator, refs) {\n var _a = refs.current, rootRef = _a.rootRef, actualChildrenRef = _a.actualChildrenRef, cloneNode = _a.cloneNode, animationFrame = _a.animationFrame;\n // If there is no animation running, nothing needs to be stopped.\n if (animationFrame.current === null) {\n return;\n }\n window.cancelAnimationFrame(animationFrame.current);\n if (rootRef.current && cloneNode.current) {\n rootRef.current.removeChild(cloneNode.current);\n cloneNode.current = null;\n }\n var isEntering = animator.flow.entering || animator.flow.entered;\n if (isEntering && actualChildrenRef.current) {\n actualChildrenRef.current.style.opacity = '1';\n }\n animationFrame.current = null;\n};\nexports.stopTextAnimation = stopTextAnimation;\nvar startTextAnimation = function (animator, refs, callback) {\n var _a, _b;\n var _c = refs.current, rootRef = _c.rootRef, actualChildrenRef = _c.actualChildrenRef, cloneNode = _c.cloneNode, blinkNode = _c.blinkNode, animationFrame = _c.animationFrame;\n stopTextAnimation(animator, refs);\n // If the animation is run when the element is already ENTERED, it should\n // restart the same entering animation.\n var isEntering = animator.flow.entering || animator.flow.entered;\n var durationTotal = isEntering\n ? animator.duration.enter\n : animator.duration.exit;\n cloneNode.current = (_a = actualChildrenRef.current) === null || _a === void 0 ? void 0 : _a.cloneNode(true);\n var textNodes = [];\n var texts = [];\n walkTextNodes_1.walkTextNodes(cloneNode.current, function (child) {\n textNodes.push(child);\n texts.push(child.textContent || '');\n if (isEntering) {\n child.textContent = '';\n }\n });\n var lengthTotal = texts.join('').length;\n if (!lengthTotal) {\n cloneNode.current = null;\n return;\n }\n if (actualChildrenRef.current) {\n actualChildrenRef.current.style.opacity = '0';\n }\n cloneNode.current.setAttribute('style', '');\n cloneNode.current.setAttribute('class', css_1.css(styles.cloneNode));\n (_b = rootRef.current) === null || _b === void 0 ? void 0 : _b.appendChild(cloneNode.current);\n if (blinkNode.current) {\n cloneNode.current.appendChild(blinkNode.current);\n }\n var timeStart = 0;\n var durationProgress = 0;\n var addNextFrame = function (callback) {\n animationFrame.current = window.requestAnimationFrame(callback);\n };\n var runFrame = function (timestamp) {\n if (!timeStart) {\n timeStart = timestamp;\n }\n durationProgress = Math.max(timestamp - timeStart, 0);\n if (!isEntering) {\n durationProgress = durationTotal - durationProgress;\n }\n // partialLength(n) = animationProgressDuration(ms)\n // textTotalLength(n) = totalDuration(ms)\n var lengthNew = Math.round((durationProgress * lengthTotal) / durationTotal);\n if (isEntering) {\n setTextNodesEnteringContentLength_1.setTextNodesEnteringContentLength(textNodes, texts, lengthNew);\n }\n else {\n setTextNodesExitingContentLength_1.setTextNodesExitingContentLength(textNodes, texts, lengthNew, lengthTotal);\n }\n var continueAnimation = isEntering\n ? lengthNew < lengthTotal\n : lengthNew > 0;\n if (continueAnimation) {\n addNextFrame(runFrame);\n }\n else {\n stopTextAnimation(animator, refs);\n callback === null || callback === void 0 ? void 0 : callback();\n }\n };\n addNextFrame(runFrame);\n};\nexports.startTextAnimation = startTextAnimation;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./useBleepsOnAnimator\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useBleepsOnAnimator = void 0;\nvar react_1 = require(\"react\");\nvar animation_1 = require(\"@arwes/animation\");\nvar sounds_1 = require(\"@arwes/sounds\");\n// TODO: Add unit tests.\nvar useBleepsOnAnimator = function (bleepsOnTransitions) {\n var animator = animation_1.useAnimator();\n var bleeps = sounds_1.useBleeps();\n if (!animator) {\n throw new Error('Animator parent component is required.');\n }\n react_1.useEffect(function () {\n if (!animator.animate) {\n return;\n }\n return function () {\n var _a, _b;\n var enteringBleep = bleepsOnTransitions.entering;\n var exitingBleep = bleepsOnTransitions.exiting;\n (_a = bleeps[enteringBleep]) === null || _a === void 0 ? void 0 : _a.stop();\n (_b = bleeps[exitingBleep]) === null || _b === void 0 ? void 0 : _b.stop();\n };\n }, []);\n react_1.useEffect(function () {\n var _a, _b, _c, _d;\n if (!animator.animate) {\n return;\n }\n var enteringBleep = bleepsOnTransitions.entering;\n var exitingBleep = bleepsOnTransitions.exiting;\n switch (animator.flow.value) {\n case animation_1.ENTERING: {\n (_a = bleeps[enteringBleep]) === null || _a === void 0 ? void 0 : _a.play();\n break;\n }\n case animation_1.ENTERED: {\n (_b = bleeps[enteringBleep]) === null || _b === void 0 ? void 0 : _b.stop();\n break;\n }\n case animation_1.EXITING: {\n (_c = bleeps[exitingBleep]) === null || _c === void 0 ? void 0 : _c.play();\n break;\n }\n case animation_1.EXITED: {\n (_d = bleeps[exitingBleep]) === null || _d === void 0 ? void 0 : _d.stop();\n break;\n }\n }\n }, [animator.flow]);\n};\nexports.useBleepsOnAnimator = useBleepsOnAnimator;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./walkTextNodes\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.walkTextNodes = void 0;\nvar walkTextNodes = function (node, callback) {\n Array.from(node.childNodes).forEach(function (child) {\n if (child.nodeType === Node.TEXT_NODE) {\n callback(child);\n }\n else if (child.nodeType === Node.ELEMENT_NODE) {\n walkTextNodes(child, callback);\n }\n });\n};\nexports.walkTextNodes = walkTextNodes;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.THEME_FACTOR_MULTIPLIERS_NAMES = exports.THEME_TRANSITION_DURATION_DEFAULT = exports.THEME_SHADOW_SPREAD_DEFAULT = exports.THEME_SHADOW_BLUR_DEFAULT = exports.THEME_OUTLINE_DEFAULT = exports.THEME_SPACE_DEFAULT = exports.THEME_FONT_SCALE_DEFAULT = exports.THEME_PALETTE_ELEVATION_OFFSET_DEFAULT = exports.THEME_PALETTE_TONAL_OFFSET_DEFAULT = exports.THEME_BREAKPOINTS_DEFAULT = exports.THEME_BREAKPOINTS_KEYS = void 0;\nexports.THEME_BREAKPOINTS_KEYS = Object.freeze(['xs', 'sm', 'md', 'lg', 'xl']);\nexports.THEME_BREAKPOINTS_DEFAULT = Object.freeze({\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n});\nexports.THEME_PALETTE_TONAL_OFFSET_DEFAULT = 0.1;\nexports.THEME_PALETTE_ELEVATION_OFFSET_DEFAULT = 0.025;\nexports.THEME_FONT_SCALE_DEFAULT = 1;\nexports.THEME_SPACE_DEFAULT = 5;\nexports.THEME_OUTLINE_DEFAULT = 1;\nexports.THEME_SHADOW_BLUR_DEFAULT = 1;\nexports.THEME_SHADOW_SPREAD_DEFAULT = 1;\nexports.THEME_TRANSITION_DURATION_DEFAULT = 100;\nexports.THEME_FACTOR_MULTIPLIERS_NAMES = Object.freeze([\n 'fontScale',\n 'space',\n 'outline',\n 'shadowBlur',\n 'shadowSpread',\n 'transitionDuration'\n]);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createThemeFactorMultiplier = void 0;\nvar createThemeFactorMultiplier = function (factor) {\n if (process.env.NODE_ENV !== 'production' && !Number.isFinite(factor)) {\n throw new Error(\"Factor value was expected to be a number, but received \\\"\" + String(factor) + \"\\\".\");\n }\n return function (multiplier) {\n if (multiplier === void 0) { multiplier = 1; }\n if (process.env.NODE_ENV !== 'production' && !Number.isFinite(multiplier)) {\n throw new Error(\"Multiplier value was expected to be a number, but received \\\"\" + multiplier + \"\\\".\");\n }\n return Math.round(factor * multiplier);\n };\n};\nexports.createThemeFactorMultiplier = createThemeFactorMultiplier;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./createThemeFactorMultiplier\"), exports);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createThemePaletteBasic = void 0;\nvar lighten_1 = __importDefault(require(\"polished/lib/color/lighten\"));\nvar darken_1 = __importDefault(require(\"polished/lib/color/darken\"));\nvar createThemePaletteBasic = function (color, tonalOffset) {\n var _a, _b, _c, _d, _e, _f;\n if (!color.main) {\n throw new Error('Theme color requires \"main\" color.');\n }\n var main = color.main;\n var dark1 = (_a = color.dark1) !== null && _a !== void 0 ? _a : darken_1.default(tonalOffset, main);\n var dark2 = (_b = color.dark2) !== null && _b !== void 0 ? _b : darken_1.default(tonalOffset * 2, main);\n var dark3 = (_c = color.dark3) !== null && _c !== void 0 ? _c : darken_1.default(tonalOffset * 3, main);\n var light1 = (_d = color.light1) !== null && _d !== void 0 ? _d : lighten_1.default(tonalOffset, main);\n var light2 = (_e = color.light2) !== null && _e !== void 0 ? _e : lighten_1.default(tonalOffset * 2, main);\n var light3 = (_f = color.light3) !== null && _f !== void 0 ? _f : lighten_1.default(tonalOffset * 3, main);\n return Object.freeze({\n main: main,\n dark1: dark1,\n dark2: dark2,\n dark3: dark3,\n light1: light1,\n light2: light2,\n light3: light3\n });\n};\nexports.createThemePaletteBasic = createThemePaletteBasic;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./createThemePaletteBasic\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createThemePaletteElevation = void 0;\nvar updateColorContrastLuminance_1 = require(\"../updateColorContrastLuminance\");\nvar createThemePaletteElevation = function (main, elevationOffset) {\n var elevate = function (level) {\n var value = elevationOffset * level;\n if (value === 0) {\n return main;\n }\n return updateColorContrastLuminance_1.updateColorContrastLuminance(value, main);\n };\n return Object.freeze({ main: main, elevate: elevate });\n};\nexports.createThemePaletteElevation = createThemePaletteElevation;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./createThemePaletteElevation\"), exports);\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createTheme = void 0;\nvar constants_1 = require(\"../constants\");\nvar createThemeFactorMultiplier_1 = require(\"../createThemeFactorMultiplier\");\nvar getThemeSetup_1 = require(\"./getThemeSetup\");\nvar createThemeBreakpoints_1 = require(\"./createThemeBreakpoints\");\nvar createThemePalette_1 = require(\"./createThemePalette\");\n// All the functionalities are tested in integration with `createTheme()`.\n// They are not unit tested since only `createTheme()` is exposed and\n// it integrates them all.\nvar createTheme = function (settings, extendTheme) {\n var setup = getThemeSetup_1.getThemeSetup(settings, extendTheme);\n var breakpoints = createThemeBreakpoints_1.createThemeBreakpoints(setup);\n var palette = createThemePalette_1.createThemePalette(setup);\n var multipliers = constants_1.THEME_FACTOR_MULTIPLIERS_NAMES\n .reduce(function (multipliers, multiplierName) {\n var _a;\n return (__assign(__assign({}, multipliers), (_a = {}, _a[multiplierName] = createThemeFactorMultiplier_1.createThemeFactorMultiplier(setup[multiplierName]), _a)));\n }, {});\n return Object.freeze(__assign(__assign(__assign({}, setup), { breakpoints: breakpoints,\n palette: palette }), multipliers));\n};\nexports.createTheme = createTheme;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createThemeBreakpoints = void 0;\nvar constants_1 = require(\"../constants\");\nvar createThemeBreakpoints = function (setup) {\n var getBreakpointValue = function (key) {\n if (Number.isFinite(setup.breakpoints.values[key])) {\n return setup.breakpoints.values[key];\n }\n return Number(key);\n };\n var up = function (key) { return (\"@media screen and (min-width: \" + getBreakpointValue(key) + \"px)\"); };\n var down = function (key) { return (\"@media screen and (max-width: \" + (getBreakpointValue(key) - 1) + \"px)\"); };\n var only = function (key) {\n var lastBreakpointKey = constants_1.THEME_BREAKPOINTS_KEYS[constants_1.THEME_BREAKPOINTS_KEYS.length - 1];\n if (key !== lastBreakpointKey) {\n var currentBreakpoint = setup.breakpoints.values[key];\n if (process.env.NODE_ENV !== 'production' && !Number.isFinite(currentBreakpoint)) {\n throw new Error(\"Provided value \\\"\" + key + \"\\\" to theme.breakpoints.only() is not valid.\");\n }\n var nextBreakpointIndex = constants_1.THEME_BREAKPOINTS_KEYS.findIndex(function (val) { return val === key; }) + 1;\n var nextBreakpointKey = constants_1.THEME_BREAKPOINTS_KEYS[nextBreakpointIndex];\n var nextBreakpoint = setup.breakpoints.values[nextBreakpointKey];\n return \"@media screen and (min-width: \" + currentBreakpoint + \"px) and (max-width: \" + (nextBreakpoint - 1) + \"px)\";\n }\n return up(key);\n };\n var between = function (start, end) {\n var min = getBreakpointValue(start);\n var max = getBreakpointValue(end);\n if (process.env.NODE_ENV !== 'production' && max < min) {\n throw new Error('The provided breakpoints to theme.breakpoints.between() are not valid.');\n }\n return \"@media screen and (min-width: \" + min + \"px) and (max-width: \" + (max - 1) + \"px)\";\n };\n return Object.freeze({\n keys: constants_1.THEME_BREAKPOINTS_KEYS,\n values: setup.breakpoints.values,\n up: up,\n down: down,\n only: only,\n between: between\n });\n};\nexports.createThemeBreakpoints = createThemeBreakpoints;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createThemePalette = void 0;\nvar createThemePaletteBasic_1 = require(\"../createThemePaletteBasic\");\nvar createThemePaletteElevation_1 = require(\"../createThemePaletteElevation\");\nvar createThemePalette = function (setup) {\n var _a, _b;\n var _c = setup.palette, tonalOffset = _c.tonalOffset, elevationOffset = _c.elevationOffset, otherFeatures = __rest(_c, [\"tonalOffset\", \"elevationOffset\"]);\n return Object.freeze(__assign(__assign({}, otherFeatures), { tonalOffset: tonalOffset,\n elevationOffset: elevationOffset, primary: createThemePaletteBasic_1.createThemePaletteBasic(__assign({ main: '#0ff' }, setup.palette.primary), tonalOffset), secondary: createThemePaletteBasic_1.createThemePaletteBasic(__assign({ main: '#ff0' }, setup.palette.secondary), tonalOffset), success: createThemePaletteBasic_1.createThemePaletteBasic(__assign({ main: '#0f0' }, setup.palette.success), tonalOffset), error: createThemePaletteBasic_1.createThemePaletteBasic(__assign({ main: '#f00' }, setup.palette.error), tonalOffset), neutral: createThemePaletteElevation_1.createThemePaletteElevation((_b = (_a = setup.palette.neutral) === null || _a === void 0 ? void 0 : _a.main) !== null && _b !== void 0 ? _b : '#000', elevationOffset) }));\n};\nexports.createThemePalette = createThemePalette;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getThemeSetup = void 0;\nvar constants_1 = require(\"../constants\");\nvar getThemeSetup = function (providedSettings, extendTheme) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n var breakpoints = Object.freeze({\n values: Object.freeze(__assign(__assign(__assign({}, constants_1.THEME_BREAKPOINTS_DEFAULT), (_a = extendTheme === null || extendTheme === void 0 ? void 0 : extendTheme.breakpoints) === null || _a === void 0 ? void 0 : _a.values), (_b = providedSettings === null || providedSettings === void 0 ? void 0 : providedSettings.breakpoints) === null || _b === void 0 ? void 0 : _b.values))\n });\n var palette = __assign(__assign({ tonalOffset: constants_1.THEME_PALETTE_TONAL_OFFSET_DEFAULT, elevationOffset: constants_1.THEME_PALETTE_ELEVATION_OFFSET_DEFAULT }, extendTheme === null || extendTheme === void 0 ? void 0 : extendTheme.palette), providedSettings === null || providedSettings === void 0 ? void 0 : providedSettings.palette);\n var fontScale = (_d = (_c = providedSettings === null || providedSettings === void 0 ? void 0 : providedSettings.fontScale) !== null && _c !== void 0 ? _c : extendTheme === null || extendTheme === void 0 ? void 0 : extendTheme.fontScale(1)) !== null && _d !== void 0 ? _d : constants_1.THEME_FONT_SCALE_DEFAULT;\n var space = (_f = (_e = providedSettings === null || providedSettings === void 0 ? void 0 : providedSettings.space) !== null && _e !== void 0 ? _e : extendTheme === null || extendTheme === void 0 ? void 0 : extendTheme.space(1)) !== null && _f !== void 0 ? _f : constants_1.THEME_SPACE_DEFAULT;\n var outline = (_h = (_g = providedSettings === null || providedSettings === void 0 ? void 0 : providedSettings.outline) !== null && _g !== void 0 ? _g : extendTheme === null || extendTheme === void 0 ? void 0 : extendTheme.outline(1)) !== null && _h !== void 0 ? _h : constants_1.THEME_OUTLINE_DEFAULT;\n var shadowBlur = (_k = (_j = providedSettings === null || providedSettings === void 0 ? void 0 : providedSettings.shadowBlur) !== null && _j !== void 0 ? _j : extendTheme === null || extendTheme === void 0 ? void 0 : extendTheme.shadowBlur(1)) !== null && _k !== void 0 ? _k : constants_1.THEME_SHADOW_BLUR_DEFAULT;\n var shadowSpread = (_m = (_l = providedSettings === null || providedSettings === void 0 ? void 0 : providedSettings.shadowSpread) !== null && _l !== void 0 ? _l : extendTheme === null || extendTheme === void 0 ? void 0 : extendTheme.shadowSpread(1)) !== null && _m !== void 0 ? _m : constants_1.THEME_SHADOW_SPREAD_DEFAULT;\n var transitionDuration = (_p = (_o = providedSettings === null || providedSettings === void 0 ? void 0 : providedSettings.transitionDuration) !== null && _o !== void 0 ? _o : extendTheme === null || extendTheme === void 0 ? void 0 : extendTheme.transitionDuration(1)) !== null && _p !== void 0 ? _p : constants_1.THEME_TRANSITION_DURATION_DEFAULT;\n return Object.freeze(__assign(__assign({}, providedSettings), { breakpoints: breakpoints,\n palette: palette,\n fontScale: fontScale,\n space: space,\n outline: outline,\n shadowBlur: shadowBlur,\n shadowSpread: shadowSpread,\n transitionDuration: transitionDuration }));\n};\nexports.getThemeSetup = getThemeSetup;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./createTheme\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./constants\"), exports);\n__exportStar(require(\"./createThemePaletteBasic\"), exports);\n__exportStar(require(\"./createThemePaletteElevation\"), exports);\n__exportStar(require(\"./updateColorContrastLuminance\"), exports);\n__exportStar(require(\"./createThemeFactorMultiplier\"), exports);\n__exportStar(require(\"./createTheme\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./updateColorContrastLuminance\"), exports);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateColorContrastLuminance = void 0;\nvar readableColor_1 = __importDefault(require(\"polished/lib/color/readableColor\"));\nvar darken_1 = __importDefault(require(\"polished/lib/color/darken\"));\nvar lighten_1 = __importDefault(require(\"polished/lib/color/lighten\"));\nvar updateColorContrastLuminance = function (offset, color) {\n var isColorLight = readableColor_1.default(color) === '#000';\n return isColorLight ? darken_1.default(offset, color) : lighten_1.default(offset, color);\n};\nexports.updateColorContrastLuminance = updateColorContrastLuminance;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BleepsContext = void 0;\nvar react_1 = require(\"react\");\nvar BleepsContext = react_1.createContext(undefined);\nexports.BleepsContext = BleepsContext;\nBleepsContext.displayName = 'BleepsContext';\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./BleepsContext\"), exports);\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BleepsProvider = void 0;\nvar react_1 = __importStar(require(\"react\"));\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar constants_1 = require(\"../constants\");\nvar BleepsContext_1 = require(\"../BleepsContext\");\nvar createOrUpdateBleeps_1 = require(\"../utils/createOrUpdateBleeps\");\nvar BleepsProvider = function (props) {\n var parentSetup = react_1.useContext(BleepsContext_1.BleepsContext);\n // The bleeps object reference is always kept to properly unload/remove/update\n // current playing bleeps before settings updates.\n // Also, bleeps can not be extended in multiple providers to independently\n // manage them by each provider in the tree.\n var bleepsGenerics = react_1.useState({})[0];\n var bleepsSetup = react_1.useMemo(function () {\n var _a, _b;\n var parentAudioCategories = parentSetup === null || parentSetup === void 0 ? void 0 : parentSetup.audioSettings.categories;\n var localAudioCategories = (_a = props.audioSettings) === null || _a === void 0 ? void 0 : _a.categories;\n var audioCategories = __assign({}, parentAudioCategories);\n if (localAudioCategories) {\n Object.keys(localAudioCategories).forEach(function (key) {\n var categoryName = key;\n if (process.env.NODE_ENV !== 'production' &&\n !constants_1.BLEEPS_CATEGORIES.includes(categoryName)) {\n throw new Error(\"Bleep category \\\"\" + categoryName + \"\\\" is not valid.\");\n }\n audioCategories[categoryName] = __assign(__assign({}, audioCategories[categoryName]), localAudioCategories === null || localAudioCategories === void 0 ? void 0 : localAudioCategories[categoryName]);\n });\n }\n var audioSettings = {\n common: __assign(__assign({}, parentSetup === null || parentSetup === void 0 ? void 0 : parentSetup.audioSettings.common), (_b = props.audioSettings) === null || _b === void 0 ? void 0 : _b.common),\n categories: audioCategories\n };\n var parentPlayersSettings = parentSetup === null || parentSetup === void 0 ? void 0 : parentSetup.playersSettings;\n var playersSettings = __assign({}, parentPlayersSettings);\n if (props.playersSettings) {\n Object.keys(props.playersSettings).forEach(function (playerName) {\n var _a;\n playersSettings[playerName] = __assign(__assign({}, playersSettings[playerName]), (_a = props.playersSettings) === null || _a === void 0 ? void 0 : _a[playerName]);\n });\n }\n var parentBleepsSettings = parentSetup === null || parentSetup === void 0 ? void 0 : parentSetup.bleepsSettings;\n var bleepsSettings = __assign(__assign({}, parentBleepsSettings), props.bleepsSettings);\n createOrUpdateBleeps_1.createOrUpdateBleeps(bleepsGenerics, audioSettings, playersSettings, bleepsSettings);\n return { audioSettings: audioSettings, playersSettings: playersSettings, bleepsSettings: bleepsSettings, bleepsGenerics: bleepsGenerics };\n }, [props.audioSettings, props.playersSettings, parentSetup]);\n return (react_1.default.createElement(BleepsContext_1.BleepsContext.Provider, { value: bleepsSetup }, props.children));\n};\nexports.BleepsProvider = BleepsProvider;\nvar bleepsAudioGroupSettingsProps = prop_types_1.default.shape({\n volume: prop_types_1.default.number,\n rate: prop_types_1.default.number,\n preload: prop_types_1.default.bool,\n disabled: prop_types_1.default.bool\n});\nBleepsProvider.propTypes = {\n // @ts-expect-error\n audioSettings: prop_types_1.default.shape({\n common: bleepsAudioGroupSettingsProps,\n categories: prop_types_1.default.shape({\n background: bleepsAudioGroupSettingsProps,\n transition: bleepsAudioGroupSettingsProps,\n interaction: bleepsAudioGroupSettingsProps,\n notification: bleepsAudioGroupSettingsProps\n })\n }),\n // @ts-expect-error\n playersSettings: prop_types_1.default.object,\n // @ts-expect-error\n bleepsSettings: prop_types_1.default.object\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./BleepsProvider.component\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BLEEPS_CATEGORIES = exports.BLEEPS_NOTIFICATION = exports.BLEEPS_INTERACTION = exports.BLEEPS_TRANSITION = exports.BLEEPS_BACKGROUND = void 0;\nexports.BLEEPS_BACKGROUND = 'background';\nexports.BLEEPS_TRANSITION = 'transition';\nexports.BLEEPS_INTERACTION = 'interaction';\nexports.BLEEPS_NOTIFICATION = 'notification';\nexports.BLEEPS_CATEGORIES = [\n exports.BLEEPS_BACKGROUND,\n exports.BLEEPS_TRANSITION,\n exports.BLEEPS_INTERACTION,\n exports.BLEEPS_NOTIFICATION\n];\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./constants\"), exports);\n__exportStar(require(\"./BleepsProvider\"), exports);\n__exportStar(require(\"./useBleepsSetup\"), exports);\n__exportStar(require(\"./useBleeps\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./useBleepsSetup\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useBleepsSetup = void 0;\nvar react_1 = require(\"react\");\nvar BleepsContext_1 = require(\"../BleepsContext\");\nfunction useBleepsSetup() {\n return react_1.useContext(BleepsContext_1.BleepsContext);\n}\nexports.useBleepsSetup = useBleepsSetup;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./useBleeps\"), exports);\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useBleeps = void 0;\nvar react_1 = require(\"react\");\nvar useBleepsSetup_1 = require(\"../useBleepsSetup\");\nvar instanceIdCounter = 0;\nfunction useBleeps() {\n var bleepsSetup = useBleepsSetup_1.useBleepsSetup();\n var instanceId = react_1.useMemo(function () { return instanceIdCounter++; }, []);\n var bleeps = react_1.useMemo(function () {\n if (!bleepsSetup) {\n return {};\n }\n return Object\n .keys(bleepsSetup.bleepsGenerics)\n .map(function (bleepName) {\n var bleepGeneric = bleepsSetup.bleepsGenerics[bleepName];\n var bleepItem = {\n name: bleepName,\n bleep: __assign(__assign({}, bleepGeneric), { play: function () { return bleepGeneric.play(instanceId); }, stop: function () { return bleepGeneric.stop(instanceId); } })\n };\n return bleepItem;\n })\n .reduce(function (bleeps, bleepItem) {\n var _a;\n var name = bleepItem.name, bleep = bleepItem.bleep;\n return __assign(__assign({}, bleeps), (_a = {}, _a[name] = bleep, _a));\n }, {});\n }, [bleepsSetup]);\n return bleeps;\n}\nexports.useBleeps = useBleeps;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBleep = void 0;\nvar howler_1 = require(\"howler\");\nvar createBleep = function (audioSettings, playerSettings) {\n var _a = __assign(__assign({}, audioSettings), playerSettings), disabled = _a.disabled, settings = __rest(_a, [\"disabled\"]);\n // TODO: The Howler API does not provide a public interface to know if\n // the browser audio is locked or not. But it has a private flag.\n // This could potentially break this library if it changes unexpectedly,\n // but there is no proper way to know.\n var isGlobalAudioLocked = !howler_1.Howler._audioUnlocked;\n var isLocked = isGlobalAudioLocked;\n var lastId;\n var howl = new howler_1.Howl(__assign(__assign({}, settings), { onunlock: function () {\n isLocked = false;\n } }));\n // In a loop sound, if the sound is played by multiple sources\n // (e.g. multiple components multiple times), to stop the sound,\n // all of the play() calls must also call stop().\n // Otherwise, a race-condition issue can happen.\n var sourcesAccount = {};\n var play = function (instanceId) {\n // Even if the audio is set up to be preloaded, sometimes the file\n // is not loaded, probably because the browser has locked the playback.\n if (howl.state() === 'unloaded') {\n howl.load();\n }\n // If the browser audio is locked, if the audio is played, it will be queued\n // until the browser audio is unlocked. But if in-between the audio is stopped,\n // the play is still queued. It is also accumulated, regardless of passing down\n // the same playback id.\n if (isLocked) {\n return;\n }\n sourcesAccount[instanceId] = true;\n // If the sound is being loaded, the play action will be\n // queued until it is loaded.\n var newId = howl.play(lastId);\n // If the sound is being loaded, it returns null.\n // To prevent errors, the id to pass to play must be a number or undefined.\n lastId = newId || undefined;\n };\n var stop = function (instanceId) {\n delete sourcesAccount[instanceId];\n var noActiveSources = !Object.keys(sourcesAccount).length;\n var canStop = settings.loop ? noActiveSources : true;\n if (canStop && howl.playing()) {\n howl.stop();\n }\n };\n var getIsPlaying = function () {\n return howl.playing();\n };\n var getDuration = function () {\n return howl.duration();\n };\n var unload = function () {\n howl.unload();\n };\n return {\n _settings: settings,\n _howl: howl,\n play: play,\n stop: stop,\n getIsPlaying: getIsPlaying,\n getDuration: getDuration,\n unload: unload\n };\n};\nexports.createBleep = createBleep;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./createBleep\"), exports);\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createOrUpdateBleeps = void 0;\nvar constants_1 = require(\"../../constants\");\nvar createBleep_1 = require(\"../createBleep\");\nvar updateBleep_1 = require(\"../updateBleep\");\nvar unloadBleep_1 = require(\"../unloadBleep\");\nvar unloadBleeps_1 = require(\"../unloadBleeps\");\nvar createOrUpdateBleeps = function (providedBleeps, audioSettings, playersSettings, bleepsSettings) {\n var _a;\n var bleeps = providedBleeps !== null && providedBleeps !== void 0 ? providedBleeps : {};\n if ((_a = audioSettings.common) === null || _a === void 0 ? void 0 : _a.disabled) {\n unloadBleeps_1.unloadBleeps(bleeps);\n return bleeps;\n }\n Object.keys(bleepsSettings).forEach(function (bleepName) {\n var _a, _b, _c, _d;\n var bleepSettings = bleepsSettings[bleepName];\n if (!bleepSettings) {\n unloadBleep_1.unloadBleep(bleeps, bleepName);\n return;\n }\n var bleepCategory = bleepSettings.category;\n if (process.env.NODE_ENV !== 'production' &&\n bleepCategory !== undefined &&\n !constants_1.BLEEPS_CATEGORIES.includes(bleepCategory)) {\n throw new Error(\"Bleep category \\\"\" + bleepCategory + \"\\\" is not valid.\");\n }\n var audioCategorySettings = (_a = audioSettings.categories) === null || _a === void 0 ? void 0 : _a[bleepCategory];\n var processedAudioSettings = __assign(__assign({}, audioSettings.common), audioCategorySettings);\n if (processedAudioSettings.disabled) {\n unloadBleep_1.unloadBleep(bleeps, bleepName);\n return;\n }\n var playerSettings = playersSettings[bleepSettings.player];\n if (!playerSettings) {\n throw new Error(\"Component bleep requires a provided player. Player \\\"\" + bleepSettings.player + \"\\\" was not found.\");\n }\n if (playerSettings.disabled) {\n unloadBleep_1.unloadBleep(bleeps, bleepName);\n return;\n }\n // If a bleep has updated `src` or `format` settings, it should be re-created.\n // Otherwise it is updated to be fast and prevent more HTTP requests.\n var hasBleepUpdatedSrc = !!((_b = bleeps[bleepName]) === null || _b === void 0 ? void 0 : _b._settings.src.find(function (v, i) { return v !== playerSettings.src[i]; }));\n var hasBleepUpdatedFormat = !!((_d = (_c = bleeps[bleepName]) === null || _c === void 0 ? void 0 : _c._settings.format) === null || _d === void 0 ? void 0 : _d.find(function (v, i) { var _a; return v !== ((_a = playerSettings.format) === null || _a === void 0 ? void 0 : _a[i]); }));\n if (bleeps[bleepName] && !hasBleepUpdatedSrc && !hasBleepUpdatedFormat) {\n updateBleep_1.updateBleep(bleeps[bleepName], processedAudioSettings, playerSettings);\n }\n else {\n unloadBleep_1.unloadBleep(bleeps, bleepName);\n bleeps[bleepName] = createBleep_1.createBleep(processedAudioSettings, playerSettings);\n }\n });\n return bleeps;\n};\nexports.createOrUpdateBleeps = createOrUpdateBleeps;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./createOrUpdateBleeps\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./unloadBleep\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unloadBleep = void 0;\nvar unloadBleep = function (bleeps, bleepName) {\n var _a;\n (_a = bleeps[bleepName]) === null || _a === void 0 ? void 0 : _a.unload();\n delete bleeps[bleepName];\n};\nexports.unloadBleep = unloadBleep;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./unloadBleeps\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unloadBleeps = void 0;\nvar unloadBleep_1 = require(\"../unloadBleep\");\nvar unloadBleeps = function (bleeps) {\n Object.keys(bleeps).forEach(function (bleepName) { return unloadBleep_1.unloadBleep(bleeps, bleepName); });\n};\nexports.unloadBleeps = unloadBleeps;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./updateBleep\"), exports);\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateBleep = void 0;\nvar updateBleep = function (bleep, audioSettings, playerSettings) {\n var settings = __assign(__assign({}, audioSettings), playerSettings);\n bleep._settings = settings;\n if (settings.volume !== undefined && settings.volume !== bleep._howl.volume()) {\n bleep._howl.volume(settings.volume);\n }\n if (settings.rate !== undefined && settings.rate !== bleep._howl.rate()) {\n bleep._howl.rate(settings.rate);\n }\n if (settings.loop !== undefined && settings.loop !== bleep._howl.loop()) {\n bleep._howl.loop(settings.loop);\n }\n};\nexports.updateBleep = updateBleep;\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3)\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {string}\n */\nexport function prefix (value, length) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// flex, flex-direction\n\t\tcase 6828: case 4268:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// (s)ticky?\n\t\t\tif (charat(value, length + 1) !== 115)\n\t\t\t\tbreak\n\t\t// display: (flex|inline-flex)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n\t\t\t\t// stic(k)y\n\t\t\t\tcase 107:\n\t\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\t\t// (inline-)?fl(e)x\n\t\t\t\tcase 101:\n\t\t\t\t\treturn replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t}\n\t\t\tbreak\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t}\n\n\t\t\treturn WEBKIT + value + MS + value + value\n\t}\n\n\treturn value\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && characters.charCodeAt(length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar last = function last(arr) {\n return arr.length ? arr[arr.length - 1] : null;\n}; // based on https://github.com/thysultan/stylis.js/blob/e6843c373ebcbbfade25ebcc23f540ed8508da0a/src/Tokenizer.js#L239-L244\n\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule') return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n var prevElement = index > 0 ? children[index - 1] : null;\n\n if (prevElement && isIgnoringComment(last(prevElement.children))) {\n return;\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length)\n\t\t\t\t\tbreak\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import createCache from '@emotion/cache';\nimport { serializeStyles } from '@emotion/serialize';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\n\nfunction insertWithoutScoping(cache, serialized) {\n if (cache.inserted[serialized.name] === undefined) {\n return cache.insert('', serialized, cache.sheet, true);\n }\n}\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar createEmotion = function createEmotion(options) {\n var cache = createCache(options); // $FlowFixMe\n\n cache.sheet.speedy = function (value) {\n if (process.env.NODE_ENV !== 'production' && this.ctr !== 0) {\n throw new Error('speedy must be changed before any rules are inserted');\n }\n\n this.isSpeedy = value;\n };\n\n cache.compat = true;\n\n var css = function css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered, undefined);\n insertStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var keyframes = function keyframes() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n var animation = \"animation-\" + serialized.name;\n insertWithoutScoping(cache, {\n name: serialized.name,\n styles: \"@keyframes \" + animation + \"{\" + serialized.styles + \"}\"\n });\n return animation;\n };\n\n var injectGlobal = function injectGlobal() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n insertWithoutScoping(cache, serialized);\n };\n\n var cx = function cx() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n return {\n css: css,\n cx: cx,\n injectGlobal: injectGlobal,\n keyframes: keyframes,\n hydrate: function hydrate(ids) {\n ids.forEach(function (key) {\n cache.inserted[key] = true;\n });\n },\n flush: function flush() {\n cache.registered = {};\n cache.inserted = {};\n cache.sheet.flush();\n },\n // $FlowFixMe\n sheet: cache.sheet,\n cache: cache,\n getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n merge: merge.bind(null, cache.registered, css)\n };\n};\n\nvar classnames = function classnames(args) {\n var cls = '';\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nexport default createEmotion;\n","import '@emotion/cache';\nimport '@emotion/serialize';\nimport '@emotion/utils';\nimport createEmotion from '../create-instance/dist/emotion-css-create-instance.esm.js';\n\nvar _createEmotion = createEmotion({\n key: 'css'\n}),\n flush = _createEmotion.flush,\n hydrate = _createEmotion.hydrate,\n cx = _createEmotion.cx,\n merge = _createEmotion.merge,\n getRegisteredStyles = _createEmotion.getRegisteredStyles,\n injectGlobal = _createEmotion.injectGlobal,\n keyframes = _createEmotion.keyframes,\n css = _createEmotion.css,\n sheet = _createEmotion.sheet,\n cache = _createEmotion.cache;\n\nexport { cache, css, cx, flush, getRegisteredStyles, hydrate, injectGlobal, keyframes, merge, sheet };\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","var weakMemoize = function weakMemoize(func) {\n // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // $FlowFixMe\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\nexport default weakMemoize;\n","import hoistNonReactStatics$1 from 'hoist-non-react-statics';\n\n// this file isolates this package that is not tree-shakeable\n// and if this module doesn't actually contain any logic of its own\n// then Rollup just use 'hoist-non-react-statics' directly in other chunks\n\nvar hoistNonReactStatics = (function (targetComponent, sourceComponent) {\n return hoistNonReactStatics$1(targetComponent, sourceComponent);\n});\n\nexport default hoistNonReactStatics;\n","import * as React from 'react';\nimport { createContext, useContext, forwardRef, createElement, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : function useInsertionEffect(create) {\n create();\n};\nfunction useInsertionEffectMaybe(create) {\n\n useInsertionEffect(create);\n}\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n var rules = useInsertionEffectMaybe(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, useTheme as a, ThemeProvider as b, createEmotionProps as c, withTheme as d, hasOwnProperty as h, useInsertionEffectMaybe as u, withEmotionCache as w };\n","import * as React from 'react';\nimport { createElement, useLayoutEffect, useContext, useRef, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, u as useInsertionEffectMaybe } from './emotion-element-cbed451f.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, b as ThemeProvider, _ as __unsafe_useEmotionCache, a as useTheme, w as withEmotionCache, d as withTheme } from './emotion-element-cbed451f.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.9.0\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.cjs.js\": \"./dist/emotion-react.browser.cjs.js\",\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.13.10\",\n\t\t\"@emotion/babel-plugin\": \"^11.7.1\",\n\t\t\"@emotion/cache\": \"^11.7.1\",\n\t\t\"@emotion/serialize\": \"^1.0.3\",\n\t\t\"@emotion/utils\": \"^1.1.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.2.5\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.13.10\",\n\t\t\"@emotion/css\": \"11.9.0\",\n\t\t\"@emotion/css-prettifier\": \"1.0.1\",\n\t\t\"@emotion/server\": \"11.4.0\",\n\t\t\"@emotion/styled\": \"11.8.1\",\n\t\t\"@types/react\": \"^16.9.11\",\n\t\tdtslint: \"^4.2.1\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\"\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : useLayoutEffect;\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = useRef();\n useInsertionEffect(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffect(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n var rules = useInsertionEffectMaybe(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n var res = insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock\n\n var isJest = typeof jest !== 'undefined';\n\n if (isBrowser && !isJest) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","/*\n * anime.js v3.2.1\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n nil: function (a) { return is.und(a) || a === null; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; },\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n eases['easeOutIn' + name] = function (a, b) { return function (t) { return t < 0.5 ? (1 - easeIn(a, b)(1 - t * 2)) / 2 : \n (easeIn(a, b)(t * 2 - 1) + 1) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (!is.nil(getAttribute(el, prop)) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width,\n h: height,\n vW: viewBox[2],\n vH: viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress, isPathTargetInsideSVG) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n var scaleX = isPathTargetInsideSVG ? 1 : svg.w / svg.vW;\n var scaleY = isPathTargetInsideSVG ? 1 : svg.h / svg.vH;\n switch (path.property) {\n case 'x': return (p.x - svg.x) * scaleX;\n case 'y': return (p.y - svg.y) * scaleY;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isPathTargetInsideSVG = tween.isPath && is.svg(animatable.target);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\n\nvar engine = (function () {\n var raf;\n\n function play() {\n if (!raf && (!isDocumentHidden() || !anime.suspendWhenDocumentHidden) && activeInstances.length > 0) {\n raf = requestAnimationFrame(step);\n }\n }\n function step(t) {\n // memo on algorithm issue:\n // dangerous iteration over mutable `activeInstances`\n // (that collection may be updated from within callbacks of `tick`-ed animation instances)\n var activeInstancesLength = activeInstances.length;\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n i++;\n } else {\n activeInstances.splice(i, 1);\n activeInstancesLength--;\n }\n }\n raf = i > 0 ? requestAnimationFrame(step) : undefined;\n }\n\n function handleVisibilityChange() {\n if (!anime.suspendWhenDocumentHidden) { return; }\n\n if (isDocumentHidden()) {\n // suspend ticks\n raf = cancelAnimationFrame(raf);\n } else { // is back to active tab\n // first adjust animations to consider the time that ticks were suspended\n activeInstances.forEach(\n function (instance) { return instance ._onDocumentVisibility(); }\n );\n engine();\n }\n }\n if (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n }\n\n return play;\n})();\n\nfunction isDocumentHidden() {\n return !!document && document.hidden;\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber, tween.isPathTargetInsideSVG);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // internal method (for engine) to adjust animation timings before restoring engine ticks (rAF)\n instance._onDocumentVisibility = resetTime;\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n engine();\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.remove = function(targets) {\n var targetsArray = parseTargets(targets);\n removeTargetsFromInstance(targetsArray, instance);\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargetsFromInstance(targetsArray, instance) {\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n}\n\nfunction removeTargetsFromActiveInstances(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n removeTargetsFromInstance(targetsArray, instance);\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.1';\nanime.speed = 1;\n// TODO:#review: naming, documentation\nanime.suspendWhenDocumentHidden = true;\nanime.running = activeInstances;\nanime.remove = removeTargetsFromActiveInstances;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nexport default anime;\n","'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","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.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'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*!\n * howler.js v2.2.3\n * howlerjs.com\n *\n * (c) 2013-2020, James Simpson of GoldFire Studios\n * goldfirestudios.com\n *\n * MIT License\n */\n\n(function() {\n\n 'use strict';\n\n /** Global Methods **/\n /***************************************************************************/\n\n /**\n * Create the global controller. All contained methods and properties apply\n * to all sounds that are currently playing or will be in the future.\n */\n var HowlerGlobal = function() {\n this.init();\n };\n HowlerGlobal.prototype = {\n /**\n * Initialize the global Howler object.\n * @return {Howler}\n */\n init: function() {\n var self = this || Howler;\n\n // Create a global ID counter.\n self._counter = 1000;\n\n // Pool of unlocked HTML5 Audio objects.\n self._html5AudioPool = [];\n self.html5PoolSize = 10;\n\n // Internal properties.\n self._codecs = {};\n self._howls = [];\n self._muted = false;\n self._volume = 1;\n self._canPlayEvent = 'canplaythrough';\n self._navigator = (typeof window !== 'undefined' && window.navigator) ? window.navigator : null;\n\n // Public properties.\n self.masterGain = null;\n self.noAudio = false;\n self.usingWebAudio = true;\n self.autoSuspend = true;\n self.ctx = null;\n\n // Set to false to disable the auto audio unlocker.\n self.autoUnlock = true;\n\n // Setup the various state values for global tracking.\n self._setup();\n\n return self;\n },\n\n /**\n * Get/set the global volume for all sounds.\n * @param {Float} vol Volume from 0.0 to 1.0.\n * @return {Howler/Float} Returns self or current volume.\n */\n volume: function(vol) {\n var self = this || Howler;\n vol = parseFloat(vol);\n\n // If we don't have an AudioContext created yet, run the setup.\n if (!self.ctx) {\n setupAudioContext();\n }\n\n if (typeof vol !== 'undefined' && vol >= 0 && vol <= 1) {\n self._volume = vol;\n\n // Don't update any of the nodes if we are muted.\n if (self._muted) {\n return self;\n }\n\n // When using Web Audio, we just need to adjust the master gain.\n if (self.usingWebAudio) {\n self.masterGain.gain.setValueAtTime(vol, Howler.ctx.currentTime);\n }\n\n // Loop through and change volume for all HTML5 audio nodes.\n for (var i=0; i=0; i--) {\n self._howls[i].unload();\n }\n\n // Create a new AudioContext to make sure it is fully reset.\n if (self.usingWebAudio && self.ctx && typeof self.ctx.close !== 'undefined') {\n self.ctx.close();\n self.ctx = null;\n setupAudioContext();\n }\n\n return self;\n },\n\n /**\n * Check for codec support of specific extension.\n * @param {String} ext Audio file extention.\n * @return {Boolean}\n */\n codecs: function(ext) {\n return (this || Howler)._codecs[ext.replace(/^x-/, '')];\n },\n\n /**\n * Setup various state values for global tracking.\n * @return {Howler}\n */\n _setup: function() {\n var self = this || Howler;\n\n // Keeps track of the suspend/resume state of the AudioContext.\n self.state = self.ctx ? self.ctx.state || 'suspended' : 'suspended';\n\n // Automatically begin the 30-second suspend process\n self._autoSuspend();\n\n // Check if audio is available.\n if (!self.usingWebAudio) {\n // No audio is available on this system if noAudio is set to true.\n if (typeof Audio !== 'undefined') {\n try {\n var test = new Audio();\n\n // Check if the canplaythrough event is available.\n if (typeof test.oncanplaythrough === 'undefined') {\n self._canPlayEvent = 'canplay';\n }\n } catch(e) {\n self.noAudio = true;\n }\n } else {\n self.noAudio = true;\n }\n }\n\n // Test to make sure audio isn't disabled in Internet Explorer.\n try {\n var test = new Audio();\n if (test.muted) {\n self.noAudio = true;\n }\n } catch (e) {}\n\n // Check for supported codecs.\n if (!self.noAudio) {\n self._setupCodecs();\n }\n\n return self;\n },\n\n /**\n * Check for browser support for various codecs and cache the results.\n * @return {Howler}\n */\n _setupCodecs: function() {\n var self = this || Howler;\n var audioTest = null;\n\n // Must wrap in a try/catch because IE11 in server mode throws an error.\n try {\n audioTest = (typeof Audio !== 'undefined') ? new Audio() : null;\n } catch (err) {\n return self;\n }\n\n if (!audioTest || typeof audioTest.canPlayType !== 'function') {\n return self;\n }\n\n var mpegTest = audioTest.canPlayType('audio/mpeg;').replace(/^no$/, '');\n\n // Opera version <33 has mixed MP3 support, so we need to check for and block it.\n var ua = self._navigator ? self._navigator.userAgent : '';\n var checkOpera = ua.match(/OPR\\/([0-6].)/g);\n var isOldOpera = (checkOpera && parseInt(checkOpera[0].split('/')[1], 10) < 33);\n var checkSafari = ua.indexOf('Safari') !== -1 && ua.indexOf('Chrome') === -1;\n var safariVersion = ua.match(/Version\\/(.*?) /);\n var isOldSafari = (checkSafari && safariVersion && parseInt(safariVersion[1], 10) < 15);\n\n self._codecs = {\n mp3: !!(!isOldOpera && (mpegTest || audioTest.canPlayType('audio/mp3;').replace(/^no$/, ''))),\n mpeg: !!mpegTest,\n opus: !!audioTest.canPlayType('audio/ogg; codecs=\"opus\"').replace(/^no$/, ''),\n ogg: !!audioTest.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, ''),\n oga: !!audioTest.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, ''),\n wav: !!(audioTest.canPlayType('audio/wav; codecs=\"1\"') || audioTest.canPlayType('audio/wav')).replace(/^no$/, ''),\n aac: !!audioTest.canPlayType('audio/aac;').replace(/^no$/, ''),\n caf: !!audioTest.canPlayType('audio/x-caf;').replace(/^no$/, ''),\n m4a: !!(audioTest.canPlayType('audio/x-m4a;') || audioTest.canPlayType('audio/m4a;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n m4b: !!(audioTest.canPlayType('audio/x-m4b;') || audioTest.canPlayType('audio/m4b;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n mp4: !!(audioTest.canPlayType('audio/x-mp4;') || audioTest.canPlayType('audio/mp4;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n weba: !!(!isOldSafari && audioTest.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/, '')),\n webm: !!(!isOldSafari && audioTest.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/, '')),\n dolby: !!audioTest.canPlayType('audio/mp4; codecs=\"ec-3\"').replace(/^no$/, ''),\n flac: !!(audioTest.canPlayType('audio/x-flac;') || audioTest.canPlayType('audio/flac;')).replace(/^no$/, '')\n };\n\n return self;\n },\n\n /**\n * Some browsers/devices will only allow audio to be played after a user interaction.\n * Attempt to automatically unlock audio on the first user interaction.\n * Concept from: http://paulbakaus.com/tutorials/html5/web-audio-on-ios/\n * @return {Howler}\n */\n _unlockAudio: function() {\n var self = this || Howler;\n\n // Only run this if Web Audio is supported and it hasn't already been unlocked.\n if (self._audioUnlocked || !self.ctx) {\n return;\n }\n\n self._audioUnlocked = false;\n self.autoUnlock = false;\n\n // Some mobile devices/platforms have distortion issues when opening/closing tabs and/or web views.\n // Bugs in the browser (especially Mobile Safari) can cause the sampleRate to change from 44100 to 48000.\n // By calling Howler.unload(), we create a new AudioContext with the correct sampleRate.\n if (!self._mobileUnloaded && self.ctx.sampleRate !== 44100) {\n self._mobileUnloaded = true;\n self.unload();\n }\n\n // Scratch buffer for enabling iOS to dispose of web audio buffers correctly, as per:\n // http://stackoverflow.com/questions/24119684\n self._scratchBuffer = self.ctx.createBuffer(1, 1, 22050);\n\n // Call this method on touch start to create and play a buffer,\n // then check if the audio actually played to determine if\n // audio has now been unlocked on iOS, Android, etc.\n var unlock = function(e) {\n // Create a pool of unlocked HTML5 Audio objects that can\n // be used for playing sounds without user interaction. HTML5\n // Audio objects must be individually unlocked, as opposed\n // to the WebAudio API which only needs a single activation.\n // This must occur before WebAudio setup or the source.onended\n // event will not fire.\n while (self._html5AudioPool.length < self.html5PoolSize) {\n try {\n var audioNode = new Audio();\n\n // Mark this Audio object as unlocked to ensure it can get returned\n // to the unlocked pool when released.\n audioNode._unlocked = true;\n\n // Add the audio node to the pool.\n self._releaseHtml5Audio(audioNode);\n } catch (e) {\n self.noAudio = true;\n break;\n }\n }\n\n // Loop through any assigned audio nodes and unlock them.\n for (var i=0; i= 55.\n if (typeof self.ctx.resume === 'function') {\n self.ctx.resume();\n }\n\n // Setup a timeout to check that we are unlocked on the next event loop.\n source.onended = function() {\n source.disconnect(0);\n\n // Update the unlocked state and prevent this check from happening again.\n self._audioUnlocked = true;\n\n // Remove the touch start listener.\n document.removeEventListener('touchstart', unlock, true);\n document.removeEventListener('touchend', unlock, true);\n document.removeEventListener('click', unlock, true);\n document.removeEventListener('keydown', unlock, true);\n\n // Let all sounds know that audio has been unlocked.\n for (var i=0; i 0 ? sound._seek : self._sprite[sprite][0] / 1000);\n var duration = Math.max(0, ((self._sprite[sprite][0] + self._sprite[sprite][1]) / 1000) - seek);\n var timeout = (duration * 1000) / Math.abs(sound._rate);\n var start = self._sprite[sprite][0] / 1000;\n var stop = (self._sprite[sprite][0] + self._sprite[sprite][1]) / 1000;\n sound._sprite = sprite;\n\n // Mark the sound as ended instantly so that this async playback\n // doesn't get grabbed by another call to play while this one waits to start.\n sound._ended = false;\n\n // Update the parameters of the sound.\n var setParams = function() {\n sound._paused = false;\n sound._seek = seek;\n sound._start = start;\n sound._stop = stop;\n sound._loop = !!(sound._loop || self._sprite[sprite][2]);\n };\n\n // End the sound instantly if seek is at the end.\n if (seek >= stop) {\n self._ended(sound);\n return;\n }\n\n // Begin the actual playback.\n var node = sound._node;\n if (self._webAudio) {\n // Fire this when the sound is ready to play to begin Web Audio playback.\n var playWebAudio = function() {\n self._playLock = false;\n setParams();\n self._refreshBuffer(sound);\n\n // Setup the playback params.\n var vol = (sound._muted || self._muted) ? 0 : sound._volume;\n node.gain.setValueAtTime(vol, Howler.ctx.currentTime);\n sound._playStart = Howler.ctx.currentTime;\n\n // Play the sound using the supported method.\n if (typeof node.bufferSource.start === 'undefined') {\n sound._loop ? node.bufferSource.noteGrainOn(0, seek, 86400) : node.bufferSource.noteGrainOn(0, seek, duration);\n } else {\n sound._loop ? node.bufferSource.start(0, seek, 86400) : node.bufferSource.start(0, seek, duration);\n }\n\n // Start a new timer if none is present.\n if (timeout !== Infinity) {\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n }\n\n if (!internal) {\n setTimeout(function() {\n self._emit('play', sound._id);\n self._loadQueue();\n }, 0);\n }\n };\n\n if (Howler.state === 'running' && Howler.ctx.state !== 'interrupted') {\n playWebAudio();\n } else {\n self._playLock = true;\n\n // Wait for the audio context to resume before playing.\n self.once('resume', playWebAudio);\n\n // Cancel the end timer.\n self._clearTimer(sound._id);\n }\n } else {\n // Fire this when the sound is ready to play to begin HTML5 Audio playback.\n var playHtml5 = function() {\n node.currentTime = seek;\n node.muted = sound._muted || self._muted || Howler._muted || node.muted;\n node.volume = sound._volume * Howler.volume();\n node.playbackRate = sound._rate;\n\n // Some browsers will throw an error if this is called without user interaction.\n try {\n var play = node.play();\n\n // Support older browsers that don't support promises, and thus don't have this issue.\n if (play && typeof Promise !== 'undefined' && (play instanceof Promise || typeof play.then === 'function')) {\n // Implements a lock to prevent DOMException: The play() request was interrupted by a call to pause().\n self._playLock = true;\n\n // Set param values immediately.\n setParams();\n\n // Releases the lock and executes queued actions.\n play\n .then(function() {\n self._playLock = false;\n node._unlocked = true;\n if (!internal) {\n self._emit('play', sound._id);\n } else {\n self._loadQueue();\n }\n })\n .catch(function() {\n self._playLock = false;\n self._emit('playerror', sound._id, 'Playback was unable to start. This is most commonly an issue ' +\n 'on mobile devices and Chrome where playback was not within a user interaction.');\n\n // Reset the ended and paused values.\n sound._ended = true;\n sound._paused = true;\n });\n } else if (!internal) {\n self._playLock = false;\n setParams();\n self._emit('play', sound._id);\n }\n\n // Setting rate before playing won't work in IE, so we set it again here.\n node.playbackRate = sound._rate;\n\n // If the node is still paused, then we can assume there was a playback issue.\n if (node.paused) {\n self._emit('playerror', sound._id, 'Playback was unable to start. This is most commonly an issue ' +\n 'on mobile devices and Chrome where playback was not within a user interaction.');\n return;\n }\n\n // Setup the end timer on sprites or listen for the ended event.\n if (sprite !== '__default' || sound._loop) {\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n } else {\n self._endTimers[sound._id] = function() {\n // Fire ended on this audio node.\n self._ended(sound);\n\n // Clear this listener.\n node.removeEventListener('ended', self._endTimers[sound._id], false);\n };\n node.addEventListener('ended', self._endTimers[sound._id], false);\n }\n } catch (err) {\n self._emit('playerror', sound._id, err);\n }\n };\n\n // If this is streaming audio, make sure the src is set and load again.\n if (node.src === 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA') {\n node.src = self._src;\n node.load();\n }\n\n // Play immediately if ready, or wait for the 'canplaythrough'e vent.\n var loadedNoReadyState = (window && window.ejecta) || (!node.readyState && Howler._navigator.isCocoonJS);\n if (node.readyState >= 3 || loadedNoReadyState) {\n playHtml5();\n } else {\n self._playLock = true;\n self._state = 'loading';\n\n var listener = function() {\n self._state = 'loaded';\n \n // Begin playback.\n playHtml5();\n\n // Clear this listener.\n node.removeEventListener(Howler._canPlayEvent, listener, false);\n };\n node.addEventListener(Howler._canPlayEvent, listener, false);\n\n // Cancel the end timer.\n self._clearTimer(sound._id);\n }\n }\n\n return sound._id;\n },\n\n /**\n * Pause playback and save current position.\n * @param {Number} id The sound ID (empty to pause all in group).\n * @return {Howl}\n */\n pause: function(id) {\n var self = this;\n\n // If the sound hasn't loaded or a play() promise is pending, add it to the load queue to pause when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'pause',\n action: function() {\n self.pause(id);\n }\n });\n\n return self;\n }\n\n // If no id is passed, get all ID's to be paused.\n var ids = self._getSoundIds(id);\n\n for (var i=0; i Returns the group's volume value.\n * volume(id) -> Returns the sound id's current volume.\n * volume(vol) -> Sets the volume of all sounds in this Howl group.\n * volume(vol, id) -> Sets the volume of passed sound id.\n * @return {Howl/Number} Returns self or current volume.\n */\n volume: function() {\n var self = this;\n var args = arguments;\n var vol, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // Return the value of the groups' volume.\n return self._volume;\n } else if (args.length === 1 || args.length === 2 && typeof args[1] === 'undefined') {\n // First check if this is an ID, and if not, assume it is a new volume.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else {\n vol = parseFloat(args[0]);\n }\n } else if (args.length >= 2) {\n vol = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // Update the volume or return the current volume.\n var sound;\n if (typeof vol !== 'undefined' && vol >= 0 && vol <= 1) {\n // If the sound hasn't loaded, add it to the load queue to change volume when capable.\n if (self._state !== 'loaded'|| self._playLock) {\n self._queue.push({\n event: 'volume',\n action: function() {\n self.volume.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Set the group volume.\n if (typeof id === 'undefined') {\n self._volume = vol;\n }\n\n // Update one or all volumes.\n id = self._getSoundIds(id);\n for (var i=0; i 0) ? len / steps : len);\n var lastTick = Date.now();\n\n // Store the value being faded to.\n sound._fadeTo = to;\n\n // Update the volume value on each interval tick.\n sound._interval = setInterval(function() {\n // Update the volume based on the time since the last tick.\n var tick = (Date.now() - lastTick) / len;\n lastTick = Date.now();\n vol += diff * tick;\n\n // Round to within 2 decimal points.\n vol = Math.round(vol * 100) / 100;\n\n // Make sure the volume is in the right bounds.\n if (diff < 0) {\n vol = Math.max(to, vol);\n } else {\n vol = Math.min(to, vol);\n }\n\n // Change the volume.\n if (self._webAudio) {\n sound._volume = vol;\n } else {\n self.volume(vol, sound._id, true);\n }\n\n // Set the group's volume.\n if (isGroup) {\n self._volume = vol;\n }\n\n // When the fade is complete, stop it and fire event.\n if ((to < from && vol <= to) || (to > from && vol >= to)) {\n clearInterval(sound._interval);\n sound._interval = null;\n sound._fadeTo = null;\n self.volume(to, sound._id);\n self._emit('fade', sound._id);\n }\n }, stepLen);\n },\n\n /**\n * Internal method that stops the currently playing fade when\n * a new fade starts, volume is changed or the sound is stopped.\n * @param {Number} id The sound id.\n * @return {Howl}\n */\n _stopFade: function(id) {\n var self = this;\n var sound = self._soundById(id);\n\n if (sound && sound._interval) {\n if (self._webAudio) {\n sound._node.gain.cancelScheduledValues(Howler.ctx.currentTime);\n }\n\n clearInterval(sound._interval);\n sound._interval = null;\n self.volume(sound._fadeTo, id);\n sound._fadeTo = null;\n self._emit('fade', id);\n }\n\n return self;\n },\n\n /**\n * Get/set the loop parameter on a sound. This method can optionally take 0, 1 or 2 arguments.\n * loop() -> Returns the group's loop value.\n * loop(id) -> Returns the sound id's loop value.\n * loop(loop) -> Sets the loop value for all sounds in this Howl group.\n * loop(loop, id) -> Sets the loop value of passed sound id.\n * @return {Howl/Boolean} Returns self or current loop value.\n */\n loop: function() {\n var self = this;\n var args = arguments;\n var loop, id, sound;\n\n // Determine the values for loop and id.\n if (args.length === 0) {\n // Return the grou's loop value.\n return self._loop;\n } else if (args.length === 1) {\n if (typeof args[0] === 'boolean') {\n loop = args[0];\n self._loop = loop;\n } else {\n // Return this sound's loop value.\n sound = self._soundById(parseInt(args[0], 10));\n return sound ? sound._loop : false;\n }\n } else if (args.length === 2) {\n loop = args[0];\n id = parseInt(args[1], 10);\n }\n\n // If no id is passed, get all ID's to be looped.\n var ids = self._getSoundIds(id);\n for (var i=0; i Returns the first sound node's current playback rate.\n * rate(id) -> Returns the sound id's current playback rate.\n * rate(rate) -> Sets the playback rate of all sounds in this Howl group.\n * rate(rate, id) -> Sets the playback rate of passed sound id.\n * @return {Howl/Number} Returns self or the current playback rate.\n */\n rate: function() {\n var self = this;\n var args = arguments;\n var rate, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // We will simply return the current rate of the first node.\n id = self._sounds[0]._id;\n } else if (args.length === 1) {\n // First check if this is an ID, and if not, assume it is a new rate value.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else {\n rate = parseFloat(args[0]);\n }\n } else if (args.length === 2) {\n rate = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // Update the playback rate or return the current value.\n var sound;\n if (typeof rate === 'number') {\n // If the sound hasn't loaded, add it to the load queue to change playback rate when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'rate',\n action: function() {\n self.rate.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Set the group rate.\n if (typeof id === 'undefined') {\n self._rate = rate;\n }\n\n // Update one or all volumes.\n id = self._getSoundIds(id);\n for (var i=0; i Returns the first sound node's current seek position.\n * seek(id) -> Returns the sound id's current seek position.\n * seek(seek) -> Sets the seek position of the first sound node.\n * seek(seek, id) -> Sets the seek position of passed sound id.\n * @return {Howl/Number} Returns self or the current seek position.\n */\n seek: function() {\n var self = this;\n var args = arguments;\n var seek, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // We will simply return the current position of the first node.\n if (self._sounds.length) {\n id = self._sounds[0]._id;\n }\n } else if (args.length === 1) {\n // First check if this is an ID, and if not, assume it is a new seek position.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else if (self._sounds.length) {\n id = self._sounds[0]._id;\n seek = parseFloat(args[0]);\n }\n } else if (args.length === 2) {\n seek = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // If there is no ID, bail out.\n if (typeof id === 'undefined') {\n return 0;\n }\n\n // If the sound hasn't loaded, add it to the load queue to seek when capable.\n if (typeof seek === 'number' && (self._state !== 'loaded' || self._playLock)) {\n self._queue.push({\n event: 'seek',\n action: function() {\n self.seek.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Get the sound.\n var sound = self._soundById(id);\n\n if (sound) {\n if (typeof seek === 'number' && seek >= 0) {\n // Pause the sound and update position for restarting playback.\n var playing = self.playing(id);\n if (playing) {\n self.pause(id, true);\n }\n\n // Move the position of the track and cancel timer.\n sound._seek = seek;\n sound._ended = false;\n self._clearTimer(id);\n\n // Update the seek position for HTML5 Audio.\n if (!self._webAudio && sound._node && !isNaN(sound._node.duration)) {\n sound._node.currentTime = seek;\n }\n\n // Seek and emit when ready.\n var seekAndEmit = function() {\n // Restart the playback if the sound was playing.\n if (playing) {\n self.play(id, true);\n }\n\n self._emit('seek', id);\n };\n\n // Wait for the play lock to be unset before emitting (HTML5 Audio).\n if (playing && !self._webAudio) {\n var emitSeek = function() {\n if (!self._playLock) {\n seekAndEmit();\n } else {\n setTimeout(emitSeek, 0);\n }\n };\n setTimeout(emitSeek, 0);\n } else {\n seekAndEmit();\n }\n } else {\n if (self._webAudio) {\n var realTime = self.playing(id) ? Howler.ctx.currentTime - sound._playStart : 0;\n var rateSeek = sound._rateSeek ? sound._rateSeek - sound._seek : 0;\n return sound._seek + (rateSeek + realTime * Math.abs(sound._rate));\n } else {\n return sound._node.currentTime;\n }\n }\n }\n\n return self;\n },\n\n /**\n * Check if a specific sound is currently playing or not (if id is provided), or check if at least one of the sounds in the group is playing or not.\n * @param {Number} id The sound id to check. If none is passed, the whole sound group is checked.\n * @return {Boolean} True if playing and false if not.\n */\n playing: function(id) {\n var self = this;\n\n // Check the passed sound ID (if any).\n if (typeof id === 'number') {\n var sound = self._soundById(id);\n return sound ? !sound._paused : false;\n }\n\n // Otherwise, loop through all sounds and check if any are playing.\n for (var i=0; i= 0) {\n Howler._howls.splice(index, 1);\n }\n\n // Delete this sound from the cache (if no other Howl is using it).\n var remCache = true;\n for (i=0; i= 0) {\n remCache = false;\n break;\n }\n }\n\n if (cache && remCache) {\n delete cache[self._src];\n }\n\n // Clear global errors.\n Howler.noAudio = false;\n\n // Clear out `self`.\n self._state = 'unloaded';\n self._sounds = [];\n self = null;\n\n return null;\n },\n\n /**\n * Listen to a custom event.\n * @param {String} event Event name.\n * @param {Function} fn Listener to call.\n * @param {Number} id (optional) Only listen to events for this sound.\n * @param {Number} once (INTERNAL) Marks event to fire only once.\n * @return {Howl}\n */\n on: function(event, fn, id, once) {\n var self = this;\n var events = self['_on' + event];\n\n if (typeof fn === 'function') {\n events.push(once ? {id: id, fn: fn, once: once} : {id: id, fn: fn});\n }\n\n return self;\n },\n\n /**\n * Remove a custom event. Call without parameters to remove all events.\n * @param {String} event Event name.\n * @param {Function} fn Listener to remove. Leave empty to remove all.\n * @param {Number} id (optional) Only remove events for this sound.\n * @return {Howl}\n */\n off: function(event, fn, id) {\n var self = this;\n var events = self['_on' + event];\n var i = 0;\n\n // Allow passing just an event and ID.\n if (typeof fn === 'number') {\n id = fn;\n fn = null;\n }\n\n if (fn || id) {\n // Loop through event store and remove the passed function.\n for (i=0; i=0; i--) {\n // Only fire the listener if the correct ID is used.\n if (!events[i].id || events[i].id === id || event === 'load') {\n setTimeout(function(fn) {\n fn.call(this, id, msg);\n }.bind(self, events[i].fn), 0);\n\n // If this event was setup with `once`, remove it.\n if (events[i].once) {\n self.off(event, events[i].fn, events[i].id);\n }\n }\n }\n\n // Pass the event type into load queue so that it can continue stepping.\n self._loadQueue(event);\n\n return self;\n },\n\n /**\n * Queue of actions initiated before the sound has loaded.\n * These will be called in sequence, with the next only firing\n * after the previous has finished executing (even if async like play).\n * @return {Howl}\n */\n _loadQueue: function(event) {\n var self = this;\n\n if (self._queue.length > 0) {\n var task = self._queue[0];\n\n // Remove this task if a matching event was passed.\n if (task.event === event) {\n self._queue.shift();\n self._loadQueue();\n }\n\n // Run the task if no event type is passed.\n if (!event) {\n task.action();\n }\n }\n\n return self;\n },\n\n /**\n * Fired when playback ends at the end of the duration.\n * @param {Sound} sound The sound object to work with.\n * @return {Howl}\n */\n _ended: function(sound) {\n var self = this;\n var sprite = sound._sprite;\n\n // If we are using IE and there was network latency we may be clipping\n // audio before it completes playing. Lets check the node to make sure it\n // believes it has completed, before ending the playback.\n if (!self._webAudio && sound._node && !sound._node.paused && !sound._node.ended && sound._node.currentTime < sound._stop) {\n setTimeout(self._ended.bind(self, sound), 100);\n return self;\n }\n\n // Should this sound loop?\n var loop = !!(sound._loop || self._sprite[sprite][2]);\n\n // Fire the ended event.\n self._emit('end', sound._id);\n\n // Restart the playback for HTML5 Audio loop.\n if (!self._webAudio && loop) {\n self.stop(sound._id, true).play(sound._id);\n }\n\n // Restart this timer if on a Web Audio loop.\n if (self._webAudio && loop) {\n self._emit('play', sound._id);\n sound._seek = sound._start || 0;\n sound._rateSeek = 0;\n sound._playStart = Howler.ctx.currentTime;\n\n var timeout = ((sound._stop - sound._start) * 1000) / Math.abs(sound._rate);\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n }\n\n // Mark the node as paused.\n if (self._webAudio && !loop) {\n sound._paused = true;\n sound._ended = true;\n sound._seek = sound._start || 0;\n sound._rateSeek = 0;\n self._clearTimer(sound._id);\n\n // Clean up the buffer source.\n self._cleanBuffer(sound._node);\n\n // Attempt to auto-suspend AudioContext if no sounds are still playing.\n Howler._autoSuspend();\n }\n\n // When using a sprite, end the track.\n if (!self._webAudio && !loop) {\n self.stop(sound._id, true);\n }\n\n return self;\n },\n\n /**\n * Clear the end timer for a sound playback.\n * @param {Number} id The sound ID.\n * @return {Howl}\n */\n _clearTimer: function(id) {\n var self = this;\n\n if (self._endTimers[id]) {\n // Clear the timeout or remove the ended listener.\n if (typeof self._endTimers[id] !== 'function') {\n clearTimeout(self._endTimers[id]);\n } else {\n var sound = self._soundById(id);\n if (sound && sound._node) {\n sound._node.removeEventListener('ended', self._endTimers[id], false);\n }\n }\n\n delete self._endTimers[id];\n }\n\n return self;\n },\n\n /**\n * Return the sound identified by this ID, or return null.\n * @param {Number} id Sound ID\n * @return {Object} Sound object or null.\n */\n _soundById: function(id) {\n var self = this;\n\n // Loop through all sounds and find the one with this ID.\n for (var i=0; i=0; i--) {\n if (cnt <= limit) {\n return;\n }\n\n if (self._sounds[i]._ended) {\n // Disconnect the audio source when using Web Audio.\n if (self._webAudio && self._sounds[i]._node) {\n self._sounds[i]._node.disconnect(0);\n }\n\n // Remove sounds until we have the pool size.\n self._sounds.splice(i, 1);\n cnt--;\n }\n }\n },\n\n /**\n * Get all ID's from the sounds pool.\n * @param {Number} id Only return one ID if one is passed.\n * @return {Array} Array of IDs.\n */\n _getSoundIds: function(id) {\n var self = this;\n\n if (typeof id === 'undefined') {\n var ids = [];\n for (var i=0; i= 0;\n\n if (Howler._scratchBuffer && node.bufferSource) {\n node.bufferSource.onended = null;\n node.bufferSource.disconnect(0);\n if (isIOS) {\n try { node.bufferSource.buffer = Howler._scratchBuffer; } catch(e) {}\n }\n }\n node.bufferSource = null;\n\n return self;\n },\n\n /**\n * Set the source to a 0-second silence to stop any downloading (except in IE).\n * @param {Object} node Audio node to clear.\n */\n _clearSound: function(node) {\n var checkIE = /MSIE |Trident\\//.test(Howler._navigator && Howler._navigator.userAgent);\n if (!checkIE) {\n node.src = 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA';\n }\n }\n };\n\n /** Single Sound Methods **/\n /***************************************************************************/\n\n /**\n * Setup the sound object, which each node attached to a Howl group is contained in.\n * @param {Object} howl The Howl parent group.\n */\n var Sound = function(howl) {\n this._parent = howl;\n this.init();\n };\n Sound.prototype = {\n /**\n * Initialize a new Sound object.\n * @return {Sound}\n */\n init: function() {\n var self = this;\n var parent = self._parent;\n\n // Setup the default parameters.\n self._muted = parent._muted;\n self._loop = parent._loop;\n self._volume = parent._volume;\n self._rate = parent._rate;\n self._seek = 0;\n self._paused = true;\n self._ended = true;\n self._sprite = '__default';\n\n // Generate a unique ID for this sound.\n self._id = ++Howler._counter;\n\n // Add itself to the parent's pool.\n parent._sounds.push(self);\n\n // Create the new node.\n self.create();\n\n return self;\n },\n\n /**\n * Create and setup a new sound object, whether HTML5 Audio or Web Audio.\n * @return {Sound}\n */\n create: function() {\n var self = this;\n var parent = self._parent;\n var volume = (Howler._muted || self._muted || self._parent._muted) ? 0 : self._volume;\n\n if (parent._webAudio) {\n // Create the gain node for controlling volume (the source will connect to this).\n self._node = (typeof Howler.ctx.createGain === 'undefined') ? Howler.ctx.createGainNode() : Howler.ctx.createGain();\n self._node.gain.setValueAtTime(volume, Howler.ctx.currentTime);\n self._node.paused = true;\n self._node.connect(Howler.masterGain);\n } else if (!Howler.noAudio) {\n // Get an unlocked Audio object from the pool.\n self._node = Howler._obtainHtml5Audio();\n\n // Listen for errors (http://dev.w3.org/html5/spec-author-view/spec.html#mediaerror).\n self._errorFn = self._errorListener.bind(self);\n self._node.addEventListener('error', self._errorFn, false);\n\n // Listen for 'canplaythrough' event to let us know the sound is ready.\n self._loadFn = self._loadListener.bind(self);\n self._node.addEventListener(Howler._canPlayEvent, self._loadFn, false);\n\n // Listen for the 'ended' event on the sound to account for edge-case where\n // a finite sound has a duration of Infinity.\n self._endFn = self._endListener.bind(self);\n self._node.addEventListener('ended', self._endFn, false);\n\n // Setup the new audio node.\n self._node.src = parent._src;\n self._node.preload = parent._preload === true ? 'auto' : parent._preload;\n self._node.volume = volume * Howler.volume();\n\n // Begin loading the source.\n self._node.load();\n }\n\n return self;\n },\n\n /**\n * Reset the parameters of this sound to the original state (for recycle).\n * @return {Sound}\n */\n reset: function() {\n var self = this;\n var parent = self._parent;\n\n // Reset all of the parameters of this sound.\n self._muted = parent._muted;\n self._loop = parent._loop;\n self._volume = parent._volume;\n self._rate = parent._rate;\n self._seek = 0;\n self._rateSeek = 0;\n self._paused = true;\n self._ended = true;\n self._sprite = '__default';\n\n // Generate a new ID so that it isn't confused with the previous sound.\n self._id = ++Howler._counter;\n\n return self;\n },\n\n /**\n * HTML5 Audio error listener callback.\n */\n _errorListener: function() {\n var self = this;\n\n // Fire an error event and pass back the code.\n self._parent._emit('loaderror', self._id, self._node.error ? self._node.error.code : 0);\n\n // Clear the event listener.\n self._node.removeEventListener('error', self._errorFn, false);\n },\n\n /**\n * HTML5 Audio canplaythrough listener callback.\n */\n _loadListener: function() {\n var self = this;\n var parent = self._parent;\n\n // Round up the duration to account for the lower precision in HTML5 Audio.\n parent._duration = Math.ceil(self._node.duration * 10) / 10;\n\n // Setup a sprite if none is defined.\n if (Object.keys(parent._sprite).length === 0) {\n parent._sprite = {__default: [0, parent._duration * 1000]};\n }\n\n if (parent._state !== 'loaded') {\n parent._state = 'loaded';\n parent._emit('load');\n parent._loadQueue();\n }\n\n // Clear the event listener.\n self._node.removeEventListener(Howler._canPlayEvent, self._loadFn, false);\n },\n\n /**\n * HTML5 Audio ended listener callback.\n */\n _endListener: function() {\n var self = this;\n var parent = self._parent;\n\n // Only handle the `ended`` event if the duration is Infinity.\n if (parent._duration === Infinity) {\n // Update the parent duration to match the real audio duration.\n // Round up the duration to account for the lower precision in HTML5 Audio.\n parent._duration = Math.ceil(self._node.duration * 10) / 10;\n\n // Update the sprite that corresponds to the real duration.\n if (parent._sprite.__default[1] === Infinity) {\n parent._sprite.__default[1] = parent._duration * 1000;\n }\n\n // Run the regular ended method.\n parent._ended(self);\n }\n\n // Clear the event listener since the duration is now correct.\n self._node.removeEventListener('ended', self._endFn, false);\n }\n };\n\n /** Helper Methods **/\n /***************************************************************************/\n\n var cache = {};\n\n /**\n * Buffer a sound from URL, Data URI or cache and decode to audio source (Web Audio API).\n * @param {Howl} self\n */\n var loadBuffer = function(self) {\n var url = self._src;\n\n // Check if the buffer has already been cached and use it instead.\n if (cache[url]) {\n // Set the duration from the cache.\n self._duration = cache[url].duration;\n\n // Load the sound into this Howl.\n loadSound(self);\n\n return;\n }\n\n if (/^data:[^;]+;base64,/.test(url)) {\n // Decode the base64 data URI without XHR, since some browsers don't support it.\n var data = atob(url.split(',')[1]);\n var dataView = new Uint8Array(data.length);\n for (var i=0; i 0) {\n cache[self._src] = buffer;\n loadSound(self, buffer);\n } else {\n error();\n }\n };\n\n // Decode the buffer into an audio source.\n if (typeof Promise !== 'undefined' && Howler.ctx.decodeAudioData.length === 1) {\n Howler.ctx.decodeAudioData(arraybuffer).then(success).catch(error);\n } else {\n Howler.ctx.decodeAudioData(arraybuffer, success, error);\n }\n }\n\n /**\n * Sound is now loaded, so finish setting everything up and fire the loaded event.\n * @param {Howl} self\n * @param {Object} buffer The decoded buffer sound source.\n */\n var loadSound = function(self, buffer) {\n // Set the duration.\n if (buffer && !self._duration) {\n self._duration = buffer.duration;\n }\n\n // Setup a sprite if none is defined.\n if (Object.keys(self._sprite).length === 0) {\n self._sprite = {__default: [0, self._duration * 1000]};\n }\n\n // Fire the loaded event.\n if (self._state !== 'loaded') {\n self._state = 'loaded';\n self._emit('load');\n self._loadQueue();\n }\n };\n\n /**\n * Setup the audio context when available, or switch to HTML5 Audio mode.\n */\n var setupAudioContext = function() {\n // If we have already detected that Web Audio isn't supported, don't run this step again.\n if (!Howler.usingWebAudio) {\n return;\n }\n\n // Check if we are using Web Audio and setup the AudioContext if we are.\n try {\n if (typeof AudioContext !== 'undefined') {\n Howler.ctx = new AudioContext();\n } else if (typeof webkitAudioContext !== 'undefined') {\n Howler.ctx = new webkitAudioContext();\n } else {\n Howler.usingWebAudio = false;\n }\n } catch(e) {\n Howler.usingWebAudio = false;\n }\n\n // If the audio context creation still failed, set using web audio to false.\n if (!Howler.ctx) {\n Howler.usingWebAudio = false;\n }\n\n // Check if a webview is being used on iOS8 or earlier (rather than the browser).\n // If it is, disable Web Audio as it causes crashing.\n var iOS = (/iP(hone|od|ad)/.test(Howler._navigator && Howler._navigator.platform));\n var appVersion = Howler._navigator && Howler._navigator.appVersion.match(/OS (\\d+)_(\\d+)_?(\\d+)?/);\n var version = appVersion ? parseInt(appVersion[1], 10) : null;\n if (iOS && version && version < 9) {\n var safari = /safari/.test(Howler._navigator && Howler._navigator.userAgent.toLowerCase());\n if (Howler._navigator && !safari) {\n Howler.usingWebAudio = false;\n }\n }\n\n // Create and expose the master GainNode when using Web Audio (useful for plugins or advanced usage).\n if (Howler.usingWebAudio) {\n Howler.masterGain = (typeof Howler.ctx.createGain === 'undefined') ? Howler.ctx.createGainNode() : Howler.ctx.createGain();\n Howler.masterGain.gain.setValueAtTime(Howler._muted ? 0 : Howler._volume, Howler.ctx.currentTime);\n Howler.masterGain.connect(Howler.ctx.destination);\n }\n\n // Re-run the setup on Howler.\n Howler._setup();\n };\n\n // Add support for AMD (Asynchronous Module Definition) libraries such as require.js.\n if (typeof define === 'function' && define.amd) {\n define([], function() {\n return {\n Howler: Howler,\n Howl: Howl\n };\n });\n }\n\n // Add support for CommonJS libraries such as browserify.\n if (typeof exports !== 'undefined') {\n exports.Howler = Howler;\n exports.Howl = Howl;\n }\n\n // Add to global in Node.js (for testing, etc).\n if (typeof global !== 'undefined') {\n global.HowlerGlobal = HowlerGlobal;\n global.Howler = Howler;\n global.Howl = Howl;\n global.Sound = Sound;\n } else if (typeof window !== 'undefined') { // Define globally in case AMD is not available or unused.\n window.HowlerGlobal = HowlerGlobal;\n window.Howler = Howler;\n window.Howl = Howl;\n window.Sound = Sound;\n }\n})();\n\n\n/*!\n * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.\n * \n * howler.js v2.2.3\n * howlerjs.com\n *\n * (c) 2013-2020, James Simpson of GoldFire Studios\n * goldfirestudios.com\n *\n * MIT License\n */\n\n(function() {\n\n 'use strict';\n\n // Setup default properties.\n HowlerGlobal.prototype._pos = [0, 0, 0];\n HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0];\n\n /** Global Methods **/\n /***************************************************************************/\n\n /**\n * Helper method to update the stereo panning position of all current Howls.\n * Future Howls will not use this value unless explicitly set.\n * @param {Number} pan A value of -1.0 is all the way left and 1.0 is all the way right.\n * @return {Howler/Number} Self or current stereo panning value.\n */\n HowlerGlobal.prototype.stereo = function(pan) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Loop through all Howls and update their stereo panning.\n for (var i=self._howls.length-1; i>=0; i--) {\n self._howls[i].stereo(pan);\n }\n\n return self;\n };\n\n /**\n * Get/set the position of the listener in 3D cartesian space. Sounds using\n * 3D position will be relative to the listener's position.\n * @param {Number} x The x-position of the listener.\n * @param {Number} y The y-position of the listener.\n * @param {Number} z The z-position of the listener.\n * @return {Howler/Array} Self or current listener position.\n */\n HowlerGlobal.prototype.pos = function(x, y, z) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n y = (typeof y !== 'number') ? self._pos[1] : y;\n z = (typeof z !== 'number') ? self._pos[2] : z;\n\n if (typeof x === 'number') {\n self._pos = [x, y, z];\n\n if (typeof self.ctx.listener.positionX !== 'undefined') {\n self.ctx.listener.positionX.setTargetAtTime(self._pos[0], Howler.ctx.currentTime, 0.1);\n self.ctx.listener.positionY.setTargetAtTime(self._pos[1], Howler.ctx.currentTime, 0.1);\n self.ctx.listener.positionZ.setTargetAtTime(self._pos[2], Howler.ctx.currentTime, 0.1);\n } else {\n self.ctx.listener.setPosition(self._pos[0], self._pos[1], self._pos[2]);\n }\n } else {\n return self._pos;\n }\n\n return self;\n };\n\n /**\n * Get/set the direction the listener is pointing in the 3D cartesian space.\n * A front and up vector must be provided. The front is the direction the\n * face of the listener is pointing, and up is the direction the top of the\n * listener is pointing. Thus, these values are expected to be at right angles\n * from each other.\n * @param {Number} x The x-orientation of the listener.\n * @param {Number} y The y-orientation of the listener.\n * @param {Number} z The z-orientation of the listener.\n * @param {Number} xUp The x-orientation of the top of the listener.\n * @param {Number} yUp The y-orientation of the top of the listener.\n * @param {Number} zUp The z-orientation of the top of the listener.\n * @return {Howler/Array} Returns self or the current orientation vectors.\n */\n HowlerGlobal.prototype.orientation = function(x, y, z, xUp, yUp, zUp) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n var or = self._orientation;\n y = (typeof y !== 'number') ? or[1] : y;\n z = (typeof z !== 'number') ? or[2] : z;\n xUp = (typeof xUp !== 'number') ? or[3] : xUp;\n yUp = (typeof yUp !== 'number') ? or[4] : yUp;\n zUp = (typeof zUp !== 'number') ? or[5] : zUp;\n\n if (typeof x === 'number') {\n self._orientation = [x, y, z, xUp, yUp, zUp];\n\n if (typeof self.ctx.listener.forwardX !== 'undefined') {\n self.ctx.listener.forwardX.setTargetAtTime(x, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.forwardY.setTargetAtTime(y, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.forwardZ.setTargetAtTime(z, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upX.setTargetAtTime(xUp, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upY.setTargetAtTime(yUp, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upZ.setTargetAtTime(zUp, Howler.ctx.currentTime, 0.1);\n } else {\n self.ctx.listener.setOrientation(x, y, z, xUp, yUp, zUp);\n }\n } else {\n return or;\n }\n\n return self;\n };\n\n /** Group Methods **/\n /***************************************************************************/\n\n /**\n * Add new properties to the core init.\n * @param {Function} _super Core init method.\n * @return {Howl}\n */\n Howl.prototype.init = (function(_super) {\n return function(o) {\n var self = this;\n\n // Setup user-defined default properties.\n self._orientation = o.orientation || [1, 0, 0];\n self._stereo = o.stereo || null;\n self._pos = o.pos || null;\n self._pannerAttr = {\n coneInnerAngle: typeof o.coneInnerAngle !== 'undefined' ? o.coneInnerAngle : 360,\n coneOuterAngle: typeof o.coneOuterAngle !== 'undefined' ? o.coneOuterAngle : 360,\n coneOuterGain: typeof o.coneOuterGain !== 'undefined' ? o.coneOuterGain : 0,\n distanceModel: typeof o.distanceModel !== 'undefined' ? o.distanceModel : 'inverse',\n maxDistance: typeof o.maxDistance !== 'undefined' ? o.maxDistance : 10000,\n panningModel: typeof o.panningModel !== 'undefined' ? o.panningModel : 'HRTF',\n refDistance: typeof o.refDistance !== 'undefined' ? o.refDistance : 1,\n rolloffFactor: typeof o.rolloffFactor !== 'undefined' ? o.rolloffFactor : 1\n };\n\n // Setup event listeners.\n self._onstereo = o.onstereo ? [{fn: o.onstereo}] : [];\n self._onpos = o.onpos ? [{fn: o.onpos}] : [];\n self._onorientation = o.onorientation ? [{fn: o.onorientation}] : [];\n\n // Complete initilization with howler.js core's init function.\n return _super.call(this, o);\n };\n })(Howl.prototype.init);\n\n /**\n * Get/set the stereo panning of the audio source for this sound or all in the group.\n * @param {Number} pan A value of -1.0 is all the way left and 1.0 is all the way right.\n * @param {Number} id (optional) The sound ID. If none is passed, all in group will be updated.\n * @return {Howl/Number} Returns self or the current stereo panning value.\n */\n Howl.prototype.stereo = function(pan, id) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // If the sound hasn't loaded, add it to the load queue to change stereo pan when capable.\n if (self._state !== 'loaded') {\n self._queue.push({\n event: 'stereo',\n action: function() {\n self.stereo(pan, id);\n }\n });\n\n return self;\n }\n\n // Check for PannerStereoNode support and fallback to PannerNode if it doesn't exist.\n var pannerType = (typeof Howler.ctx.createStereoPanner === 'undefined') ? 'spatial' : 'stereo';\n\n // Setup the group's stereo panning if no ID is passed.\n if (typeof id === 'undefined') {\n // Return the group's stereo panning if no parameters are passed.\n if (typeof pan === 'number') {\n self._stereo = pan;\n self._pos = [pan, 0, 0];\n } else {\n return self._stereo;\n }\n }\n\n // Change the streo panning of one or all sounds in group.\n var ids = self._getSoundIds(id);\n for (var i=0; i Returns the group's values.\n * pannerAttr(id) -> Returns the sound id's values.\n * pannerAttr(o) -> Set's the values of all sounds in this Howl group.\n * pannerAttr(o, id) -> Set's the values of passed sound id.\n *\n * Attributes:\n * coneInnerAngle - (360 by default) A parameter for directional audio sources, this is an angle, in degrees,\n * inside of which there will be no volume reduction.\n * coneOuterAngle - (360 by default) A parameter for directional audio sources, this is an angle, in degrees,\n * outside of which the volume will be reduced to a constant value of `coneOuterGain`.\n * coneOuterGain - (0 by default) A parameter for directional audio sources, this is the gain outside of the\n * `coneOuterAngle`. It is a linear value in the range `[0, 1]`.\n * distanceModel - ('inverse' by default) Determines algorithm used to reduce volume as audio moves away from\n * listener. Can be `linear`, `inverse` or `exponential.\n * maxDistance - (10000 by default) The maximum distance between source and listener, after which the volume\n * will not be reduced any further.\n * refDistance - (1 by default) A reference distance for reducing volume as source moves further from the listener.\n * This is simply a variable of the distance model and has a different effect depending on which model\n * is used and the scale of your coordinates. Generally, volume will be equal to 1 at this distance.\n * rolloffFactor - (1 by default) How quickly the volume reduces as source moves from listener. This is simply a\n * variable of the distance model and can be in the range of `[0, 1]` with `linear` and `[0, ∞]`\n * with `inverse` and `exponential`.\n * panningModel - ('HRTF' by default) Determines which spatialization algorithm is used to position audio.\n * Can be `HRTF` or `equalpower`.\n *\n * @return {Howl/Object} Returns self or current panner attributes.\n */\n Howl.prototype.pannerAttr = function() {\n var self = this;\n var args = arguments;\n var o, id, sound;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // Return the group's panner attribute values.\n return self._pannerAttr;\n } else if (args.length === 1) {\n if (typeof args[0] === 'object') {\n o = args[0];\n\n // Set the grou's panner attribute values.\n if (typeof id === 'undefined') {\n if (!o.pannerAttr) {\n o.pannerAttr = {\n coneInnerAngle: o.coneInnerAngle,\n coneOuterAngle: o.coneOuterAngle,\n coneOuterGain: o.coneOuterGain,\n distanceModel: o.distanceModel,\n maxDistance: o.maxDistance,\n refDistance: o.refDistance,\n rolloffFactor: o.rolloffFactor,\n panningModel: o.panningModel\n };\n }\n\n self._pannerAttr = {\n coneInnerAngle: typeof o.pannerAttr.coneInnerAngle !== 'undefined' ? o.pannerAttr.coneInnerAngle : self._coneInnerAngle,\n coneOuterAngle: typeof o.pannerAttr.coneOuterAngle !== 'undefined' ? o.pannerAttr.coneOuterAngle : self._coneOuterAngle,\n coneOuterGain: typeof o.pannerAttr.coneOuterGain !== 'undefined' ? o.pannerAttr.coneOuterGain : self._coneOuterGain,\n distanceModel: typeof o.pannerAttr.distanceModel !== 'undefined' ? o.pannerAttr.distanceModel : self._distanceModel,\n maxDistance: typeof o.pannerAttr.maxDistance !== 'undefined' ? o.pannerAttr.maxDistance : self._maxDistance,\n refDistance: typeof o.pannerAttr.refDistance !== 'undefined' ? o.pannerAttr.refDistance : self._refDistance,\n rolloffFactor: typeof o.pannerAttr.rolloffFactor !== 'undefined' ? o.pannerAttr.rolloffFactor : self._rolloffFactor,\n panningModel: typeof o.pannerAttr.panningModel !== 'undefined' ? o.pannerAttr.panningModel : self._panningModel\n };\n }\n } else {\n // Return this sound's panner attribute values.\n sound = self._soundById(parseInt(args[0], 10));\n return sound ? sound._pannerAttr : self._pannerAttr;\n }\n } else if (args.length === 2) {\n o = args[0];\n id = parseInt(args[1], 10);\n }\n\n // Update the values of the specified sounds.\n var ids = self._getSoundIds(id);\n for (var i=0; i */\n)(darken);\nvar _default = curriedDarken;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = getContrast;\n\nvar _getLuminance = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./getLuminance\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n *\n * @example\n * const contrastRatio = getContrast('#444', '#fff');\n */\nfunction getContrast(color1, color2) {\n var luminance1 = (0, _getLuminance[\"default\"])(color1);\n var luminance2 = (0, _getLuminance[\"default\"])(color2);\n return parseFloat((luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05)).toFixed(2));\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = getLuminance;\n\nvar _parseToRgb = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./parseToRgb\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * Returns a number (float) representing the luminance of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff',\n * background: getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)',\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff'};\n * background: ${getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)'};\n *\n * // CSS in JS Output\n *\n * div {\n * background: \"#CCCD64\";\n * background: \"rgba(58, 133, 255, 1)\";\n * }\n */\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n var rgbColor = (0, _parseToRgb[\"default\"])(color);\n\n var _Object$keys$map = Object.keys(rgbColor).map(function (key) {\n var channel = rgbColor[key] / 255;\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }),\n r = _Object$keys$map[0],\n g = _Object$keys$map[1],\n b = _Object$keys$map[2];\n\n return parseFloat((0.2126 * r + 0.7152 * g + 0.0722 * b).toFixed(3));\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = hsl;\n\nvar _hslToHex = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_hslToHex\"));\n\nvar _errors = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_errors\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsl(359, 0.75, 0.4),\n * background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsl(359, 0.75, 0.4)};\n * background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#b3191c\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsl(value, saturation, lightness) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n return (0, _hslToHex[\"default\"])(value, saturation, lightness);\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {\n return (0, _hslToHex[\"default\"])(value.hue, value.saturation, value.lightness);\n }\n\n throw new _errors[\"default\"](1);\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = hsla;\n\nvar _hslToHex = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_hslToHex\"));\n\nvar _hslToRgb = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_hslToRgb\"));\n\nvar _errors = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_errors\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsla(359, 0.75, 0.4, 0.7),\n * background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n * background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsla(359, 0.75, 0.4, 0.7)};\n * background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n * background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"#b3191c\";\n * }\n */\nfunction hsla(value, saturation, lightness, alpha) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n return alpha >= 1 ? (0, _hslToHex[\"default\"])(value, saturation, lightness) : \"rgba(\" + (0, _hslToRgb[\"default\"])(value, saturation, lightness) + \",\" + alpha + \")\";\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n return value.alpha >= 1 ? (0, _hslToHex[\"default\"])(value.hue, value.saturation, value.lightness) : \"rgba(\" + (0, _hslToRgb[\"default\"])(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n }\n\n throw new _errors[\"default\"](2);\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _curry = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_curry\"));\n\nvar _guard = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_guard\"));\n\nvar _parseToHsl = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./parseToHsl\"));\n\nvar _toColorString = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./toColorString\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: lighten(0.2, '#CCCD64'),\n * background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${lighten(0.2, '#FFCD64')};\n * background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e5e6b1\";\n * background: \"rgba(229,230,177,0.7)\";\n * }\n */\nfunction lighten(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = (0, _parseToHsl[\"default\"])(color);\n return (0, _toColorString[\"default\"])(_extends({}, hslColor, {\n lightness: (0, _guard[\"default\"])(0, 1, hslColor.lightness + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedLighten = /*#__PURE__*/(0, _curry[\"default\"]\n/* :: */\n)(lighten);\nvar _default = curriedLighten;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = parseToHsl;\n\nvar _parseToRgb = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./parseToRgb\"));\n\nvar _rgbToHsl = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_rgbToHsl\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\nfunction parseToHsl(color) {\n // Note: At a later stage we can optimize this function as right now a hsl\n // color would be parsed converted to rgb values and converted back to hsl.\n return (0, _rgbToHsl[\"default\"])((0, _parseToRgb[\"default\"])(color));\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = parseToRgb;\n\nvar _hslToRgb = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_hslToRgb\"));\n\nvar _nameToHex = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_nameToHex\"));\n\nvar _errors = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_errors\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgb(?:a)?\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsl(?:a)?\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n if (typeof color !== 'string') {\n throw new _errors[\"default\"](3);\n }\n\n var normalizedColor = (0, _nameToHex[\"default\"])(color);\n\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n };\n }\n\n if (normalizedColor.match(hexRgbaRegex)) {\n var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n alpha: alpha\n };\n }\n\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n };\n }\n\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n alpha: _alpha\n };\n }\n\n var rgbMatched = rgbRegex.exec(normalizedColor);\n\n if (rgbMatched) {\n return {\n red: parseInt(\"\" + rgbMatched[1], 10),\n green: parseInt(\"\" + rgbMatched[2], 10),\n blue: parseInt(\"\" + rgbMatched[3], 10)\n };\n }\n\n var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));\n\n if (rgbaMatched) {\n return {\n red: parseInt(\"\" + rgbaMatched[1], 10),\n green: parseInt(\"\" + rgbaMatched[2], 10),\n blue: parseInt(\"\" + rgbaMatched[3], 10),\n alpha: parseFloat(\"\" + rgbaMatched[4]) > 1 ? parseFloat(\"\" + rgbaMatched[4]) / 100 : parseFloat(\"\" + rgbaMatched[4])\n };\n }\n\n var hslMatched = hslRegex.exec(normalizedColor);\n\n if (hslMatched) {\n var hue = parseInt(\"\" + hslMatched[1], 10);\n var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n var rgbColorString = \"rgb(\" + (0, _hslToRgb[\"default\"])(hue, saturation, lightness) + \")\";\n var hslRgbMatched = rgbRegex.exec(rgbColorString);\n\n if (!hslRgbMatched) {\n throw new _errors[\"default\"](4, normalizedColor, rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + hslRgbMatched[1], 10),\n green: parseInt(\"\" + hslRgbMatched[2], 10),\n blue: parseInt(\"\" + hslRgbMatched[3], 10)\n };\n }\n\n var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));\n\n if (hslaMatched) {\n var _hue = parseInt(\"\" + hslaMatched[1], 10);\n\n var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n\n var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n\n var _rgbColorString = \"rgb(\" + (0, _hslToRgb[\"default\"])(_hue, _saturation, _lightness) + \")\";\n\n var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n\n if (!_hslRgbMatched) {\n throw new _errors[\"default\"](4, normalizedColor, _rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + _hslRgbMatched[1], 10),\n green: parseInt(\"\" + _hslRgbMatched[2], 10),\n blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n alpha: parseFloat(\"\" + hslaMatched[4]) > 1 ? parseFloat(\"\" + hslaMatched[4]) / 100 : parseFloat(\"\" + hslaMatched[4])\n };\n }\n\n throw new _errors[\"default\"](5);\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = readableColor;\n\nvar _getContrast = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./getContrast\"));\n\nvar _getLuminance = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./getLuminance\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar defaultReturnIfLightColor = '#000';\nvar defaultReturnIfDarkColor = '#fff';\n/**\n * Returns black or white (or optional passed colors) for best\n * contrast depending on the luminosity of the given color.\n * When passing custom return colors, strict mode ensures that the\n * return color always meets or exceeds WCAG level AA or greater. If this test\n * fails, the default return color (black or white) is returned in place of the\n * custom return color. You can optionally turn off strict mode.\n *\n * Follows [W3C specs for readability](https://www.w3.org/TR/WCAG20-TECHS/G18.html).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * color: readableColor('#000'),\n * color: readableColor('black', '#001', '#ff8'),\n * color: readableColor('white', '#001', '#ff8'),\n * color: readableColor('red', '#333', '#ddd', true)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * color: ${readableColor('#000')};\n * color: ${readableColor('black', '#001', '#ff8')};\n * color: ${readableColor('white', '#001', '#ff8')};\n * color: ${readableColor('red', '#333', '#ddd', true)};\n * `\n *\n * // CSS in JS Output\n * element {\n * color: \"#fff\";\n * color: \"#ff8\";\n * color: \"#001\";\n * color: \"#000\";\n * }\n */\n\nfunction readableColor(color, returnIfLightColor, returnIfDarkColor, strict) {\n if (returnIfLightColor === void 0) {\n returnIfLightColor = defaultReturnIfLightColor;\n }\n\n if (returnIfDarkColor === void 0) {\n returnIfDarkColor = defaultReturnIfDarkColor;\n }\n\n if (strict === void 0) {\n strict = true;\n }\n\n var isColorLight = (0, _getLuminance[\"default\"])(color) > 0.179;\n var preferredReturnColor = isColorLight ? returnIfLightColor : returnIfDarkColor;\n\n if (!strict || (0, _getContrast[\"default\"])(color, preferredReturnColor) >= 4.5) {\n return preferredReturnColor;\n }\n\n return isColorLight ? defaultReturnIfLightColor : defaultReturnIfDarkColor;\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = rgb;\n\nvar _reduceHexValue = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_reduceHexValue\"));\n\nvar _numberToHex = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_numberToHex\"));\n\nvar _errors = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_errors\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgb(255, 205, 100),\n * background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgb(255, 205, 100)};\n * background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffcd64\";\n * background: \"#ffcd64\";\n * }\n */\nfunction rgb(value, green, blue) {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return (0, _reduceHexValue[\"default\"])(\"#\" + (0, _numberToHex[\"default\"])(value) + (0, _numberToHex[\"default\"])(green) + (0, _numberToHex[\"default\"])(blue));\n } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n return (0, _reduceHexValue[\"default\"])(\"#\" + (0, _numberToHex[\"default\"])(value.red) + (0, _numberToHex[\"default\"])(value.green) + (0, _numberToHex[\"default\"])(value.blue));\n }\n\n throw new _errors[\"default\"](6);\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = rgba;\n\nvar _parseToRgb = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./parseToRgb\"));\n\nvar _rgb = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./rgb\"));\n\nvar _errors = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_errors\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgba(255, 205, 100, 0.7),\n * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n * background: rgba(255, 205, 100, 1),\n * background: rgba('#ffffff', 0.4),\n * background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgba(255, 205, 100, 0.7)};\n * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n * background: ${rgba(255, 205, 100, 1)};\n * background: ${rgba('#ffffff', 0.4)};\n * background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"#ffcd64\";\n * background: \"rgba(255,255,255,0.4)\";\n * background: \"rgba(0,0,0,0.7)\";\n * }\n */\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n var rgbValue = (0, _parseToRgb[\"default\"])(firstValue);\n return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n return fourthValue >= 1 ? (0, _rgb[\"default\"])(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n return firstValue.alpha >= 1 ? (0, _rgb[\"default\"])(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n }\n\n throw new _errors[\"default\"](7);\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = toColorString;\n\nvar _hsl = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./hsl\"));\n\nvar _hsla = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./hsla\"));\n\nvar _rgb = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./rgb\"));\n\nvar _rgba = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./rgba\"));\n\nvar _errors = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"../internalHelpers/_errors\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar isRgb = function isRgb(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isRgba = function isRgba(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\n\nvar isHsl = function isHsl(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isHsla = function isHsla(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: toColorString({ red: 255, green: 205, blue: 100 }),\n * background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction toColorString(color) {\n if (typeof color !== 'object') throw new _errors[\"default\"](8);\n if (isRgba(color)) return (0, _rgba[\"default\"])(color);\n if (isRgb(color)) return (0, _rgb[\"default\"])(color);\n if (isHsla(color)) return (0, _hsla[\"default\"])(color);\n if (isHsl(color)) return (0, _hsl[\"default\"])(color);\n throw new _errors[\"default\"](8);\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = curry;\n\n// Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\nfunction curried(f, length, acc) {\n return function fn() {\n // eslint-disable-next-line prefer-rest-params\n var combined = acc.concat(Array.prototype.slice.call(arguments));\n return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n };\n} // eslint-disable-next-line no-redeclare\n\n\nfunction curry(f) {\n // eslint-disable-line no-redeclare\n return curried(f, f.length, []);\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n// based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\nvar ERRORS = {\n \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"16\": \"You must provide a template to this method.\\n\\n\",\n \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"36\": \"Property must be a string value.\\n\\n\",\n \"37\": \"Syntax Error at %s.\\n\\n\",\n \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"61\": \"Property must be a string value.\\n\\n\",\n \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"67\": \"You must provide a template to this method.\\n\\n\",\n \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n \"74\": \"CSS variable not found and no default was provided.\\n\\n\",\n \"75\": \"important requires a valid style object, got a %s instead.\\n\\n\",\n \"76\": \"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\\n\\n\",\n \"77\": \"remToPx expects a value in \\\"rem\\\" but you provided it in \\\"%s\\\".\\n\\n\",\n \"78\": \"base must be set in \\\"px\\\" or \\\"%\\\" but you set it in \\\"%s\\\".\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var a = args[0];\n var b = [];\n var c;\n\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\n\nvar PolishedError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(PolishedError, _Error);\n\n function PolishedError(code) {\n var _this;\n\n if (process.env.NODE_ENV === 'production') {\n _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n } else {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;\n }\n\n return _assertThisInitialized(_this);\n }\n\n return PolishedError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexports[\"default\"] = PolishedError;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nfunction guard(lowerBoundary, upperBoundary, value) {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n\nvar _default = guard;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _hslToRgb = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./_hslToRgb\"));\n\nvar _reduceHexValue = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./_reduceHexValue\"));\n\nvar _numberToHex = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require(\"./_numberToHex\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction colorToHex(color) {\n return (0, _numberToHex[\"default\"])(Math.round(color * 255));\n}\n\nfunction convertToHex(red, green, blue) {\n return (0, _reduceHexValue[\"default\"])(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\n\nfunction hslToHex(hue, saturation, lightness) {\n return (0, _hslToRgb[\"default\"])(hue, saturation, lightness, convertToHex);\n}\n\nvar _default = hslToHex;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nfunction colorToInt(color) {\n return Math.round(color * 255);\n}\n\nfunction convertToInt(red, green, blue) {\n return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\n\nfunction hslToRgb(hue, saturation, lightness, convert) {\n if (convert === void 0) {\n convert = convertToInt;\n }\n\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n\n var huePrime = (hue % 360 + 360) % 360 / 60;\n var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n var red = 0;\n var green = 0;\n var blue = 0;\n\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n\n var lightnessModification = lightness - chroma / 2;\n var finalRed = red + lightnessModification;\n var finalGreen = green + lightnessModification;\n var finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\n\nvar _default = hslToRgb;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar namedColorMap = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\n blanchedalmond: 'ffebcd',\n blue: '0000ff',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '00ffff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgreen: '006400',\n darkgrey: 'a9a9a9',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkslategrey: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dimgrey: '696969',\n dodgerblue: '1e90ff',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'ff00ff',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n grey: '808080',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred: 'cd5c5c',\n indigo: '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgray: 'd3d3d3',\n lightgreen: '90ee90',\n lightgrey: 'd3d3d3',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslategray: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370db',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'db7093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n rebeccapurple: '639',\n red: 'f00',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n slategrey: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n wheat: 'f5deb3',\n white: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n if (typeof color !== 'string') return color;\n var normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\n\nvar _default = nameToHex;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nfunction numberToHex(value) {\n var hex = value.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n}\n\nvar _default = numberToHex;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\nvar reduceHexValue = function reduceHexValue(value) {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return \"#\" + value[1] + value[3] + value[5];\n }\n\n return value;\n};\n\nvar _default = reduceHexValue;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nfunction rgbToHsl(color) {\n // make sure rgb are contained in a set of [0, 255]\n var red = color.red / 255;\n var green = color.green / 255;\n var blue = color.blue / 255;\n var max = Math.max(red, green, blue);\n var min = Math.min(red, green, blue);\n var lightness = (max + min) / 2;\n\n if (max === min) {\n // achromatic\n if (color.alpha !== undefined) {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness,\n alpha: color.alpha\n };\n } else {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness\n };\n }\n }\n\n var hue;\n var delta = max - min;\n var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n switch (max) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n\n case green:\n hue = (blue - red) / delta + 2;\n break;\n\n default:\n // blue case\n hue = (red - green) / delta + 4;\n break;\n }\n\n hue *= 60;\n\n if (color.alpha !== undefined) {\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness,\n alpha: color.alpha\n };\n }\n\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness\n };\n}\n\nvar _default = rgbToHsl;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/** @license React v17.0.2\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\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(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 D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(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){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(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(oa,\npa);D[b]=new B(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(oa,pa);D[b]=new B(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(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(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 ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function 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 m({},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 $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(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\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(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 bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!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,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({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 vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(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}}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(y(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;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&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=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){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 Oe(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)}\nvar Pe=fa&&\"documentMode\"in document&&11>=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&&Oe(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&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;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}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)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=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(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&64))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 jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"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[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,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=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e{var t={757:(t,e,r)=>{t.exports=r(666)},666:t=>{var e=function(t){\"use strict\";var e,r=Object.prototype,n=r.hasOwnProperty,o=\"function\"==typeof Symbol?Symbol:{},i=o.iterator||\"@@iterator\",a=o.asyncIterator||\"@@asyncIterator\",c=o.toStringTag||\"@@toStringTag\";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},\"\")}catch(t){u=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var o=e&&e.prototype instanceof v?e:v,i=Object.create(o.prototype),a=new L(n||[]);return i._invoke=function(t,e,r){var n=l;return function(o,i){if(n===p)throw new Error(\"Generator is already running\");if(n===y){if(\"throw\"===o)throw i;return N()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=P(a,r);if(c){if(c===d)continue;return c}}if(\"next\"===r.method)r.sent=r._sent=r.arg;else if(\"throw\"===r.method){if(n===l)throw n=y,r.arg;r.dispatchException(r.arg)}else\"return\"===r.method&&r.abrupt(\"return\",r.arg);n=p;var u=f(t,e,r);if(\"normal\"===u.type){if(n=r.done?y:h,u.arg===d)continue;return{value:u.arg,done:r.done}}\"throw\"===u.type&&(n=y,r.method=\"throw\",r.arg=u.arg)}}}(t,r,a),i}function f(t,e,r){try{return{type:\"normal\",arg:t.call(e,r)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=s;var l=\"suspendedStart\",h=\"suspendedYield\",p=\"executing\",y=\"completed\",d={};function v(){}function m(){}function g(){}var w={};w[i]=function(){return this};var b=Object.getPrototypeOf,x=b&&b(b(S([])));x&&x!==r&&n.call(x,i)&&(w=x);var O=g.prototype=v.prototype=Object.create(w);function _(t){[\"next\",\"throw\",\"return\"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function j(t,e){function r(o,i,a,c){var u=f(t[o],t,i);if(\"throw\"!==u.type){var s=u.arg,l=s.value;return l&&\"object\"==typeof l&&n.call(l,\"__await\")?e.resolve(l.__await).then((function(t){r(\"next\",t,a,c)}),(function(t){r(\"throw\",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r(\"throw\",t,a,c)}))}c(u.arg)}var o;this._invoke=function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}}function P(t,r){var n=t.iterator[r.method];if(n===e){if(r.delegate=null,\"throw\"===r.method){if(t.iterator.return&&(r.method=\"return\",r.arg=e,P(t,r),\"throw\"===r.method))return d;r.method=\"throw\",r.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return d}var o=f(n,t.iterator,r.arg);if(\"throw\"===o.type)return r.method=\"throw\",r.arg=o.arg,r.delegate=null,d;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,\"return\"!==r.method&&(r.method=\"next\",r.arg=e),r.delegate=null,d):i:(r.method=\"throw\",r.arg=new TypeError(\"iterator result is not an object\"),r.delegate=null,d)}function k(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(k,this),this.reset(!0)}function S(t){if(t){var r=t[i];if(r)return r.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if(\"root\"===a.tryLoc)return o(\"end\");if(a.tryLoc<=this.prev){var u=n.call(a,\"catchLoc\"),s=n.call(a,\"finallyLoc\");if(u&&s){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,\"finallyLoc\")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if(\"throw\"===n.type){var o=n.arg;E(r)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,r,n){return this.delegate={iterator:S(t),resultName:r,nextLoc:n},\"next\"===this.method&&(this.arg=e),d}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function(\"r\",\"regeneratorRuntime = r\")(e)}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var n={};(()=>{\"use strict\";function t(t,e){for(var r=0;rm,default:()=>g});var s=r(757),f=r.n(s);const l=require(\"react\");var h=r.n(l);const p=require(\"tsparticles-engine\"),y=require(\"fast-deep-equal/react\");var d=r.n(y);var v=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{u(n.next(t))}catch(t){i(t)}}function c(t){try{u(n.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,c)}u((n=n.apply(t,e||[])).next())}))},m=function(r){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");Object.defineProperty(t,\"prototype\",{value:Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),writable:!1}),e&&a(t,e)}(y,r);var n,o,c,s,l=(c=y,s=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,r=e(c);if(s){var n=e(this).constructor;t=Reflect.construct(r,arguments,n)}else t=r.apply(this,arguments);return u(this,t)});function y(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,y),(e=l.call(this,t)).state={init:!1,library:void 0},e}return n=y,(o=[{key:\"destroy\",value:function(){this.state.library&&(this.state.library.destroy(),this.setState({library:void 0}))}},{key:\"shouldComponentUpdate\",value:function(t){return!d()(t,this.props)}},{key:\"componentDidUpdate\",value:function(){this.refresh()}},{key:\"forceUpdate\",value:function(){var t=this;this.refresh().then((function(){i(e(y.prototype),\"forceUpdate\",t).call(t)}))}},{key:\"componentDidMount\",value:function(){v(this,void 0,void 0,f().mark((function t(){var e=this;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.props.init){t.next=3;break}return t.next=3,this.props.init(p.tsParticles);case 3:this.setState({init:!0},(function(){return v(e,void 0,void 0,f().mark((function t(){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.loadParticles();case 2:case\"end\":return t.stop()}}),t,this)})))}));case 4:case\"end\":return t.stop()}}),t,this)})))}},{key:\"componentWillUnmount\",value:function(){this.destroy()}},{key:\"render\",value:function(){var t=this.props,e=t.width,r=t.height,n=t.className,o=t.canvasClassName,i=t.id;return h().createElement(\"div\",{className:n,id:i},h().createElement(\"canvas\",{className:o,style:Object.assign(Object.assign({},this.props.style),{width:e,height:r})}))}},{key:\"refresh\",value:function(){return v(this,void 0,void 0,f().mark((function t(){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.destroy(),t.next=3,this.loadParticles();case 3:case\"end\":return t.stop()}}),t,this)})))}},{key:\"loadParticles\",value:function(){var t;return v(this,void 0,void 0,f().mark((function e(){var r,n,o=this;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.state.init){e.next=2;break}return e.abrupt(\"return\");case 2:if(r=function(t){return v(o,void 0,void 0,f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.props.container&&(this.props.container.current=t),this.setState({library:t}),!this.props.loaded){e.next=5;break}return e.next=5,this.props.loaded(t);case 5:case\"end\":return e.stop()}}),e,this)})))},!this.props.url){e.next=9;break}return e.next=6,p.tsParticles.loadJSON(this.props.id,this.props.url);case 6:e.t0=e.sent,e.next=12;break;case 9:return e.next=11,p.tsParticles.load(this.props.id,null!==(t=this.props.params)&&void 0!==t?t:this.props.options);case 11:e.t0=e.sent;case 12:return n=e.t0,e.next=15,r(n);case 15:case\"end\":return e.stop()}}),e,this)})))}}])&&t(n.prototype,o),Object.defineProperty(n,\"prototype\",{writable:!1}),y}(l.Component);m.defaultProps={width:\"100%\",height:\"100%\",options:{},style:{},url:void 0,id:\"tsparticles\"};const g=m})();var o=exports;for(var i in n)o[i]=n[i];n.__esModule&&Object.defineProperty(o,\"__esModule\",{value:!0})})();","const ReactParticles = require(\"./cjs/particles\");\n\nfor (let key in ReactParticles) {\n ReactParticles.default[key] = ReactParticles[key];\n}\n\nmodule.exports = ReactParticles.default;\n","/** @license React v17.0.2\n * react-jsx-runtime.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'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v17.0.2\n * react.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'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=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","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 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 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 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}\n_EventDispatcher_listeners = new WeakMap();\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 clone(source) {\n return Vector.create(source.x, source.y);\n }\n static create(x, y) {\n return new Vector(x, y);\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 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 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 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 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 distanceTo(v) {\n return this.sub(v).length;\n }\n getLengthSq() {\n return this.x ** 2 + this.y ** 2;\n }\n distanceToSq(v) {\n return this.sub(v).getLengthSq();\n }\n manhattanDistanceTo(v) {\n return Math.abs(v.x - this.x) + Math.abs(v.y - this.y);\n }\n copy() {\n return Vector.clone(this);\n }\n setTo(v) {\n this.x = v.x;\n this.y = v.y;\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 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\";\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 Math.random() * (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 Math.random() * 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 : Math.random() * 100) * data.size.width) / 100,\n y: (((_d = (_c = data.position) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : Math.random() * 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 : Math.random() * data.size.width,\n y: (_d = (_c = data.position) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : Math.random() * 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}\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","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_engine, _Options_findDefaultTheme;\nimport { deepExtend, loadParticlesOptions } from \"../../Utils/Utils\";\nimport { Background } from \"./Background/Background\";\nimport { BackgroundMask } from \"./BackgroundMask/BackgroundMask\";\nimport { FullScreen } from \"./FullScreen/FullScreen\";\nimport { Interactivity } from \"./Interactivity/Interactivity\";\nimport { ManualParticle } from \"./ManualParticle\";\nimport { Motion } from \"./Motion/Motion\";\nimport { Responsive } from \"./Responsive\";\nimport { Theme } from \"./Theme/Theme\";\nexport class Options {\n constructor(engine) {\n _Options_instances.add(this);\n _Options_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Options_engine, engine, \"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();\n this.manualParticles = [];\n this.motion = new Motion();\n this.particles = loadParticlesOptions();\n this.pauseOnBlur = true;\n this.pauseOnOutsideViewport = true;\n this.responsive = [];\n this.style = {};\n this.themes = [];\n this.zLayers = 100;\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 get backgroundMode() {\n return this.fullScreen;\n }\n set backgroundMode(value) {\n this.fullScreen.load(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 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 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 setResponsive(width, pxRatio, defaultOptions) {\n this.load(defaultOptions);\n const responsiveOptions = this.responsive.find((t) => t.mode === \"screen\" && screen\n ? t.maxWidth * pxRatio > screen.availWidth\n : 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 importPreset(preset) {\n this.load(__classPrivateFieldGet(this, _Options_engine, \"f\").plugins.getPreset(preset));\n }\n}\n_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","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 elementId() {\n return this.ids;\n }\n set elementId(value) {\n this.ids = value;\n }\n get el() {\n return this.elementId;\n }\n set el(value) {\n this.elementId = 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 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","export class Bounce {\n constructor() {\n this.distance = 200;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n }\n}\n","import { OptionsColor } from \"../../OptionsColor\";\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","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","export class ConnectLinks {\n constructor() {\n this.opacity = 0.5;\n }\n load(data) {\n if (!(data !== undefined && data.opacity !== undefined)) {\n return;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n","import { ConnectLinks } from \"./ConnectLinks\";\nexport class Connect {\n constructor() {\n this.distance = 80;\n this.links = new ConnectLinks();\n this.radius = 60;\n }\n get line_linked() {\n return this.links;\n }\n set line_linked(value) {\n this.links = value;\n }\n get lineLinked() {\n return this.links;\n }\n set lineLinked(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 { OptionsColor } from \"../../OptionsColor\";\nexport class GrabLinks {\n constructor() {\n this.blink = false;\n this.consent = false;\n this.opacity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.blink !== undefined) {\n this.blink = data.blink;\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\n }\n if (data.consent !== undefined) {\n this.consent = data.consent;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n","import { GrabLinks } from \"./GrabLinks\";\nexport class Grab {\n constructor() {\n this.distance = 100;\n this.links = new GrabLinks();\n }\n get line_linked() {\n return this.links;\n }\n set line_linked(value) {\n this.links = value;\n }\n get lineLinked() {\n return this.links;\n }\n set lineLinked(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 { OptionsColor } from \"../../OptionsColor\";\nexport class LightGradient {\n constructor() {\n this.start = new OptionsColor();\n this.stop = new OptionsColor();\n this.start.value = \"#ffffff\";\n this.stop.value = \"#000000\";\n }\n load(data) {\n if (!data) {\n return;\n }\n this.start = OptionsColor.create(this.start, data.start);\n this.stop = OptionsColor.create(this.stop, data.stop);\n }\n}\n","import { LightGradient } from \"./LightGradient\";\nexport class LightArea {\n constructor() {\n this.gradient = new LightGradient();\n this.radius = 1000;\n }\n load(data) {\n if (!data) {\n return;\n }\n this.gradient.load(data.gradient);\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n","import { OptionsColor } from \"../../OptionsColor\";\nexport class LightShadow {\n constructor() {\n this.color = new OptionsColor();\n this.color.value = \"#000000\";\n this.length = 2000;\n }\n load(data) {\n if (!data) {\n return;\n }\n this.color = OptionsColor.create(this.color, data.color);\n if (data.length !== undefined) {\n this.length = data.length;\n }\n }\n}\n","import { LightArea } from \"./LightArea\";\nimport { LightShadow } from \"./LightShadow\";\nexport class Light {\n constructor() {\n this.area = new LightArea();\n this.shadow = new LightShadow();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.area.load(data.area);\n this.shadow.load(data.shadow);\n }\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","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","export class RepulseBase {\n constructor() {\n this.distance = 200;\n this.duration = 0.4;\n this.factor = 100;\n this.speed = 1;\n this.maxSpeed = 50;\n this.easing = \"ease-out-quad\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = data.distance;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.easing !== undefined) {\n this.easing = data.easing;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = data.maxSpeed;\n }\n }\n}\n","import { RepulseBase } from \"./RepulseBase\";\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","export class Slow {\n constructor() {\n this.factor = 3;\n this.radius = 200;\n }\n get active() {\n return false;\n }\n set active(_value) {\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n","import { deepExtend } from \"../../../../Utils/Utils\";\nexport class Trail {\n constructor() {\n this.delay = 1;\n this.pauseOnStop = false;\n this.quantity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.delay !== undefined) {\n this.delay = data.delay;\n }\n if (data.quantity !== undefined) {\n this.quantity = data.quantity;\n }\n if (data.particles !== undefined) {\n this.particles = deepExtend({}, data.particles);\n }\n if (data.pauseOnStop !== undefined) {\n this.pauseOnStop = data.pauseOnStop;\n }\n }\n}\n","import { Attract } from \"./Attract\";\nimport { Bounce } from \"./Bounce\";\nimport { Bubble } from \"./Bubble\";\nimport { Connect } from \"./Connect\";\nimport { Grab } from \"./Grab\";\nimport { Light } from \"./Light\";\nimport { Push } from \"./Push\";\nimport { Remove } from \"./Remove\";\nimport { Repulse } from \"./Repulse\";\nimport { Slow } from \"./Slow\";\nimport { Trail } from \"./Trail\";\nexport class Modes {\n constructor() {\n this.attract = new Attract();\n this.bounce = new Bounce();\n this.bubble = new Bubble();\n this.connect = new Connect();\n this.grab = new Grab();\n this.light = new Light();\n this.push = new Push();\n this.remove = new Remove();\n this.repulse = new Repulse();\n this.slow = new Slow();\n this.trail = new Trail();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.attract.load(data.attract);\n this.bubble.load(data.bubble);\n this.connect.load(data.connect);\n this.grab.load(data.grab);\n this.light.load(data.light);\n this.push.load(data.push);\n this.remove.load(data.remove);\n this.repulse.load(data.repulse);\n this.slow.load(data.slow);\n this.trail.load(data.trail);\n }\n}\n","import { Events } from \"./Events/Events\";\nimport { Modes } from \"./Modes/Modes\";\nexport class Interactivity {\n constructor() {\n this.detectsOn = \"window\";\n this.events = new Events();\n this.modes = new Modes();\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, _b, _c;\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 if (((_c = (_b = data.modes) === null || _b === void 0 ? void 0 : _b.slow) === null || _c === void 0 ? void 0 : _c.active) === true) {\n if (this.events.onHover.mode instanceof Array) {\n if (this.events.onHover.mode.indexOf(\"slow\") < 0) {\n this.events.onHover.mode.push(\"slow\");\n }\n }\n else if (this.events.onHover.mode !== \"slow\") {\n this.events.onHover.mode = [this.events.onHover.mode, \"slow\"];\n }\n }\n }\n}\n","import { deepExtend } from \"../../Utils/Utils\";\nexport class ManualParticle {\n load(data) {\n var _a, _b;\n if (!data) {\n return;\n }\n if (data.position !== undefined) {\n this.position = {\n x: (_a = data.position.x) !== null && _a !== void 0 ? _a : 50,\n y: (_b = data.position.y) !== null && _b !== void 0 ? _b : 50,\n };\n }\n if (data.options !== undefined) {\n this.options = deepExtend({}, data.options);\n }\n }\n}\n","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.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.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","import { AnimatableColor } from \"./AnimatableColor\";\nimport { setRangeValue } from \"../../Utils/NumberUtils\";\nexport class AnimatableGradient {\n constructor() {\n this.angle = new GradientAngle();\n this.colors = [];\n this.type = \"random\";\n }\n load(data) {\n if (!data) {\n return;\n }\n this.angle.load(data.angle);\n if (data.colors !== undefined) {\n this.colors = data.colors.map((s) => {\n const tmp = new AnimatableGradientColor();\n tmp.load(s);\n return tmp;\n });\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\nexport class GradientAngle {\n constructor() {\n this.value = 0;\n this.animation = new GradientAngleAnimation();\n this.direction = \"clockwise\";\n }\n load(data) {\n if (!data) {\n return;\n }\n this.animation.load(data.animation);\n if (data.value !== undefined) {\n this.value = data.value;\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n }\n}\nexport class GradientColorOpacity {\n constructor() {\n this.value = 0;\n this.animation = new GradientColorOpacityAnimation();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.animation.load(data.animation);\n if (data.value !== undefined) {\n this.value = setRangeValue(data.value);\n }\n }\n}\nexport class AnimatableGradientColor {\n constructor() {\n this.stop = 0;\n this.value = new AnimatableColor();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.stop !== undefined) {\n this.stop = data.stop;\n }\n this.value = AnimatableColor.create(this.value, data.value);\n if (data.opacity !== undefined) {\n this.opacity = new GradientColorOpacity();\n if (typeof data.opacity === \"number\") {\n this.opacity.value = data.opacity;\n }\n else {\n this.opacity.load(data.opacity);\n }\n }\n }\n}\nexport class GradientAngleAnimation {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.speed = 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.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\nexport class GradientColorOpacityAnimation {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.speed = 0;\n this.sync = false;\n this.startValue = \"random\";\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.sync !== undefined) {\n this.sync = data.sync;\n }\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\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 this.particles = deepExtend({}, data.particles);\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 { ValueWithRandom } from \"../../ValueWithRandom\";\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 \"../../ValueWithRandom\";\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 { OptionsColor } from \"../../OptionsColor\";\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 \"../../OptionsColor\";\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 \"../../OptionsColor\";\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 { 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 collisions() {\n return false;\n }\n set collisions(value) {\n }\n get bounce() {\n return this.collisions;\n }\n set bounce(value) {\n this.collisions = value;\n }\n get out_mode() {\n return this.outMode;\n }\n set out_mode(value) {\n this.outMode = value;\n }\n get outMode() {\n return this.outModes.default;\n }\n set outMode(value) {\n this.outModes.default = value;\n }\n get noise() {\n return this.path;\n }\n set noise(value) {\n this.path = 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.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.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","import { ValueWithRandom } from \"../../ValueWithRandom\";\nexport class OrbitRotation extends ValueWithRandom {\n constructor() {\n super();\n this.value = 45;\n this.random.enable = false;\n this.random.minimumValue = 0;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n super.load(data);\n }\n}\n","import { AnimationOptions } from \"../../AnimationOptions\";\nimport { OptionsColor } from \"../../OptionsColor\";\nimport { OrbitRotation } from \"./OrbitRotation\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Orbit {\n constructor() {\n this.animation = new AnimationOptions();\n this.enable = false;\n this.opacity = 1;\n this.rotation = new OrbitRotation();\n this.width = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n this.animation.load(data.animation);\n this.rotation.load(data.rotation);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.opacity !== undefined) {\n this.opacity = setRangeValue(data.opacity);\n }\n if (data.width !== undefined) {\n this.width = setRangeValue(data.width);\n }\n if (data.radius !== undefined) {\n this.radius = setRangeValue(data.radius);\n }\n if (data.color !== undefined) {\n this.color = OptionsColor.create(this.color, data.color);\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 { ValueWithRandom } from \"../../ValueWithRandom\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class ParticlesRepulse extends ValueWithRandom {\n constructor() {\n super();\n this.enabled = false;\n this.distance = 1;\n this.duration = 1;\n this.factor = 1;\n this.speed = 1;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.enabled !== undefined) {\n this.enabled = data.enabled;\n }\n if (data.distance !== undefined) {\n this.distance = setRangeValue(data.distance);\n }\n if (data.duration !== undefined) {\n this.duration = setRangeValue(data.duration);\n }\n if (data.factor !== undefined) {\n this.factor = setRangeValue(data.factor);\n }\n if (data.speed !== undefined) {\n this.speed = setRangeValue(data.speed);\n }\n }\n}\n","import { setRangeValue } from \"../../../../Utils/NumberUtils\";\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 } from \"../../OptionsColor\";\nimport { RollLight } from \"./RollLight\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\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 { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class RotateAnimation {\n constructor() {\n this.enable = false;\n this.speed = 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.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 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 custom() {\n return this.options;\n }\n set custom(value) {\n this.options = value;\n }\n get images() {\n return this.image;\n }\n set images(value) {\n this.image = value;\n }\n get stroke() {\n return [];\n }\n set stroke(_value) {\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 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 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, _c, _d;\n if (item === undefined) {\n return;\n }\n if (item instanceof Array) {\n if (!(this.options[mainKey] instanceof Array)) {\n this.options[mainKey] = [];\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = [];\n }\n }\n this.options[mainKey] = deepExtend((_a = this.options[mainKey]) !== null && _a !== void 0 ? _a : [], item);\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = deepExtend((_b = this.options[altKey]) !== null && _b !== void 0 ? _b : [], item);\n }\n }\n else {\n if (this.options[mainKey] instanceof Array) {\n this.options[mainKey] = {};\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = {};\n }\n }\n this.options[mainKey] = deepExtend((_c = this.options[mainKey]) !== null && _c !== void 0 ? _c : {}, item);\n if (!this.options[altKey] || altOverride) {\n this.options[altKey] = deepExtend((_d = this.options[altKey]) !== null && _d !== void 0 ? _d : {}, item);\n }\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 { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class TiltAnimation {\n constructor() {\n this.enable = false;\n this.speed = 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.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n","import { TiltAnimation } from \"./TiltAnimation\";\nimport { ValueWithRandom } from \"../../ValueWithRandom\";\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 { OptionsColor } from \"../../OptionsColor\";\nimport { setRangeValue } from \"../../../../Utils/NumberUtils\";\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 { setRangeValue } from \"../../../../Utils/NumberUtils\";\nexport class Wobble {\n constructor() {\n this.distance = 5;\n this.enable = false;\n this.speed = 50;\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 this.speed = setRangeValue(data.speed);\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 { AnimatableColor } from \"../AnimatableColor\";\nimport { AnimatableGradient } from \"../AnimatableGradient\";\nimport { Collisions } from \"./Collisions/Collisions\";\nimport { Destroy } from \"./Destroy/Destroy\";\nimport { Life } from \"./Life/Life\";\nimport { Links } from \"./Links/Links\";\nimport { Move } from \"./Move/Move\";\nimport { Opacity } from \"./Opacity/Opacity\";\nimport { Orbit } from \"./Orbit/Orbit\";\nimport { ParticlesBounce } from \"./Bounce/ParticlesBounce\";\nimport { ParticlesNumber } from \"./Number/ParticlesNumber\";\nimport { ParticlesRepulse } from \"./Repulse/ParticlesRepulse\";\nimport { Roll } from \"./Roll/Roll\";\nimport { Rotate } from \"./Rotate/Rotate\";\nimport { Shadow } from \"./Shadow\";\nimport { Shape } from \"./Shape/Shape\";\nimport { Size } from \"./Size/Size\";\nimport { Stroke } from \"./Stroke\";\nimport { Tilt } from \"./Tilt/Tilt\";\nimport { Twinkle } from \"./Twinkle/Twinkle\";\nimport { Wobble } from \"./Wobble/Wobble\";\nimport { ZIndex } from \"./ZIndex/ZIndex\";\nimport { deepExtend } from \"../../../Utils/Utils\";\nexport class ParticlesOptions {\n constructor() {\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.gradient = [];\n this.groups = {};\n this.life = new Life();\n this.links = new Links();\n this.move = new Move();\n this.number = new ParticlesNumber();\n this.opacity = new Opacity();\n this.orbit = new Orbit();\n this.reduceDuplicates = false;\n this.repulse = new ParticlesRepulse();\n this.roll = new Roll();\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.tilt = new Tilt();\n this.twinkle = new Twinkle();\n this.wobble = new Wobble();\n this.zIndex = new ZIndex();\n }\n get line_linked() {\n return this.links;\n }\n set line_linked(value) {\n this.links = value;\n }\n get lineLinked() {\n return this.links;\n }\n set lineLinked(value) {\n this.links = value;\n }\n load(data) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\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 this.life.load(data.life);\n const links = (_b = (_a = data.links) !== null && _a !== void 0 ? _a : data.lineLinked) !== null && _b !== void 0 ? _b : data.line_linked;\n if (links !== undefined) {\n this.links.load(links);\n }\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((_c = this.groups[group]) !== null && _c !== void 0 ? _c : {}, item);\n }\n }\n }\n this.move.load(data.move);\n this.number.load(data.number);\n this.opacity.load(data.opacity);\n this.orbit.load(data.orbit);\n if (data.reduceDuplicates !== undefined) {\n this.reduceDuplicates = data.reduceDuplicates;\n }\n this.repulse.load(data.repulse);\n this.roll.load(data.roll);\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.tilt.load(data.tilt);\n this.twinkle.load(data.twinkle);\n this.wobble.load(data.wobble);\n this.zIndex.load(data.zIndex);\n const collisions = (_e = (_d = data.move) === null || _d === void 0 ? void 0 : _d.collisions) !== null && _e !== void 0 ? _e : (_f = data.move) === null || _f === void 0 ? void 0 : _f.bounce;\n if (collisions !== undefined) {\n this.collisions.enable = collisions;\n }\n this.collisions.load(data.collisions);\n const strokeToLoad = (_g = data.stroke) !== null && _g !== void 0 ? _g : (_h = data.shape) === null || _h === void 0 ? void 0 : _h.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 const gradientToLoad = data.gradient;\n if (gradientToLoad) {\n if (gradientToLoad instanceof Array) {\n this.gradient = gradientToLoad.map((s) => {\n const tmp = new AnimatableGradient();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.gradient instanceof Array) {\n this.gradient = new AnimatableGradient();\n }\n this.gradient.load(gradientToLoad);\n }\n }\n }\n}\n","import { collisionVelocity, getDistances, getValue } from \"./NumberUtils\";\nimport { Options } from \"../Options/Classes/Options\";\nimport { ParticlesOptions } from \"../Options/Classes/Particles/ParticlesOptions\";\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(Math.random() * 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}\nfunction loadOptions(options, ...sourceOptionsArr) {\n for (const sourceOptions of sourceOptionsArr) {\n options.load(sourceOptions);\n }\n}\nexport function loadContainerOptions(engine, ...sourceOptionsArr) {\n const options = new Options(engine);\n loadOptions(options, ...sourceOptionsArr);\n return options;\n}\nexport function loadParticlesOptions(...sourceOptionsArr) {\n const options = new ParticlesOptions();\n loadOptions(options, ...sourceOptionsArr);\n return options;\n}\n","export const generatedAttribute = \"generated\";\nexport const randomColorValue = \"random\";\nexport const midColorValue = \"mid\";\nexport const touchEndEvent = \"touchend\";\nexport const mouseDownEvent = \"mousedown\";\nexport const mouseUpEvent = \"mouseup\";\nexport const mouseMoveEvent = \"mousemove\";\nexport const touchStartEvent = \"touchstart\";\nexport const touchMoveEvent = \"touchmove\";\nexport const mouseLeaveEvent = \"mouseleave\";\nexport const mouseOutEvent = \"mouseout\";\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","import { getRangeValue, mix, randomInRange, setRangeValue } from \"./NumberUtils\";\nimport { midColorValue, randomColorValue } from \"../Core/Utils/Constants\";\nimport { itemFromArray } from \"./Utils\";\nfunction hue2rgb(p, q, t) {\n let tCalc = t;\n if (tCalc < 0) {\n tCalc += 1;\n }\n if (tCalc > 1) {\n tCalc -= 1;\n }\n if (tCalc < 1 / 6) {\n return p + (q - p) * 6 * tCalc;\n }\n if (tCalc < 1 / 2) {\n return q;\n }\n if (tCalc < 2 / 3) {\n return p + (q - p) * (2 / 3 - tCalc) * 6;\n }\n return p;\n}\nfunction stringToRgba(input) {\n if (input.startsWith(\"rgb\")) {\n const regex = /rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*([\\d.]+)\\s*)?\\)/i;\n const result = regex.exec(input);\n return result\n ? {\n a: result.length > 4 ? parseFloat(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 else if (input.startsWith(\"hsl\")) {\n const regex = /hsla?\\(\\s*(\\d+)\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(,\\s*([\\d.]+)\\s*)?\\)/i;\n const result = regex.exec(input);\n return result\n ? hslaToRgba({\n a: result.length > 4 ? parseFloat(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 else if (input.startsWith(\"hsv\")) {\n const regex = /hsva?\\(\\s*(\\d+)°\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(,\\s*([\\d.]+)\\s*)?\\)/i;\n const result = regex.exec(input);\n return result\n ? hsvaToRgba({\n a: result.length > 4 ? parseFloat(result[5]) : 1,\n h: parseInt(result[1], 10),\n s: parseInt(result[2], 10),\n v: parseInt(result[3], 10),\n })\n : undefined;\n }\n else {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])([a-f\\d])?$/i;\n const hexFixed = input.replace(shorthandRegex, (_m, r, g, b, a) => {\n return r + r + g + g + b + b + (a !== undefined ? a + a : \"\");\n });\n const regex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i;\n const 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 }\n}\nexport function colorToRgb(input, index, useIndex = true) {\n var _a, _b, _c;\n if (input === undefined) {\n return;\n }\n const color = typeof input === \"string\" ? { value: input } : input;\n let res;\n if (typeof color.value === \"string\") {\n res = color.value === randomColorValue ? getRandomRgbColor() : stringToRgb(color.value);\n }\n else {\n if (color.value instanceof Array) {\n const colorSelected = itemFromArray(color.value, index, useIndex);\n res = colorToRgb({ value: colorSelected });\n }\n else {\n const colorValue = color.value, rgbColor = (_a = colorValue.rgb) !== null && _a !== void 0 ? _a : color.value;\n if (rgbColor.r !== undefined) {\n res = rgbColor;\n }\n else {\n const hslColor = (_b = colorValue.hsl) !== null && _b !== void 0 ? _b : color.value;\n if (hslColor.h !== undefined && hslColor.l !== undefined) {\n res = hslToRgb(hslColor);\n }\n else {\n const hsvColor = (_c = colorValue.hsv) !== null && _c !== void 0 ? _c : color.value;\n if (hsvColor.h !== undefined && hsvColor.v !== undefined) {\n res = hsvToRgb(hsvColor);\n }\n }\n }\n }\n }\n return res;\n}\nexport function colorToHsl(color, index, useIndex = true) {\n const rgb = colorToRgb(color, index, useIndex);\n return rgb !== undefined ? rgbToHsl(rgb) : undefined;\n}\nexport function rgbToHsl(color) {\n const r1 = color.r / 255, g1 = color.g / 255, b1 = color.b / 255;\n const max = Math.max(r1, g1, b1), min = Math.min(r1, g1, b1);\n const 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 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 === 0) {\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 hslToHsv(hsl) {\n const l = hsl.l / 100, sl = hsl.s / 100, v = l + sl * Math.min(l, 1 - l), sv = !v ? 0 : 2 * (1 - l / v);\n return {\n h: hsl.h,\n s: sv * 100,\n v: v * 100,\n };\n}\nexport function hslaToHsva(hsla) {\n const hsvResult = hslToHsv(hsla);\n return {\n a: hsla.a,\n h: hsvResult.h,\n s: hsvResult.s,\n v: hsvResult.v,\n };\n}\nexport function hsvToHsl(hsv) {\n const v = hsv.v / 100, sv = hsv.s / 100, l = v * (1 - sv / 2), sl = l === 0 || l === 1 ? 0 : (v - l) / Math.min(l, 1 - l);\n return {\n h: hsv.h,\n l: l * 100,\n s: sl * 100,\n };\n}\nexport function hsvaToHsla(hsva) {\n const hslResult = hsvToHsl(hsva);\n return {\n a: hsva.a,\n h: hslResult.h,\n l: hslResult.l,\n s: hslResult.s,\n };\n}\nexport function hsvToRgb(hsv) {\n const result = { b: 0, g: 0, r: 0 }, hsvPercent = {\n h: hsv.h / 60,\n s: hsv.s / 100,\n v: hsv.v / 100,\n };\n const c = hsvPercent.v * hsvPercent.s, x = c * (1 - Math.abs((hsvPercent.h % 2) - 1));\n let tempRgb;\n if (hsvPercent.h >= 0 && hsvPercent.h <= 1) {\n tempRgb = {\n r: c,\n g: x,\n b: 0,\n };\n }\n else if (hsvPercent.h > 1 && hsvPercent.h <= 2) {\n tempRgb = {\n r: x,\n g: c,\n b: 0,\n };\n }\n else if (hsvPercent.h > 2 && hsvPercent.h <= 3) {\n tempRgb = {\n r: 0,\n g: c,\n b: x,\n };\n }\n else if (hsvPercent.h > 3 && hsvPercent.h <= 4) {\n tempRgb = {\n r: 0,\n g: x,\n b: c,\n };\n }\n else if (hsvPercent.h > 4 && hsvPercent.h <= 5) {\n tempRgb = {\n r: x,\n g: 0,\n b: c,\n };\n }\n else if (hsvPercent.h > 5 && hsvPercent.h <= 6) {\n tempRgb = {\n r: c,\n g: 0,\n b: x,\n };\n }\n if (tempRgb) {\n const m = hsvPercent.v - c;\n result.r = Math.floor((tempRgb.r + m) * 255);\n result.g = Math.floor((tempRgb.g + m) * 255);\n result.b = Math.floor((tempRgb.b + m) * 255);\n }\n return result;\n}\nexport function hsvaToRgba(hsva) {\n const rgbResult = hsvToRgb(hsva);\n return {\n a: hsva.a,\n b: rgbResult.b,\n g: rgbResult.g,\n r: rgbResult.r,\n };\n}\nexport function rgbToHsv(rgb) {\n const rgbPercent = {\n r: rgb.r / 255,\n g: rgb.g / 255,\n b: rgb.b / 255,\n }, xMax = Math.max(rgbPercent.r, rgbPercent.g, rgbPercent.b), xMin = Math.min(rgbPercent.r, rgbPercent.g, rgbPercent.b), v = xMax, c = xMax - xMin;\n let h = 0;\n if (v === rgbPercent.r) {\n h = 60 * ((rgbPercent.g - rgbPercent.b) / c);\n }\n else if (v === rgbPercent.g) {\n h = 60 * (2 + (rgbPercent.b - rgbPercent.r) / c);\n }\n else if (v === rgbPercent.b) {\n h = 60 * (4 + (rgbPercent.r - rgbPercent.g) / c);\n }\n const s = !v ? 0 : c / v;\n return {\n h,\n s: s * 100,\n v: v * 100,\n };\n}\nexport function rgbaToHsva(rgba) {\n const hsvResult = rgbToHsv(rgba);\n return {\n a: rgba.a,\n h: hsvResult.h,\n s: hsvResult.s,\n v: hsvResult.v,\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 getStyleFromHsv(color, opacity) {\n return getStyleFromHsl(hsvToHsl(color), opacity);\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 === \"mid\") {\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 colorToRgb({\n value: color,\n });\n }\n else if (blink) {\n return randomColorValue;\n }\n else {\n return midColorValue;\n }\n }\n else {\n return colorToRgb({\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 if (colorAnimation.sync) {\n return;\n }\n colorValue.status = 0;\n colorValue.velocity *= Math.random();\n if (colorValue.value) {\n colorValue.value *= Math.random();\n }\n }\n else {\n colorValue.velocity = 0;\n }\n}\n","import { colorMix, getStyleFromHsl, 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 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}\nexport function 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}\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}\nexport function drawParticle(container, context, particle, delta, colorStyles, backgroundMask, composite, radius, opacity, shadow) {\n var _a, _b, _c, _d;\n const pos = particle.getPosition(), tiltOptions = particle.options.tilt, rollOptions = particle.options.roll;\n context.save();\n if (tiltOptions.enable || rollOptions.enable) {\n const roll = rollOptions.enable && particle.roll, tilt = tiltOptions.enable && particle.tilt, rollHorizontal = roll && (rollOptions.mode === \"horizontal\" || rollOptions.mode === \"both\"), rollVertical = roll && (rollOptions.mode === \"vertical\" || rollOptions.mode === \"both\");\n context.setTransform(rollHorizontal ? Math.cos(particle.roll.angle) : 1, tilt ? Math.cos(particle.tilt.value) * particle.tilt.cosDirection : 0, tilt ? Math.sin(particle.tilt.value) * particle.tilt.sinDirection : 0, rollVertical ? Math.sin(particle.roll.angle) : 1, pos.x, pos.y);\n }\n else {\n context.translate(pos.x, pos.y);\n }\n context.beginPath();\n const angle = ((_b = (_a = particle.rotate) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 0) + (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 = (_c = particle.strokeWidth) !== null && _c !== void 0 ? _c : 0;\n if (colorStyles.stroke) {\n context.strokeStyle = colorStyles.stroke;\n }\n drawShape(container, context, particle, radius, opacity, delta);\n if (((_d = stroke === null || stroke === void 0 ? void 0 : stroke.width) !== null && _d !== void 0 ? _d : 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 (tiltOptions.enable && particle.tilt) {\n context.setTransform(1, Math.cos(particle.tilt.value) * particle.tilt.cosDirection, Math.sin(particle.tilt.value) * particle.tilt.sinDirection, 1, pos.x, pos.y);\n }\n else {\n context.translate(pos.x, pos.y);\n }\n if (angle !== 0) {\n context.rotate(angle);\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 drawEllipse(context, particle, fillColorValue, radius, opacity, width, rotation, start, end) {\n if (width <= 0) {\n return;\n }\n const pos = particle.getPosition();\n if (fillColorValue) {\n context.strokeStyle = getStyleFromHsl(fillColorValue, opacity);\n }\n context.lineWidth = width;\n const rotationRadian = (rotation * Math.PI) / 180;\n context.beginPath();\n context.ellipse(pos.x, pos.y, radius / 2, radius * 2, rotationRadian, start, end);\n context.stroke();\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","import { clear, drawConnectLine, drawGrabLine, drawParticle, drawParticlePlugin, drawPlugin, gradient, paintBase, } from \"../Utils/CanvasUtils\";\nimport { colorToHsl, colorToRgb, getStyleFromHsl, getStyleFromRgb } from \"../Utils/ColorUtils\";\nimport { deepExtend } from \"../Utils/Utils\";\nimport { generatedAttribute } from \"./Utils/Constants\";\nexport class Canvas {\n constructor(container) {\n this.container = container;\n this.size = {\n height: 0,\n width: 0,\n };\n this.context = null;\n this.generatedCanvas = false;\n }\n init() {\n this.resize();\n this.initStyle();\n this.initCover();\n this.initTrail();\n this.initBackground();\n this.paint();\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 this.context = this.element.getContext(\"2d\");\n this.container.retina.init();\n this.initBackground();\n }\n destroy() {\n var _a;\n if (this.generatedCanvas) {\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();\n }\n this.draw((ctx) => {\n clear(ctx, this.size);\n });\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 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 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 for (const [, plugin] of container.plugins) {\n if (plugin.resize !== undefined) {\n plugin.resize();\n }\n }\n if (needsRefresh) {\n await container.refresh();\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 drawConnectLine(p1, p2) {\n this.draw((ctx) => {\n var _a;\n const lineStyle = this.lineStyle(p1, p2);\n if (!lineStyle) {\n return;\n }\n const pos1 = p1.getPosition(), pos2 = p2.getPosition();\n drawConnectLine(ctx, (_a = p1.retina.linksWidth) !== null && _a !== void 0 ? _a : this.container.retina.linksWidth, lineStyle, pos1, pos2);\n });\n }\n drawGrabLine(particle, lineColor, opacity, mousePos) {\n const container = this.container;\n this.draw((ctx) => {\n var _a;\n const beginPos = particle.getPosition();\n drawGrabLine(ctx, (_a = particle.retina.linksWidth) !== null && _a !== void 0 ? _a : container.retina.linksWidth, beginPos, mousePos, lineColor, opacity);\n });\n }\n drawParticle(particle, delta) {\n var _a, _b, _c, _d, _e, _f;\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 if (!pfColor && !psColor) {\n return;\n }\n let [fColor, sColor] = this.getPluginParticleColors(particle);\n if (!fColor || !sColor) {\n if (!fColor) {\n fColor = pfColor ? pfColor : undefined;\n }\n if (!sColor) {\n sColor = psColor ? psColor : undefined;\n }\n }\n const options = this.container.actualOptions, zIndexOptions = particle.options.zIndex, zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate, opacity = (_d = (_b = particle.bubble.opacity) !== null && _b !== void 0 ? _b : (_c = particle.opacity) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : 1, strokeOpacity = (_f = (_e = particle.stroke) === null || _e === void 0 ? void 0 : _e.opacity) !== null && _f !== void 0 ? _f : opacity, zOpacity = opacity * zOpacityFactor, zStrokeOpacity = strokeOpacity * zOpacityFactor;\n const colorStyles = {\n fill: fColor ? getStyleFromHsl(fColor, zOpacity) : undefined,\n };\n colorStyles.stroke = sColor ? getStyleFromHsl(sColor, zStrokeOpacity) : colorStyles.fill;\n this.draw((ctx) => {\n const zSizeFactor = (1 - particle.zIndexFactor) ** zIndexOptions.sizeRate, container = this.container;\n for (const updater of container.particles.updaters) {\n if (updater.beforeDraw) {\n updater.beforeDraw(particle);\n }\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 }\n drawParticle(container, ctx, particle, delta, colorStyles, options.backgroundMask.enable, options.backgroundMask.composite, radius * zSizeFactor, zOpacity, particle.options.shadow);\n for (const updater of container.particles.updaters) {\n if (updater.afterDraw) {\n updater.afterDraw(particle);\n }\n }\n });\n }\n drawPlugin(plugin, delta) {\n this.draw((ctx) => {\n drawPlugin(ctx, plugin, delta);\n });\n }\n drawParticlePlugin(plugin, particle, delta) {\n this.draw((ctx) => {\n drawParticlePlugin(ctx, plugin, particle, delta);\n });\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 = colorToRgb(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 draw(cb) {\n if (!this.context) {\n return;\n }\n return cb(this.context);\n }\n initCover() {\n const options = this.container.actualOptions, cover = options.backgroundMask.cover, color = cover.color, coverRgb = colorToRgb(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 initTrail() {\n const options = this.container.actualOptions, trail = options.particles.move.trail, fillColor = colorToRgb(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 getPluginParticleColors(particle) {\n let fColor, sColor;\n for (const [, plugin] of this.container.plugins) {\n if (!fColor && plugin.particleFillColor) {\n fColor = colorToHsl(plugin.particleFillColor(particle));\n }\n if (!sColor && plugin.particleStrokeColor) {\n sColor = colorToHsl(plugin.particleStrokeColor(particle));\n }\n if (fColor && sColor) {\n break;\n }\n }\n return [fColor, sColor];\n }\n initStyle() {\n const element = this.element, options = this.container.actualOptions;\n if (!element) {\n return;\n }\n const originalStyle = this.originalStyle;\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 if (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 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 paintBase(baseColor) {\n this.draw((ctx) => {\n paintBase(ctx, this.size, baseColor);\n });\n }\n lineStyle(p1, p2) {\n return this.draw((ctx) => {\n const options = this.container.actualOptions, connectOptions = options.interactivity.modes.connect;\n return gradient(ctx, p1, p2, connectOptions.links.opacity);\n });\n }\n}\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 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 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 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 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 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(\"mouse\")) {\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 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 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 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 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 handleClickMode(mode) {\n this.container.handleClickMode(mode);\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 _InteractionManager_engine;\nexport class InteractionManager {\n constructor(engine, container) {\n this.container = container;\n _InteractionManager_engine.set(this, void 0);\n __classPrivateFieldSet(this, _InteractionManager_engine, engine, \"f\");\n this.externalInteractors = [];\n this.particleInteractors = [];\n this.init();\n }\n init() {\n const interactors = __classPrivateFieldGet(this, _InteractionManager_engine, \"f\").plugins.getInteractors(this.container, true);\n this.externalInteractors = [];\n this.particleInteractors = [];\n for (const interactor of interactors) {\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 }\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 async particlesInteract(particle, delta) {\n for (const interactor of this.externalInteractors) {\n interactor.reset(particle);\n }\n for (const interactor of this.particleInteractors) {\n if (interactor.isEnabled(particle)) {\n await interactor.interact(particle, 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}\n_InteractionManager_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","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 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 static get origin() {\n return Vector3d.create(0, 0, 0);\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 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 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 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 copy() {\n return Vector3d.clone(this);\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}\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, getRangeMax, getRangeMin, getRangeValue, getValue, randomInRange, setRangeValue, } from \"../Utils/NumberUtils\";\nimport { colorToRgb, getHslFromAnimation } from \"../Utils/ColorUtils\";\nimport { deepExtend, isInArray, itemFromArray, loadParticlesOptions } from \"../Utils/Utils\";\nimport { Shape } from \"../Options/Classes/Particles/Shape/Shape\";\nimport { Vector } from \"./Utils/Vector\";\nimport { Vector3d } from \"./Utils/Vector3d\";\nimport { alterHsl } from \"../Utils/CanvasUtils\";\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;\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.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(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 if (overrideOptions !== undefined) {\n particlesOptions.load(overrideOptions);\n }\n if (((_a = this.shapeData) === null || _a === void 0 ? void 0 : _a.particles) !== undefined) {\n particlesOptions.load((_b = this.shapeData) === null || _b === void 0 ? void 0 : _b.particles);\n }\n this.fill = (_d = (_c = this.shapeData) === null || _c === void 0 ? void 0 : _c.fill) !== null && _d !== void 0 ? _d : this.fill;\n this.close = (_f = (_e = this.shapeData) === null || _e === void 0 ? void 0 : _e.close) !== null && _f !== void 0 ? _f : this.close;\n this.options = particlesOptions;\n this.pathDelay = getValue(this.options.move.path.delay) * 1000;\n const zIndexValue = getRangeValue(this.options.zIndex.value);\n container.retina.initParticle(this);\n const sizeOptions = this.options.size, sizeRange = sizeOptions.value;\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 const sizeAnimation = sizeOptions.animation;\n if (sizeAnimation.enable) {\n this.size.status = 0;\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 = Math.random() >= 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 (((_g = this.retina.sizeAnimationSpeed) !== null && _g !== void 0 ? _g : container.retina.sizeAnimationSpeed) / 100) *\n container.retina.reduceFactor;\n if (!sizeAnimation.sync) {\n this.size.velocity *= Math.random();\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 const gravityOptions = this.options.move.gravity;\n this.gravity = {\n enable: gravityOptions.enable,\n acceleration: getRangeValue(gravityOptions.acceleration),\n inverse: gravityOptions.inverse,\n };\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.life = this.loadLife();\n this.spawning = this.life.delay > 0;\n this.shadowColor = colorToRgb(this.options.shadow.color);\n for (const updater of container.particles.updaters) {\n if (updater.init) {\n updater.init(this);\n }\n }\n for (const mover of container.particles.movers) {\n if (mover.init) {\n mover.init(this);\n }\n }\n if (drawer && drawer.particleInit) {\n drawer.particleInit(container, this);\n }\n for (const [, plugin] of container.plugins) {\n if (plugin.particleCreated) {\n plugin.particleCreated(this);\n }\n }\n }\n isVisible() {\n return !this.destroyed && !this.spawning && this.isInsideCanvas();\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 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 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 getMass() {\n return (this.getRadius() ** 2 * Math.PI) / 2;\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.options.roll.mode === \"both\" ? 2 : 1, backSum = this.options.roll.mode === \"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 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 destroy(override) {\n this.destroyed = true;\n this.bubble.inRange = false;\n if (this.unbreakable) {\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 reset() {\n if (this.opacity) {\n this.opacity.loops = 0;\n }\n this.size.loops = 0;\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);\n for (let i = 0; i < rate; i++) {\n this.container.particles.addSplitParticle(this);\n }\n }\n calcPosition(container, position, zIndex, tryCount = 0) {\n var _a, _b, _c, _d;\n for (const [, plugin] of container.plugins) {\n const pluginPos = plugin.particlePosition !== undefined ? plugin.particlePosition(position, this) : undefined;\n if (pluginPos !== undefined) {\n return Vector3d.create(pluginPos.x, pluginPos.y, zIndex);\n }\n }\n const canvasSize = container.canvas.size, exactPosition = calcExactPositionOrRandomFromSize({\n size: canvasSize,\n position: position,\n }), pos = Vector3d.create(exactPosition.x, exactPosition.y, zIndex), radius = this.getRadius(), outModes = this.options.move.outModes, fixHorizontal = (outMode) => {\n fixOutMode({\n outMode,\n checkModes: [\"bounce\", \"bounce-horizontal\"],\n coord: pos.x,\n maxCoord: container.canvas.size.width,\n setCb: (value) => (pos.x += value),\n radius,\n });\n }, fixVertical = (outMode) => {\n fixOutMode({\n outMode,\n checkModes: [\"bounce\", \"bounce-vertical\"],\n coord: pos.y,\n maxCoord: container.canvas.size.height,\n setCb: (value) => (pos.y += value),\n radius,\n });\n };\n fixHorizontal((_a = outModes.left) !== null && _a !== void 0 ? _a : outModes.default);\n fixHorizontal((_b = outModes.right) !== null && _b !== void 0 ? _b : outModes.default);\n fixVertical((_c = outModes.top) !== null && _c !== void 0 ? _c : outModes.default);\n fixVertical((_d = outModes.bottom) !== null && _d !== void 0 ? _d : outModes.default);\n if (this.checkOverlap(pos, tryCount)) {\n return this.calcPosition(container, undefined, zIndex, tryCount + 1);\n }\n return pos;\n }\n 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 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 *= Math.random();\n }\n return res;\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 loadLife() {\n const container = this.container, particlesOptions = this.options, lifeOptions = particlesOptions.life, life = {\n delay: container.retina.reduceFactor\n ? ((getRangeValue(lifeOptions.delay.value) * (lifeOptions.delay.sync ? 1 : Math.random())) /\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 : Math.random())) /\n container.retina.reduceFactor) *\n 1000\n : 0,\n time: 0,\n count: particlesOptions.life.count,\n };\n if (life.duration <= 0) {\n life.duration = -1;\n }\n if (life.count <= 0) {\n life.count = -1;\n }\n return life;\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, 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/Utils\";\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.linksColors = new Map();\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 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.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 container.pathGenerator.init(container);\n }\n async redraw() {\n this.clear();\n this.init();\n await this.draw({ value: 0, factor: 0 });\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 remove(particle, group, override) {\n this.removeAt(this.array.indexOf(particle), undefined, group, override);\n }\n async update(delta) {\n const container = this.container, particlesToDelete = [];\n container.pathGenerator.update();\n for (const [, plugin] of container.plugins) {\n if (plugin.update !== undefined) {\n plugin.update(delta);\n }\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 particle.bubble.inRange = false;\n for (const [, plugin] of this.container.plugins) {\n if (particle.destroyed) {\n break;\n }\n if (plugin.particleUpdate) {\n plugin.particleUpdate(particle, delta);\n }\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 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 clear() {\n this.array = [];\n this.zArray = [];\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 addParticle(position, overrideOptions, group) {\n const container = this.container, options = container.actualOptions, limit = options.particles.number.limit * container.density;\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) {\n const splitOptions = parent.options.destroy.split;\n const options = loadParticlesOptions(parent.options);\n const 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(splitOptions.particles);\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 removeQuantity(quantity, group) {\n this.removeAt(0, quantity, group);\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 = Math.random();\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 = Math.random();\n this.freqs.triangles.set(key, res);\n }\n return res;\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 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 handleClickMode(mode) {\n this.interactionManager.handleClickMode(mode);\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 queryCircle(position, radius) {\n return this.query(new Circle(position.x, position.y, radius));\n }\n queryCircleWarp(position, radius, containerOrSize) {\n const container = containerOrSize, size = containerOrSize;\n return this.query(new CircleWarp(position.x, position.y, radius, container.canvas !== undefined ? container.canvas.size : size));\n }\n queryRectangle(position, size) {\n return this.query(new Rectangle(position.x, position.y, size.width, size.height));\n }\n query(range, 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) && getDistance(range.position, p.position) > p.particle.getRadius()) {\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, res);\n (_b = this.northWest) === null || _b === void 0 ? void 0 : _b.query(range, res);\n (_c = this.southEast) === null || _c === void 0 ? void 0 : _c.query(range, res);\n (_d = this.southWest) === null || _d === void 0 ? void 0 : _d.query(range, res);\n }\n return res;\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.linksDistance = particles.links.distance * ratio;\n this.linksWidth = particles.links.width * 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.connectModeDistance = modes.connect.distance * ratio;\n this.connectModeRadius = modes.connect.radius * ratio;\n this.grabModeDistance = modes.grab.distance * ratio;\n this.repulseModeDistance = modes.repulse.distance * ratio;\n this.bounceModeDistance = modes.bounce.distance * ratio;\n this.attractModeDistance = modes.attract.distance * ratio;\n this.slowModeRadius = modes.slow.radius * ratio;\n this.bubbleModeDistance = modes.bubble.distance * ratio;\n if (modes.bubble.size) {\n this.bubbleModeSize = modes.bubble.size * ratio;\n }\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.linksDistance = options.links.distance * ratio;\n props.linksWidth = options.links.width * 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;\nimport { animate, cancelAnimation, loadContainerOptions } from \"../Utils/Utils\";\nimport { Canvas } from \"./Canvas\";\nimport { EventListeners } from \"./Utils/EventListeners\";\nimport { FrameManager } from \"./Utils/FrameManager\";\nimport { Particles } from \"./Particles\";\nimport { Retina } from \"./Retina\";\nimport { getRangeValue } from \"../Utils/NumberUtils\";\nexport class Container {\n constructor(engine, id, sourceOptions) {\n this.id = id;\n _Container_engine.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 this._sourceOptions = sourceOptions;\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.drawer = new FrameManager(this);\n this.pathGenerator = {\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 };\n this.interactivity = {\n mouse: {\n clicking: false,\n inside: false,\n },\n };\n this.plugins = new Map();\n this.drawers = new Map();\n this.density = 1;\n this._options = loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"));\n this.actualOptions = loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"));\n this.eventListeners = new EventListeners(this);\n if (typeof IntersectionObserver !== \"undefined\" && IntersectionObserver) {\n this.intersectionObserver = new IntersectionObserver((entries) => this.intersectionManager(entries));\n }\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerBuilt\", { container: this });\n }\n get options() {\n return this._options;\n }\n get sourceOptions() {\n return this._sourceOptions;\n }\n play(force) {\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 pause() {\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 draw(force) {\n let refreshTime = force;\n this.drawAnimationFrame = animate()(async (timestamp) => {\n if (refreshTime) {\n this.lastFrameTime = undefined;\n refreshTime = false;\n }\n await this.drawer.nextFrame(timestamp);\n });\n }\n getAnimationStatus() {\n return !this.paused && !this.pageHidden;\n }\n setNoise(noiseOrGenerator, init, update) {\n this.setPath(noiseOrGenerator, init, update);\n }\n setPath(pathOrGenerator, init, update) {\n var _a, _b, _c;\n if (!pathOrGenerator) {\n return;\n }\n if (typeof pathOrGenerator === \"function\") {\n this.pathGenerator.generate = pathOrGenerator;\n if (init) {\n this.pathGenerator.init = init;\n }\n if (update) {\n this.pathGenerator.update = update;\n }\n }\n else {\n const oldGenerator = this.pathGenerator;\n this.pathGenerator = pathOrGenerator;\n (_a = this.pathGenerator).generate || (_a.generate = oldGenerator.generate);\n (_b = this.pathGenerator).init || (_b.init = oldGenerator.init);\n (_c = this.pathGenerator).update || (_c.update = oldGenerator.update);\n }\n }\n destroy() {\n this.stop();\n this.canvas.destroy();\n for (const [, drawer] of this.drawers) {\n if (drawer.destroy) {\n drawer.destroy(this);\n }\n }\n for (const key of this.drawers.keys()) {\n this.drawers.delete(key);\n }\n this.destroyed = true;\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerDestroyed\", { container: this });\n }\n exportImg(callback) {\n this.exportImage(callback);\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 exportConfiguration() {\n return JSON.stringify(this.actualOptions, undefined, 2);\n }\n refresh() {\n this.stop();\n return this.start();\n }\n reset() {\n this._options = loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"));\n return this.refresh();\n }\n stop() {\n if (!this.started) {\n return;\n }\n this.firstStart = true;\n this.started = false;\n this.eventListeners.removeListeners();\n this.pause();\n this.particles.clear();\n this.canvas.clear();\n if (this.interactivity.element instanceof HTMLElement && this.intersectionObserver) {\n this.intersectionObserver.unobserve(this.interactivity.element);\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.stop) {\n plugin.stop();\n }\n }\n for (const key of this.plugins.keys()) {\n this.plugins.delete(key);\n }\n this.particles.linksColors = new Map();\n delete this.particles.grabLineColor;\n delete this.particles.linksColor;\n this._sourceOptions = this._options;\n __classPrivateFieldGet(this, _Container_engine, \"f\").dispatchEvent(\"containerStopped\", { container: this });\n }\n async loadTheme(name) {\n this.currentTheme = name;\n await this.refresh();\n }\n async start() {\n if (this.started) {\n return;\n }\n await this.init();\n this.started = true;\n this.eventListeners.addListeners();\n if (this.interactivity.element instanceof HTMLElement && this.intersectionObserver) {\n this.intersectionObserver.observe(this.interactivity.element);\n }\n for (const [, plugin] of this.plugins) {\n if (plugin.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 addClickHandler(callback) {\n const el = this.interactivity.element;\n if (!el) {\n return;\n }\n const clickOrTouchHandler = (e, pos, radius) => {\n if (this.destroyed) {\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 (this.destroyed) {\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 (this.destroyed) {\n return;\n }\n touched = true;\n touchMoved = false;\n };\n const touchMoveHandler = () => {\n if (this.destroyed) {\n return;\n }\n touchMoved = true;\n };\n const touchEndHandler = (e) => {\n var _a, _b, _c;\n if (this.destroyed) {\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 (this.destroyed) {\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 handleClickMode(mode) {\n this.particles.handleClickMode(mode);\n for (const [, plugin] of this.plugins) {\n if (plugin.handleClickMode) {\n plugin.handleClickMode(mode);\n }\n }\n }\n updateActualOptions() {\n this.actualOptions.responsive = [];\n const newMaxWidth = this.actualOptions.setResponsive(this.canvas.size.width, this.retina.pixelRatio, this._options);\n this.actualOptions.setTheme(this.currentTheme);\n if (this.responsiveMaxWidth != newMaxWidth) {\n this.responsiveMaxWidth = newMaxWidth;\n return true;\n }\n return false;\n }\n async init() {\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 this._options = loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"), this._initialSourceOptions, this.sourceOptions);\n this.actualOptions = loadContainerOptions(__classPrivateFieldGet(this, _Container_engine, \"f\"), this._options);\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 const pathOptions = this.actualOptions.particles.move.path;\n if (pathOptions.generator) {\n this.setPath(__classPrivateFieldGet(this, _Container_engine, \"f\").plugins.getPathGenerator(pathOptions.generator));\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 intersectionManager(entries) {\n if (!this.actualOptions.pauseOnOutsideViewport) {\n return;\n }\n for (const entry of entries) {\n if (entry.target !== this.interactivity.element) {\n continue;\n }\n if (entry.isIntersecting) {\n this.play();\n }\n else {\n this.pause();\n }\n }\n }\n}\n_Container_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 _Loader_engine;\nimport { Container } from \"./Container\";\nimport { generatedAttribute } from \"./Utils/Constants\";\nimport { itemFromArray } from \"../Utils/Utils\";\nfunction fetchError(statusCode) {\n console.error(`Error tsParticles - fetch status: ${statusCode}`);\n console.error(\"Error tsParticles - File config not found\");\n}\nexport class Loader {\n constructor(engine) {\n _Loader_engine.set(this, void 0);\n __classPrivateFieldSet(this, _Loader_engine, engine, \"f\");\n }\n dom() {\n return __classPrivateFieldGet(this, _Loader_engine, \"f\").domArray;\n }\n domItem(index) {\n const dom = this.dom();\n const item = dom[index];\n if (item && !item.destroyed) {\n return item;\n }\n dom.splice(index, 1);\n }\n async loadOptions(params) {\n var _a, _b, _c;\n const tagId = (_a = params.tagId) !== null && _a !== void 0 ? _a : `tsparticles${Math.floor(Math.random() * 10000)}`, { options, index } = params;\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 = this.dom(), oldIndex = dom.findIndex((v) => v.id === tagId);\n if (oldIndex >= 0) {\n const old = this.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 canvasEl.style.width = \"100%\";\n canvasEl.style.height = \"100%\";\n domContainer.appendChild(canvasEl);\n }\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 const { url: jsonUrl, index } = params, 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 fetchError(response.status);\n return;\n }\n const data = await response.json();\n return this.loadOptions({\n tagId: params.tagId,\n element: params.element,\n index,\n options: data,\n });\n }\n load(tagId, options, index) {\n const params = { index };\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 !== null && options !== void 0 ? options : params.index;\n }\n else {\n params.options = options !== null && options !== void 0 ? options : params.options;\n }\n return this.loadOptions(params);\n }\n async set(id, domContainer, options, index) {\n const params = { index };\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 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 });\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 });\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 addEventListener(type, listener) {\n __classPrivateFieldGet(this, _Loader_engine, \"f\").eventDispatcher.addEventListener(type, listener);\n }\n removeEventListener(type, listener) {\n __classPrivateFieldGet(this, _Loader_engine, \"f\").eventDispatcher.removeEventListener(type, listener);\n }\n dispatchEvent(type, args) {\n __classPrivateFieldGet(this, _Loader_engine, \"f\").eventDispatcher.dispatchEvent(type, args);\n }\n}\n_Loader_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 _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 getPlugin(plugin) {\n return this.plugins.find((t) => t.id === plugin);\n }\n addPlugin(plugin) {\n if (!this.getPlugin(plugin.id)) {\n this.plugins.push(plugin);\n }\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 loadOptions(options, sourceOptions) {\n for (const plugin of this.plugins) {\n plugin.loadOptions(options, sourceOptions);\n }\n }\n getPreset(preset) {\n return this.presets.get(preset);\n }\n addPreset(presetKey, options, override = false) {\n if (override || !this.getPreset(presetKey)) {\n this.presets.set(presetKey, options);\n }\n }\n getShapeDrawer(type) {\n return this.drawers.get(type);\n }\n addShapeDrawer(type, drawer) {\n if (!this.getShapeDrawer(type)) {\n this.drawers.set(type, drawer);\n }\n }\n getSupportedShapes() {\n return this.drawers.keys();\n }\n getPathGenerator(type) {\n return this.pathGenerators.get(type);\n }\n addPathGenerator(type, pathGenerator) {\n if (!this.getPathGenerator(type)) {\n this.pathGenerators.set(type, pathGenerator);\n }\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 addInteractor(name, initInteractor) {\n this.interactorsInitializers.set(name, initInteractor);\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 addParticleUpdater(name, initUpdater) {\n this.updatersInitializers.set(name, initUpdater);\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 addParticleMover(name, initMover) {\n this.moversInitializers.set(name, initMover);\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_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_initialized.set(this, void 0);\n _Engine_loader.set(this, void 0);\n this.domArray = [];\n this.eventDispatcher = new EventDispatcher();\n __classPrivateFieldSet(this, _Engine_initialized, false, \"f\");\n __classPrivateFieldSet(this, _Engine_loader, new Loader(this), \"f\");\n this.plugins = new Plugins(this);\n }\n init() {\n if (!__classPrivateFieldGet(this, _Engine_initialized, \"f\")) {\n __classPrivateFieldSet(this, _Engine_initialized, true, \"f\");\n }\n }\n async loadFromArray(tagId, options, index) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").load(tagId, options, index);\n }\n async load(tagId, options) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").load(tagId, options);\n }\n async set(id, element, options) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").set(id, element, options);\n }\n async loadJSON(tagId, pathConfigJson, index) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").loadJSON(tagId, pathConfigJson, index);\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 __classPrivateFieldGet(this, _Engine_loader, \"f\").setOnClickHandler(callback);\n }\n dom() {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").dom();\n }\n domItem(index) {\n return __classPrivateFieldGet(this, _Engine_loader, \"f\").domItem(index);\n }\n async refresh() {\n for (const instance of this.dom()) {\n await instance.refresh();\n }\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 async addPreset(preset, options, override = false) {\n this.plugins.addPreset(preset, options, override);\n await this.refresh();\n }\n async addPlugin(plugin) {\n this.plugins.addPlugin(plugin);\n await this.refresh();\n }\n async addPathGenerator(name, generator) {\n this.plugins.addPathGenerator(name, generator);\n await this.refresh();\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 addEventListener(type, listener) {\n __classPrivateFieldGet(this, _Engine_loader, \"f\").addEventListener(type, listener);\n }\n removeEventListener(type, listener) {\n __classPrivateFieldGet(this, _Engine_loader, \"f\").removeEventListener(type, listener);\n }\n dispatchEvent(type, args) {\n __classPrivateFieldGet(this, _Engine_loader, \"f\").dispatchEvent(type, args);\n }\n}\n_Engine_initialized = new WeakMap(), _Engine_loader = new WeakMap();\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\";\nconst tsParticles = new Engine();\ntsParticles.init();\nexport * from \"./Core/Interfaces/Colors\";\nexport * from \"./Core/Interfaces/Gradients\";\nexport * from \"./Core/Interfaces/IBounds\";\nexport * from \"./Core/Interfaces/IBubbleParticleData\";\nexport * from \"./Core/Interfaces/ICircleBouncer\";\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/IParticleGravity\";\nexport * from \"./Core/Interfaces/IParticleHslAnimation\";\nexport * from \"./Core/Interfaces/IParticlesInteractor\";\nexport * from \"./Core/Interfaces/IParticleLife\";\nexport * from \"./Core/Interfaces/IParticleLoops\";\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/EventListeners\";\nexport * from \"./Core/Utils/ExternalInteractorBase\";\nexport * from \"./Core/Utils/FrameManager\";\nexport * from \"./Core/Utils/InteractionManager\";\nexport * from \"./Core/Utils/ParticlesInteractorBase\";\nexport * from \"./Core/Utils/Plugins\";\nexport * from \"./Core/Utils/Point\";\nexport * from \"./Core/Utils/QuadTree\";\nexport * from \"./Core/Utils/Range\";\nexport * from \"./Core/Utils/Rectangle\";\nexport * from \"./Core/Utils/Vector\";\nexport * from \"./Core/Utils/Vector3d\";\nexport * from \"./Core/Canvas\";\nexport * from \"./Core/Container\";\nexport * from \"./Core/Loader\";\nexport * from \"./Core/Particle\";\nexport * from \"./Core/Particles\";\nexport * from \"./Core/Retina\";\nexport * from \"./Enums/Directions/MoveDirection\";\nexport * from \"./Enums/Directions/RotateDirection\";\nexport * from \"./Enums/Directions/OutModeDirection\";\nexport * from \"./Enums/Directions/TiltDirection\";\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/RollMode\";\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 { Engine, Engine as Main };\nexport * from \"./Options/Classes/AnimatableColor\";\nexport * from \"./Options/Classes/AnimatableGradient\";\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/Attract\";\nexport * from \"./Options/Classes/Interactivity/Modes/Bounce\";\nexport * from \"./Options/Classes/Interactivity/Modes/Bubble\";\nexport * from \"./Options/Classes/Interactivity/Modes/BubbleBase\";\nexport * from \"./Options/Classes/Interactivity/Modes/BubbleDiv\";\nexport * from \"./Options/Classes/Interactivity/Modes/Connect\";\nexport * from \"./Options/Classes/Interactivity/Modes/ConnectLinks\";\nexport * from \"./Options/Classes/Interactivity/Modes/Grab\";\nexport * from \"./Options/Classes/Interactivity/Modes/GrabLinks\";\nexport * from \"./Options/Classes/Interactivity/Modes/Light\";\nexport * from \"./Options/Classes/Interactivity/Modes/LightArea\";\nexport * from \"./Options/Classes/Interactivity/Modes/LightGradient\";\nexport * from \"./Options/Classes/Interactivity/Modes/LightShadow\";\nexport * from \"./Options/Classes/Interactivity/Modes/Modes\";\nexport * from \"./Options/Classes/Interactivity/Modes/Push\";\nexport * from \"./Options/Classes/Interactivity/Modes/Remove\";\nexport * from \"./Options/Classes/Interactivity/Modes/Repulse\";\nexport * from \"./Options/Classes/Interactivity/Modes/RepulseBase\";\nexport * from \"./Options/Classes/Interactivity/Modes/RepulseDiv\";\nexport * from \"./Options/Classes/Interactivity/Modes/Slow\";\nexport * from \"./Options/Classes/Interactivity/Modes/Trail\";\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/Life/Life\";\nexport * from \"./Options/Classes/Particles/Life/LifeDelay\";\nexport * from \"./Options/Classes/Particles/Life/LifeDuration\";\nexport * from \"./Options/Classes/Particles/Links/Links\";\nexport * from \"./Options/Classes/Particles/Links/LinksShadow\";\nexport * from \"./Options/Classes/Particles/Links/LinksTriangle\";\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/Orbit/Orbit\";\nexport * from \"./Options/Classes/Particles/Orbit/OrbitRotation\";\nexport * from \"./Options/Classes/Particles/Repulse/ParticlesRepulse\";\nexport * from \"./Options/Classes/Particles/Roll/Roll\";\nexport * from \"./Options/Classes/Particles/Roll/RollLight\";\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/Tilt/Tilt\";\nexport * from \"./Options/Classes/Particles/Tilt/TiltAnimation\";\nexport * from \"./Options/Classes/Particles/Twinkle/Twinkle\";\nexport * from \"./Options/Classes/Particles/Twinkle/TwinkleValues\";\nexport * from \"./Options/Classes/Particles/Wobble/Wobble\";\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/IAnimatableGradient\";\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/IOptionsGradient\";\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/IAttract\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IBounce\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IBubble\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IBubbleBase\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IBubbleDiv\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IConnect\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IConnectLinks\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IGrab\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IGrabLinks\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/ILight\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/ILightArea\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/ILightGradient\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/ILightShadow\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IModeDiv\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IModes\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IPush\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IRemove\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IRepulse\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IRepulseBase\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/IRepulseDiv\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/ISlow\";\nexport * from \"./Options/Interfaces/Interactivity/Modes/ITrail\";\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/Life/ILife\";\nexport * from \"./Options/Interfaces/Particles/Life/ILifeDelay\";\nexport * from \"./Options/Interfaces/Particles/Life/ILifeDuration\";\nexport * from \"./Options/Interfaces/Particles/Links/ILinks\";\nexport * from \"./Options/Interfaces/Particles/Links/ILinksShadow\";\nexport * from \"./Options/Interfaces/Particles/Links/ILinksTriangle\";\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/Orbit/IOrbit\";\nexport * from \"./Options/Interfaces/Particles/Repulse/IParticlesRepulse\";\nexport * from \"./Options/Interfaces/Particles/Roll/IRoll\";\nexport * from \"./Options/Interfaces/Particles/Roll/IRollLight\";\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/Tilt/ITilt\";\nexport * from \"./Options/Interfaces/Particles/Tilt/ITiltAnimation\";\nexport * from \"./Options/Interfaces/Particles/Twinkle/ITwinkle\";\nexport * from \"./Options/Interfaces/Particles/Twinkle/ITwinkleValues\";\nexport * from \"./Options/Interfaces/Particles/Wobble/IWobble\";\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/NumberUtils\";\nexport * from \"./Utils/Utils\";\nexport { tsParticles };\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}","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}","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}","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}","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 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}","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 _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}","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}","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}","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}","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}","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 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}","// 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].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\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};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\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__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"7672c3ec\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"mf_react:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkmf_react\"] = self[\"webpackChunkmf_react\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","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, colorToRgb, getDistance, getDistances, getRangeValue, getStyleFromRgb, isPointInside, } 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 = colorToRgb(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 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 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 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 = Math.random() * 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 + (Math.random() * 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 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 draw(context) {\n for (const absorber of this.array) {\n context.save();\n absorber.draw(context);\n context.restore();\n }\n }\n stop() {\n this.array = [];\n }\n resize() {\n for (const absorber of this.array) {\n absorber.resize();\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 addAbsorber(options, position) {\n const absorber = new AbsorberInstance(this, this.container, options, position);\n this.array.push(absorber);\n return absorber;\n }\n removeAbsorber(absorber) {\n const index = this.array.indexOf(absorber);\n if (index >= 0) {\n this.array.splice(index, 1);\n }\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 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 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}\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","export class CircleShape {\n randomPosition(position, size, fill) {\n const generateTheta = (x, y) => {\n const u = Math.random() / 4.0, theta = Math.atan((y / x) * Math.tan(2 * Math.PI * u)), v = Math.random();\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(Math.random()) : 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_firstSpawn, _EmitterInstance_startParticlesAdded, _EmitterInstance_engine;\nimport { Vector, calcPositionOrRandomFromSizeRanged, colorToHsl, deepExtend, getRangeValue, isPointInside, randomInRange, } 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_firstSpawn.set(this, void 0);\n _EmitterInstance_startParticlesAdded.set(this, void 0);\n _EmitterInstance_engine.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 = colorToHsl(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 externalPlay() {\n this.paused = false;\n this.play();\n }\n externalPause() {\n this.paused = true;\n this.pause();\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 pause() {\n if (this.paused) {\n return;\n }\n delete this.emitDelay;\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 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 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 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 calcPosition() {\n return calcPositionOrRandomFromSizeRanged({\n size: this.container.canvas.size,\n position: this.options.position,\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();\n for (let i = 0; i < quantity; i++) {\n const particlesOptions = deepExtend({}, this.particlesOptions);\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 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_firstSpawn = new WeakMap(), _EmitterInstance_startParticlesAdded = new WeakMap(), _EmitterInstance_engine = 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 this.particles = deepExtend({}, data.particles);\n }\n this.rate.load(data.rate);\n if (data.shape !== undefined) {\n this.shape = data.shape;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = setRangeValue(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = setRangeValue(data.position.y);\n }\n }\n if (data.spawnColor !== undefined) {\n if (this.spawnColor === undefined) {\n this.spawnColor = new AnimatableColor();\n }\n this.spawnColor.load(data.spawnColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n","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 { 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 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 init(options) {\n var _a, _b;\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 = interactivityEmitters.map((s) => {\n const tmp = new Emitter();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n if (this.interactivityEmitters instanceof Array) {\n this.interactivityEmitters = new Emitter();\n }\n this.interactivityEmitters.load(interactivityEmitters);\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 play() {\n for (const emitter of this.array) {\n emitter.play();\n }\n }\n pause() {\n for (const emitter of this.array) {\n emitter.pause();\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 handleClickMode(mode) {\n const emitterOptions = this.emitters, modeEmitters = this.interactivityEmitters;\n if (mode === \"emitter\") {\n let emitterModeOptions;\n if (modeEmitters instanceof Array) {\n if (modeEmitters.length > 0) {\n emitterModeOptions = itemFromArray(modeEmitters);\n }\n }\n else {\n emitterModeOptions = modeEmitters;\n }\n const emittersOptions = emitterModeOptions !== null && emitterModeOptions !== void 0 ? emitterModeOptions : (emitterOptions instanceof Array ? itemFromArray(emitterOptions) : emitterOptions), ePosition = this.container.interactivity.mouse.clickPosition;\n this.addEmitter(deepExtend({}, emittersOptions), ePosition);\n }\n }\n resize() {\n for (const emitter of this.array) {\n emitter.resize();\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 removeEmitter(emitter) {\n const index = this.array.indexOf(emitter);\n if (index >= 0) {\n this.array.splice(index, 1);\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","function randomSquareCoordinate(position, offset) {\n return position + offset * (Math.random() - 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(Math.random() * 4), v = (Math.random() - 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 needsPlugin(options) {\n var _a, _b, _c;\n if (options === undefined) {\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 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.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 = interactivityEmitters.map((s) => {\n const tmp = new Emitter();\n tmp.load(s);\n return tmp;\n });\n }\n else {\n let emitterOptions = optionsCast.interactivity.modes.emitters;\n if ((emitterOptions === null || emitterOptions === void 0 ? void 0 : emitterOptions.load) === undefined) {\n optionsCast.interactivity.modes.emitters = emitterOptions = new Emitter();\n }\n emitterOptions.load(interactivityEmitters);\n }\n }\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 { ExternalInteractorBase, isInArray } from \"tsparticles-engine\";\nexport class TrailMaker extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n this.delay = 0;\n }\n async interact(delta) {\n var _a, _b, _c, _d;\n if (!this.container.retina.reduceFactor) {\n return;\n }\n const container = this.container, options = container.actualOptions, trailOptions = options.interactivity.modes.trail, 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() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = 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 reset() {\n }\n}\n","import { TrailMaker } from \"./TrailMaker\";\nexport async function loadExternalTrailInteraction(engine) {\n await engine.addInteractor(\"externalTrail\", (container) => new TrailMaker(container));\n}\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 lineWidth() {\n return this.stroke.width;\n }\n set lineWidth(value) {\n this.stroke.width = value;\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 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, colorToRgb, getDistances, getStyleFromRgb } from \"tsparticles-engine\";\nexport function drawPolygonMask(context, rawData, stroke) {\n const color = colorToRgb(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 = colorToRgb(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, 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 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 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 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 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 particleBounce(particle, delta, direction) {\n return this.polygonBounce(particle, delta, direction);\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 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 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 : Math.random() * canvasSize.width, y = (_b = position === null || position === void 0 ? void 0 : position.y) !== null && _b !== void 0 ? _b : Math.random() * 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 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 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 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: Math.random() * container.canvas.size.width,\n y: Math.random() * container.canvas.size.height,\n };\n }\n if (this.checkInsidePolygon(position)) {\n return position;\n }\n else {\n return this.randomPoint();\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(Math.random() * 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 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 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 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 = ``;\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}\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 { PolygonMask } from \"./Options/Classes/PolygonMask\";\nimport { PolygonMaskInstance } from \"./PolygonMaskInstance\";\nimport { isSsr } from \"tsparticles-engine\";\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 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 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}\n_PolygonMaskPlugin_engine = new WeakMap();\nexport async function loadPolygonMaskPlugin(engine) {\n if (!isSsr() && !(\"SVGPathSeg\" in window)) {\n await import(\"./pathseg.js\");\n }\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 { colorToHsl, getRangeValue } from \"tsparticles-engine\";\nfunction updateRoll(particle, delta) {\n const roll = particle.options.roll;\n if (!particle.roll || !roll.enable) {\n return;\n }\n const speed = particle.roll.speed * delta.factor;\n const 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 init(particle) {\n const rollOpt = particle.options.roll;\n if (rollOpt.enable) {\n particle.roll = {\n angle: Math.random() * Math.PI * 2,\n speed: getRangeValue(rollOpt.speed) / 360,\n };\n if (rollOpt.backColor) {\n particle.backColor = colorToHsl(rollOpt.backColor);\n }\n else if (rollOpt.darken.enable && rollOpt.enlighten.enable) {\n const alterType = Math.random() >= 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 = { angle: 0, speed: 0 };\n }\n }\n isEnabled(particle) {\n const roll = particle.options.roll;\n return !particle.destroyed && !particle.spawning && roll.enable;\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 { getRangeValue } from \"tsparticles-engine\";\nfunction updateAngle(particle, delta) {\n var _a;\n const rotate = particle.rotate;\n if (!rotate) {\n return;\n }\n const rotateOptions = particle.options.rotate;\n const rotateAnimation = rotateOptions.animation;\n const speed = ((_a = rotate.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;\n const max = 2 * Math.PI;\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}\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(Math.random() * 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.velocity =\n (getRangeValue(rotateAnimation.speed) / 360) * this.container.retina.reduceFactor;\n if (!rotateAnimation.sync) {\n particle.rotate.velocity *= Math.random();\n }\n }\n }\n isEnabled(particle) {\n const rotate = particle.options.rotate;\n const rotateAnimation = rotate.animation;\n return !particle.destroyed && !particle.spawning && !rotate.path && rotateAnimation.enable;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n updateAngle(particle, delta);\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, spinOptions = options.move.spin;\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.enable && gravityOptions.inverse ? -1 : 1;\n if (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.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, isInArray } from \"tsparticles-engine\";\nexport function applyDistance(particle) {\n const initialPosition = particle.initialPosition;\n const { dx, dy } = getDistances(initialPosition, particle.position);\n const dxFixed = Math.abs(dx), dyFixed = Math.abs(dy);\n const hDistance = particle.retina.maxDistance.horizontal;\n const 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 *= -Math.random();\n }\n if (vDistance && ((pos.y < initialPosition.y && vel.y < 0) || (pos.y > initialPosition.y && vel.y > 0))) {\n vel.y *= -Math.random();\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 const particlesOptions = particle.options;\n const pathOptions = particlesOptions.move.path;\n const pathEnabled = pathOptions.enable;\n if (!pathEnabled) {\n return;\n }\n const container = particle.container;\n if (particle.lastPathTime <= particle.pathDelay) {\n particle.lastPathTime += delta.value;\n return;\n }\n const path = container.pathGenerator.generate(particle);\n particle.velocity.addTo(path);\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 getSidesCount() {\n return 12;\n }\n draw(context, particle, radius) {\n context.arc(0, 0, radius, 0, Math.PI * 2, false);\n }\n}\n","import { CircleDrawer } from \"./CircleDrawer\";\nexport async function loadCircleShape(engine) {\n await engine.addShape(\"circle\", new CircleDrawer());\n}\n","import { colorToHsl, getHslAnimationFromHsl, randomInRange } from \"tsparticles-engine\";\nfunction updateColorValue(delta, value, valueAnimation, max, decrease) {\n var _a;\n const colorValue = value;\n if (!colorValue || !valueAnimation.enable) {\n return;\n }\n const offset = randomInRange(valueAnimation.offset);\n const velocity = ((_a = value.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor + offset * 3.6;\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.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 = colorToHsl(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","import { Circle, ExternalInteractorBase, Vector, calcEasing, clamp, getDistances, isInArray, mouseMoveEvent, } from \"tsparticles-engine\";\nexport class Attractor extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n if (!container.attract) {\n container.attract = { particles: [] };\n }\n this.handleClickMode = (mode) => {\n const options = this.container.actualOptions;\n if (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 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 }, options.interactivity.modes.attract.duration * 1000);\n };\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = 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 reset() {\n }\n async interact() {\n const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode;\n if (mouseMoveStatus && hoverEnabled && isInArray(\"attract\", hoverMode)) {\n this.hoverAttract();\n }\n else if (clickEnabled && isInArray(\"attract\", clickMode)) {\n this.clickAttract();\n }\n }\n hoverAttract() {\n const container = this.container;\n const mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const attractRadius = container.retina.attractModeDistance;\n this.processAttract(mousePos, attractRadius, new Circle(mousePos.x, mousePos.y, attractRadius));\n }\n processAttract(position, attractRadius, area) {\n const container = this.container;\n const attractOptions = container.actualOptions.interactivity.modes.attract;\n const query = container.particles.quadTree.query(area);\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 clickAttract() {\n const container = this.container;\n if (!container.attract) {\n container.attract = { particles: [] };\n }\n if (!container.attract.finish) {\n if (!container.attract.count) {\n container.attract.count = 0;\n }\n container.attract.count++;\n if (container.attract.count === container.particles.count) {\n container.attract.finish = true;\n }\n }\n if (container.attract.clicking) {\n const mousePos = container.interactivity.mouse.clickPosition;\n if (!mousePos) {\n return;\n }\n const attractRadius = container.retina.attractModeDistance;\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}\n","import { Attractor } from \"./Attractor\";\nexport async function loadExternalAttractInteraction(engine) {\n await engine.addInteractor(\"externalAttract\", (container) => new Attractor(container));\n}\n","import { Circle, ExternalInteractorBase, Rectangle, Vector, calculateBounds, circleBounce, circleBounceDataFromParticle, divModeExecute, isDivModeEnabled, isInArray, mouseMoveEvent, rectBounce, } from \"tsparticles-engine\";\nexport class Bouncer extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events, divs = events.onDiv;\n return ((mouse.position && events.onHover.enable && isInArray(\"bounce\", events.onHover.mode)) ||\n isDivModeEnabled(\"bounce\", divs));\n }\n async interact() {\n const container = this.container, options = container.actualOptions, events = options.interactivity.events, mouseMoveStatus = container.interactivity.status === mouseMoveEvent, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, divs = events.onDiv;\n if (mouseMoveStatus && hoverEnabled && isInArray(\"bounce\", hoverMode)) {\n this.processMouseBounce();\n }\n else {\n divModeExecute(\"bounce\", divs, (selector, div) => this.singleSelectorBounce(selector, div));\n }\n }\n reset() {\n }\n processMouseBounce() {\n const container = this.container, pxRatio = container.retina.pixelRatio, tolerance = 10 * pxRatio, mousePos = container.interactivity.mouse.position, radius = container.retina.bounceModeDistance;\n if (mousePos) {\n this.processBounce(mousePos, radius, new Circle(mousePos.x, mousePos.y, radius + tolerance));\n }\n }\n singleSelectorBounce(selector, div) {\n const container = this.container, query = document.querySelectorAll(selector);\n if (!query.length) {\n return;\n }\n query.forEach((item) => {\n const elem = item, pxRatio = container.retina.pixelRatio, pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio,\n }, radius = (elem.offsetWidth / 2) * pxRatio, tolerance = 10 * pxRatio, area = div.type === \"circle\"\n ? new Circle(pos.x, pos.y, radius + tolerance)\n : new Rectangle(elem.offsetLeft * pxRatio - tolerance, elem.offsetTop * pxRatio - tolerance, elem.offsetWidth * pxRatio + tolerance * 2, elem.offsetHeight * pxRatio + tolerance * 2);\n this.processBounce(pos, radius, area);\n });\n }\n processBounce(position, radius, area) {\n const query = this.container.particles.quadTree.query(area);\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}\n","import { Bouncer } from \"./Bouncer\";\nexport async function loadExternalBounceInteraction(engine) {\n await engine.addInteractor(\"externalBounce\", (container) => new Bouncer(container));\n}\n","import { Circle, ExternalInteractorBase, Rectangle, clamp, colorMix, colorToHsl, divMode, divModeExecute, getDistance, getRangeMax, isDivModeEnabled, isInArray, itemFromArray, mouseLeaveEvent, mouseMoveEvent, rgbToHsl, } from \"tsparticles-engine\";\nfunction calculateBubbleValue(particleValue, modeValue, optionsValue, ratio) {\n if (modeValue >= optionsValue) {\n const value = particleValue + (modeValue - optionsValue) * ratio;\n return clamp(value, particleValue, modeValue);\n }\n else if (modeValue < optionsValue) {\n const value = particleValue - (optionsValue - modeValue) * ratio;\n return clamp(value, modeValue, particleValue);\n }\n}\nexport class Bubbler extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n if (!container.bubble) {\n container.bubble = {};\n }\n this.handleClickMode = (mode) => {\n if (mode !== \"bubble\") {\n return;\n }\n if (!container.bubble) {\n container.bubble = {};\n }\n container.bubble.clicking = true;\n };\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = 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 reset(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 async interact() {\n const options = this.container.actualOptions, events = options.interactivity.events, onHover = events.onHover, onClick = events.onClick, hoverEnabled = onHover.enable, hoverMode = onHover.mode, clickEnabled = onClick.enable, clickMode = onClick.mode, divs = events.onDiv;\n if (hoverEnabled && isInArray(\"bubble\", hoverMode)) {\n this.hoverBubble();\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 singleSelectorHover(selector, div) {\n const container = this.container, selectors = document.querySelectorAll(selector);\n if (!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);\n for (const particle of query) {\n if (!area.contains(particle.getPosition())) {\n continue;\n }\n particle.bubble.inRange = true;\n const divs = container.actualOptions.interactivity.modes.bubble.divs;\n const divBubble = divMode(divs, elem);\n if (!particle.bubble.div || particle.bubble.div !== elem) {\n this.reset(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 process(particle, distMouse, timeSpent, data) {\n const container = this.container, bubbleParam = data.bubbleObj.optValue;\n if (bubbleParam === undefined) {\n return;\n }\n const options = container.actualOptions, bubbleDuration = options.interactivity.modes.bubble.duration, bubbleDistance = container.retina.bubbleModeDistance, particlesParam = data.particlesObj.optValue, pObjBubble = data.bubbleObj.value, pObj = data.particlesObj.value || 0, type = data.type;\n if (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 clickBubble() {\n var _a, _b;\n const container = this.container, options = container.actualOptions, mouseClickPos = container.interactivity.mouse.clickPosition;\n if (!mouseClickPos) {\n return;\n }\n if (!container.bubble) {\n container.bubble = {};\n }\n const distance = container.retina.bubbleModeDistance, query = container.particles.quadTree.queryCircle(mouseClickPos, distance);\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 > options.interactivity.modes.bubble.duration) {\n container.bubble.durationEnd = true;\n }\n if (timeSpent > options.interactivity.modes.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: options.interactivity.modes.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 <= container.retina.bubbleModeDistance) {\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 = this.container, mousePos = container.interactivity.mouse.position;\n if (mousePos === undefined) {\n return;\n }\n const distance = container.retina.bubbleModeDistance, query = container.particles.quadTree.queryCircle(mousePos, distance);\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 hoverBubbleSize(particle, ratio, divBubble) {\n const container = this.container, modeSize = (divBubble === null || divBubble === void 0 ? void 0 : divBubble.size) ? divBubble.size * container.retina.pixelRatio : container.retina.bubbleModeSize;\n if (modeSize === undefined) {\n return;\n }\n const optSize = getRangeMax(particle.options.size.value) * container.retina.pixelRatio;\n const pSize = particle.size.value;\n const size = calculateBubbleValue(pSize, modeSize, optSize, ratio);\n if (size !== undefined) {\n particle.bubble.radius = size;\n }\n }\n hoverBubbleOpacity(particle, ratio, divBubble) {\n var _a, _b, _c;\n const container = this.container, options = container.actualOptions, modeOpacity = (_a = divBubble === null || divBubble === void 0 ? void 0 : divBubble.opacity) !== null && _a !== void 0 ? _a : options.interactivity.modes.bubble.opacity;\n if (!modeOpacity) {\n return;\n }\n const optOpacity = particle.options.opacity.value;\n const pOpacity = (_c = (_b = particle.opacity) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : 1;\n const opacity = calculateBubbleValue(pOpacity, modeOpacity, getRangeMax(optOpacity), ratio);\n if (opacity !== undefined) {\n particle.bubble.opacity = opacity;\n }\n }\n hoverBubbleColor(particle, ratio, divBubble) {\n const options = this.container.actualOptions;\n const bubbleOptions = divBubble !== null && divBubble !== void 0 ? divBubble : options.interactivity.modes.bubble;\n if (!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 = colorToHsl(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}\n","import { Bubbler } from \"./Bubbler\";\nexport async function loadExternalBubbleInteraction(engine) {\n await engine.addInteractor(\"externalBubble\", (container) => new Bubbler(container));\n}\n","import { ExternalInteractorBase, isInArray } from \"tsparticles-engine\";\nexport class Connector extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled() {\n const container = this.container, mouse = container.interactivity.mouse, events = container.actualOptions.interactivity.events;\n if (!(events.onHover.enable && mouse.position)) {\n return false;\n }\n return isInArray(\"connect\", events.onHover.mode);\n }\n reset() {\n }\n async interact() {\n const container = this.container, options = container.actualOptions;\n if (options.interactivity.events.onHover.enable && container.interactivity.status === \"mousemove\") {\n const mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const distance = Math.abs(container.retina.connectModeRadius), query = container.particles.quadTree.queryCircle(mousePos, distance);\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 container.canvas.drawConnectLine(p1, p2);\n }\n }\n ++i;\n }\n }\n }\n}\n","import { Connector } from \"./Connector\";\nexport async function loadExternalConnectInteraction(engine) {\n await engine.addInteractor(\"externalConnect\", (container) => new Connector(container));\n}\n","import { ExternalInteractorBase, getDistance, getLinkColor, getLinkRandomColor, isInArray, mouseMoveEvent, } from \"tsparticles-engine\";\nexport class Grabber extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n }\n isEnabled() {\n const container = this.container, mouse = container.interactivity.mouse, events = container.actualOptions.interactivity.events;\n return events.onHover.enable && !!mouse.position && isInArray(\"grab\", events.onHover.mode);\n }\n reset() {\n }\n async interact() {\n var _a;\n const container = this.container, options = container.actualOptions, interactivity = options.interactivity;\n if (!interactivity.events.onHover.enable || 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, query = container.particles.quadTree.queryCircle(mousePos, distance);\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 : particle.options.links.color;\n if (!container.particles.grabLineColor) {\n const linksOptions = options.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 container.canvas.drawGrabLine(particle, colorLine, opacityLine, mousePos);\n }\n }\n}\n","import { Grabber } from \"./Grabber\";\nexport async function loadExternalGrabInteraction(engine) {\n await engine.addInteractor(\"externalGrab\", (container) => new Grabber(container));\n}\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 isEnabled() {\n return true;\n }\n reset() {\n }\n async interact() {\n }\n}\n","import { Pauser } from \"./Pauser\";\nexport function loadExternalPauseInteraction(engine) {\n engine.addInteractor(\"externalPause\", (container) => new Pauser(container));\n}\n","import { ExternalInteractorBase } from \"tsparticles-engine\";\nimport { itemFromArray } from \"tsparticles-engine\";\nexport class Pusher extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n this.handleClickMode = (mode) => {\n if (mode !== \"push\") {\n return;\n }\n const container = this.container;\n const options = container.actualOptions;\n const pushNb = options.interactivity.modes.push.quantity;\n if (pushNb <= 0) {\n return;\n }\n const pushOptions = options.interactivity.modes.push;\n const group = itemFromArray([undefined, ...pushOptions.groups]);\n const groupOptions = group !== undefined ? container.actualOptions.particles.groups[group] : undefined;\n container.particles.push(pushNb, container.interactivity.mouse, groupOptions, group);\n };\n }\n isEnabled() {\n return true;\n }\n reset() {\n }\n async interact() {\n }\n}\n","import { Pusher } from \"./Pusher\";\nexport async function loadExternalPushInteraction(engine) {\n await engine.addInteractor(\"externalPush\", (container) => new Pusher(container));\n}\n","import { ExternalInteractorBase } from \"tsparticles-engine\";\nexport class Remover extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n this.handleClickMode = (mode) => {\n if (mode !== \"remove\") {\n return;\n }\n const container = this.container;\n const options = container.actualOptions;\n const removeNb = options.interactivity.modes.remove.quantity;\n container.particles.removeQuantity(removeNb);\n };\n }\n isEnabled() {\n return true;\n }\n reset() {\n }\n async interact() {\n }\n}\n","import { Remover } from \"./Remover\";\nexport function loadExternalRemoveInteraction(engine) {\n engine.addInteractor(\"externalRemove\", (container) => new Remover(container));\n}\n","import { Circle, ExternalInteractorBase, Rectangle, Vector, calcEasing, clamp, divMode, divModeExecute, getDistances, isDivModeEnabled, isInArray, mouseMoveEvent, } from \"tsparticles-engine\";\nexport class Repulser extends ExternalInteractorBase {\n constructor(container) {\n super(container);\n if (!container.repulse) {\n container.repulse = { particles: [] };\n }\n this.handleClickMode = (mode) => {\n const options = this.container.actualOptions;\n if (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 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 }, options.interactivity.modes.repulse.duration * 1000);\n };\n }\n isEnabled() {\n const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = 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 reset() {\n }\n async interact() {\n const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode, divs = events.onDiv;\n if (mouseMoveStatus && hoverEnabled && isInArray(\"repulse\", hoverMode)) {\n this.hoverRepulse();\n }\n else if (clickEnabled && isInArray(\"repulse\", clickMode)) {\n this.clickRepulse();\n }\n else {\n divModeExecute(\"repulse\", divs, (selector, div) => this.singleSelectorRepulse(selector, div));\n }\n }\n singleSelectorRepulse(selector, div) {\n const container = this.container, query = document.querySelectorAll(selector);\n if (!query.length) {\n return;\n }\n query.forEach((item) => {\n const elem = item, pxRatio = container.retina.pixelRatio, pos = {\n x: (elem.offsetLeft + elem.offsetWidth / 2) * pxRatio,\n y: (elem.offsetTop + elem.offsetHeight / 2) * pxRatio,\n }, 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 = container.actualOptions.interactivity.modes.repulse.divs, divRepulse = divMode(divs, elem);\n this.processRepulse(pos, repulseRadius, area, divRepulse);\n });\n }\n hoverRepulse() {\n const container = this.container, mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const repulseRadius = container.retina.repulseModeDistance;\n this.processRepulse(mousePos, repulseRadius, new Circle(mousePos.x, mousePos.y, repulseRadius));\n }\n processRepulse(position, repulseRadius, area, divRepulse) {\n var _a;\n const container = this.container, query = container.particles.quadTree.query(area), repulseOptions = container.actualOptions.interactivity.modes.repulse;\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 clickRepulse() {\n const container = this.container;\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, 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);\n for (const particle of query) {\n const { dx, dy, distance } = getDistances(mouseClickPos, particle.position), d = distance ** 2, velocity = container.actualOptions.interactivity.modes.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}\n","import { Repulser } from \"./Repulser\";\nexport async function loadExternalRepulseInteraction(engine) {\n await engine.addInteractor(\"externalRepulse\", (container) => new Repulser(container));\n}\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 img.addEventListener(\"load\", () => {\n image.element = img;\n image.loading = false;\n resolve();\n });\n img.addEventListener(\"error\", () => {\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 image.loading = false;\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}\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);\n const svg = new Blob([svgColoredData], { type: \"image/svg+xml\" });\n const domUrl = URL || window.URL || window.webkitURL || window;\n const url = domUrl.createObjectURL(svg);\n const img = new Image();\n const imageRes = {\n data: Object.assign(Object.assign({}, image), { svgData: svgColoredData }),\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 img.addEventListener(\"load\", () => {\n const pImage = particle.image;\n if (pImage) {\n pImage.loaded = true;\n image.element = img;\n }\n domUrl.revokeObjectURL(url);\n });\n img.addEventListener(\"error\", () => {\n domUrl.revokeObjectURL(url);\n const img2 = Object.assign(Object.assign({}, image), { error: false, loading: true });\n loadImage(img2).then(() => {\n const pImage = particle.image;\n if (pImage) {\n image.element = img2.element;\n pImage.loaded = true;\n }\n });\n });\n img.src = url;\n return imageRes;\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 getSidesCount() {\n return 12;\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 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, _b;\n const image = particle.image;\n const element = (_a = image === null || image === void 0 ? void 0 : image.data) === null || _a === void 0 ? void 0 : _a.element;\n if (!element) {\n return;\n }\n const ratio = (_b = image === null || image === void 0 ? void 0 : image.ratio) !== null && _b !== void 0 ? _b : 1;\n const pos = {\n x: -radius,\n y: -radius,\n };\n if (!(image === null || image === void 0 ? void 0 : image.data.svgData) || !(image === null || image === void 0 ? void 0 : image.replaceColor)) {\n context.globalAlpha = opacity;\n }\n context.drawImage(element, pos.x, pos.y, radius * 2, (radius * 2) / ratio);\n if (!(image === null || image === void 0 ? void 0 : image.data.svgData) || !(image === null || image === void 0 ? void 0 : image.replaceColor)) {\n context.globalAlpha = 1;\n }\n }\n loadShape(particle) {\n var _a, _b, _c;\n if (particle.shape !== \"image\" && particle.shape !== \"images\") {\n return;\n }\n const images = this.getImages(particle.container).images;\n const imageData = particle.shapeData;\n const image = images.find((t) => t.source === imageData.src);\n let imageRes;\n if (!image) {\n this.loadImageShape(particle.container, imageData).then(() => {\n this.loadShape(particle);\n });\n return;\n }\n if (image.error) {\n return;\n }\n const color = particle.getFillColor();\n if (image.svgData && imageData.replaceColor && color) {\n imageRes = replaceImageColor(image, imageData, color, particle);\n }\n else {\n imageRes = {\n data: image,\n loaded: true,\n ratio: imageData.width / imageData.height,\n replaceColor: (_a = imageData.replaceColor) !== null && _a !== void 0 ? _a : imageData.replace_color,\n source: imageData.src,\n };\n }\n if (!imageRes.ratio) {\n imageRes.ratio = 1;\n }\n const fill = (_b = imageData.fill) !== null && _b !== void 0 ? _b : particle.fill;\n const close = (_c = imageData.close) !== null && _c !== void 0 ? _c : particle.close;\n const 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 async loadImageShape(container, imageShape) {\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.substr(source.length - 3),\n error: false,\n loading: true,\n };\n this.addImage(container, image);\n const imageFunc = imageShape.replaceColor ? downloadSvgImage : loadImage;\n await imageFunc(image);\n }\n catch (_a) {\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 { getRangeValue, randomInRange, setRangeValue } from \"tsparticles-engine\";\nexport class LifeUpdater {\n constructor(container) {\n this.container = container;\n }\n init() {\n }\n isEnabled(particle) {\n return !particle.destroyed;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\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 life.delay = getRangeValue(lifeOptions.delay.value) * 1000;\n life.duration = getRangeValue(lifeOptions.duration.value) * 1000;\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 getSidesCount() {\n return 1;\n }\n draw(context, particle, radius) {\n context.moveTo(-radius / 2, 0);\n context.lineTo(radius / 2, 0);\n }\n}\n","import { LineDrawer } from \"./LineDrawer\";\nexport async function loadLineShape(engine) {\n await engine.addShape(\"line\", new LineDrawer());\n}\n","import { clamp, 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;\n if (!particle.opacity) {\n return;\n }\n const minValue = particle.opacity.min;\n const maxValue = particle.opacity.max;\n if (particle.destroyed ||\n !particle.opacity.enable ||\n (((_a = particle.opacity.maxLoops) !== null && _a !== void 0 ? _a : 0) > 0 && ((_b = particle.opacity.loops) !== null && _b !== void 0 ? _b : 0) > ((_c = particle.opacity.maxLoops) !== null && _c !== void 0 ? _c : 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 += ((_d = particle.opacity.velocity) !== null && _d !== void 0 ? _d : 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 -= ((_e = particle.opacity.velocity) !== null && _e !== void 0 ? _e : 0) * delta.factor;\n }\n break;\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.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 Math.random() >= 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 *= Math.random();\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 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 const velocity = data.particle.velocity.y;\n let bounced = false;\n if ((data.direction === \"bottom\" &&\n data.bounds.bottom >= data.canvasSize.height &&\n 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}\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, 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 = Math.random() * 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 = Math.random() * 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 = Math.random() * 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 = Math.random() * 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 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 isEnabled(particle) {\n return particle.options.collisions.enable;\n }\n reset() {\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}\n","import { Collider } from \"./Collider\";\nexport async function loadParticlesCollisionsInteraction(engine) {\n await engine.addInteractor(\"particlesCollisions\", (container) => new Collider(container));\n}\n","import { Circle, CircleWarp, ParticlesInteractorBase, getDistance, getLinkRandomColor } from \"tsparticles-engine\";\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 }\n isEnabled(particle) {\n return particle.options.links.enable;\n }\n reset() {\n }\n async interact(p1) {\n var _a;\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 : container.retina.linksDistance, 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.enable ||\n linkOpt1.id !== linkOpt2.id ||\n p2.spawning ||\n p2.destroyed ||\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 setColor(p1) {\n const container = this.container, 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 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}\n","import { Linker } from \"./Linker\";\nexport async function loadInteraction(engine) {\n await engine.addInteractor(\"particlesLinks\", (container) => new Linker(container));\n}\n","import { colorToRgb, getDistance, getLinkColor, getRangeValue } from \"tsparticles-engine\";\nimport { drawLinkLine, drawLinkTriangle } from \"./Utils\";\nexport class LinkInstance {\n constructor(container) {\n this.container = container;\n }\n particleCreated(particle) {\n const linkParticle = particle;\n linkParticle.links = [];\n }\n particleDestroyed(particle) {\n const linkParticle = particle;\n linkParticle.links = [];\n }\n drawParticle(context, particle) {\n const linkParticle = particle, container = this.container, particles = container.particles, pOptions = particle.options;\n if (linkParticle.links.length <= 0) {\n return;\n }\n context.save();\n const p1Links = linkParticle.links.filter((l) => {\n const linkFreq = container.particles.getLinkFrequency(linkParticle, l.destination);\n return linkFreq <= pOptions.links.frequency;\n });\n for (const link of p1Links) {\n const p2 = link.destination;\n if (pOptions.links.triangles.enable) {\n const links = p1Links.map((l) => l.destination), vertices = p2.links.filter((t) => {\n const linkFreq = container.particles.getLinkFrequency(p2, t.destination);\n return linkFreq <= p2.options.links.frequency && links.indexOf(t.destination) >= 0;\n });\n if (vertices.length) {\n for (const vertex of vertices) {\n const p3 = vertex.destination, triangleFreq = particles.getTriangleFrequency(linkParticle, p2, p3);\n if (triangleFreq > pOptions.links.triangles.frequency) {\n continue;\n }\n this.drawLinkTriangle(linkParticle, link, vertex);\n }\n }\n }\n if (link.opacity > 0 && container.retina.linksWidth > 0) {\n this.drawLinkLine(linkParticle, link);\n }\n }\n context.restore();\n }\n drawLinkTriangle(p1, link1, link2) {\n var _a;\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 const pos1 = p1.getPosition();\n const pos2 = p2.getPosition();\n const pos3 = p3.getPosition();\n if (getDistance(pos1, pos2) > container.retina.linksDistance ||\n getDistance(pos3, pos2) > container.retina.linksDistance ||\n getDistance(pos3, pos1) > container.retina.linksDistance) {\n return;\n }\n let colorTriangle = colorToRgb(triangleOptions.color);\n if (!colorTriangle) {\n const linksOptions = p1.options.links, linkColor = 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 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;\n let colorLine;\n const twinkle = p1.options.twinkle.lines;\n if (twinkle.enable) {\n const twinkleFreq = twinkle.frequency, twinkleRgb = colorToRgb(twinkle.color), twinkling = Math.random() < 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.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 = (_a = p1.retina.linksWidth) !== null && _a !== void 0 ? _a : container.retina.linksWidth, maxDistance = (_b = p1.retina.linksDistance) !== null && _b !== void 0 ? _b : container.retina.linksDistance;\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}\n","import { colorToRgb, drawLine, drawTriangle, getDistance, getDistances, getStyleFromRgb, } 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 = colorToRgb(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 needsPlugin() {\n return true;\n }\n loadOptions() {\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}\n","export class PolygonDrawerBase {\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 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}\n","import { PolygonDrawerBase } from \"./PolygonDrawerBase\";\nexport class PolygonDrawer extends PolygonDrawerBase {\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 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}\n","import { PolygonDrawerBase } from \"./PolygonDrawerBase\";\nexport class TriangleDrawer extends PolygonDrawerBase {\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 getCenter(particle, radius) {\n return {\n x: -radius,\n y: radius / 1.66,\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;\n const sizeVelocity = ((_a = particle.size.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;\n const minValue = particle.size.min;\n const maxValue = particle.size.max;\n if (particle.destroyed ||\n !particle.size.enable ||\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 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 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 getSidesCount() {\n return 4;\n }\n draw(context, particle, radius) {\n context.rect(-radius / fixFactor, -radius / fixFactor, (radius * 2) / fixFactor, (radius * 2) / fixFactor);\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 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 draw(context, particle, radius) {\n var _a;\n const star = particle.shapeData;\n const sides = this.getSidesCount(particle);\n const 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}\n","import { StarDrawer } from \"./StarDrawer\";\nexport async function loadStarShape(engine) {\n await engine.addShape(\"star\", new StarDrawer());\n}\n","import { colorToHsl, getHslAnimationFromHsl, itemFromArray, randomInRange } from \"tsparticles-engine\";\nfunction updateColorValue(delta, value, valueAnimation, max, decrease) {\n var _a;\n const colorValue = value;\n if (!colorValue || !colorValue.enable) {\n return;\n }\n const offset = randomInRange(valueAnimation.offset);\n const velocity = ((_a = value.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor + offset * 3.6;\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.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;\n const 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 = colorToHsl(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 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 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;\n const style = (_a = character.style) !== null && _a !== void 0 ? _a : \"\";\n const weight = (_b = character.weight) !== null && _b !== void 0 ? _b : \"400\";\n const size = Math.round(radius) * 2;\n const font = (_c = character.font) !== null && _c !== void 0 ? _c : \"Verdana\";\n const fill = particle.fill;\n const 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}\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 { getRangeValue } from \"tsparticles-engine\";\nfunction updateTilt(particle, delta) {\n var _a;\n if (!particle.tilt) {\n return;\n }\n const tilt = particle.options.tilt;\n const tiltAnimation = tilt.animation;\n const speed = ((_a = particle.tilt.velocity) !== null && _a !== void 0 ? _a : 0) * delta.factor;\n const max = 2 * Math.PI;\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}\nexport class TiltUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const tiltOptions = particle.options.tilt;\n particle.tilt = {\n enable: tiltOptions.enable,\n value: (getRangeValue(tiltOptions.value) * Math.PI) / 180,\n sinDirection: Math.random() >= 0.5 ? 1 : -1,\n cosDirection: Math.random() >= 0.5 ? 1 : -1,\n };\n let tiltDirection = tiltOptions.direction;\n if (tiltDirection === \"random\") {\n const index = Math.floor(Math.random() * 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 = particle.options.tilt.animation;\n if (tiltAnimation.enable) {\n particle.tilt.velocity = (getRangeValue(tiltAnimation.speed) / 360) * this.container.retina.reduceFactor;\n if (!tiltAnimation.sync) {\n particle.tilt.velocity *= Math.random();\n }\n }\n }\n isEnabled(particle) {\n const tilt = particle.options.tilt;\n const tiltAnimation = tilt.animation;\n return !particle.destroyed && !particle.spawning && tiltAnimation.enable;\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 { colorToHsl, getRangeValue, getStyleFromHsl } from \"tsparticles-engine\";\nexport class TwinkleUpdater {\n getColorStyles(particle, context, radius, opacity) {\n const pOptions = particle.options, twinkle = pOptions.twinkle.particles, twinkling = twinkle.enable && Math.random() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOpacityFactor = (1 - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? getRangeValue(twinkle.opacity) * zOpacityFactor : opacity, twinkleRgb = colorToHsl(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 return particle.options.twinkle.particles.enable;\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 { getRangeValue } from \"tsparticles-engine\";\nfunction updateWobble(particle, delta) {\n var _a;\n const wobble = particle.options.wobble;\n if (!wobble.enable || !particle.wobble) {\n return;\n }\n const speed = particle.wobble.speed * delta.factor;\n const distance = (((_a = particle.retina.wobbleDistance) !== null && _a !== void 0 ? _a : 0) * delta.factor) / (1000 / 60);\n const max = 2 * Math.PI;\n particle.wobble.angle += speed;\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 const wobbleOpt = particle.options.wobble;\n if (wobbleOpt.enable) {\n particle.wobble = {\n angle: Math.random() * Math.PI * 2,\n speed: getRangeValue(wobbleOpt.speed) / 360,\n };\n }\n else {\n particle.wobble = {\n angle: 0,\n speed: 0,\n };\n }\n particle.retina.wobbleDistance = getRangeValue(wobbleOpt.distance) * this.container.retina.pixelRatio;\n }\n isEnabled(particle) {\n return !particle.destroyed && !particle.spawning && particle.options.wobble.enable;\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 React from 'react'; // FC, \r\nimport { FrameHexagon, FrameLines, Text, Button,} from '@arwes/core';\r\nimport {ThemeProvider} from \"@emotion/react\"\r\nimport {createThemePaletteBasic, createTheme, } from '@arwes/design'; // createThemePaletteElevation\r\n\r\n// https://github.com/arwes/arwes/blob/next/packages/core/src/ArwesThemeProvider/ArwesThemeProvider.component.tsx\r\n\r\n\r\nconst LinkContainer = (props) => {\r\n // https://playground.arwes.dev/design/createTheme/palette\r\n \r\n const primaryColor = '#48f' //'#00f0f8' \r\n const textColor = '#fed'\r\n const theme = createTheme({\r\n \r\n palette: {\r\n tonalOffset: 0.1,\r\n primary: { main: primaryColor }, //'#00f0f8' \r\n secondary: { main: '#e6ff44' }, // split complementarty #e6ff44 # original F8F800\r\n // text: { main: '#2CFFFF' },\r\n neutral: { main: '#021114' },\r\n success: { main: '#8f4' }, \r\n error: { main: '#f48' }, \r\n elevationOffset: 0.025,\r\n text: {\r\n root: textColor, //'#00f0f8'\r\n headings: textColor,//'#00f0f8'\r\n link: textColor,\r\n linkHover: textColor\r\n },\r\n // Custom theme palettes.\r\n mfPalette: createThemePaletteBasic({ main: '#48f' }, 0.1),\r\n twitchPalette: createThemePaletteBasic({ main: '#9146FF' }, 0.1),\r\n linkedinPalette: createThemePaletteBasic({ main: '#00a0dc' }, 0.1),\r\n twitterPalette: createThemePaletteBasic({ main: '#1DA1F2' }, 0.1),\r\n// https://www.colorhexa.com/4488ff\r\n// triadic #8f4 = green, blue = #48f, red=#f48\r\n // tetradic and complementary: orange = #fb4 blue = #48f,\r\n // split complementary #ff5e44 yellow\r\n// I 'inspected' html to retrieve color of (I assume arwes) background\r\n // yourOwnBasicPalette: createThemePaletteBasic({ main: '#00506b' }, 0.1),\r\n // yourOwnElevationPalette: createThemePaletteElevation('#00151d', 0.025)\r\n // using linkedin brigther accent color 00a0dc ; not primary 0077b5\r\n // https://brand.linkedin.com/content/brand/global/en_us/index/visual-identity/color-palettes\r\n\r\n }\r\n });\r\n \r\n // creating my own theme changes the 'Text' to black\r\n return (\r\n\r\n \r\n \r\n \r\n \r\n {/* \r\n Learn More\r\n \r\n } > */}\r\n \r\n \r\n Mastro Finance\r\n \r\n
\r\n
\r\n \r\n Financial News Network\r\n \r\n
\r\n \r\n Powered by Artificial Intelligence\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 \r\n \r\n\r\n {/*
\r\n
\r\n\r\n \r\n \r\n \r\n Quantitative Finance Research\r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\n\r\nexport default LinkContainer\r\n\r\n// https://playground.arwes.dev/core/StylesBaseline/basic // has Theme for text\r\n// palette: {\r\n// tonalOffset: 0.1,\r\n// primary: { main: '#00f0f8' },\r\n// secondary: { main: '#F8F800' },\r\n// text: { main: '#2CFFFF' },\r\n// neutral: { main: '#021114' },\r\n// elevationOffset: 0.025,\r\n// text: {\r\n// root: '#35efaa',\r\n// headings: '#40ffce',\r\n// link: '#c466dc',\r\n// linkHover: '#d491fa'\r\n// },\r\n // Custom theme palettes.\r\n // mfPalette: createThemePaletteBasic({ main: '#0400ff' }, 0.1),\r\n// yourOwnBasicPalette: createThemePaletteBasic({ main: '#00506b' }, 0.1),\r\n// yourOwnElevationPalette: createThemePaletteElevation('#00151d', 0.025)\r\n// }\r\n// ABC3CC pale blue\r\n// 00506b dull-blue https://www.colorhexa.com/00506b\r\n// 0400ff bright-blue\r\n// FFC000 yellow\r\n// {\r\n // primary: { main: '#00f8f8' },\r\n // secondary: { main: '#F8F800' },\r\n // text: { main: '#2CFFFF' },\r\n // neutral: { main: '#021114' },\r\n// }\r\n// palette={{main:\"#00f8f8\",\r\n// dark1:\"#05c6c1\",\r\n// dark2:\"#0b8481\",\r\n// dark3:\"#15333c\",\r\n// light1:\"#3efbfb\",\r\n// light2:\"#7efcf6\",\r\n// light3: \"#befcfe\" \r\n\r\n// animator={{ animate: false }}\r\n// https://arwes.dev/develop/core/\r\n\r\n// // \r\n // \r\n // \r\n // //\r\n // \r\n//","import React, { useCallback } from 'react';\nimport Particles from \"react-tsparticles\";\nimport { loadFull } from \"tsparticles\";\n// import logo from './logo.svg';\nimport './App.css';\n// import particlesOptions from \"./particles.json\";\nimport particlesOptions from \"./particles_blue_lines_hexagon.json\";\n\n// StylesBaseline Breaks canvas\n// All The Frames appear to break the Window 'Port'\n\nimport LinkContainer from './components/LinkContainer'\n\nfunction App() {\n \n const particlesInit = useCallback(main => {\n loadFull(main);\n }, [])\n\n\n return (\n \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"names":["Object","defineProperty","exports","value","AnimatorContext","require","createContext","undefined","displayName","__createBinding","this","create","o","m","k","k2","enumerable","get","__exportStar","p","prototype","hasOwnProperty","call","AnimatorGeneralContext","__assign","assign","t","s","i","n","arguments","length","apply","__setModuleDefault","v","__importStar","mod","__esModule","result","__importDefault","AnimatorGeneralProvider","react_1","prop_types_1","AnimatorGeneralContext_1","props","localSettings","animator","children","parentSettings","useContext","toProvideSettings","useMemo","settings","duration","default","createElement","Provider","propTypes","shape","enter","number","exit","stagger","delay","offset","any","__spreadArrays","il","r","Array","a","j","jl","Animator","constants_1","makeScheduler_1","getChildrenNodesSequenceActivationTimes_1","getChildrenNodesStaggerActivationTimes_1","AnimatorContext_1","useAnimatorGeneral_1","useAnimator_1","DURATION_DEFAULT","freeze","animatorEmptySettings","classInstanceIdCounter","_a","_b","parentAnimatorGeneral","useAnimatorGeneral","parentAnimator","useAnimator","isParentAnimated","animate","root","merge","combine","manager","PARALLEL","instanceId","useState","scheduler","makeScheduler","childrenNodesMap","Map","dynamicDuration","useRef","animateRefs","_persistentAnimatorRef","getPersistentAnimatorRef","current","previousAnimatorRef","createAnimatorRef","providedFlowValue","newFlow","oldAnimatorRef","flow","hasEntered","ENTERED","hasExited","EXITED","_id","setupAnimateRefs","refs","_i","updateDuration","newDynamicDuration","console","error","updateAnimatorRef","_subscribe","id","node","set","_unsubscribe","delete","_c","publicAnimatorRef","_setPublicAnimatorRef","newAnimatorRef","childActivations","generateChildActivations","flowValue","nodes","from","values","nodesToUpdate","ENTERING","filter","getIsMerge","EXITING","totalDuration_1","times","map","Math","max","getDuration","time","SEQUENCE","getChildrenNodesSequenceActivationTimes","STAGGER","getChildrenNodesStaggerActivationTimes","generateActivationsDuration","newFlowValue","_d","animatorRef","durationChangedKey","durationValueDefault","durationValue","setFlowValue","setActivate","activate","duration_1","start","duration_2","useEffect","child","onAnimateMount","stopAll","onAnimateUnmount","_e","_f","_g","onTransition","onAnimateEntering","onAnimateEntered","onAnimateExiting","onAnimateExited","newChildrenActivation_1","forEach","bool","oneOfType","oneOf","func","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","extendAnimator","mergeClassAndInstanceAnimatorSettings_1","extendedClassAnimator","InputComponent","OutputComponent","forwardRef","ref","instanceAnimator","otherProps","resultAnimator","mergeClassAndInstanceAnimatorSettings","componentName","name","filterClassAnimatorSettings","CLASS_ALLOWED_SETTINGS","providedSettings","key","reduce","obj","items","index","nodeDuration","prevItem","parentDuration","accumulatedOffset","normalTime","lastItem","timeouts","stop","clearTimeout","timeout","b","c","callback","setTimeout","filterClassAnimatorSettings_1","providedClassAnimator","newDuration","classAnimator","newAnimatorSettings","withAnimator","Animator_1","AnimatorMiddleware","forwardedRef","componentAnimator","ArwesThemeProvider","react_2","design_1","themeSettings","theme","createTheme","breakpoints","palette","primary","light3","light2","light1","main","dark1","dark2","dark3","secondary","neutral","text","headings","link","linkHover","ThemeProvider","object","Blockquote","css_1","Animated_1","appearTransitions_1","Blockquote_styles_1","className","style","rootRef","useTheme","styles","generateStyles","jsx","cx","css","Animated","bg","animated","initialStyles","opacity","entering","transitionAppear","exiting","transitionDisappear","line","transform","scaleY","content","string","rgba_1","options","space","outline","shadowBlur","defaultPalette","colorPalette","color","colorBg","position","display","margin","marginBottom","border","padding","backgroundColor","left","right","top","bottom","width","height","boxShadow","transformOrigin","paddingLeft","paddingRight","paddingTop","paddingBottom","animation_1","Blockquote_component_1","Button","sounds_1","FrameUnderline_1","Button_styles_1","animatorSettings","FrameComponent","disabled","active","onClick","bleeps","useBleeps","effectsRef","setFlow","as","entered","rootIsTransitioning","hideShapes","hover","event","isEntered","highlight","click","play","isRequired","defaultProps","FrameUnderline","transitionDuration","colorHover","lineHeight","fontSize","textTransform","textDecoration","textShadow","cursor","transition","prop","join","Button_component_1","animejs_1","transitionCard","containerRef","isEntering","durationTransition","container","targets","querySelector","easing","translateX","translateY","querySelectorAll","animatedElements","remove","Card","Text_1","Card_styles_1","image","title","landscape","picture","backgroundImage","src","alt","linePicture","contentBg","header","Text","lineContent","flexDirection","boxSizing","verticalAlign","objectFit","objectPosition","backgroundSize","backgroundPosition","elevate","flex","gridTemplateRows","gridTemplateColumns","minHeight","overflow","marginTop","textAlign","Card_component_1","Card_animator_1","stopBleeps","readout","getIsPlaying","stopCodeBlockAnimation","elements","startCodeBlockAnimation","playBleeps","CodeBlock","CodeBlock_styles_1","lang","contentTextProps","wrap","langBg","lineLang","blink","lineTop","lineBottom","minWidth","zIndex","CodeBlock_component_1","CodeBlock_animator_1","el","classList","contains","skewX","Figure","loadImage_1","LoadingBars_1","Figure_styles_1","fluid","preload","imgProps","descriptionTextProps","loadingProps","isMountedRef","isLoading","setIsLoading","hasError","setHasError","imageURL","isArray","find","breakpointKey","THEME_BREAKPOINTS_KEYS","breakpoint","window","innerWidth","loadImage","catch","then","asset","assetHasError","srcItem","srcSet","media","up","replace","Boolean","reverse","LoadingBars","loading","full","description","descriptionBg","descriptionBg1","descriptionBg2","descriptionBg3","descriptionText","lineA1","lineA2","lineB1","lineB2","Fragment","lineC","lineD","arrayOf","containerPadding","lineWidth","lineShadowBlur","lineColor","lineShadowColor","lineLength","lineMaxLength","descriptionRightAngleWidth","descriptionBgColor","captionSide","maxHeight","maxWidth","Figure_component_1","Figure_animator_1","FrameBox","expandCSSBoxProp_1","useBleepsOnAnimator_1","Frame_1","origins","linesWidths","useBleepsOnAnimator","originsList","expandCSSBoxProp","linesWidthsList","polylines","polyline","scaleAxis","strokeLinecap","Frame","shapes","FrameBox_component_1","FrameCorners","cornerWidth","cornerLength","showContentLines","contentLineWidth","cw","cl","contentPolylines","yAnimated","xAnimated","scaleX","contentLine","cornerPolylines","FrameCorners_component_1","FrameHexagon","squareSize","inverted","polyline1","polyline2","concat","FrameHexagon_component_1","FrameLines","largeLineWidth","smallLineWidth","smallLineLength","hideTopLines","hideBottomLines","llWidth","slWidth","slLength","largePolylines","smallPolylines","FrameLines_component_1","FramePentagon","FramePentagon_component_1","ss","FrameUnderline_component_1","transitionRemoveList","transitionList","progress","List","List_styles_1","asProvided","externalRef","internalRef","useCallback","List_component_1","List_animator_1","LoadingBars_effects_1","startLoadingBarsTransition","stopLoadingBarsTransition","LoadingBars_styles_1","determinate","externalRootRef","size","speed","animationFrameId","internalRootRef","startLoadingBarsUndeterminateAnimation","stopLoadingBarsUndeterminateAnimation","fill","_","item","itemPrimaryActive","cancelAnimationFrame","itemInactive","itemDuration","roundDuration","timeStart","addNextFrame","render","requestAnimationFrame","renderFrame","timestamp","currentRoundDuration","currentPosition","floor","itemSecondaryActive","rootFullStyles","justifyContent","borderStyle","borderColor","borderWidth","LoadingBars_component_1","LoadingBars_animator_1","StylesBaseline","StylesBaseline_styles_1","globalGeneralStyles","createGlobalGeneralStyles","Global","fontScale","highlightedContentBgColor1","highlightedContentBgColor2","highlightedContentBgColor3","WebkitTextSizeAdjust","scrollbarWidth","scrollbarColor","fontWeight","letterSpacing","h1","h2","h3","h4","h5","h6","small","sub","sup","ul","li","fontFamily","pre","blockquote","borderLeft","table","borderCollapse","borderSpacing","thead","tr","borderBottom","tbody","td","img","figure","figcaption","hr","fieldset","WebkitAppearance","option","outlineOffset","font","playTableTransitionBleep","stopTableTransitionBleep","Table","TableRow_1","Table_styles_1","headers","dataset","columnWidths","condensed","TableRow","isHeader","columns","row","propTypeColumns","data","textAnimations_1","transitionRemoveTableRow","tableRow","cell","cellLine","textAnimateRefsCollection","stopTextAnimation","transitionTableRow","cells","cellContainer","cellContent","cellTextAnimationRefs","actualChildrenRef","cloneNode","blinkNode","animationFrame","push","startTextAnimation","TableRow_styles_1","transitionRefs","cellMarginLateral","column","lessMargin","cellWidth","marginRight","whiteSpace","wordBreak","TableRow_component_1","TableRow_animator_1","Table_component_1","Table_animator_1","type","Text_styles_1","FPS_NORMAL_DURATION","providedAs","hasBlink","blinkText","blinkInterval","dynamicDurationFactor","providedRootRef","blinkKeyframes","keyframes","blinkClassName","animation","document","innerHTML","setAttribute","childrenContent","useLayoutEffect","newChildrenTextContent","String","textContent","factor","min","newChildrenContent","isChildrenContentEqual","actualChildren","Text_component_1","Text_animator_1","dynamicStyles","initialAttributes","animationParams_1","animationParams_2","hidePolylines","setSize","observerRef","blurPadding","formatPoint","point","slice","axisSize","trim","split","total","Number","isMinus","startsWith","endsWith","formatPolyline","effects","startOpacity","timeline","add","onResize","offsetWidth","offsetHeight","ResizeObserver","observe","disconnect","stroke","xmlns","viewBox","preserveAspectRatio","d","strokeWidth","vectorEffect","strokeDasharray","strokeDashoffset","setDashoffset","array","params","defaultValue","expansion","y","x","url","Promise","resolve","reject","Image","onerror","onabort","onload","setTextNodesEnteringContentLength","textNodes","texts","newLength","markerLength","textNode","newMarkerLength","currentTextNodeLengthPortion","currentTextNodeText","substring","setTextNodesExitingContentLength","totalLength","currentTextNodeLengthPortionRight","currentTextNodeLengthPortionLeft","walkTextNodes_1","setTextNodesEnteringContentLength_1","setTextNodesExitingContentLength_1","userSelect","removeChild","durationTotal","walkTextNodes","lengthTotal","appendChild","durationProgress","runFrame","lengthNew","round","bleepsOnTransitions","Error","enteringBleep","exitingBleep","childNodes","nodeType","Node","TEXT_NODE","ELEMENT_NODE","THEME_FACTOR_MULTIPLIERS_NAMES","THEME_TRANSITION_DURATION_DEFAULT","THEME_SHADOW_SPREAD_DEFAULT","THEME_SHADOW_BLUR_DEFAULT","THEME_OUTLINE_DEFAULT","THEME_SPACE_DEFAULT","THEME_FONT_SCALE_DEFAULT","THEME_PALETTE_ELEVATION_OFFSET_DEFAULT","THEME_PALETTE_TONAL_OFFSET_DEFAULT","THEME_BREAKPOINTS_DEFAULT","xs","sm","md","lg","xl","createThemeFactorMultiplier","multiplier","createThemePaletteBasic","lighten_1","darken_1","tonalOffset","createThemePaletteElevation","updateColorContrastLuminance_1","elevationOffset","level","updateColorContrastLuminance","createThemeFactorMultiplier_1","getThemeSetup_1","createThemeBreakpoints_1","createThemePalette_1","extendTheme","setup","getThemeSetup","createThemeBreakpoints","createThemePalette","multipliers","multiplierName","getBreakpointValue","isFinite","keys","down","only","lastBreakpointKey","currentBreakpoint","process","nextBreakpointIndex","findIndex","val","nextBreakpointKey","between","end","createThemePaletteBasic_1","createThemePaletteElevation_1","otherFeatures","success","_h","_j","_k","_l","_m","_o","_p","shadowSpread","readableColor_1","BleepsContext","BleepsProvider","BleepsContext_1","createOrUpdateBleeps_1","parentSetup","bleepsGenerics","bleepsSetup","parentAudioCategories","audioSettings","categories","localAudioCategories","audioCategories","categoryName","common","parentPlayersSettings","playersSettings","playerName","parentBleepsSettings","bleepsSettings","createOrUpdateBleeps","bleepsAudioGroupSettingsProps","volume","rate","background","interaction","notification","BLEEPS_CATEGORIES","BLEEPS_NOTIFICATION","BLEEPS_INTERACTION","BLEEPS_TRANSITION","BLEEPS_BACKGROUND","useBleepsSetup","useBleepsSetup_1","instanceIdCounter","bleepName","bleepGeneric","bleep","bleepItem","createBleep","howler_1","playerSettings","lastId","isLocked","Howler","_audioUnlocked","howl","Howl","onunlock","sourcesAccount","_settings","_howl","state","load","newId","noActiveSources","loop","playing","unload","createBleep_1","updateBleep_1","unloadBleep_1","unloadBleeps_1","providedBleeps","unloadBleeps","bleepSettings","bleepCategory","category","audioCategorySettings","processedAudioSettings","unloadBleep","player","hasBleepUpdatedSrc","hasBleepUpdatedFormat","format","updateBleep","StyleSheet","_this","_insertTag","tag","before","tags","insertionPoint","nextSibling","prepend","firstChild","insertBefore","isSpeedy","speedy","ctr","nonce","_proto","hydrate","insert","rule","createTextNode","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","flush","parentNode","abs","fromCharCode","pattern","replacement","indexof","search","charat","charCodeAt","substr","begin","strlen","sizeof","append","character","characters","parent","return","copy","prev","next","peek","caret","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","KEYFRAMES","serialize","output","stringify","element","prefix","hash","compile","parse","rules","rulesets","pseudo","points","declarations","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","z","identifierWithPointTracking","getRules","parsed","toRules","fixedElements","WeakMap","compat","isImplicitRule","parentRules","removeLabel","defaultStylisPlugins","exec","match","ssrStyles","getAttribute","head","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","currentSheet","finalizingPlugins","serializer","collection","middleware","selector","serialized","shouldCache","cache","registered","insertWithoutScoping","registeredStyles","rawClassName","getRegisteredStyles","classnames","args","cls","arg","toAdd","createCache","_len","_key","serializeStyles","insertStyles","_len4","_key4","injectGlobal","_len3","_key3","_len2","_key2","ids","bind","_createEmotion","createEmotion","_extends","target","source","has","ret","targetComponent","sourceComponent","hoistNonReactStatics$1","EmotionCacheContext","HTMLElement","CacheProvider","__unsafe_useEmotionCache","withEmotionCache","ThemeContext","createCacheWithTheme","weakMemoize","outerTheme","getTheme","withTheme","Component","WithTheme","hoistNonReactStatics","useInsertionEffect","React","useInsertionEffectMaybe","typePropName","createEmotionProps","newProps","Insertion","_ref","isStringTag","registerStyles","Emotion","cssProp","WrappedComponent","argsLength","createElementArgArray","sheetRef","constructor","rehydrating","sheetRefCurrent","nextElementSibling","insertable","anim","toString","len","serializedArr","ClassNames","ele","str","h","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","order","orphans","tabSize","widows","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","fn","memoize","styleName","toLowerCase","processStyleValue","p1","p2","unitless","handleInterpolation","mergedProps","interpolation","__emotion_styles","interpolated","createStringFromObject","previousCursor","cached","labelPattern","stringMode","strings","raw","lastIndex","identifierName","hashString","classNames","defaultInstanceSettings","update","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","direction","autoplay","timelineOffset","defaultTweenSettings","endDelay","validTransforms","CSS","springs","minMax","stringContains","applyArguments","is","arr","pth","svg","SVGElement","inp","HTMLInputElement","dom","fnc","und","nil","hex","test","rgb","hsl","col","parseEasingParameters","parseFloat","spring","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","solver","exp","cos","sin","frame","elapsed","rest","steps","ceil","bezier","kSampleStepSize","A","aA1","aA2","B","C","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","penner","eases","linear","functionEasings","Sine","PI","Circ","Back","Bounce","pow2","pow","Elastic","amplitude","period","asin","easeIn","parseEasings","ease","selectString","filterArray","thisArg","flattenArray","toArray","NodeList","HTMLCollection","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","colorToRgb","rgbValue","rgbToRgba","hexValue","g","parseInt","hexToRgba","hslValue","l","hue2rgb","q","hslToRgba","getUnit","getFunctionValue","animatable","convertPxToUnit","unit","tempEl","tagName","parentEl","body","convertedUnit","getCSSValue","uppercasePropName","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","reg","transforms","getTransformValue","propName","defaultVal","getTransformUnit","list","getOriginalTargetValue","getRelativeValue","to","operator","u","validateValue","originalUnit","unitLess","getDistance","getPolylineLength","previousPos","numberOfItems","currentPos","getItem","getTotalLength","getCircleLength","getRectLength","getLineLength","getPolygonLength","getParentSvg","pathEl","svgData","parentSvgEl","getParentSvgEl","rect","getBoundingClientRect","viewBoxAttr","w","vW","vH","getPathProgress","path","isPathTargetInsideSVG","getPointAtLength","p0","atan2","decomposeValue","rgx","original","numbers","parseTargets","pos","self","getAnimatables","normalizePropertyTweens","tweenSettings","propArray","getProperties","properties","propertyNames","newKey","flattenKeyframes","tweens","normalizeTweens","previousTween","tween","normalizeTweenValues","tweenValue","toUnit","originalValue","previousValue","fromUnit","isPath","isColor","setProgressValue","attribute","manual","last","setTargetsValue","valueUnit","animType","getAnimations","animatables","lastTween","createAnimation","getInstanceTimings","animations","animLength","getTlOffset","timings","instanceID","activeInstances","engine","raf","step","activeInstancesLength","activeInstance","paused","splice","tick","addEventListener","anime","suspendWhenDocumentHidden","isDocumentHidden","instance","_onDocumentVisibility","hidden","startTime","lastTime","now","childrenLength","makePromise","promise","_resolve","finished","instanceSettings","createNewInstance","toggleInstanceDirection","reversed","adjustTime","resetTime","currentTime","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","isNaN","toNumbersLength","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","i$1","syncInstanceChildren","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","restart","removeTargetsFromInstance","removeTargetsFromAnimations","targetsArray","childAnimations","version","running","convertPx","percent","pathLength","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","maxValue","fromX","fromY","distanceX","distanceY","tl","instanceParams","tlIndex","ins","insParams","tlDuration","random","module","equal","RegExp","flags","valueOf","$$typeof","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","getOwnPropertyNames","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","Symbol","for","f","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","HowlerGlobal","init","_counter","_html5AudioPool","html5PoolSize","_codecs","_howls","_muted","_volume","_canPlayEvent","_navigator","navigator","masterGain","noAudio","usingWebAudio","autoSuspend","ctx","autoUnlock","_setup","vol","setupAudioContext","gain","setValueAtTime","_webAudio","_getSoundIds","sound","_soundById","_node","mute","muted","close","codecs","ext","_autoSuspend","Audio","oncanplaythrough","_setupCodecs","audioTest","err","canPlayType","mpegTest","ua","userAgent","checkOpera","isOldOpera","checkSafari","safariVersion","isOldSafari","mp3","mpeg","opus","ogg","oga","wav","aac","caf","m4a","m4b","mp4","weba","webm","dolby","flac","_unlockAudio","_mobileUnloaded","sampleRate","_scratchBuffer","createBuffer","unlock","audioNode","_unlocked","_releaseHtml5Audio","_autoResume","createBufferSource","buffer","connect","destination","noteOn","resume","onended","removeEventListener","_emit","_obtainHtml5Audio","pop","testPlay","warn","audio","suspend","_sounds","_paused","_suspendTimer","handleSuspension","_resumeAfterSuspend","_autoplay","_format","_html5","html5","_loop","_pool","pool","_preload","_rate","_sprite","sprite","_src","_xhr","method","xhr","withCredentials","_duration","_state","_endTimers","_queue","_playLock","_onend","onend","_onfade","onfade","_onload","_onloaderror","onloaderror","_onplayerror","onplayerror","_onpause","onpause","_onplay","onplay","_onstop","onstop","_onmute","onmute","_onvolume","onvolume","_onrate","onrate","_onseek","onseek","_onunlock","_onresume","action","location","protocol","Sound","loadBuffer","internal","num","_ended","_inactiveSound","soundId","_loadQueue","_seek","setParams","_start","_stop","playWebAudio","_refreshBuffer","_playStart","bufferSource","noteGrainOn","Infinity","once","_clearTimer","playHtml5","playbackRate","loadedNoReadyState","ejecta","readyState","isCocoonJS","listener","_rateSeek","_stopFade","noteOff","_cleanBuffer","_clearSound","_interval","fade","linearRampToValueAtTime","_startFadeInterval","isGroup","diff","stepLen","lastTick","Date","_fadeTo","setInterval","clearInterval","cancelScheduledValues","loopStart","loopEnd","realTime","rateSeek","seekAndEmit","emitSeek","sounds","_errorFn","_loadFn","_endFn","remCache","on","events","off","isId","msg","task","shift","ended","_drain","limit","cnt","_panner","isIOS","vendor","_parent","createGain","createGainNode","_errorListener","_loadListener","_endListener","code","__default","loadSound","atob","dataView","Uint8Array","decodeAudioData","XMLHttpRequest","open","responseType","setRequestHeader","status","response","safeXhrSend","send","arraybuffer","AudioContext","webkitAudioContext","iOS","platform","appVersion","safari","global","_super","_pos","_orientation","stereo","pan","positionX","setTargetAtTime","positionY","positionZ","setPosition","orientation","xUp","yUp","zUp","or","forwardX","forwardY","forwardZ","upX","upY","upZ","setOrientation","_stereo","_pannerAttr","coneInnerAngle","coneOuterAngle","coneOuterGain","distanceModel","maxDistance","panningModel","refDistance","rolloffFactor","_onstereo","onstereo","_onpos","onpos","_onorientation","onorientation","pannerType","createStereoPanner","setupPanner","orientationX","orientationY","orientationZ","pannerAttr","_coneInnerAngle","_coneOuterAngle","_coneOuterGain","_distanceModel","_maxDistance","_refDistance","_rolloffFactor","_panningModel","pa","panner","createPanner","propIsEnumerable","toObject","TypeError","test1","test2","test3","letter","shouldUseNative","symbols","_curry","_interopRequireDefault","_guard","_parseToHsl","_toColorString","darken","amount","hslColor","lightness","_default","color1","color2","luminance1","_getLuminance","luminance2","toFixed","rgbColor","_parseToRgb","_Object$keys$map","channel","saturation","_hslToHex","hue","_errors","alpha","_hslToRgb","lighten","_rgbToHsl","normalizedColor","_nameToHex","hexRegex","red","green","blue","hexRgbaRegex","reducedHexRegex","reducedRgbaHexRegex","_alpha","rgbMatched","rgbRegex","rgbaMatched","rgbaRegex","hslMatched","hslRegex","rgbColorString","hslRgbMatched","hslaMatched","hslaRegex","_hue","_saturation","_lightness","_rgbColorString","_hslRgbMatched","returnIfLightColor","returnIfDarkColor","strict","defaultReturnIfLightColor","defaultReturnIfDarkColor","isColorLight","preferredReturnColor","_getContrast","_reduceHexValue","_numberToHex","firstValue","secondValue","thirdValue","fourthValue","_rgb","isRgba","_rgba","isRgb","isHsla","_hsla","isHsl","_hsl","curried","acc","combined","_wrapNativeSuper","Class","_cache","Function","Wrapper","_construct","_getPrototypeOf","writable","configurable","_setPrototypeOf","Parent","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","setPrototypeOf","__proto__","PolishedError","_Error","subClass","superClass","ReferenceError","_assertThisInitialized","lowerBoundary","upperBoundary","colorToHex","convertToHex","colorToInt","convertToInt","convert","huePrime","chroma","secondComponent","lightnessModification","namedColorMap","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","normalizedColorName","delta","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propFullName","secret","getShim","ReactPropTypes","bigint","symbol","elementType","instanceOf","objectOf","exact","checkPropTypes","PropTypes","aa","encodeURIComponent","ba","Set","ca","da","ea","fa","ha","ia","ja","ka","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","D","oa","toUpperCase","qa","ma","na","la","removeAttribute","setAttributeNS","xlinkHref","ra","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","sa","ta","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","E","Ma","Ka","iterator","La","Na","stack","Oa","Pa","prepareStackTrace","Qa","_render","Ra","_context","_payload","_init","Sa","Ta","nodeName","Va","_valueTracker","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","ownerDocument","eb","Children","db","fb","selected","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","lb","mb","nb","ob","namespaceURI","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeValue","qb","gridArea","lineClamp","rb","sb","tb","setProperty","charAt","ub","menuitem","area","base","br","embed","input","keygen","meta","param","track","wbr","vb","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","$b","memoizedState","dehydrated","ac","cc","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","priority","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","F","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","log","LN2","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","ld","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","stopPropagation","cancelBubble","persist","isPersistent","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","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","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","repeat","locale","which","Rd","Td","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","date","datetime","email","month","password","range","tel","week","me","ne","oe","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","Le","Me","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","href","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","G","$e","af","bf","cf","df","capture","passive","Nb","ef","ff","parentWindow","gf","hf","J","K","Q","L","je","char","ke","unshift","jf","kf","lf","mf","autoFocus","nf","__html","of","pf","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","H","I","Cf","M","N","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","cg","dg","O","eg","fg","gg","hg","ig","jg","kg","ReactCurrentBatchConfig","mg","ng","og","pg","qg","rg","_currentValue","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","context","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","isMounted","_reactInternals","enqueueSetState","Hg","Ig","Jg","enqueueReplaceState","enqueueForceUpdate","Lg","shouldComponentUpdate","isPureReactComponent","Mg","updater","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Pg","Qg","_owner","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","mode","Vg","implementation","Wg","Xg","done","Yg","Zg","$g","ah","bh","ch","dh","eh","documentElement","fh","gh","hh","P","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","ReactCurrentDispatcher","wh","xh","R","S","T","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","queue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","U","getSnapshot","subscribe","setSnapshot","Oh","Ph","Qh","Rh","destroy","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useImperativeHandle","useReducer","useDebugValue","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","ReactCurrentOwner","fi","gi","hi","ii","ji","ki","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","ri","pendingContext","Bi","Di","Ei","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onclick","createElementNS","V","Hi","Ii","W","Ji","Ki","Li","Mi","message","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","focus","aj","bj","onCommitFiberUnmount","componentWillUnmount","cj","dj","ej","fj","gj","hj","_reactRootContainer","ij","jj","kj","lj","mj","nj","oj","pj","X","Y","qj","rj","sj","tj","uj","vj","wj","ck","Z","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","extend","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","onCommitFiberRoot","fk","gk","ik","isReactComponent","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","ok","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","hk","_calculateChangedBits","unstable_observedBits","unmount","JSON","form","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","__REACT_DEVTOOLS_GLOBAL_HOOK__","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","asyncIterator","toStringTag","_invoke","delegate","sent","_sent","dispatchException","abrupt","__await","resultName","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","isGeneratorFunction","mark","awrap","AsyncIterator","async","rval","finish","delegateYield","regeneratorRuntime","Particles","throw","library","setState","refresh","tsParticles","loadParticles","canvasClassName","loaded","loadJSON","t0","ReactParticles","__self","__source","jsxs","forceUpdate","escape","_status","_result","IsSomeRendererActing","PureComponent","cloneElement","_currentValue2","_threadCount","Consumer","createFactory","createRef","isValidElement","lazy","memo","performance","MessageChannel","unstable_forceFrameRate","port2","port1","onmessage","postMessage","sortIndex","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","_EventDispatcher_listeners","__classPrivateFieldSet","receiver","kind","__classPrivateFieldGet","EventDispatcher","idx","handler","Vector","xOrCoords","angle","updateFromAngle","getLengthSq","clamp","mix","comp1","comp2","weight1","weight2","randomInRange","getRangeMax","getRangeMin","getRangeValue","setRangeValue","enable","minimumValue","getDistances","pointA","pointB","dx","dy","distance","getParticleDirectionAngle","center","getParticleBaseVelocity","baseVelocity","origin","collisionVelocity","v1","v2","m1","m2","calcEasing","c1","calcPositionFromSize","calcPositionOrRandomFromSize","calcPositionOrRandomFromSizeRanged","calcExactPositionOrRandomFromSize","calcExactPositionOrRandomFromSizeRanged","_Options_instances","_Options_engine","_Options_findDefaultTheme","OptionsColor","Background","BackgroundMaskCover","BackgroundMask","composite","cover","FullScreen","ClickEvent","DivEvent","selectors","elementId","Parallax","force","smooth","HoverEvent","parallax","onDiv","onHover","resize","ondiv","div","tmp","onhover","Attract","maxSpeed","BubbleBase","BubbleDiv","Bubble","divs","ConnectLinks","Connect","links","radius","lineLinked","line_linked","GrabLinks","consent","Grab","LightGradient","LightArea","gradient","LightShadow","Light","shadow","Push","groups","quantity","particles_nb","Remove","RepulseBase","RepulseDiv","Repulse","Slow","_value","Trail","pauseOnStop","particles","deepExtend","Modes","attract","bounce","bubble","grab","light","repulse","slow","trail","Interactivity","detectsOn","modes","detect_on","ManualParticle","MotionReduce","Motion","disable","Responsive","ThemeDefault","auto","Theme","Options","autoPlay","backgroundMask","fullScreen","detectRetina","fpsLimit","interactivity","manualParticles","motion","loadParticlesOptions","pauseOnBlur","pauseOnOutsideViewport","responsive","themes","zLayers","preset","importPreset","retina_detect","fps_limit","backgroundMode","plugins","loadOptions","optResponsive","sort","optTheme","defaultDarkTheme","defaultLightTheme","chosenTheme","mediaMatch","matchMedia","clientDarkMode","matches","defaultTheme","pxRatio","defaultOptions","responsiveOptions","screen","availWidth","getPreset","ColorAnimation","sync","HslAnimation","AnimatableColor","colorAnimation","AnimatableGradient","GradientAngle","colors","AnimatableGradientColor","GradientAngleAnimation","GradientColorOpacity","GradientColorOpacityAnimation","startValue","CollisionsOverlap","retries","Random","ValueWithRandom","ParticlesBounceFactor","ParticlesBounce","horizontal","vertical","Collisions","overlap","SplitFactor","SplitRate","Split","sizeOffset","Destroy","LifeDelay","LifeDuration","Life","LinksShadow","blur","LinksTriangle","frequency","Links","triangles","warp","MoveAngle","MoveAttract","rotate","rotateX","rotateY","MoveGravity","acceleration","inverse","MovePathDelay","MovePath","generator","MoveTrail","fillColor","OutModes","Spin","Move","decay","drift","gravity","outModes","spin","straight","vibrate","collisions","outMode","out_mode","noise","AnimationOptions","OpacityAnimation","opacity_min","Opacity","OrbitRotation","Orbit","rotation","ParticlesDensity","value_area","ParticlesNumber","density","ParticlesRepulse","enabled","RollLight","Roll","enlighten","backColor","RotateAnimation","Rotate","Shadow","Shape","custom","loadShape","polygon","images","mainKey","altOverride","SizeAnimation","size_min","Size","Stroke","TiltAnimation","Tilt","TwinkleValues","Twinkle","lines","Wobble","ZIndex","opacityRate","sizeRate","velocityRate","ParticlesOptions","life","move","orbit","reduceDuplicates","roll","tilt","twinkle","wobble","group","strokeToLoad","gradientToLoad","rectSideBounce","pSide","pOtherSide","rectSide","rectOtherSide","res","bounced","checkSelector","isSsr","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","cancelAnimation","handle","webkitCancelRequestAnimationFrame","mozCancelRequestAnimationFrame","oCancelRequestAnimationFrame","msCancelRequestAnimationFrame","isInArray","loadFont","weight","fonts","arrayRandomIndex","itemFromArray","useIndex","fixedIndex","isPointInside","areBoundsInside","calculateBounds","bounds","inside","sources","sourceIsArray","isObject","destDict","isDivModeEnabled","divModeExecute","divMode","singleDivModeExecute","circleBounceDataFromParticle","getPosition","getRadius","getMass","circleBounce","xVelocityDiff","yVelocityDiff","xDist","yDist","u1","u2","vFinal1","vFinal2","rectBounce","particle","divBounds","resH","resV","sourceOptionsArr","sourceOptions","loadContainerOptions","generatedAttribute","randomColorValue","midColorValue","touchEndEvent","mouseDownEvent","mouseUpEvent","mouseMoveEvent","touchStartEvent","touchMoveEvent","mouseLeaveEvent","mouseOutEvent","touchCancelEvent","resizeEvent","visibilityChangeEvent","noPolygonDataLoaded","noPolygonFound","tCalc","stringToRgba","hslaToRgba","hsvaToRgba","hexFixed","getRandomRgbColor","stringToRgb","colorSelected","colorValue","hslToRgb","hsvColor","hsv","hsvToRgb","colorToHsl","rgbToHsl","r1","g1","b1","stringToAlpha","hslPercent","hsla","rgbResult","hslToHsv","sv","hslaToHsva","hsvResult","hsvToHsl","sl","hsvaToHsla","hsva","hslResult","tempRgb","hsvPercent","rgbToHsv","rgbPercent","xMax","rgbaToHsva","rgba","fixedMin","getStyleFromRgb","getStyleFromHsl","getStyleFromHsv","colorMix","size1","size2","rgb1","rgb2","getLinkColor","linkColor","sourceColor","getFillColor","getStrokeColor","destColor","getLinkRandomColor","optColor","getHslFromAnimation","getHslAnimationFromHsl","animationOptions","reduceFactor","resColor","setColorAnimation","drawLine","beginPath","moveTo","lineTo","closePath","drawTriangle","p3","paintBase","dimension","baseColor","save","fillStyle","fillRect","restore","clear","clearRect","drawConnectLine","lineStyle","strokeStyle","gradStop","sourcePos","destPos","midRgb","grad","createLinearGradient","addColorStop","drawGrabLine","colorLine","drawParticle","colorStyles","tiltOptions","rollOptions","rollHorizontal","rollVertical","setTransform","cosDirection","sinDirection","translate","globalCompositeOperation","shadowColor","shadowOffsetX","shadowOffsetY","drawShape","drawShapeAfterEffect","drawer","drawers","draw","retina","pixelRatio","afterEffect","drawPlugin","plugin","drawParticlePlugin","drawEllipse","fillColorValue","rotationRadian","ellipse","alterHsl","Canvas","generatedCanvas","initStyle","initCover","initTrail","initBackground","paint","canvas","originalStyle","getContext","actualOptions","coverColorStyle","trailFillColor","needsRefresh","updateActualOptions","setDensity","newSize","oldSize","started","resizeFactor","pos1","pos2","linksWidth","mousePos","beginPos","spawning","destroyed","pfColor","psColor","getPluginParticleColors","fColor","sColor","zIndexOptions","zOpacityFactor","zIndexFactor","zOpacity","zStrokeOpacity","zSizeFactor","updaters","beforeDraw","getColorStyles","afterDraw","elementStyle","backgroundRepeat","coverRgb","coverColor","particleFillColor","particleStrokeColor","connectOptions","manageListener","addOptions","removeOptions","_InteractionManager_engine","EventListeners","canPush","mouseMoveHandler","mouseTouchMove","touchStartHandler","touchMoveHandler","touchEndHandler","mouseTouchFinish","mouseLeaveHandler","touchCancelHandler","touchEndClickHandler","mouseTouchClick","mouseUpHandler","mouseDownHandler","mouseDown","visibilityChangeHandler","handleVisibilityChange","themeChangeHandler","handleThemeChange","oldThemeChangeHandler","resizeHandler","handleWindowResize","manageListeners","detectType","mouseLeaveTmpEvent","canvasEl","parentElement","addListener","removeListener","interactivityEl","html","pointerEvents","resizeObserver","unobserve","entries","resizeTimeout","windowResize","pageHidden","getAnimationStatus","mouse","clicking","downPosition","mouseEvent","clientRect","sourceRect","targetRect","canvasRect","offsetX","offsetY","touchEvent","lastTouch","clickPosition","handled","mousePosition","clickPositionValid","doMouseTouchClick","clickTime","getTime","handleClickMode","themeName","loadTheme","FrameManager","lastFrameTime","deltaValue","lifeTime","InteractionManager","externalInteractors","particleInteractors","interactors","getInteractors","interactor","isEnabled","interact","_Particle_engine","Vector3d","v3d","fixOutMode","checkModes","coord","maxCoord","setCb","Particle","overrideOptions","lastPathTime","unbreakable","splitCount","misplaced","outType","ignoresResizeRatio","particlesOptions","shapeType","overrideShapeType","shapeOptions","shapeData","loadShapeData","pathDelay","zIndexValue","initParticle","sizeOptions","sizeRange","loops","maxLoops","sizeAnimation","sizeAnimationSpeed","inRange","calcPosition","initialPosition","canvasSize","moveCenterPerc","moveCenter","initialVelocity","calculateVelocity","moveDecay","gravityOptions","needsSort","lastZIndex","sides","getShapeDrawer","sideCountFunc","getSidesCount","loadLife","movers","mover","particleInit","particleCreated","isInsideCanvas","alter","backFactor","backSum","strokeColor","override","particleDestroyed","splitOptions","addSplitParticle","tryCount","pluginPos","particlePosition","exactPosition","fixHorizontal","fixVertical","checkOverlap","collisionsOptions","overlapOptions","overlaps","moveOptions","rad","radOffset","lifeOptions","delayTime","_Particles_engine","Point","Range","Circle","circle","edges","Rectangle","intersects","w2","CircleWarp","posNE","posSE","posSW","newPos","biggerCircle","rectSW","QuadTree","rectangle","capacity","divided","subdivide","northEast","northWest","southEast","southWest","query","containerOrSize","found","nextId","zArray","freqs","interactionManager","linksColors","quadTree","getMovers","getUpdaters","particlesInitialization","addManualParticles","groupOptions","addParticle","pathGenerator","deleted","zIdx","dispatchEvent","removeAt","particlesToDelete","particleUpdate","externalInteract","particlesInteract","pushing","countToRemove","removeQuantity","pushParticle","id1","id2","id3","applyDensity","manualCount","numberOptions","densityFactor","initDensityFactor","optParticlesNumber","optParticlesLimit","particlesNumber","particlesCount","densityOptions","initializer","canAdd","_Container_engine","Retina","devicePixelRatio","motionOptions","mediaQuery","handleMotionChange","handleChange","ratio","attractDistance","linksDistance","connectModeDistance","connectModeRadius","grabModeDistance","repulseModeDistance","bounceModeDistance","attractModeDistance","slowModeRadius","bubbleModeDistance","bubbleModeSize","moveDistance","moveDrift","moveSpeed","Container","firstStart","_sourceOptions","_initialSourceOptions","generate","_options","eventListeners","IntersectionObserver","intersectionObserver","intersectionManager","needsUpdate","drawAnimationFrame","refreshTime","nextFrame","noiseOrGenerator","setPath","pathOrGenerator","oldGenerator","exportImage","quality","toBlob","removeListeners","grabLineColor","linksColor","currentTheme","addListeners","startAsync","clickOrTouchHandler","posRetina","queryCircle","touched","touchMoved","radiusX","radiusY","newMaxWidth","setResponsive","setTheme","responsiveMaxWidth","getSupportedShapes","availablePlugins","getAvailablePlugins","initAsync","pathOptions","getPathGenerator","particlesSetup","entry","isIntersecting","_Loader_engine","Loader","domArray","tagId","domContainer","getElementById","currentOptions","oldIndex","old","domItem","existingCanvases","getElementsByTagName","newItem","loadCanvas","jsonUrl","fetch","statusCode","json","loadRemoteOptions","newIndex","addClickHandler","eventDispatcher","_Plugins_engine","Plugins","interactorsInitializers","moversInitializers","updatersInitializers","presets","pathGenerators","getPlugin","needsPlugin","presetKey","initInteractor","initUpdater","initMover","_Engine_initialized","_Engine_loader","Engine","pathConfigJson","setJSON","setOnClickHandler","customDrawer","addShapeDrawer","addPreset","addPlugin","addPathGenerator","interactorInitializer","addInteractor","moverInitializer","addParticleMover","updaterInitializer","addParticleUpdater","ExternalInteractorBase","ParticlesInteractorBase","_arrayLikeToArray","arr2","asyncGeneratorStep","gen","_next","_throw","info","_asyncToGenerator","_classCallCheck","Constructor","_defineProperties","_createClass","protoProps","staticProps","_createForOfIteratorHelper","allowArrayLike","it","normalCompletion","didErr","_e2","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_superPropBase","_get","desc","_inherits","_regeneratorRuntime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","doneResult","delegateResult","maybeInvokeDelegate","ContinueSentinel","record","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","PromiseImpl","invoke","unwrapped","previousPromise","callInvokeWithMethodAndArg","pushTryEntry","locs","resetTryEntry","iterable","iteratorMethod","genFun","ctor","iter","skipTempReset","rootRecord","exception","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","_slicedToArray","_s","_arr","_n","unsupportedIterableToArray","_toConsumableArray","arrayLikeToArray","_typeof","_unsupportedIterableToArray","minLen","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","leafPrototypes","ns","def","definition","chunkId","all","promises","miniCssF","globalThis","inProgress","dataWebpackPrefix","script","needAttach","scripts","charset","onScriptComplete","doneFns","installedChunks","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","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","absorberOptions","absorber","modeAbsorbers","absorbersModeOptions","absorbersOptions","aPosition","AbsorbersPlugin","optionsCast","loadAbsorbersPlugin","_EmitterInstance_firstSpawn","_EmitterInstance_startParticlesAdded","_EmitterInstance_engine","CircleShape","theta","randomTheta","atan","generateTheta","maxRadius","randomRadius","EmitterLife","wait","EmitterRate","EmitterSize","Emitter","startCount","domId","spawnColor","EmitterInstance","emitters","currentDuration","currentEmitDelay","currentSpawnDelay","spawnDelay","emitterShapeManager","getShape","lifeCount","immortal","emitter","emitDelay","prepareToDie","emitParticles","emit","elRect","removeEmitter","getSize","hslAnimation","pPosition","randomPosition","initValue","colorOffset","emitFactor","_Emitters_engine","Emitters","interactivityEmitters","getEmitter","addEmitter","playEmitter","externalPlay","pauseEmitter","externalPause","emitterOptions","modeEmitters","emitterModeOptions","emittersOptions","ePosition","_ShapeManager_engine","ShapeManager","randomSquareCoordinate","_EmittersPlugin_engine","SquareShape","halfW","halfH","side","EmittersPlugin","loadEmittersPlugin","addEmitterShape","addShape","TrailMaker","trailOptions","optDelay","canEmit","lastPosition","loadExternalTrailInteraction","PolygonMaskDrawStroke","PolygonMaskDraw","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","polygonMaskOptions","initRawData","redrawTimeout","redraw","paths","drawPoints","randomPoint","polygonBounce","checkInsidePolygon","polygonDraw","path2d","path2dSupported","_delta","closest","dist","mult","xml","forceDownload","doc","DOMParser","parseFromString","svgPaths","segments","pathSegList","segment","svgPathSeg","SVGPathSeg","pathSegType","PATHSEG_MOVETO_ABS","PATHSEG_LINETO_ABS","PATHSEG_CURVETO_CUBIC_ABS","PATHSEG_CURVETO_QUADRATIC_ABS","PATHSEG_ARC_ABS","PATHSEG_CURVETO_CUBIC_SMOOTH_ABS","PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS","absSeg","PATHSEG_LINETO_HORIZONTAL_ABS","PATHSEG_LINETO_VERTICAL_ABS","PATHSEG_LINETO_REL","PATHSEG_MOVETO_REL","PATHSEG_CURVETO_CUBIC_REL","PATHSEG_CURVETO_QUADRATIC_REL","PATHSEG_ARC_REL","PATHSEG_CURVETO_CUBIC_SMOOTH_REL","PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL","relSeg","PATHSEG_LINETO_HORIZONTAL_REL","PATHSEG_LINETO_VERTICAL_REL","PATHSEG_UNKNOWN","PATHSEG_CLOSEPATH","parsePaths","svgUrl","req","parseSvgPath","getRandomPoint","getRandomPointByLength","getEquidistantPointByIndex","getPointByIndex","coords","tot","pathDistance","pathData","matrix","createSVGMatrix","finalPath","addPath","downloadSvgPath","createPath2D","_PolygonMaskPlugin_engine","PolygonMaskPlugin","polygonOptions","loadPolygonMaskPlugin","RollUpdater","rollOpt","alterType","updateRoll","loadRollUpdater","initPjs","particlesJS","pJSDom","AngleUpdater","rotateOptions","rotateDirection","rotateAnimation","updateAngle","loadAngleUpdater","BaseMover","spinOptions","spinPos","spinCenter","spinAcceleration","particleOptions","slowFactor","particlePos","getProximitySpeedFactor","baseSpeed","maxSize","applyPath","gravityFactor","zVelocityFactor","maxCanvasSize","dxFixed","dyFixed","hDistance","vDistance","vel","applyDistance","loadBaseMover","addMover","CircleDrawer","loadCircleShape","updateColorValue","valueAnimation","decrease","ColorUpdater","updateColor","loadColorUpdater","Attractor","hoverMode","clickMode","mouseMoveStatus","hoverEnabled","clickEnabled","hoverAttract","clickAttract","attractRadius","processAttract","attractOptions","attractFactor","normVec","loadExternalAttractInteraction","Bouncer","processMouseBounce","singleSelectorBounce","tolerance","processBounce","elem","offsetLeft","offsetTop","loadExternalBounceInteraction","calculateBubbleValue","particleValue","modeValue","optionsValue","Bubbler","divBubble","hoverBubble","clickBubble","singleSelectorHover","repulseRadius","hoverBubbleSize","hoverBubbleOpacity","hoverBubbleColor","distMouse","timeSpent","bubbleParam","bubbleObj","optValue","bubbleDuration","bubbleDistance","particlesParam","particlesObj","pObjBubble","pObj","durationEnd","mouseClickPos","sizeData","opacityData","pointDistance","modeSize","optSize","modeOpacity","optOpacity","bubbleOptions","finalColor","modeColor","bubbleColor","pColor","loadExternalBubbleInteraction","Connector","distMax","xDiff","yDiff","loadExternalConnectInteraction","Grabber","grabLineOptions","lineOpacity","opacityLine","linksOptions","loadExternalGrabInteraction","Pauser","loadExternalPauseInteraction","Pusher","pushNb","pushOptions","loadExternalPushInteraction","Remover","removeNb","loadExternalRemoveInteraction","Repulser","divRepulse","hoverRepulse","clickRepulse","singleSelectorRepulse","processRepulse","repulseOptions","repulseFactor","repulseDistance","vect","loadExternalRepulseInteraction","currentColorRegex","downloadSvgImage","replaceImageColor","imageData","svgColoredData","imageShape","colorStyle","includes","preFillIndex","replaceColorSvg","Blob","domUrl","URL","webkitURL","createObjectURL","imageRes","replaceColor","replace_color","pImage","revokeObjectURL","img2","_ImageDrawer_images","ImageDrawer","containerImages","getImages","globalAlpha","drawImage","loadImageShape","addImage","imageFunc","imageDrawer","LifeUpdater","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","loadParticlesCollisionsInteraction","getLinkDistance","optDistance","pos2NE","pos2SE","pos2SW","Linker","linkOpt1","linkOpt2","setColor","loadInteraction","LinkInstance","linkParticle","pOptions","p1Links","getLinkFrequency","vertices","vertex","getTriangleFrequency","drawLinkTriangle","drawLinkLine","link1","link2","triangleOptions","opacityTriangle","pos3","colorTriangle","twinkleFreq","twinkleRgb","drawn","pi1","pi2","endNE","d1","endSW","d2","endSE","d3","LinksPlugin","loadPlugin","loadParticlesLinksInteraction","PolygonDrawerBase","nb_sides","getCenter","getSidesData","sideCount","numerator","denominator","decimalSides","interiorAngleDegrees","interiorAngle","PolygonDrawer","TriangleDrawer","loadGenericPolygonShape","loadTriangleShape","loadPolygonShape","SizeUpdater","sizeVelocity","updateSize","loadSizeUpdater","fixFactor","SquareDrawer","loadSquareShape","StarDrawer","star","inset","loadStarShape","StrokeColorUpdater","strokeHslColor","updateStrokeColor","loadStrokeColorUpdater","validTypes","TextDrawer","charShape","allSettled","textData","textParticle","randomIndexData","fillText","strokeText","loadTextShape","loadSlim","TiltUpdater","tiltDirection","tiltAnimation","updateTilt","loadTiltUpdater","TwinkleUpdater","twinkling","twinklingOpacity","twinkleStyle","needsTwinkle","loadTwinkleUpdater","WobbleUpdater","wobbleOpt","wobbleDistance","updateWobble","loadWobbleUpdater","textColor","mfPalette","twitchPalette","linkedinPalette","twitterPalette","rel","particlesInit","loadFull","hostname","ReactDOM","serviceWorker","ready","registration","unregister"],"sourceRoot":""}