@tsparticles/confetti 4.0.0-alpha.21 → 4.0.0-alpha.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/1416.min.js +1 -1
  2. package/2106.min.js +1 -1
  3. package/2129.min.js +1 -1
  4. package/2833.min.js +1 -1
  5. package/3071.min.js +1 -1
  6. package/3111.min.js +1 -0
  7. package/3139.min.js +1 -1
  8. package/3576.min.js +1 -1
  9. package/3611.min.js +1 -0
  10. package/3939.min.js +1 -1
  11. package/411.min.js +1 -1
  12. package/4894.min.js +1 -1
  13. package/5143.min.js +1 -1
  14. package/5584.min.js +1 -1
  15. package/578.min.js +1 -1
  16. package/6130.min.js +1 -1
  17. package/6253.min.js +1 -1
  18. package/6566.min.js +1 -1
  19. package/6900.min.js +1 -1
  20. package/720.min.js +1 -1
  21. package/7468.min.js +1 -1
  22. package/7884.min.js +1 -1
  23. package/795.min.js +1 -1
  24. package/8166.min.js +1 -1
  25. package/8196.min.js +1 -1
  26. package/8509.min.js +1 -1
  27. package/929.min.js +1 -1
  28. package/9322.min.js +1 -1
  29. package/9391.min.js +1 -1
  30. package/9555.min.js +1 -1
  31. package/9612.min.js +1 -1
  32. package/969.min.js +1 -1
  33. package/basic_dist_browser_index_js.js +2 -2
  34. package/browser/confetti.js +2 -2
  35. package/cjs/confetti.js +2 -2
  36. package/engine_dist_browser_Core_Container_js.js +2 -2
  37. package/esm/confetti.js +2 -2
  38. package/move_base_dist_browser_BaseMover_js.js +1 -1
  39. package/move_base_dist_browser_index_js.js +2 -2
  40. package/package.json +17 -17
  41. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
  42. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  43. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +1 -1
  44. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  45. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +1 -1
  46. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  47. package/plugins_emitters_dist_browser_EmitterInstance_js.js +1 -1
  48. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +1 -1
  49. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +38 -38
  50. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +1 -1
  51. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +1 -1
  52. package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
  53. package/plugins_emitters_dist_browser_index_js.js +2 -2
  54. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +4 -4
  55. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +3 -3
  56. package/plugins_interactivity_dist_browser_index_js.js +38 -38
  57. package/plugins_motion_dist_browser_MotionPluginInstance_js.js +1 -1
  58. package/plugins_motion_dist_browser_MotionPlugin_js.js +1 -1
  59. package/plugins_motion_dist_browser_index_js.js +2 -2
  60. package/report.html +1 -1
  61. package/shapes_cards_dist_browser_cards_CardDrawer_js.js +1 -1
  62. package/shapes_cards_dist_browser_clubs_ClubDrawer_js.js +1 -1
  63. package/shapes_cards_dist_browser_diamonds_DiamondDrawer_js.js +1 -1
  64. package/shapes_cards_dist_browser_hearts_HeartDrawer_js.js +1 -1
  65. package/shapes_cards_dist_browser_index_js.js +7 -7
  66. package/shapes_cards_dist_browser_paths_js.js +1 -1
  67. package/shapes_cards_dist_browser_spades_SpadeDrawer_js.js +1 -1
  68. package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
  69. package/shapes_circle_dist_browser_index_js.js +2 -2
  70. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +1 -1
  71. package/shapes_emoji_dist_browser_index_js.js +2 -2
  72. package/shapes_heart_dist_browser_HeartDrawer_js.js +1 -1
  73. package/shapes_heart_dist_browser_index_js.js +2 -2
  74. package/shapes_image_dist_browser_GifUtils_Utils_js.js +1 -1
  75. package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
  76. package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +30 -0
  77. package/shapes_image_dist_browser_ImagePreloader_js.js +2 -2
  78. package/shapes_image_dist_browser_index_js.js +2 -2
  79. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +1 -1
  80. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +1 -1
  81. package/shapes_polygon_dist_browser_index_js.js +2 -2
  82. package/shapes_square_dist_browser_SquareDrawer_js.js +1 -1
  83. package/shapes_square_dist_browser_index_js.js +2 -2
  84. package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
  85. package/shapes_star_dist_browser_index_js.js +2 -2
  86. package/tsparticles.confetti.bundle.js +8 -8
  87. package/tsparticles.confetti.bundle.min.js +2 -2
  88. package/tsparticles.confetti.js +2 -2
  89. package/tsparticles.confetti.min.js +1 -1
  90. package/umd/confetti.js +2 -2
  91. package/updaters_color_dist_browser_ColorUpdater_js.js +1 -1
  92. package/updaters_color_dist_browser_index_js.js +2 -2
  93. package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
  94. package/updaters_life_dist_browser_index_js.js +2 -2
  95. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +1 -1
  96. package/updaters_opacity_dist_browser_index_js.js +2 -2
  97. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +1 -1
  98. package/updaters_outModes_dist_browser_index_js.js +2 -2
  99. package/updaters_roll_dist_browser_RollUpdater_js.js +1 -1
  100. package/updaters_roll_dist_browser_index_js.js +2 -2
  101. package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
  102. package/updaters_rotate_dist_browser_index_js.js +2 -2
  103. package/updaters_size_dist_browser_SizeUpdater_js.js +1 -1
  104. package/updaters_size_dist_browser_index_js.js +2 -2
  105. package/updaters_tilt_dist_browser_TiltUpdater_js.js +1 -1
  106. package/updaters_tilt_dist_browser_index_js.js +2 -2
  107. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +1 -1
  108. package/updaters_wobble_dist_browser_index_js.js +2 -2
  109. package/7953.min.js +0 -1
package/1416.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[1416],{3297(a,t,e){e.d(t,{j:()=>n,u:()=>l});var i=e(5954);let l=["emoji"];function n(a,t){let{context:e,opacity:l}=a,n=e.globalAlpha,h=t.width,c=h*i.MXx;e.globalAlpha=l,e.drawImage(t,-c,-c,h,h),e.globalAlpha=n}},1416(a,t,e){e.r(t),e.d(t,{loadEmojiShape:()=>l});var i=e(3297);async function l(a){a.checkVersion("4.0.0-alpha.21"),await a.register(a=>{a.addShape(i.u,async()=>{let{EmojiDrawer:a}=await e.e(2918).then(e.bind(e,2918));return new a})})}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[1416],{3297(a,t,e){e.d(t,{j:()=>n,u:()=>l});var i=e(5954);let l=["emoji"];function n(a,t){let{context:e,opacity:l}=a,n=e.globalAlpha,h=t.width,c=h*i.MXx;e.globalAlpha=l,e.drawImage(t,-c,-c,h,h),e.globalAlpha=n}},1416(a,t,e){e.r(t),e.d(t,{loadEmojiShape:()=>l});var i=e(3297);async function l(a){a.checkVersion("4.0.0-alpha.23"),await a.register(a=>{a.addShape(i.u,async()=>{let{EmojiDrawer:a}=await e.e(2918).then(e.bind(e,2918));return new a})})}}}]);
package/2106.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[2106],{2106(e,t,a){async function c(e){e.checkVersion("4.0.0-alpha.21"),await e.register(e=>{e.addShape(["circle"],async()=>{let{CircleDrawer:e}=await a.e(9007).then(a.bind(a,9007));return new e})})}a.r(t),a.d(t,{loadCircleShape:()=>c})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[2106],{2106(e,t,a){async function c(e){e.checkVersion("4.0.0-alpha.23"),await e.register(e=>{e.addShape(["circle"],async()=>{let{CircleDrawer:e}=await a.e(9007).then(a.bind(a,9007));return new e})})}a.r(t),a.d(t,{loadCircleShape:()=>c})}}]);
package/2129.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[2129],{2129(t,e,i){i.d(e,{InteractivityPluginInstance:()=>h});var n=i(5954),s=i(1455),r=i(359);class a{_canPush=!0;_clickPositionPlugins;_container;_handlers;_interactionManager;_touches;constructor(t,e){this._container=t,this._clickPositionPlugins=[],this._interactionManager=e,this._touches=new Map,this._handlers={mouseDown:()=>{this._mouseDown()},mouseLeave:()=>{this._mouseTouchFinish()},mouseMove:t=>{this._mouseTouchMove(t)},mouseUp:t=>{this._mouseTouchClick(t)},touchStart:t=>{this._touchStart(t)},touchMove:t=>{this._mouseTouchMove(t)},touchEnd:t=>{this._touchEnd(t)},touchCancel:t=>{this._touchEnd(t)},touchEndClick:t=>{this._touchEndClick(t)},visibilityChange:()=>{this._handleVisibilityChange()}}}addListeners(){this._manageListeners(!0)}init(){for(let t of(this._clickPositionPlugins.length=0,this._container.plugins.filter(t=>!!t.clickPositionValid)))this._clickPositionPlugins.push(t)}removeListeners(){this._manageListeners(!1)}_doMouseTouchClick=t=>{let e=this._container,i=this._interactionManager,s=e.actualOptions;if(this._canPush){let t=i.interactivityData.mouse,e=t.position;if(!e)return;t.clickPosition={...e},t.clickTime=performance.now();let r=s.interactivity?.events.onClick;if(!r?.mode)return;(0,n.wJ2)(r.mode,t=>{i.handleClickMode(t)})}"touchend"===t.type&&setTimeout(()=>{this._mouseTouchFinish()},n.pHD)};_handleVisibilityChange=()=>{this._mouseTouchFinish()};_manageInteractivityListeners=(t,e)=>{let i=this._handlers,r=this._container,a=this._interactionManager,o=r.actualOptions,c=a.interactivityData.element;if(!c)return;let l=r.canvas;l.setPointerEvents(c===l.element?"initial":"none"),(o.interactivity?.events.onHover.enable||o.interactivity?.events.onClick.enable)&&((0,n.KpY)(c,s.Rb,i.mouseMove,e),(0,n.KpY)(c,s.s7,i.touchStart,e),(0,n.KpY)(c,s.DG,i.touchMove,e),o.interactivity.events.onClick.enable?((0,n.KpY)(c,s.Bp,i.touchEndClick,e),(0,n.KpY)(c,s.vo,i.mouseUp,e),(0,n.KpY)(c,s.ms,i.mouseDown,e)):(0,n.KpY)(c,s.Bp,i.touchEnd,e),(0,n.KpY)(c,t,i.mouseLeave,e),(0,n.KpY)(c,s.G3,i.touchCancel,e))};_manageListeners=t=>{let e=this._handlers,i=this._container,a=this._interactionManager,o=i.actualOptions,c=o.interactivity?.detectsOn,l=i.canvas.element,h=s.Z0;c===r.h.window?(a.interactivityData.element=globalThis,h=s.sf):c===r.h.parent&&l?a.interactivityData.element=l.parentElement??l.parentNode:a.interactivityData.element=l,this._manageInteractivityListeners(h,t),(0,n.KpY)(document,n.nKi,e.visibilityChange,t,!1)};_mouseDown=()=>{let{interactivityData:t}=this._interactionManager,{mouse:e}=t;e.clicking=!0,e.downPosition=e.position};_mouseTouchClick=t=>{let e=this._container,i=this._interactionManager,n=e.actualOptions,{mouse:s}=i.interactivityData;s.inside=!0;let r=!1,a=s.position;if(a&&n.interactivity?.events.onClick.enable){for(let t of this._clickPositionPlugins)if(r=t.clickPositionValid?.(a)??!1)break;r||this._doMouseTouchClick(t),s.clicking=!1}};_mouseTouchFinish=()=>{let{interactivityData:t}=this._interactionManager,{mouse:e}=t;delete e.position,delete e.clickPosition,delete e.downPosition,t.status=s.Z0,e.inside=!1,e.clicking=!1};_mouseTouchMove=t=>{let e,i=this._container,a=this._interactionManager,o=i.actualOptions,c=a.interactivityData,l=i.canvas.element;if(!c.element)return;if(c.mouse.inside=!0,t.type.startsWith("pointer"))if(this._canPush=!0,c.element===globalThis){if(l){let i=l.getBoundingClientRect();e={x:t.clientX-i.left,y:t.clientY-i.top}}}else if(o.interactivity?.detectsOn===r.h.parent){let i=t.target,s=t.currentTarget;if(l){let r=i.getBoundingClientRect(),a=s.getBoundingClientRect(),o=l.getBoundingClientRect();e={x:t.offsetX+n.gdl*r.left-(a.left+o.left),y:t.offsetY+n.gdl*r.top-(a.top+o.top)}}else e={x:t.offsetX,y:t.offsetY}}else t.target===l&&(e={x:t.offsetX,y:t.offsetY});else if(this._canPush="touchmove"!==t.type,l){let i=t.touches[t.touches.length-n.K3],s=l.getBoundingClientRect();if(!i)return;e={x:i.clientX-s.left,y:i.clientY-s.top}}let h=i.retina.pixelRatio;e&&(e.x*=h,e.y*=h),c.mouse.position=e,c.status=s.Rb};_touchEnd=t=>{for(let e of Array.from(t.changedTouches))this._touches.delete(e.identifier);this._mouseTouchFinish()};_touchEndClick=t=>{for(let e of Array.from(t.changedTouches))this._touches.delete(e.identifier);this._mouseTouchClick(t)};_touchStart=t=>{for(let e of Array.from(t.changedTouches))this._touches.set(e.identifier,performance.now());this._mouseTouchMove(t)}}var o=i(376);class c{container;interactivityData;_clickHandlers;_engine;_eventListeners;_externalInteractors;_interactors;_intersectionObserver;_particleInteractors;constructor(t,e){this.container=e,this._engine=t,this._interactors=[],this._externalInteractors=[],this._particleInteractors=[],this._clickHandlers=new Map,this._eventListeners=new a(e,this),this.interactivityData={mouse:{clicking:!1,inside:!1}},this._intersectionObserver=(0,n.BRq)(t=>{this._intersectionManager(t)})}addClickHandler(t){let{container:e,interactivityData:i}=this;if(e.destroyed)return;let r=i.element;if(!r)return;let a=(i,n,s)=>{if(e.destroyed)return;let r=e.retina.pixelRatio,a={x:n.x*r,y:n.y*r};t(i,e.particles.quadTree.queryCircle(a,s*r))},o=!1,c=!1;for(let[t,i]of(this._clickHandlers.set(s.xO,t=>{if(e.destroyed)return;let i={x:t.offsetX,y:t.offsetY};a(t,i,n.FSi)}),this._clickHandlers.set(s.s7,()=>{e.destroyed||(o=!0,c=!1)}),this._clickHandlers.set(s.DG,()=>{e.destroyed||(c=!0)}),this._clickHandlers.set(s.Bp,t=>{if(!e.destroyed){if(o&&!c){let i=t.touches[t.touches.length-n.KZx];if(!i)return;let s=e.canvas.element,r=s?s.getBoundingClientRect():void 0;a(t,{x:i.clientX-(r?r.left:n.TLE),y:i.clientY-(r?r.top:n.TLE)},Math.max(i.radiusX,i.radiusY))}o=!1,c=!1}}),this._clickHandlers.set(s.G3,()=>{e.destroyed||(o=!1,c=!1)}),this._clickHandlers))r.addEventListener(t,i)}addListeners(){this._eventListeners.addListeners()}clearClickHandlers(){let{container:t,interactivityData:e}=this;if(!t.destroyed){for(let[t,i]of this._clickHandlers)e.element?.removeEventListener(t,i);this._clickHandlers.clear()}}externalInteract(t){for(let e of this._externalInteractors){let{interactivityData:i}=this;e.isEnabled(i)&&e.interact(i,t)}}handleClickMode(t){if(this.container.destroyed)return;let{interactivityData:e}=this;for(let i of this._externalInteractors)i.handleClickMode?.(t,e)}async init(){let t=await this._engine.getInteractors?.(this.container,!0);if(t)for(let e of(this._interactors=t,this._externalInteractors=[],this._particleInteractors=[],this._eventListeners.init(),this._interactors)){switch(e.type){case o.e.external:this._externalInteractors.push(e);break;case o.e.particles:this._particleInteractors.push(e)}e.init()}}particlesInteract(t,e){let{interactivityData:i}=this;for(let i of this._externalInteractors)i.clear(t,e);for(let n of this._particleInteractors)n.isEnabled(t,i)&&n.interact(t,i,e)}removeListeners(){this._eventListeners.removeListeners()}reset(t){let{interactivityData:e}=this;for(let i of this._externalInteractors)i.isEnabled(e)&&i.reset(e,t);for(let i of this._particleInteractors)i.isEnabled(t,e)&&i.reset(e,t)}startObserving(){let{interactivityData:t}=this;t.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.observe(t.element)}stopObserving(){let{interactivityData:t}=this;t.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.unobserve(t.element)}_intersectionManager=t=>{let{container:e}=this;if(!e.destroyed&&e.actualOptions.pauseOnOutsideViewport)for(let i of t)i.target===this.interactivityData.element&&(i.isIntersecting?e.play():e.pause())}}var l=i(7406);class h{interactionManager;_container;_engine;constructor(t,e){this._container=e,this._engine=t,this.interactionManager=new c(t,e),this._container.addClickHandler=t=>{this.interactionManager.addClickHandler(t)}}addClickHandler(t){this.interactionManager.addClickHandler(t)}clearClickHandlers(){this.interactionManager.clearClickHandlers()}destroy(){this.clearClickHandlers(),this._engine.interactors?.delete(this._container)}particleCreated(t){let e=new l.k(this._engine,this._container);e.load(this._container.actualOptions.interactivity),e.load(t.options.interactivity),t.interactivity=e}particleReset(t){this.interactionManager.reset(t)}postParticleUpdate(t,e){this.interactionManager.particlesInteract(t,e)}postUpdate(t){this.interactionManager.externalInteract(t)}async preInit(){await this.interactionManager.init()}async redrawInit(){await this.interactionManager.init()}start(){return this.interactionManager.addListeners(),this.interactionManager.startObserving(),Promise.resolve()}stop(){this.interactionManager.removeListeners(),this.interactionManager.stopObserving()}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[2129],{2129(t,e,i){i.d(e,{InteractivityPluginInstance:()=>h});var n=i(5954),s=i(1455),r=i(3322);class a{_canPush=!0;_clickPositionPlugins;_container;_handlers;_interactionManager;_touches;constructor(t,e){this._container=t,this._clickPositionPlugins=[],this._interactionManager=e,this._touches=new Map,this._handlers={mouseDown:()=>{this._mouseDown()},mouseLeave:()=>{this._mouseTouchFinish()},mouseMove:t=>{this._mouseTouchMove(t)},mouseUp:t=>{this._mouseTouchClick(t)},touchStart:t=>{this._touchStart(t)},touchMove:t=>{this._mouseTouchMove(t)},touchEnd:t=>{this._touchEnd(t)},touchCancel:t=>{this._touchEnd(t)},touchEndClick:t=>{this._touchEndClick(t)},visibilityChange:()=>{this._handleVisibilityChange()}}}addListeners(){this._manageListeners(!0)}init(){for(let t of(this._clickPositionPlugins.length=0,this._container.plugins.filter(t=>!!t.clickPositionValid)))this._clickPositionPlugins.push(t)}removeListeners(){this._manageListeners(!1)}_doMouseTouchClick=t=>{let e=this._container,i=this._interactionManager,s=e.actualOptions;if(this._canPush){let t=i.interactivityData.mouse,e=t.position;if(!e)return;t.clickPosition={...e},t.clickTime=performance.now();let r=s.interactivity?.events.onClick;if(!r?.mode)return;(0,n.wJ2)(r.mode,t=>{i.handleClickMode(t)})}"touchend"===t.type&&setTimeout(()=>{this._mouseTouchFinish()},n.pHD)};_handleVisibilityChange=()=>{this._mouseTouchFinish()};_manageInteractivityListeners=(t,e)=>{let i=this._handlers,r=this._container,a=this._interactionManager,o=r.actualOptions,c=a.interactivityData.element;if(!c)return;let l=r.canvas;l.setPointerEvents(c===l.element?"initial":"none"),(!e||o.interactivity?.events.onHover.enable||o.interactivity?.events.onClick.enable)&&((0,n.KpY)(c,s.Rb,i.mouseMove,e),(0,n.KpY)(c,s.s7,i.touchStart,e),(0,n.KpY)(c,s.DG,i.touchMove,e),e?o.interactivity?.events.onClick.enable?((0,n.KpY)(c,s.Bp,i.touchEndClick,e),(0,n.KpY)(c,s.vo,i.mouseUp,e),(0,n.KpY)(c,s.ms,i.mouseDown,e)):(0,n.KpY)(c,s.Bp,i.touchEnd,e):((0,n.KpY)(c,s.Bp,i.touchEndClick,e),(0,n.KpY)(c,s.vo,i.mouseUp,e),(0,n.KpY)(c,s.ms,i.mouseDown,e),(0,n.KpY)(c,s.Bp,i.touchEnd,e)),(0,n.KpY)(c,t,i.mouseLeave,e),(0,n.KpY)(c,s.G3,i.touchCancel,e))};_manageListeners=t=>{let e=this._handlers,i=this._container,a=this._interactionManager,o=i.actualOptions,c=o.interactivity?.detectsOn,l=i.canvas.element,h=s.Z0;c===r.h.window?(a.interactivityData.element=globalThis,h=s.sf):c===r.h.parent&&l?a.interactivityData.element=l.parentElement??l.parentNode:a.interactivityData.element=l,this._manageInteractivityListeners(h,t),(0,n.KpY)(document,n.nKi,e.visibilityChange,t,!1)};_mouseDown=()=>{let{interactivityData:t}=this._interactionManager,{mouse:e}=t;e.clicking=!0,e.downPosition=e.position};_mouseTouchClick=t=>{let e=this._container,i=this._interactionManager,n=e.actualOptions,{mouse:s}=i.interactivityData;s.inside=!0;let r=!1,a=s.position;if(a&&n.interactivity?.events.onClick.enable){for(let t of this._clickPositionPlugins)if(r=t.clickPositionValid?.(a)??!1)break;r||this._doMouseTouchClick(t),s.clicking=!1}};_mouseTouchFinish=()=>{let{interactivityData:t}=this._interactionManager,{mouse:e}=t;delete e.position,delete e.clickPosition,delete e.downPosition,t.status=s.Z0,e.inside=!1,e.clicking=!1};_mouseTouchMove=t=>{let e,i=this._container,a=this._interactionManager,o=i.actualOptions,c=a.interactivityData,l=i.canvas.element;if(!c.element)return;if(c.mouse.inside=!0,t.type.startsWith("pointer"))if(this._canPush=!0,c.element===globalThis){if(l){let i=l.getBoundingClientRect();e={x:t.clientX-i.left,y:t.clientY-i.top}}}else if(o.interactivity?.detectsOn===r.h.parent){let i=t.target,s=t.currentTarget;if(l){let r=i.getBoundingClientRect(),a=s.getBoundingClientRect(),o=l.getBoundingClientRect();e={x:t.offsetX+n.gdl*r.left-(a.left+o.left),y:t.offsetY+n.gdl*r.top-(a.top+o.top)}}else e={x:t.offsetX,y:t.offsetY}}else t.target===l&&(e={x:t.offsetX,y:t.offsetY});else if(this._canPush="touchmove"!==t.type,l){let i=t.touches[t.touches.length-n.K3],s=l.getBoundingClientRect();if(!i)return;e={x:i.clientX-s.left,y:i.clientY-s.top}}let h=i.retina.pixelRatio;e&&(e.x*=h,e.y*=h),c.mouse.position=e,c.status=s.Rb};_touchEnd=t=>{for(let e of Array.from(t.changedTouches))this._touches.delete(e.identifier);this._mouseTouchFinish()};_touchEndClick=t=>{for(let e of Array.from(t.changedTouches))this._touches.delete(e.identifier);this._mouseTouchClick(t)};_touchStart=t=>{for(let e of Array.from(t.changedTouches))this._touches.set(e.identifier,performance.now());this._mouseTouchMove(t)}}var o=i(2763);class c{container;interactivityData;_clickHandlers;_engine;_eventListeners;_externalInteractors;_interactors;_intersectionObserver;_particleInteractors;constructor(t,e){this.container=e,this._engine=t,this._interactors=[],this._externalInteractors=[],this._particleInteractors=[],this._clickHandlers=new Map,this._eventListeners=new a(e,this),this.interactivityData={mouse:{clicking:!1,inside:!1}},this._intersectionObserver=(0,n.BRq)(t=>{this._intersectionManager(t)})}addClickHandler(t){let{container:e,interactivityData:i}=this;if(e.destroyed)return;let r=i.element;if(!r)return;let a=(i,n,s)=>{if(e.destroyed)return;let r=e.retina.pixelRatio,a={x:n.x*r,y:n.y*r};t(i,e.particles.quadTree.queryCircle(a,s*r))},o=!1,c=!1;for(let[t,i]of(this._clickHandlers.set(s.xO,t=>{if(e.destroyed)return;let i={x:t.offsetX,y:t.offsetY};a(t,i,n.FSi)}),this._clickHandlers.set(s.s7,()=>{e.destroyed||(o=!0,c=!1)}),this._clickHandlers.set(s.DG,()=>{e.destroyed||(c=!0)}),this._clickHandlers.set(s.Bp,t=>{if(!e.destroyed){if(o&&!c){let i=t.touches[t.touches.length-n.KZx];if(!i)return;let s=e.canvas.element,r=s?s.getBoundingClientRect():void 0;a(t,{x:i.clientX-(r?r.left:n.TLE),y:i.clientY-(r?r.top:n.TLE)},Math.max(i.radiusX,i.radiusY))}o=!1,c=!1}}),this._clickHandlers.set(s.G3,()=>{e.destroyed||(o=!1,c=!1)}),this._clickHandlers))r.addEventListener(t,i)}addListeners(){this._eventListeners.addListeners()}clearClickHandlers(){let{container:t,interactivityData:e}=this;if(!t.destroyed){for(let[t,i]of this._clickHandlers)e.element?.removeEventListener(t,i);this._clickHandlers.clear()}}externalInteract(t){for(let e of this._externalInteractors){let{interactivityData:i}=this;e.isEnabled(i)&&e.interact(i,t)}}handleClickMode(t){if(this.container.destroyed)return;let{interactivityData:e}=this;for(let i of this._externalInteractors)i.handleClickMode?.(t,e)}init(){for(let t of(this._eventListeners.init(),this._interactors)){switch(t.type){case o.e.external:this._externalInteractors.push(t);break;case o.e.particles:this._particleInteractors.push(t)}t.init()}}async initInteractors(){let t=await this._engine.getInteractors?.(this.container,!0);t&&(this._interactors=t,this._externalInteractors=[],this._particleInteractors=[])}particlesInteract(t,e){let{interactivityData:i}=this;for(let i of this._externalInteractors)i.clear(t,e);for(let n of this._particleInteractors)n.isEnabled(t,i)&&n.interact(t,i,e)}removeListeners(){this._eventListeners.removeListeners()}reset(t){let{interactivityData:e}=this;for(let i of this._externalInteractors)i.isEnabled(e)&&i.reset(e,t);for(let i of this._particleInteractors)i.isEnabled(t,e)&&i.reset(e,t)}startObserving(){let{interactivityData:t}=this;t.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.observe(t.element)}stopObserving(){let{interactivityData:t}=this;t.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.unobserve(t.element)}_intersectionManager=t=>{let{container:e}=this;if(!e.destroyed&&e.actualOptions.pauseOnOutsideViewport)for(let i of t)i.target===this.interactivityData.element&&(i.isIntersecting?e.play():e.pause())}}var l=i(7406);class h{interactionManager;_container;_engine;constructor(t,e){this._container=e,this._engine=t,this.interactionManager=new c(t,e),this._container.addClickHandler=t=>{this.interactionManager.addClickHandler(t)}}addClickHandler(t){this.interactionManager.addClickHandler(t)}clearClickHandlers(){this.interactionManager.clearClickHandlers()}destroy(){this.clearClickHandlers(),this._engine.interactors?.delete(this._container)}particleCreated(t){let e=new l.k(this._engine,this._container);e.load(this._container.actualOptions.interactivity),e.load(t.options.interactivity),t.interactivity=e}particleReset(t){this.interactionManager.reset(t)}postParticleUpdate(t,e){this.interactionManager.particlesInteract(t,e)}postUpdate(t){this.interactionManager.externalInteract(t)}async preInit(){await this.interactionManager.initInteractors(),this.interactionManager.init()}async redrawInit(){await this.interactionManager.initInteractors(),this.interactionManager.init()}start(){return this.interactionManager.addListeners(),this.interactionManager.startObserving(),Promise.resolve()}stop(){this.interactionManager.removeListeners(),this.interactionManager.stopObserving()}}}}]);
package/2833.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[2833],{636(e,r,a){a.d(r,{d:()=>s,downloadSvgImage:()=>l,loadImage:()=>o,z:()=>i});var t=a(5954);let i=["image","images"],n=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function o(e){return new Promise(r=>{e.loading=!0;let a=new Image;e.element=a,a.addEventListener("load",()=>{e.loading=!1,r()}),a.addEventListener("error",()=>{e.element=void 0,e.error=!0,e.loading=!1,(0,t.tZQ)().error(`Error loading image: ${e.source}`),r()}),a.src=e.source})}async function l(e){if("svg"!==e.type)return void await o(e);e.loading=!0;let r=await fetch(e.source);r.ok?e.svgData=await r.text():((0,t.tZQ)().error("Image not found"),e.error=!0),e.loading=!1}function s(e,r,a,i,l=!1){let d=function(e,r,a,i=!1){let{svgData:o}=e;if(!o)return"";let l=(0,t.LCf)(r,i,a);if(o.includes("fill"))return o.replaceAll(n,()=>l);let s=o.indexOf(">");return`${o.substring(0,s)} fill="${l}"${o.substring(s)}`}(e,a,i.opacity?.value??1,l),c={color:a,gif:r.gif,data:{...e,svgData:d},loaded:!1,ratio:r.width/r.height,replaceColor:r.replaceColor,source:r.src};return new Promise(r=>{let a=new Blob([d],{type:"image/svg+xml"}),t=URL.createObjectURL(a),i=new Image;i.addEventListener("load",()=>{c.loaded=!0,c.element=i,r(c),URL.revokeObjectURL(t)});let n=async()=>{URL.revokeObjectURL(t);let a={...e,error:!1,loading:!0};await o(a),c.loaded=!0,c.element=a.element,r(c)};i.addEventListener("error",()=>void n()),i.src=t})}},2833(e,r,a){a.r(r),a.d(r,{loadImageShape:()=>i});var t=a(636);async function i(e){e.checkVersion("4.0.0-alpha.21"),await e.register(async e=>{let{ImagePreloaderPlugin:r}=await a.e(7468).then(a.bind(a,7468));e.loadImage||(e.loadImage=async r=>{if(!r.name&&!r.src)throw Error("No image source provided");if(e.images??=[],!e.images.some(e=>e.name===r.name||e.source===r.src))try{let t,i={gif:r.gif,name:r.name??r.src,source:r.src,type:r.src.substring(r.src.length-3),error:!1,loading:!0,replaceColor:r.replaceColor,ratio:r.width&&r.height?r.width/r.height:void 0};if(e.images.push(i),r.gif){let{loadGifImage:e}=await a.e(5333).then(a.bind(a,5333));t=r=>e(r,{colorSpace:"srgb"})}else if(r.replaceColor){let{downloadSvgImage:e}=await Promise.resolve().then(a.bind(a,636));t=e}else{let{loadImage:e}=await Promise.resolve().then(a.bind(a,636));t=e}await t(i)}catch{throw Error(`${r.name??r.src} not found`)}}),e.addPlugin(new r),e.addShape(t.z,async()=>{let{ImageDrawer:r}=await a.e(969).then(a.bind(a,969));return new r(e)})})}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[2833],{636(e,r,t){t.d(r,{d:()=>l,downloadSvgImage:()=>s,loadImage:()=>o,z:()=>i});var a=t(5954);let i=["image","images"],n=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function o(e){return new Promise(r=>{e.loading=!0;let t=new Image;e.element=t,t.addEventListener("load",()=>{e.loading=!1,r()}),t.addEventListener("error",()=>{e.element=void 0,e.error=!0,e.loading=!1,(0,a.tZQ)().error(`Error loading image: ${e.source}`),r()}),t.src=e.source})}async function s(e){if("svg"!==e.type)return void await o(e);e.loading=!0;let r=await fetch(e.source);r.ok?e.svgData=await r.text():((0,a.tZQ)().error("Image not found"),e.error=!0),e.loading=!1}function l(e,r,t,i,s=!1){let c=function(e,r,t,i=!1){let{svgData:o}=e;if(!o)return"";let s=(0,a.LCf)(r,i,t);if(o.includes("fill"))return o.replaceAll(n,()=>s);let l=o.indexOf(">");return`${o.substring(0,l)} fill="${s}"${o.substring(l)}`}(e,t,i.opacity?.value??1,s),d={color:t,gif:r.gif,data:{...e,svgData:c},loaded:!1,ratio:r.width/r.height,replaceColor:r.replaceColor,source:r.src};return new Promise(r=>{let t=new Blob([c],{type:"image/svg+xml"}),a=URL.createObjectURL(t),i=new Image;i.addEventListener("load",()=>{d.loaded=!0,d.element=i,r(d),URL.revokeObjectURL(a)});let n=async()=>{URL.revokeObjectURL(a);let t={...e,error:!1,loading:!0};await o(t),d.loaded=!0,d.element=t.element,r(d)};i.addEventListener("error",()=>void n()),i.src=a})}},2833(e,r,t){t.r(r),t.d(r,{loadImageShape:()=>i});var a=t(636);async function i(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let{ImagePreloaderPlugin:r}=await t.e(7468).then(t.bind(t,7468));e.getImages??=r=>{e.images??=new Map;let t=e.images.get(r);return t||(t=[],e.images.set(r,t)),t},e.loadImage??=async(r,a)=>{if(!e.getImages)throw Error("No images collection found");if(!a.name&&!a.src)throw Error("No image source provided");e.images??=new Map;let i=e.getImages(r);if(!i.some(e=>e.name===a.name||e.source===a.src))try{let n,o={gif:a.gif,name:a.name??a.src,source:a.src,type:a.src.substring(a.src.length-3),error:!1,loading:!0,replaceColor:a.replaceColor,ratio:a.width&&a.height?a.width/a.height:void 0};if(i.push(o),e.images.set(r,i),a.gif){let{loadGifImage:e}=await t.e(5333).then(t.bind(t,5333));n=r=>e(r,{colorSpace:"srgb"})}else if(a.replaceColor){let{downloadSvgImage:e}=await Promise.resolve().then(t.bind(t,636));n=e}else{let{loadImage:e}=await Promise.resolve().then(t.bind(t,636));n=e}await n(o)}catch{throw Error(`${a.name??a.src} not found`)}},e.addPlugin(new r(e)),e.addShape(a.z,async()=>{let{ImageDrawer:r}=await t.e(969).then(t.bind(t,969));return new r(e)})})}}}]);
package/3071.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[3071],{8487(a,e,t){t.d(e,{loadFullCardsShape:()=>i});async function i(a){a.checkVersion("4.0.0-alpha.21"),await a.register(a=>{a.addShape(["card"],async()=>{let{CardDrawer:a}=await t.e(5484).then(t.bind(t,5484));return new a})})}},4993(a,e,t){async function i(a){a.checkVersion("4.0.0-alpha.21"),await a.register(a=>{a.addShape(["club","clubs"],async()=>{let{ClubDrawer:a}=await t.e(2516).then(t.bind(t,2516));return new a})})}t.r(e),t.d(e,{loadClubsSuitShape:()=>i})},9209(a,e,t){async function i(a){a.checkVersion("4.0.0-alpha.21"),await a.register(a=>{a.addShape(["diamond","diamonds"],async()=>{let{DiamondDrawer:a}=await t.e(5920).then(t.bind(t,5920));return new a})})}t.r(e),t.d(e,{loadDiamondsSuitShape:()=>i})},1977(a,e,t){async function i(a){a.checkVersion("4.0.0-alpha.21"),await a.register(a=>{a.addShape(["heart","hearts"],async()=>{let{HeartDrawer:a}=await t.e(6124).then(t.bind(t,6124));return new a})})}t.r(e),t.d(e,{loadHeartsSuitShape:()=>i})},3071(a,e,t){t.r(e),t.d(e,{loadCardSuitsShape:()=>l,loadCardsShape:()=>h,loadClubsSuitShape:()=>n.loadClubsSuitShape,loadDiamondsSuitShape:()=>s.loadDiamondsSuitShape,loadFullCardsShape:()=>i.loadFullCardsShape,loadHeartsSuitShape:()=>r.loadHeartsSuitShape,loadSpadesSuitShape:()=>d.loadSpadesSuitShape});var i=t(8487),n=t(4993),s=t(9209),r=t(1977),d=t(1766);async function l(a){a.checkVersion("4.0.0-alpha.21"),await a.register(async a=>{let[{loadClubsSuitShape:e},{loadDiamondsSuitShape:i},{loadHeartsSuitShape:n},{loadSpadesSuitShape:s}]=await Promise.all([Promise.resolve().then(t.bind(t,4993)),Promise.resolve().then(t.bind(t,9209)),Promise.resolve().then(t.bind(t,1977)),Promise.resolve().then(t.bind(t,1766))]);await Promise.all([e(a),i(a),n(a),s(a)])})}async function h(a){a.checkVersion("4.0.0-alpha.21"),await a.register(async a=>{let{loadFullCardsShape:e}=await Promise.resolve().then(t.bind(t,8487));await Promise.all([e(a),l(a)])})}},1766(a,e,t){async function i(a){a.checkVersion("4.0.0-alpha.21"),await a.register(a=>{a.addShape(["spade","spades"],async()=>{let{SpadeDrawer:a}=await t.e(2458).then(t.bind(t,2458));return new a})})}t.r(e),t.d(e,{loadSpadesSuitShape:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[3071],{8487(a,e,t){t.d(e,{loadFullCardsShape:()=>i});async function i(a){a.checkVersion("4.0.0-alpha.23"),await a.register(a=>{a.addShape(["card"],async()=>{let{CardDrawer:a}=await t.e(5484).then(t.bind(t,5484));return new a})})}},4993(a,e,t){async function i(a){a.checkVersion("4.0.0-alpha.23"),await a.register(a=>{a.addShape(["club","clubs"],async()=>{let{ClubDrawer:a}=await t.e(2516).then(t.bind(t,2516));return new a})})}t.r(e),t.d(e,{loadClubsSuitShape:()=>i})},9209(a,e,t){async function i(a){a.checkVersion("4.0.0-alpha.23"),await a.register(a=>{a.addShape(["diamond","diamonds"],async()=>{let{DiamondDrawer:a}=await t.e(5920).then(t.bind(t,5920));return new a})})}t.r(e),t.d(e,{loadDiamondsSuitShape:()=>i})},1977(a,e,t){async function i(a){a.checkVersion("4.0.0-alpha.23"),await a.register(a=>{a.addShape(["heart","hearts"],async()=>{let{HeartDrawer:a}=await t.e(6124).then(t.bind(t,6124));return new a})})}t.r(e),t.d(e,{loadHeartsSuitShape:()=>i})},3071(a,e,t){t.r(e),t.d(e,{loadCardSuitsShape:()=>l,loadCardsShape:()=>h,loadClubsSuitShape:()=>n.loadClubsSuitShape,loadDiamondsSuitShape:()=>s.loadDiamondsSuitShape,loadFullCardsShape:()=>i.loadFullCardsShape,loadHeartsSuitShape:()=>r.loadHeartsSuitShape,loadSpadesSuitShape:()=>d.loadSpadesSuitShape});var i=t(8487),n=t(4993),s=t(9209),r=t(1977),d=t(1766);async function l(a){a.checkVersion("4.0.0-alpha.23"),await a.register(async a=>{let[{loadClubsSuitShape:e},{loadDiamondsSuitShape:i},{loadHeartsSuitShape:n},{loadSpadesSuitShape:s}]=await Promise.all([Promise.resolve().then(t.bind(t,4993)),Promise.resolve().then(t.bind(t,9209)),Promise.resolve().then(t.bind(t,1977)),Promise.resolve().then(t.bind(t,1766))]);await Promise.all([e(a),i(a),n(a),s(a)])})}async function h(a){a.checkVersion("4.0.0-alpha.23"),await a.register(async a=>{let{loadFullCardsShape:e}=await Promise.resolve().then(t.bind(t,8487));await Promise.all([e(a),l(a)])})}},1766(a,e,t){async function i(a){a.checkVersion("4.0.0-alpha.23"),await a.register(a=>{a.addShape(["spade","spades"],async()=>{let{SpadeDrawer:a}=await t.e(2458).then(t.bind(t,2458));return new a})})}t.r(e),t.d(e,{loadSpadesSuitShape:()=>i})}}]);
package/3111.min.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[3111],{3111(e,t,n){n.d(t,{ImagePreloaderInstance:()=>s});class s{_container;_engine;constructor(e,t){this._engine=e,this._container=t}destroy(){this._engine.images?.delete(this._container)}}}}]);
package/3139.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[3139],{3139(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addParticleUpdater("rotate",async t=>{let{RotateUpdater:e}=await a.e(2355).then(a.bind(a,2355));return new e(t)})})}a.r(e),a.d(e,{loadRotateUpdater:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[3139],{3139(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("rotate",async t=>{let{RotateUpdater:e}=await a.e(2355).then(a.bind(a,2355));return new e(t)})})}a.r(e),a.d(e,{loadRotateUpdater:()=>i})}}]);
package/3576.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[3576],{3576(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addParticleUpdater("life",async t=>{let{LifeUpdater:e}=await a.e(8174).then(a.bind(a,8174));return new e(t)})})}a.r(e),a.d(e,{loadLifeUpdater:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[3576],{3576(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("life",async t=>{let{LifeUpdater:e}=await a.e(8174).then(a.bind(a,8174));return new e(t)})})}a.r(e),a.d(e,{loadLifeUpdater:()=>i})}}]);
package/3611.min.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[3611],{6373(e,t,n){var i,r;n.d(t,{Q:()=>i}),(r=i||(i={})).circle="circle",r.rectangle="rectangle"},3322(e,t,n){var i,r;n.d(t,{h:()=>i}),(r=i||(i={})).canvas="canvas",r.parent="parent",r.window="window"},2763(e,t,n){var i,r;n.d(t,{e:()=>i}),(r=i||(i={})).external="external",r.particles="particles"},1455(e,t,n){n.d(t,{Bp:()=>d,DG:()=>v,G3:()=>h,Rb:()=>c,Z0:()=>o,ms:()=>r,s7:()=>l,sf:()=>s,vo:()=>a,xO:()=>i});let i="click",r="pointerdown",a="pointerup",o="pointerleave",s="pointerout",c="pointermove",l="touchstart",d="touchend",v="touchmove",h="touchcancel"},6594(e,t,n){n.d(t,{G:()=>a});var i=n(5954),r=n(6373);class a{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=r.Q.circle}load(e){(0,i.kZJ)(e)||(void 0!==e.selectors&&(this.selectors=e.selectors),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode),void 0!==e.type&&(this.type=e.type))}}},9766(e,t,n){n.d(t,{d:()=>r});var i=n(5954);class r{_container;_engine;constructor(e,t){this._engine=e,this._container=t}load(e){if((0,i.kZJ)(e)||!this._container)return;let t=this._engine.interactors?.get(this._container);if(t)for(let n of t)n.loadModeOptions&&n.loadModeOptions(this,e)}}},3611(e,t,n){n.r(t),n.d(t,{DivEvent:()=>p.G,DivType:()=>c.Q,ExternalInteractorBase:()=>a,InteractivityDetect:()=>l.h,InteractorType:()=>r.e,Modes:()=>w.d,ParticlesInteractorBase:()=>o,clickEvent:()=>s.xO,divMode:()=>u,divModeExecute:()=>v,ensureInteractivityPluginLoaded:()=>E,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>f,mouseDownEvent:()=>s.ms,mouseLeaveEvent:()=>s.Z0,mouseMoveEvent:()=>s.Rb,mouseOutEvent:()=>s.sf,mouseUpEvent:()=>s.vo,singleDivModeExecute:()=>h,touchCancelEvent:()=>s.G3,touchEndEvent:()=>s.Bp,touchMoveEvent:()=>s.DG,touchStartEvent:()=>s.s7});var i=n(5954),r=n(2763);class a{type=r.e.external;container;constructor(e){this.container=e}}class o{type=r.e.particles;container;constructor(e){this.container=e}}var s=n(1455),c=n(6373),l=n(3322);function d(e,t){return!!(0,i.w3Z)(t,t=>t.enable&&(0,i.hnD)(e,t.mode))}function v(e,t,n){(0,i.wJ2)(t,t=>{let r=t.mode;t.enable&&(0,i.hnD)(e,r)&&h(t,n)})}function h(e,t){let n=e.selectors;(0,i.wJ2)(n,n=>{t(n,e)})}function u(e,t){if(t&&e)return(0,i.w3Z)(e,e=>{var n;let r;return n=e.selectors,r=(0,i.wJ2)(n,e=>t.matches(e)),(0,i.cyL)(r)?r.some(e=>e):r})}var p=n(6594),w=n(9766);async function f(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let{InteractivityPlugin:t}=await n.e(3939).then(n.bind(n,3939));e.addPlugin(new t(e)),e.initializers.interactors??=new Map,e.interactors??=new Map,e.addInteractor=(t,n)=>{e.initializers.interactors??=new Map,e.initializers.interactors.set(t,n)},e.getInteractors=async(t,n=!1)=>(e.interactors??=new Map,e.initializers.interactors??=new Map,(0,i.HQK)(t,e.interactors,e.initializers.interactors,n)),e.setOnClickHandler=t=>{let{items:n}=e;if(!n.length)throw Error("Click handlers can only be set after calling tsParticles.load()");n.forEach(e=>{e.addClickHandler?.(t)})}})}function E(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
package/3939.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[3939],{3939(e,t,i){i.d(t,{InteractivityPlugin:()=>s});var n=i(5954),o=i(7406);class s{id="interactivity";_engine;constructor(e){this._engine=e}async getPlugin(e){let{InteractivityPluginInstance:t}=await i.e(2129).then(i.bind(i,2129));return new t(this._engine,e)}loadOptions(e,t,i){if(!this.needsPlugin())return;let n=t.interactivity;n?.load||(t.interactivity=n=new o.k(this._engine,e)),n.load(i?.interactivity);let s=this._engine.interactors?.get(e);if(s)for(let e of s)e.loadOptions&&e.loadOptions(t,i)}loadParticlesOptions(e,t,i){i?.interactivity&&(t.interactivity=(0,n.zwS)({},i.interactivity));let o=this._engine.interactors?.get(e);if(o)for(let e of o)e.loadParticlesOptions&&e.loadParticlesOptions(t,i)}needsPlugin(){return!0}}},7406(e,t,i){i.d(t,{k:()=>c});var n=i(5954);class o{enable;mode;constructor(){this.enable=!1,this.mode=[]}load(e){(0,n.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode))}}var s=i(6594);class a{enable;mode;constructor(){this.enable=!1,this.mode=[]}load(e){(0,n.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode))}}class l{onClick;onDiv;onHover;constructor(){this.onClick=new o,this.onDiv=new s.G,this.onHover=new a}load(e){if((0,n.kZJ)(e))return;this.onClick.load(e.onClick);let t=e.onDiv;void 0!==t&&(this.onDiv=(0,n.wJ2)(t,e=>{let t=new s.G;return t.load(e),t})),this.onHover.load(e.onHover)}}var r=i(359),d=i(9766);class c{detectsOn;events;modes;constructor(e,t){this.detectsOn=r.h.window,this.events=new l,this.modes=new d.d(e,t)}load(e){if((0,n.kZJ)(e))return;let t=e.detectsOn;void 0!==t&&(this.detectsOn=t),this.events.load(e.events),this.modes.load(e.modes)}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[3939],{3939(e,t,i){i.d(t,{InteractivityPlugin:()=>s});var n=i(5954),o=i(7406);class s{id="interactivity";_engine;constructor(e){this._engine=e}async getPlugin(e){let{InteractivityPluginInstance:t}=await i.e(2129).then(i.bind(i,2129));return new t(this._engine,e)}loadOptions(e,t,i){if(!this.needsPlugin())return;let n=t.interactivity;n?.load||(t.interactivity=n=new o.k(this._engine,e)),n.load(i?.interactivity);let s=this._engine.interactors?.get(e);if(s)for(let e of s)e.loadOptions&&e.loadOptions(t,i)}loadParticlesOptions(e,t,i){i?.interactivity&&(t.interactivity=(0,n.zwS)({},i.interactivity));let o=this._engine.interactors?.get(e);if(o)for(let e of o)e.loadParticlesOptions?.(t,i)}needsPlugin(){return!0}}},7406(e,t,i){i.d(t,{k:()=>c});var n=i(5954);class o{enable;mode;constructor(){this.enable=!1,this.mode=[]}load(e){(0,n.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode))}}var s=i(6594);class a{enable;mode;constructor(){this.enable=!1,this.mode=[]}load(e){(0,n.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode))}}class l{onClick;onDiv;onHover;constructor(){this.onClick=new o,this.onDiv=new s.G,this.onHover=new a}load(e){if((0,n.kZJ)(e))return;this.onClick.load(e.onClick);let t=e.onDiv;void 0!==t&&(this.onDiv=(0,n.wJ2)(t,e=>{let t=new s.G;return t.load(e),t})),this.onHover.load(e.onHover)}}var r=i(3322),d=i(9766);class c{detectsOn;events;modes;constructor(e,t){this.detectsOn=r.h.window,this.events=new l,this.modes=new d.d(e,t)}load(e){if((0,n.kZJ)(e))return;let t=e.detectsOn;void 0!==t&&(this.detectsOn=t),this.events.load(e.events),this.modes.load(e.modes)}}}}]);
package/411.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[411],{411(t,e,a){async function c(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addParticleUpdater("color",async e=>{let{ColorUpdater:c}=await a.e(5523).then(a.bind(a,5523));return new c(t,e)})})}a.r(e),a.d(e,{loadColorUpdater:()=>c})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[411],{411(t,e,a){async function c(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("color",async e=>{let{ColorUpdater:c}=await a.e(5523).then(a.bind(a,5523));return new c(t,e)})})}a.r(e),a.d(e,{loadColorUpdater:()=>c})}}]);
package/4894.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[4894],{4894(t,a,e){async function s(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addShape(["star"],async()=>{let{StarDrawer:t}=await e.e(5679).then(e.bind(e,5679));return new t})})}e.r(a),e.d(a,{loadStarShape:()=>s})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[4894],{4894(t,a,e){async function s(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addShape(["star"],async()=>{let{StarDrawer:t}=await e.e(5679).then(e.bind(e,5679));return new t})})}e.r(a),e.d(a,{loadStarShape:()=>s})}}]);
package/5143.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[5143],{5143(e,t,a){async function s(e){e.checkVersion("4.0.0-alpha.21"),await e.register(e=>{e.addShape(["edge","square"],async()=>{let{SquareDrawer:e}=await a.e(3166).then(a.bind(a,3166));return new e})})}a.r(t),a.d(t,{loadSquareShape:()=>s})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[5143],{5143(e,t,a){async function s(e){e.checkVersion("4.0.0-alpha.23"),await e.register(e=>{e.addShape(["edge","square"],async()=>{let{SquareDrawer:e}=await a.e(3166).then(a.bind(a,3166));return new e})})}a.r(t),a.d(t,{loadSquareShape:()=>s})}}]);
package/5584.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[5584],{5584(a,e,n){async function t(a){a.checkVersion("4.0.0-alpha.21"),await a.register(a=>{a.addShape(["polygon"],async()=>{let{PolygonDrawer:a}=await n.e(1995).then(n.bind(n,1995));return new a})})}async function i(a){a.checkVersion("4.0.0-alpha.21"),await a.register(a=>{a.addShape(["triangle"],async()=>{let{TriangleDrawer:a}=await n.e(6495).then(n.bind(n,6495));return new a})})}async function c(a){a.checkVersion("4.0.0-alpha.21"),await Promise.all([t(a),i(a)])}n.r(e),n.d(e,{loadGenericPolygonShape:()=>t,loadPolygonShape:()=>c,loadTriangleShape:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[5584],{5584(a,e,n){async function t(a){a.checkVersion("4.0.0-alpha.23"),await a.register(a=>{a.addShape(["polygon"],async()=>{let{PolygonDrawer:a}=await n.e(1995).then(n.bind(n,1995));return new a})})}async function i(a){a.checkVersion("4.0.0-alpha.23"),await a.register(a=>{a.addShape(["triangle"],async()=>{let{TriangleDrawer:a}=await n.e(6495).then(n.bind(n,6495));return new a})})}async function c(a){a.checkVersion("4.0.0-alpha.23"),await Promise.all([t(a),i(a)])}n.r(e),n.d(e,{loadGenericPolygonShape:()=>t,loadPolygonShape:()=>c,loadTriangleShape:()=>i})}}]);
package/578.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[578],{578(e,t,a){async function s(e){e.checkVersion("4.0.0-alpha.21"),await e.register(e=>{e.addMover("base",async()=>{let{BaseMover:e}=await a.e(9242).then(a.bind(a,9242));return new e})})}a.r(t),a.d(t,{loadBaseMover:()=>s})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[578],{578(e,t,a){async function s(e){e.checkVersion("4.0.0-alpha.23"),await e.register(e=>{e.addMover("base",async()=>{let{BaseMover:e}=await a.e(9242).then(a.bind(a,9242));return new e})})}a.r(t),a.d(t,{loadBaseMover:()=>s})}}]);
package/6130.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[6130],{6130(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addShape(["heart"],async()=>{let{HeartDrawer:t}=await a.e(5291).then(a.bind(a,5291));return new t})})}a.r(e),a.d(e,{loadHeartShape:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[6130],{6130(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addShape(["heart"],async()=>{let{HeartDrawer:t}=await a.e(5291).then(a.bind(a,5291));return new t})})}a.r(e),a.d(e,{loadHeartShape:()=>i})}}]);
package/6253.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[6253],{6253(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addParticleUpdater("wobble",async t=>{let{WobbleUpdater:e}=await a.e(7612).then(a.bind(a,7612));return new e(t)})})}a.r(e),a.d(e,{loadWobbleUpdater:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[6253],{6253(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("wobble",async t=>{let{WobbleUpdater:e}=await a.e(7612).then(a.bind(a,7612));return new e(t)})})}a.r(e),a.d(e,{loadWobbleUpdater:()=>i})}}]);
package/6566.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[6566],{6566(t,a,e){async function s(t){t.checkVersion("4.0.0-alpha.21"),await t.register(async t=>{let{HslColorManager:a}=await e.e(4227).then(e.bind(e,4227));t.addColorManager("hsl",new a)})}e.r(a),e.d(a,{loadHslColorPlugin:()=>s})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[6566],{6566(t,a,e){async function s(t){t.checkVersion("4.0.0-alpha.23"),await t.register(async t=>{let{HslColorManager:a}=await e.e(4227).then(e.bind(e,4227));t.addColorManager("hsl",new a)})}e.r(a),e.d(a,{loadHslColorPlugin:()=>s})}}]);
package/6900.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[6900],{6900(t,i,e){e.d(i,{Container:()=>M});var s=e(8346),a=e(9692),r=e(3756),n=e(160),h=e(1101);function o(t,i,e=!1){if(!i)return;let s=t.style,a=new Set;for(let t=0;t<s.length;t++){let i=s.item(t);i&&a.add(i)}for(let t=0;t<i.length;t++){let e=i.item(t);e&&a.add(e)}for(let t of a){let a=i.getPropertyValue(t);a?s.setProperty(t,a,e?"important":""):s.removeProperty(t)}}class l{container;element;size;_canvasClearPlugins;_canvasPaintPlugins;_canvasSettings;_clearDrawPlugins;_colorPlugins;_context;_drawParticlePlugins;_drawParticlesCleanupPlugins;_drawParticlesSetupPlugins;_drawPlugins;_drawSettingsCleanupPlugins;_drawSettingsSetupPlugins;_engine;_generated;_mutationObserver;_originalStyle;_pointerEvents;_postDrawUpdaters;_preDrawUpdaters;_resizePlugins;_reusableColorStyles={};_reusablePluginColors=[void 0,void 0];_reusableTransform={};_standardSize;constructor(t,i){this.container=t,this._engine=i,this._standardSize={height:0,width:0};const e=t.retina.pixelRatio,s=this._standardSize;this.size={height:s.height*e,width:s.width*e},this._context=null,this._generated=!1,this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesCleanupPlugins=[],this._drawParticlesSetupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[],this._pointerEvents="none"}get settings(){return this._canvasSettings}get _fullScreen(){return this.container.actualOptions.fullScreen.enable}canvasClear(){this.container.actualOptions.clear&&this.draw(t=>{(0,r.IU)(t,this.size)})}clear(){let t=!1;for(let i of this._canvasClearPlugins)if(t=i.canvasClear?.()??!1)break;t||this.canvasClear()}destroy(){if(this.stop(),this._generated){let t=this.element;t?.remove(),this.element=void 0}else this._resetOriginalStyle();this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesCleanupPlugins=[],this._drawParticlesSetupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[]}draw(t){let i=this._context;if(i)return t(i)}drawParticle(t,i){if(t.spawning||t.destroyed)return;let e=t.getRadius();if(e<=a.w2)return;let s=t.getFillColor(),n=t.getStrokeColor()??s,[o,l]=this._getPluginParticleColors(t);if(o??=s,l??=n,!o&&!l)return;let c=this.container,d=t.options.zIndex,p=a.RV-t.zIndexFactor,{opacity:u,strokeOpacity:_}=t.getOpacity(),g=this._reusableTransform,f=this._reusableColorStyles,P=o?(0,h.LC)(o,c.hdr,u):void 0,m=l?(0,h.LC)(l,c.hdr,_):P;g.a=g.b=g.c=g.d=void 0,f.fill=P,f.stroke=m,this.draw(s=>{for(let e of this._drawParticlesSetupPlugins)e.drawParticleSetup?.(s,t,i);for(let a of(this._applyPreDrawUpdaters(s,t,e,u,f,g),(0,r.p0)({container:c,context:s,particle:t,delta:i,colorStyles:f,radius:e*p**d.sizeRate,opacity:u,transform:g}),this._applyPostDrawUpdaters(t),this._drawParticlesCleanupPlugins))a.drawParticleCleanup?.(s,t,i)})}drawParticlePlugins(t,i){this.draw(e=>{for(let s of this._drawParticlePlugins)(0,r.Wb)(e,s,t,i)})}drawParticles(t){let{particles:i}=this.container;this.clear(),i.update(t),this.draw(e=>{for(let i of this._drawSettingsSetupPlugins)i.drawSettingsSetup?.(e,t);for(let i of this._drawPlugins)i.draw?.(e,t);for(let s of(i.drawParticles(t),this._clearDrawPlugins))s.clearDraw?.(e,t);for(let i of this._drawSettingsCleanupPlugins)i.drawSettingsCleanup?.(e,t)})}init(){this._safeMutationObserver(t=>{t.disconnect()}),this._mutationObserver=(0,n.tG)(t=>{for(let i of t)"attributes"===i.type&&"style"===i.attributeName&&this._repairStyle()}),this.resize(),this._initStyle(),this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})}),this.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){let{container:t}=this,i=t.actualOptions.background,e=this.element;if(!e)return;let s=e.style,a=(0,h.BN)(this._engine,i.color);a?s.backgroundColor=(0,h.xx)(a,t.hdr,i.opacity):s.backgroundColor="",s.backgroundImage=i.image||"",s.backgroundPosition=i.position||"",s.backgroundRepeat=i.repeat||"",s.backgroundSize=i.size||""}initPlugins(){for(let t of(this._resizePlugins=[],this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesSetupPlugins=[],this._drawParticlesCleanupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[],this.container.plugins))t.resize&&this._resizePlugins.push(t),(t.particleFillColor??t.particleStrokeColor)&&this._colorPlugins.push(t),t.canvasClear&&this._canvasClearPlugins.push(t),t.canvasPaint&&this._canvasPaintPlugins.push(t),t.drawParticle&&this._drawParticlePlugins.push(t),t.drawParticleSetup&&this._drawParticlesSetupPlugins.push(t),t.drawParticleCleanup&&this._drawParticlesCleanupPlugins.push(t),t.draw&&this._drawPlugins.push(t),t.drawSettingsSetup&&this._drawSettingsSetupPlugins.push(t),t.drawSettingsCleanup&&this._drawSettingsCleanupPlugins.push(t),t.clearDraw&&this._clearDrawPlugins.push(t)}initUpdaters(){for(let t of(this._preDrawUpdaters=[],this._postDrawUpdaters=[],this.container.particles.updaters))t.afterDraw&&this._postDrawUpdaters.push(t),(t.getColorStyles??t.getTransformValues??t.beforeDraw)&&this._preDrawUpdaters.push(t)}loadCanvas(t){this._generated&&this.element&&this.element.remove();let i=this.container;this._generated=a.eb in t.dataset?"true"===t.dataset[a.eb]:this._generated,this.element=t,this.element.ariaHidden="true",this._originalStyle=(0,n.td)(this.element.style);let e=this._standardSize;e.height=t.offsetHeight,e.width=t.offsetWidth;let s=this.container.retina.pixelRatio,r=this.size;t.height=r.height=e.height*s,t.width=r.width=e.width*s;let h=(0,n.lV)("(color-gamut: p3)");this._canvasSettings={alpha:!0,colorSpace:h?.matches&&i.hdr?"display-p3":"srgb",desynchronized:!0,willReadFrequently:!1},this._context=this.element.getContext("2d",this._canvasSettings),this._safeMutationObserver(t=>{t.disconnect()}),i.retina.init(),this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})})}paint(){let t=!1;for(let i of this._canvasPaintPlugins)if(t=i.canvasPaint?.()??!1)break;t||this.paintBase()}paintBase(t){this.draw(i=>{(0,r.Sn)(i,this.size,t)})}paintImage(t,i){this.draw(e=>{(0,r.Md)(e,this.size,t,i)})}resize(){if(!this.element)return!1;let t=this.container,i=t.canvas._standardSize,e={width:this.element.offsetWidth,height:this.element.offsetHeight},s=t.retina.pixelRatio,a={width:e.width*s,height:e.height*s};if(e.height===i.height&&e.width===i.width&&a.height===this.element.height&&a.width===this.element.width)return!1;let r={...i};i.height=e.height,i.width=e.width;let n=this.size;return this.element.width=n.width=a.width,this.element.height=n.height=a.height,this.container.started&&t.particles.setResizeFactor({width:i.width/r.width,height:i.height/r.height}),!0}setPointerEvents(t){this.element&&(this._pointerEvents=t,this._repairStyle())}stop(){this._safeMutationObserver(t=>{t.disconnect()}),this._mutationObserver=void 0,this.draw(t=>{(0,r.IU)(t,this.size)})}async windowResize(){if(!this.element||!this.resize())return;let t=this.container,i=t.updateActualOptions();t.particles.setDensity(),this._applyResizePlugins(),i&&await t.refresh()}_applyPostDrawUpdaters=t=>{for(let i of this._postDrawUpdaters)i.afterDraw?.(t)};_applyPreDrawUpdaters=(t,i,e,s,r,n)=>{for(let h of this._preDrawUpdaters){if(h.getColorStyles){let{fill:a,stroke:n}=h.getColorStyles(i,t,e,s);a&&(r.fill=a),n&&(r.stroke=n)}if(h.getTransformValues){let t=h.getTransformValues(i);for(let i in t)!function(t,i,e){let s=i[e];void 0!==s&&(t[e]=(t[e]??a.zs)*s)}(n,t,i)}h.beforeDraw?.(i)}};_applyResizePlugins=()=>{for(let t of this._resizePlugins)t.resize?.()};_getPluginParticleColors=t=>{let i,e;for(let s of this._colorPlugins)if(!i&&s.particleFillColor&&(i=(0,h.R5)(this._engine,s.particleFillColor(t))),!e&&s.particleStrokeColor&&(e=(0,h.R5)(this._engine,s.particleStrokeColor(t))),i&&e)break;return this._reusablePluginColors[0]=i,this._reusablePluginColors[1]=e,this._reusablePluginColors};_initStyle=()=>{let t=this.element,i=this.container.actualOptions;if(t)for(let e in this._fullScreen?this._setFullScreenStyle():this._resetOriginalStyle(),i.style){if(!e||!Object.hasOwn(i.style,e))continue;let s=i.style[e];s&&t.style.setProperty(e,s,"important")}};_repairStyle=()=>{let t=this.element;if(!t)return;this._safeMutationObserver(t=>{t.disconnect()}),this._initStyle(),this.initBackground();let i=this._pointerEvents;t.style.pointerEvents=i,t.setAttribute("pointer-events",i),this._safeMutationObserver(i=>{t instanceof Node&&i.observe(t,{attributes:!0})})};_resetOriginalStyle=()=>{let t=this.element,i=this._originalStyle;t&&i&&o(t,i,!0)};_safeMutationObserver=t=>{this._mutationObserver&&t(this._mutationObserver)};_setFullScreenStyle=()=>{let t=this.element;t&&o(t,(0,n.hJ)(this.container.actualOptions.fullScreen.zIndex),!0)}}class c{container;_handlers;_resizeObserver;_resizeTimeout;constructor(t){this.container=t,this._handlers={visibilityChange:()=>{this._handleVisibilityChange()},resize:()=>{this._handleWindowResize()}}}addListeners(){this._manageListeners(!0)}removeListeners(){this._manageListeners(!1)}_handleVisibilityChange=()=>{let t=this.container;t.actualOptions.pauseOnBlur&&((0,n.T5)().hidden?(t.pageHidden=!0,t.pause()):(t.pageHidden=!1,t.animationStatus?t.play(!0):t.draw(!0)))};_handleWindowResize=()=>{this._resizeTimeout&&(clearTimeout(this._resizeTimeout),delete this._resizeTimeout);let t=async()=>{let t=this.container.canvas;await t.windowResize()};this._resizeTimeout=setTimeout(()=>void t(),this.container.actualOptions.resize.delay*a.Xu)};_manageListeners=t=>{let i=this._handlers;this._manageResize(t),(0,n.Kp)(document,a.nK,i.visibilityChange,t,!1)};_manageResize=t=>{let i=this._handlers,e=this.container;if(!e.actualOptions.resize.enable)return;if("u"<typeof ResizeObserver)return void(0,n.Kp)(globalThis,a.NF,i.resize,t);let s=e.canvas.element;this._resizeObserver&&!t?(s&&this._resizeObserver.unobserve(s),this._resizeObserver.disconnect(),delete this._resizeObserver):!this._resizeObserver&&t&&s&&(this._resizeObserver=new ResizeObserver(t=>{t.find(t=>t.target===s)&&this._handleWindowResize()}),this._resizeObserver.observe(s))}}var d=e(4008),p=e(4163),u=e(1817),_=e(9325),g=e(3031),f=e(4734),P=e(7542),m=e(4998);function y(t){if(!(0,n.hn)(t.outMode,t.checkModes))return;let i=t.radius*a.gd;t.coord>t.maxCoord-i?t.setCb(-t.radius):t.coord<i&&t.setCb(t.radius)}class w{container;backColor;bubble;color;destroyed;direction;effect;effectClose;effectData;effectFill;group;id;ignoresResizeRatio;initialPosition;initialVelocity;isRotating;lastPathTime;misplaced;moveCenter;moveDecay;offset;opacity;options;outType;pathDelay;pathGenerator;pathRotation;position;randomIndexData;retina;roll;rotation;shape;shapeClose;shapeData;shapeFill;sides;size;slow;spawning;strokeColor;strokeOpacity;strokeWidth;unbreakable;velocity;zIndexFactor;_cachedOpacityData={opacity:a.hv,strokeOpacity:a.hv};_cachedPosition=_.p.origin;_cachedRotateData={sin:0,cos:0};_cachedTransform={a:1,b:0,c:0,d:1};_engine;constructor(t,i){this.container=i,this._engine=t}destroy(t){if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1,this.slow.inRange=!1;let i=this.container,e=this.pathGenerator,s=this.shape?i.particles.shapeDrawers.get(this.shape):void 0;for(let e of(s?.particleDestroy?.(this),i.particleDestroyedPlugins))e.particleDestroyed?.(this,t);for(let e of i.particles.updaters)e.particleDestroyed?.(this,t);e?.reset(this),this._engine.dispatchEvent(d.B.particleDestroyed,{container:this.container,data:{particle:this}})}draw(t){let i=this.container.canvas;i.drawParticlePlugins(this,t),i.drawParticle(this,t)}getAngle(){return this.rotation+(this.pathRotation?this.velocity.angle:a.tA)}getFillColor(){return this._getRollColor(this.bubble.color??(0,h.O_)(this.color))}getMass(){return this.getRadius()**a.dm*Math.PI*a.MX}getOpacity(){let t=this.options.zIndex,i=a.RV-this.zIndexFactor,e=i**t.opacityRate,r=this.bubble.opacity??(0,s.VG)(this.opacity?.value??a.hv),n=this.strokeOpacity??r;return this._cachedOpacityData.opacity=r*e,this._cachedOpacityData.strokeOpacity=n*e,this._cachedOpacityData}getPosition(){return this._cachedPosition.x=this.position.x+this.offset.x,this._cachedPosition.y=this.position.y+this.offset.y,this._cachedPosition.z=this.position.z,this._cachedPosition}getRadius(){return this.bubble.radius??this.size.value}getRotateData(){let t=this.getAngle();return this._cachedRotateData.sin=Math.sin(t),this._cachedRotateData.cos=Math.cos(t),this._cachedRotateData}getStrokeColor(){return this._getRollColor(this.bubble.color??(0,h.O_)(this.strokeColor))}getTransformData(t){let i=this.getRotateData(),e=this.isRotating;return this._cachedTransform.a=i.cos*(t.a??a.Ug.a),this._cachedTransform.b=e?i.sin*(t.b??a.D_):t.b??a.Ug.b,this._cachedTransform.c=e?-i.sin*(t.c??a.D_):t.c??a.Ug.c,this._cachedTransform.d=i.cos*(t.d??a.Ug.d),this._cachedTransform}init(t,i,e,r){var h,o,l,c;let d,p,u,_,g=this.container;this.id=t,this.group=r,this.effectClose=!0,this.effectFill=!0,this.shapeClose=!0,this.shapeFill=!0,this.pathRotation=!1,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.isRotating=!1,this.rotation=0,this.misplaced=!1,this.retina={maxDistance:{}},this.outType=P.x.normal,this.ignoresResizeRatio=!0;let f=g.retina.pixelRatio,y=g.actualOptions,w=(0,m.y)(this._engine,g,y.particles),v=w.reduceDuplicates,b=w.effect.type,z=w.shape.type;this.effect=(0,n.TA)(b,this.id,v),this.shape=(0,n.TA)(z,this.id,v);let S=w.effect,C=w.shape;if(e){if(e.effect?.type){let t=e.effect.type,i=(0,n.TA)(t,this.id,v);i&&(this.effect=i,S.load(e.effect))}if(e.shape?.type){let t=e.shape.type,i=(0,n.TA)(t,this.id,v);i&&(this.shape=i,C.load(e.shape))}}if(this.effect===a.mR){let t=[...this.container.particles.effectDrawers.keys()];this.effect=t[Math.floor((0,s.G0)()*t.length)]}if(this.shape===a.mR){let t=[...this.container.particles.shapeDrawers.keys()];this.shape=t[Math.floor((0,s.G0)()*t.length)]}this.effectData=this.effect?(h=this.effect,o=this.id,u=S.options[h],(0,n.zw)({close:S.close,fill:S.fill},(0,n.TA)(u,o,v))):void 0,this.shapeData=this.shape?(l=this.shape,c=this.id,_=C.options[l],(0,n.zw)({close:C.close,fill:C.fill},(0,n.TA)(_,c,v))):void 0,w.load(e);let D=this.effectData;D&&w.load(D.particles);let x=this.shapeData;x&&w.load(x.particles),this.effectFill=D?.fill??w.effect.fill,this.effectClose=D?.close??w.effect.close,this.shapeFill=x?.fill??w.shape.fill,this.shapeClose=x?.close??w.shape.close,this.options=w;let R=this.options.move.path;if(this.pathDelay=(0,s.VG)(R.delay.value)*a.Xu,R.generator){let t=this.container.particles.pathGenerators.get(R.generator);!t&&(t=this.container.particles.availablePathGenerators.get(R.generator))&&(this.container.particles.pathGenerators.set(R.generator,t),t.init()),this.pathGenerator=t}g.retina.initParticle(this),this.size=(0,n.Xs)(this.options.size,f),this.bubble={inRange:!1},this.slow={inRange:!1,factor:1},this._initPosition(i),this.initialVelocity=this._calculateVelocity(),this.velocity=this.initialVelocity.copy(),this.moveDecay=a.WH-(0,s.VG)(this.options.move.decay);let O=g.particles;O.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/g.zLayers,this.sides=24,this.effect&&(d=g.particles.effectDrawers.get(this.effect)),d?.loadEffect&&d.loadEffect(this),this.shape&&(p=g.particles.shapeDrawers.get(this.shape)),p?.loadShape&&p.loadShape(this);let M=p?.getSidesCount;for(let t of(M&&(this.sides=M(this)),this.spawning=!1,O.updaters))t.init(this);for(let t of O.movers)t.init(this);for(let t of(d?.particleInit?.(g,this),p?.particleInit?.(g,this),g.particleCreatedPlugins))t.particleCreated?.(this)}isInsideCanvas(){let t=this.getRadius(),i=this.container.canvas.size,e=this.position;return e.x>=-t&&e.y>=-t&&e.y<=i.height+t&&e.x<=i.width+t}isShowingBack(){if(!this.roll)return!1;let t=this.roll.angle;if(this.roll.horizontal&&this.roll.vertical){let i=t%a.R1,e=i<a.tA?i+a.R1:i;return e>=Math.PI*a.MX&&e<Math.PI*a.Nu*a.MX}if(this.roll.horizontal){let i=(t+Math.PI*a.MX)%(Math.PI*a.gd),e=i<a.tA?i+Math.PI*a.gd:i;return e>=Math.PI&&e<Math.PI*a.gd}if(this.roll.vertical){let i=t%(Math.PI*a.gd),e=i<a.tA?i+Math.PI*a.gd:i;return e>=Math.PI&&e<Math.PI*a.gd}return!1}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){for(let t of this.container.particles.updaters)t.reset?.(this)}_calcPosition=(t,i)=>{let e=a.rq,r=t?_.p.create(t.x,t.y,i):void 0,n=this.container,h=n.particlePositionPlugins,o=this.options.move.outModes,l=this.getRadius(),c=n.canvas.size,{signal:d}=new AbortController;for(;!d.aborted;){for(let t of h){let e=t.particlePosition?.(r,this);if(e)return _.p.create(e.x,e.y,i)}let t=(0,s.Nx)({size:c,position:r}),d=_.p.create(t.x,t.y,i);this._fixHorizontal(d,l,o.left??o.default),this._fixHorizontal(d,l,o.right??o.default),this._fixVertical(d,l,o.top??o.default),this._fixVertical(d,l,o.bottom??o.default);let p=!0;for(let t of n.particles.checkParticlePositionPlugins)if(!(p=t.checkParticlePosition?.(this,d,e)??!0))break;if(p)return d;e+=a.Eo,r=void 0}return r};_calculateVelocity=()=>{let t=(0,s.$m)(this.direction).copy(),i=this.options.move;if(i.direction===g.F.inside||i.direction===g.F.outside)return t;let e=(0,s.pu)((0,s.VG)(i.angle.value)),r=(0,s.pu)((0,s.VG)(i.angle.offset)),n={left:r-e*a.MX,right:r+e*a.MX};return i.straight||(t.angle+=(0,s.vE)((0,s.DT)(n.left,n.right))),i.random&&"number"==typeof i.speed&&(t.length*=(0,s.G0)()),t};_fixHorizontal=(t,i,e)=>{y({outMode:e,checkModes:[f.Y.bounce],coord:t.x,maxCoord:this.container.canvas.size.width,setCb:i=>t.x+=i,radius:i})};_fixVertical=(t,i,e)=>{y({outMode:e,checkModes:[f.Y.bounce],coord:t.y,maxCoord:this.container.canvas.size.height,setCb:i=>t.y+=i,radius:i})};_getRollColor=t=>t&&this.roll&&(this.backColor||this.roll.alter)&&this.isShowingBack()?this.backColor?this.backColor:this.roll.alter?(0,r.yx)(t,this.roll.alter.type,this.roll.alter.value):t:t;_initPosition=t=>{let i=this.container,e=(0,s.VG)(this.options.zIndex.value),r=this._calcPosition(t,(0,s.qE)(e,a.X_,i.zLayers));if(!r)throw Error("a valid position cannot be found for particle");this.position=r,this.initialPosition=this.position.copy();let h=i.canvas.size;switch(this.moveCenter={...(0,n.E9)(this.options.move.center,h),radius:this.options.move.center.radius,mode:this.options.move.center.mode},this.direction=(0,s.JY)(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case g.F.inside:this.outType=P.x.inside;break;case g.F.outside:this.outType=P.x.outside}this.offset=_.M.origin}}var v=e(5775),b=e(2981);class z{rectangle;capacity;_divided;_points;_subs;constructor(t,i){this.rectangle=t,this.capacity=i,this._points=[],this._divided=!1,this._subs=[]}insert(t){return!!this.rectangle.contains(t.position)&&(this._points.length<this.capacity?(this._points.push(t),!0):(this._divided||this._subdivide(),this._subs.some(i=>i.insert(t))))}query(t,i){let e=[];if(!t.intersects(this.rectangle))return[];for(let a of this._points)!t.contains(a.position)&&(0,s.Yf)(t.position,a.position)>a.particle.getRadius()&&(!i||i(a.particle))||e.push(a.particle);if(this._divided)for(let s of this._subs)e.push(...s.query(t,i));return e}queryCircle(t,i,e){return this.query(new b.jl(t.x,t.y,i),e)}queryRectangle(t,i,e){return this.query(new b.M_(t.x,t.y,i.width,i.height),e)}_subdivide=()=>{let{x:t,y:i}=this.rectangle.position,{width:e,height:s}=this.rectangle.size,{capacity:r}=this;for(let n=0;n<a.Pg;n++){let h=n%a.gd;this._subs.push(new z(new b.M_(t+e*a.MX*h,i+s*a.MX*(Math.round(n*a.MX)-h),e*a.MX,s*a.MX),r))}this._divided=!0}}var S=e(1002);let C=t=>{let{height:i,width:e}=t;return new b.M_(a.un*e,a.un*i,a.Rh*e,a.Rh*i)};class D{availablePathGenerators;checkParticlePositionPlugins;effectDrawers;movers;pathGenerators;quadTree;shapeDrawers;updaters;_array;_container;_engine;_groupLimits;_limit;_maxZIndex;_minZIndex;_needsSort;_nextId;_particleResetPlugins;_particleUpdatePlugins;_pool;_postParticleUpdatePlugins;_postUpdatePlugins;_resizeFactor;_updatePlugins;_zArray;constructor(t,i){this._engine=t,this._container=i,this._nextId=0,this._array=[],this._zArray=[],this._pool=[],this._limit=0,this._groupLimits=new Map,this._needsSort=!1,this._minZIndex=0,this._maxZIndex=0;const e=i.canvas.size;this.quadTree=new z(C(e),a.Kw),this.effectDrawers=new Map,this.movers=[],this.availablePathGenerators=new Map,this.pathGenerators=new Map,this.shapeDrawers=new Map,this.updaters=[],this.checkParticlePositionPlugins=[],this._particleResetPlugins=[],this._particleUpdatePlugins=[],this._postUpdatePlugins=[],this._postParticleUpdatePlugins=[],this._updatePlugins=[]}get count(){return this._array.length}addParticle(t,i,e,s){let r=this._container.actualOptions.particles.number.limit.mode,n=void 0===e?this._limit:this._groupLimits.get(e)??this._limit,h=this.count;if(n>a.ou)switch(r){case u.d.delete:{let t=h+a.nq-n;t>a.wM&&this.removeQuantity(t);break}case u.d.wait:if(h>=n)return}try{let a=this._pool.pop()??new w(this._engine,this._container);a.init(this._nextId,t,i,e);let r=!0;if(s&&(r=s(a)),!r)return void this._pool.push(a);return this._array.push(a),this._zArray.push(a),this._nextId++,this._engine.dispatchEvent(d.B.particleAdded,{container:this._container,data:{particle:a}}),a}catch(t){(0,S.t)().warning(`error adding particle: ${t}`)}}clear(){this._array=[],this._zArray=[]}destroy(){let t=this._container;for(let[,i]of this.effectDrawers)i.destroy?.(t);for(let[,i]of this.shapeDrawers)i.destroy?.(t);this._array=[],this._pool.length=0,this._zArray=[],this.effectDrawers=new Map,this.movers=[],this.availablePathGenerators=new Map,this.pathGenerators=new Map,this.shapeDrawers=new Map,this.updaters=[],this.checkParticlePositionPlugins=[],this._particleResetPlugins=[],this._particleUpdatePlugins=[],this._postUpdatePlugins=[],this._postParticleUpdatePlugins=[],this._updatePlugins=[]}drawParticles(t){for(let i of this._zArray)i.draw(t)}filter(t){return this._array.filter(t)}find(t){return this._array.find(t)}get(t){return this._array[t]}async init(){let t=this._container,i=t.actualOptions;for(let i of(this._minZIndex=0,this._maxZIndex=0,this._needsSort=!1,this.checkParticlePositionPlugins=[],this._updatePlugins=[],this._particleUpdatePlugins=[],this._postUpdatePlugins=[],this._particleResetPlugins=[],this._postParticleUpdatePlugins=[],t.plugins))i.redrawInit&&await i.redrawInit(),i.checkParticlePosition&&this.checkParticlePositionPlugins.push(i),i.update&&this._updatePlugins.push(i),i.particleUpdate&&this._particleUpdatePlugins.push(i),i.postUpdate&&this._postUpdatePlugins.push(i),i.particleReset&&this._particleResetPlugins.push(i),i.postParticleUpdate&&this._postParticleUpdatePlugins.push(i);for(let i of(await this.initPlugins(),this.effectDrawers.values()))await i.init?.(t);for(let i of this.shapeDrawers.values())await i.init?.(t);let e=!1;for(let i of t.plugins)if(e=i.particlesInitialization?.()??e)break;if(!e){let t=i.particles,e=t.groups;for(let i in e){let s=e[i];if(s)for(let e=this.count,a=0;a<s.number.value&&e<t.number.value;e++,a++)this.addParticle(void 0,s,i)}for(let i=this.count;i<t.number.value;i++)this.addParticle()}}async initPlugins(){let t=this._container;for(let i of(this.effectDrawers=await this._engine.getEffectDrawers(t,!0),this.movers=await this._engine.getMovers(t,!0),this.availablePathGenerators=await this._engine.getPathGenerators(t,!0),this.pathGenerators=new Map,this.shapeDrawers=await this._engine.getShapeDrawers(t,!0),this.updaters=await this._engine.getUpdaters(t,!0),this.pathGenerators.values()))i.init()}push(t,i,e,s){for(let a=0;a<t;a++)this.addParticle(i,e,s)}async redraw(){this.clear(),await this.init(),this._container.canvas.drawParticles({value:0,factor:0})}remove(t,i,e){this.removeAt(this._array.indexOf(t),void 0,i,e)}removeAt(t,i=a.xd,e,s){if(t<a.z9||t>this.count)return;let r=0;for(let a=t;r<i&&a<this.count;a++)this._removeParticle(a,e,s)&&(a--,r++)}removeQuantity(t,i){this.removeAt(a.z9,t,i)}setDensity(){let t=this._container.actualOptions,i=t.particles.groups,e=0;for(let t of this._container.plugins)t.particlesDensityCount&&(e+=t.particlesDensityCount());for(let t in i){let s=i[t];if(!s)continue;let a=(0,m.y)(this._engine,this._container,s);this._applyDensity(a,e,t)}this._applyDensity(t.particles,e)}setLastZIndex(t){this._needsSort||=t>=this._maxZIndex||t>this._minZIndex&&t<this._maxZIndex}setResizeFactor(t){this._resizeFactor=t}update(t){let i=this._container,e=new Set;for(let t of(this.quadTree=new z(C(i.canvas.size),a.Kw),this.pathGenerators.values()))t.update();for(let i of this._updatePlugins)i.update?.(t);let s=this._resizeFactor;for(let i of this._array){for(let t of(s&&!i.ignoresResizeRatio&&(i.position.x*=s.width,i.position.y*=s.height,i.initialPosition.x*=s.width,i.initialPosition.y*=s.height),i.ignoresResizeRatio=!1,this._particleResetPlugins))t.particleReset?.(i);for(let e of this._particleUpdatePlugins){if(i.destroyed)break;e.particleUpdate?.(i,t)}for(let e of this.movers)e.isEnabled(i)&&e.move(i,t);if(i.destroyed){e.add(i);continue}this.quadTree.insert(new v.b(i.getPosition(),i))}if(e.size){let t=t=>!e.has(t);for(let i of(this._array=this.filter(t),this._zArray=this._zArray.filter(t),e))this._engine.dispatchEvent(d.B.particleRemoved,{container:this._container,data:{particle:i}});this._addToPool(...e)}for(let i of this._postUpdatePlugins)i.postUpdate?.(t);for(let i of this._array){for(let e of this.updaters)e.update(i,t);if(!i.destroyed&&!i.spawning)for(let e of this._postParticleUpdatePlugins)e.postParticleUpdate?.(i,t)}if(delete this._resizeFactor,this._needsSort){let t=this._zArray;t.sort((t,i)=>i.position.z-t.position.z||t.id-i.id);let i=t[a.z9],e=t[t.length-a.K3];if(!i||!e)return;this._maxZIndex=i.position.z,this._minZIndex=e.position.z,this._needsSort=!1}}_addToPool=(...t)=>{this._pool.push(...t)};_applyDensity=(t,i,e,s)=>{let r=t.number;if(!r.density.enable)return void(void 0===e?this._limit=r.limit.value:(s?.number.limit.value??r.limit.value)&&this._groupLimits.set(e,s?.number.limit.value??r.limit.value));let n=this._initDensityFactor(r.density),h=r.value,o=r.limit.value>a.ou?r.limit.value:h,l=Math.min(h,o)*n+i,c=Math.min(this.count,this.filter(t=>t.group===e).length);void 0===e?this._limit=r.limit.value*n:this._groupLimits.set(e,r.limit.value*n),c<l?this.push(Math.abs(l-c),void 0,t,e):c>l&&this.removeQuantity(c-l,e)};_initDensityFactor=t=>{let i=this._container;if(!i.canvas.element||!t.enable)return a.lA;let e=i.canvas.element,s=i.retina.pixelRatio;return e.width*e.height/(t.height*t.width*s**a.dm)};_removeParticle=(t,i,e)=>{let s=this._array[t];if(!s||s.group!==i)return!1;let r=this._zArray.indexOf(s);return this._array.splice(t,a.LD),this._zArray.splice(r,a.LD),s.destroy(e),this._engine.dispatchEvent(d.B.particleRemoved,{container:this._container,data:{particle:s}}),this._addToPool(s),!0}}class x{container;maxSpeed;pixelRatio;reduceFactor;sizeAnimationSpeed;constructor(t){this.container=t,this.pixelRatio=a.$x,this.reduceFactor=a.Zp}init(){let t=this.container,i=t.actualOptions;this.pixelRatio=i.detectRetina?devicePixelRatio:a.$x,this.reduceFactor=a.Zp;let e=this.pixelRatio,r=t.canvas;if(r.element){let t=r.element;r.size.width=t.offsetWidth*e,r.size.height=t.offsetHeight*e}let n=i.particles,h=n.move;this.maxSpeed=(0,s.VG)(h.gravity.maxSpeed)*e,this.sizeAnimationSpeed=(0,s.VG)(n.size.animation.speed)*e}initParticle(t){let i=t.options,e=this.pixelRatio,a=i.move,r=a.distance,n=t.retina;n.moveDrift=(0,s.VG)(a.drift)*e,n.moveSpeed=(0,s.VG)(a.speed)*e,n.sizeAnimationSpeed=(0,s.VG)(i.size.animation.speed)*e;let h=n.maxDistance;h.horizontal=void 0!==r.horizontal?r.horizontal*e:void 0,h.vertical=void 0!==r.vertical?r.vertical*e:void 0,n.maxSpeed=(0,s.VG)(a.gravity.maxSpeed)*e}}function R(t){return!t.destroyed}function O(t,i,...e){let s=new p.J(t,i);return(0,m.Z)(s,...e),s}class M{actualOptions;canvas;destroyed;fpsLimit;hdr;id;pageHidden;particleCreatedPlugins;particleDestroyedPlugins;particlePositionPlugins;particles;plugins;retina;started;zLayers;_delay;_delayTimeout;_delta={value:0,factor:0};_drawAnimationFrame;_duration;_engine;_eventListeners;_firstStart;_initialSourceOptions;_lastFrameTime;_lifeTime;_options;_paused;_smooth;_sourceOptions;constructor(t,i,e){this._engine=t,this.id=Symbol(i),this.fpsLimit=120,this.hdr=!1,this._smooth=!1,this._delay=0,this._duration=0,this._lifeTime=0,this._firstStart=!0,this.started=!1,this.destroyed=!1,this._paused=!0,this._lastFrameTime=0,this.zLayers=100,this.pageHidden=!1,this._sourceOptions=e,this._initialSourceOptions=e,this.retina=new x(this),this.canvas=new l(this,this._engine),this.particles=new D(this._engine,this),this.plugins=[],this.particleDestroyedPlugins=[],this.particleCreatedPlugins=[],this.particlePositionPlugins=[],this._options=O(this._engine,this),this.actualOptions=O(this._engine,this),this._eventListeners=new c(this),this._engine.dispatchEvent(d.B.containerBuilt,{container:this})}get animationStatus(){return!this._paused&&!this.pageHidden&&R(this)}get options(){return this._options}get sourceOptions(){return this._sourceOptions}addLifeTime(t){this._lifeTime+=t}alive(){return!this._duration||this._lifeTime<=this._duration}destroy(t=!0){if(R(this)){for(let t of(this.stop(),this.particles.destroy(),this.canvas.destroy(),this.plugins))t.destroy?.();if(this.plugins.length=0,this._engine.clearPlugins(this),this.destroyed=!0,t){let t=this._engine.items,i=t.indexOf(this);i>=a.vF&&t.splice(i,a.JC)}this._engine.dispatchEvent(d.B.containerDestroyed,{container:this})}}draw(t){if(!R(this))return;let i=t,e=t=>{i&&(this._lastFrameTime=void 0,i=!1),this._nextFrame(t)};this._drawAnimationFrame=(0,s.i0)(t=>{e(t)})}async export(t,i={}){for(let e of this.plugins){if(!e.export)continue;let s=await e.export(t,i);if(s.supported)return s.blob}(0,S.t)().error(`Export plugin with type ${t} not found`)}async init(){if(!R(this))return;let t=new Map;for(let i of this._engine.plugins){let e=await i.getPlugin(this);e.preInit&&await e.preInit(),t.set(i,e)}for(let[i,e]of(await this.particles.initPlugins(),this._options=O(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=O(this._engine,this,this._options),this.plugins.length=0,this.particleDestroyedPlugins.length=0,this.particleCreatedPlugins.length=0,this.particlePositionPlugins.length=0,t))i.needsPlugin(this.actualOptions)&&(this.plugins.push(e),e.particleCreated&&this.particleCreatedPlugins.push(e),e.particleDestroyed&&this.particleDestroyedPlugins.push(e),e.particlePosition&&this.particlePositionPlugins.push(e));this.retina.init(),this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize();let{delay:i,duration:e,fpsLimit:r,hdr:n,smooth:h,zLayers:o}=this.actualOptions;for(let t of(this.hdr=n,this.zLayers=o,this._duration=(0,s.VG)(e)*a.Xu,this._delay=(0,s.VG)(i)*a.Xu,this._lifeTime=0,this.fpsLimit=r>a.DN?r:a.i8,this._smooth=h,this.plugins))await t.init?.();for(let t of(await this.particles.init(),this._engine.dispatchEvent(d.B.containerInit,{container:this}),this.particles.setDensity(),this.plugins))t.particlesSetup?.();this._engine.dispatchEvent(d.B.particlesSetup,{container:this})}pause(){if(R(this)&&(void 0!==this._drawAnimationFrame&&((0,s.px)(this._drawAnimationFrame),delete this._drawAnimationFrame),!this._paused)){for(let t of this.plugins)t.pause?.();this.pageHidden||(this._paused=!0),this._engine.dispatchEvent(d.B.containerPaused,{container:this})}}play(t){if(!R(this))return;let i=this._paused||t;if(this._firstStart&&!this.actualOptions.autoPlay){this._firstStart=!1;return}if(this._paused&&(this._paused=!1),i)for(let t of this.plugins)t.play&&t.play();this._engine.dispatchEvent(d.B.containerPlay,{container:this}),this.draw(i??!1)}async refresh(){if(R(this))return this.stop(),this.start()}async reset(t){if(R(this))return this._initialSourceOptions=t,this._sourceOptions=t,this._options=O(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=O(this._engine,this,this._options),this.refresh()}async start(){R(this)&&!this.started&&(await this.init(),this.started=!0,await new Promise(t=>{let i=async()=>{for(let t of(this._eventListeners.addListeners(),this.plugins))await t.start?.();this._engine.dispatchEvent(d.B.containerStarted,{container:this}),this.play(),t()};this._delayTimeout=setTimeout(()=>void i(),this._delay)}))}stop(){if(R(this)&&this.started){for(let t of(this._delayTimeout&&(clearTimeout(this._delayTimeout),delete this._delayTimeout),this._firstStart=!0,this.started=!1,this._eventListeners.removeListeners(),this.pause(),this.particles.clear(),this.canvas.stop(),this.plugins))t.stop?.();this.particleCreatedPlugins.length=0,this.particleDestroyedPlugins.length=0,this.particlePositionPlugins.length=0,this._sourceOptions=this._options,this._engine.dispatchEvent(d.B.containerStopped,{container:this})}}updateActualOptions(){let t=!1;for(let i of this.plugins)i.updateActualOptions&&(t=i.updateActualOptions()||t);return t}_nextFrame=t=>{try{if(!this._smooth&&void 0!==this._lastFrameTime&&t<this._lastFrameTime+a.Xu/this.fpsLimit||(this._lastFrameTime??=t,!function(t,i,e=a.z$,s=!1){t.value=i,t.factor=s?a.z$/e:a.z$*i/a.Xu}(this._delta,t-this._lastFrameTime,this.fpsLimit,this._smooth),this.addLifeTime(this._delta.value),this._lastFrameTime=t,this._delta.value>a.Xu))return void this.draw(!1);if(this.canvas.drawParticles(this._delta),!this.alive())return void this.destroy();this.animationStatus&&this.draw(!1)}catch(t){(0,S.t)().error("error in animation loop",t)}}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[6900],{6900(t,i,e){e.d(i,{Container:()=>M});var s=e(8346),a=e(9692),r=e(3756),n=e(160),o=e(1101);function h(t,i,e=!1){if(!i)return;let s=t.style,a=new Set;for(let t=0;t<s.length;t++){let i=s.item(t);i&&a.add(i)}for(let t=0;t<i.length;t++){let e=i.item(t);e&&a.add(e)}for(let t of a){let a=i.getPropertyValue(t);a?s.setProperty(t,a,e?"important":""):s.removeProperty(t)}}class l{container;element;size;zoom=a.Pf;_canvasClearPlugins;_canvasPaintPlugins;_canvasSettings;_clearDrawPlugins;_colorPlugins;_context;_drawParticlePlugins;_drawParticlesCleanupPlugins;_drawParticlesSetupPlugins;_drawPlugins;_drawSettingsCleanupPlugins;_drawSettingsSetupPlugins;_engine;_generated;_mutationObserver;_originalStyle;_pointerEvents;_postDrawUpdaters;_preDrawUpdaters;_resizePlugins;_reusableColorStyles={};_reusablePluginColors=[void 0,void 0];_reusableTransform={};_standardSize;_zoomCenter;constructor(t,i){this.container=t,this._engine=i,this._standardSize={height:0,width:0};const e=t.retina.pixelRatio,s=this._standardSize;this.size={height:s.height*e,width:s.width*e},this._context=null,this._generated=!1,this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesCleanupPlugins=[],this._drawParticlesSetupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[],this._pointerEvents="none"}get settings(){return this._canvasSettings}get _fullScreen(){return this.container.actualOptions.fullScreen.enable}canvasClear(){this.container.actualOptions.clear&&this.draw(t=>{(0,r.IU)(t,this.size)})}clear(){let t=!1;for(let i of this._canvasClearPlugins)if(t=i.canvasClear?.()??!1)break;t||this.canvasClear()}destroy(){if(this.stop(),this._generated){let t=this.element;t?.remove(),this.element=void 0}else this._resetOriginalStyle();this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesCleanupPlugins=[],this._drawParticlesSetupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[]}draw(t){let i=this._context;if(i)return t(i)}drawParticle(t,i){if(t.spawning||t.destroyed)return;let e=t.getRadius();if(e<=a.w2)return;let s=t.getFillColor(),n=t.getStrokeColor()??s,[h,l]=this._getPluginParticleColors(t);if(h??=s,l??=n,!h&&!l)return;let c=this.container,d=t.options.zIndex,p=a.RV-t.zIndexFactor,{opacity:u,strokeOpacity:_}=t.getOpacity(),g=this._reusableTransform,f=this._reusableColorStyles,P=h?(0,o.LC)(h,c.hdr,u):void 0,m=l?(0,o.LC)(l,c.hdr,_):P;g.a=g.b=g.c=g.d=void 0,f.fill=P,f.stroke=m,this.draw(s=>{for(let e of this._drawParticlesSetupPlugins)e.drawParticleSetup?.(s,t,i);for(let a of(this._applyPreDrawUpdaters(s,t,e,u,f,g),(0,r.p0)({container:c,context:s,particle:t,delta:i,colorStyles:f,radius:e*p**d.sizeRate,opacity:u,transform:g}),this._applyPostDrawUpdaters(t),this._drawParticlesCleanupPlugins))a.drawParticleCleanup?.(s,t,i)})}drawParticlePlugins(t,i){this.draw(e=>{for(let s of this._drawParticlePlugins)(0,r.Wb)(e,s,t,i)})}drawParticles(t){let{particles:i}=this.container;this.clear(),i.update(t),this.draw(e=>{for(let i of this._drawSettingsSetupPlugins)i.drawSettingsSetup?.(e,t);for(let i of this._drawPlugins)i.draw?.(e,t);for(let s of(i.drawParticles(t),this._clearDrawPlugins))s.clearDraw?.(e,t);for(let i of this._drawSettingsCleanupPlugins)i.drawSettingsCleanup?.(e,t)})}getZoomCenter(){let t=this.container.retina.pixelRatio,{width:i,height:e}=this.size;return this._zoomCenter?this._zoomCenter:{x:i*a.MX/t,y:e*a.MX/t}}init(){this._safeMutationObserver(t=>{t.disconnect()}),this._mutationObserver=(0,n.tG)(t=>{for(let i of t)"attributes"===i.type&&"style"===i.attributeName&&this._repairStyle()}),this.resize(),this._initStyle(),this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})}),this.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){let{container:t}=this,i=t.actualOptions.background,e=this.element;if(!e)return;let s=e.style,a=(0,o.BN)(this._engine,i.color);a?s.backgroundColor=(0,o.xx)(a,t.hdr,i.opacity):s.backgroundColor="",s.backgroundImage=i.image||"",s.backgroundPosition=i.position||"",s.backgroundRepeat=i.repeat||"",s.backgroundSize=i.size||""}initPlugins(){for(let t of(this._resizePlugins=[],this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesSetupPlugins=[],this._drawParticlesCleanupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[],this.container.plugins))t.resize&&this._resizePlugins.push(t),(t.particleFillColor??t.particleStrokeColor)&&this._colorPlugins.push(t),t.canvasClear&&this._canvasClearPlugins.push(t),t.canvasPaint&&this._canvasPaintPlugins.push(t),t.drawParticle&&this._drawParticlePlugins.push(t),t.drawParticleSetup&&this._drawParticlesSetupPlugins.push(t),t.drawParticleCleanup&&this._drawParticlesCleanupPlugins.push(t),t.draw&&this._drawPlugins.push(t),t.drawSettingsSetup&&this._drawSettingsSetupPlugins.push(t),t.drawSettingsCleanup&&this._drawSettingsCleanupPlugins.push(t),t.clearDraw&&this._clearDrawPlugins.push(t)}initUpdaters(){for(let t of(this._preDrawUpdaters=[],this._postDrawUpdaters=[],this.container.particles.updaters))t.afterDraw&&this._postDrawUpdaters.push(t),(t.getColorStyles??t.getTransformValues??t.beforeDraw)&&this._preDrawUpdaters.push(t)}loadCanvas(t){this._generated&&this.element&&this.element.remove();let i=this.container;this._generated=a.eb in t.dataset?"true"===t.dataset[a.eb]:this._generated,this.element=t,this.element.ariaHidden="true",this._originalStyle=(0,n.td)(this.element.style);let e=this._standardSize;e.height=t.offsetHeight,e.width=t.offsetWidth;let s=this.container.retina.pixelRatio,r=this.size;t.height=r.height=e.height*s,t.width=r.width=e.width*s;let o=(0,n.lV)("(color-gamut: p3)");this._canvasSettings={alpha:!0,colorSpace:o?.matches&&i.hdr?"display-p3":"srgb",desynchronized:!0,willReadFrequently:!1},this._context=this.element.getContext("2d",this._canvasSettings),this._safeMutationObserver(t=>{t.disconnect()}),i.retina.init(),this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})})}paint(){let t=!1;for(let i of this._canvasPaintPlugins)if(t=i.canvasPaint?.()??!1)break;t||this.paintBase()}paintBase(t){this.draw(i=>{(0,r.Sn)(i,this.size,t)})}paintImage(t,i){this.draw(e=>{(0,r.Md)(e,this.size,t,i)})}resize(){if(!this.element)return!1;let t=this.container,i=t.canvas._standardSize,e={width:this.element.offsetWidth,height:this.element.offsetHeight},s=t.retina.pixelRatio,a={width:e.width*s,height:e.height*s};if(e.height===i.height&&e.width===i.width&&a.height===this.element.height&&a.width===this.element.width)return!1;let r={...i};i.height=e.height,i.width=e.width;let n=this.size;return this.element.width=n.width=a.width,this.element.height=n.height=a.height,this.container.started&&t.particles.setResizeFactor({width:i.width/r.width,height:i.height/r.height}),!0}setPointerEvents(t){this.element&&(this._pointerEvents=t,this._repairStyle())}setZoom(t,i){this.zoom=t,this._zoomCenter=i}stop(){this._safeMutationObserver(t=>{t.disconnect()}),this._mutationObserver=void 0,this.draw(t=>{(0,r.IU)(t,this.size)})}async windowResize(){if(!this.element||!this.resize())return;let t=this.container,i=t.updateActualOptions();t.particles.setDensity(),this._applyResizePlugins(),i&&await t.refresh()}_applyPostDrawUpdaters=t=>{for(let i of this._postDrawUpdaters)i.afterDraw?.(t)};_applyPreDrawUpdaters=(t,i,e,s,r,n)=>{for(let o of this._preDrawUpdaters){if(o.getColorStyles){let{fill:a,stroke:n}=o.getColorStyles(i,t,e,s);a&&(r.fill=a),n&&(r.stroke=n)}if(o.getTransformValues){let t=o.getTransformValues(i);for(let i in t)!function(t,i,e){let s=i[e];void 0!==s&&(t[e]=(t[e]??a.zs)*s)}(n,t,i)}o.beforeDraw?.(i)}};_applyResizePlugins=()=>{for(let t of this._resizePlugins)t.resize?.()};_getPluginParticleColors=t=>{let i,e;for(let s of this._colorPlugins)if(!i&&s.particleFillColor&&(i=(0,o.R5)(this._engine,s.particleFillColor(t))),!e&&s.particleStrokeColor&&(e=(0,o.R5)(this._engine,s.particleStrokeColor(t))),i&&e)break;return this._reusablePluginColors[0]=i,this._reusablePluginColors[1]=e,this._reusablePluginColors};_initStyle=()=>{let t=this.element,i=this.container.actualOptions;if(t)for(let e in this._fullScreen?this._setFullScreenStyle():this._resetOriginalStyle(),i.style){if(!e||!Object.hasOwn(i.style,e))continue;let s=i.style[e];s&&t.style.setProperty(e,s,"important")}};_repairStyle=()=>{let t=this.element;if(!t)return;this._safeMutationObserver(t=>{t.disconnect()}),this._initStyle(),this.initBackground();let i=this._pointerEvents;t.style.pointerEvents=i,t.setAttribute("pointer-events",i),this._safeMutationObserver(i=>{t instanceof Node&&i.observe(t,{attributes:!0})})};_resetOriginalStyle=()=>{let t=this.element,i=this._originalStyle;t&&i&&h(t,i,!0)};_safeMutationObserver=t=>{this._mutationObserver&&t(this._mutationObserver)};_setFullScreenStyle=()=>{let t=this.element;t&&h(t,(0,n.hJ)(this.container.actualOptions.fullScreen.zIndex),!0)}}class c{container;_handlers;_resizeObserver;_resizeTimeout;constructor(t){this.container=t,this._handlers={visibilityChange:()=>{this._handleVisibilityChange()},resize:()=>{this._handleWindowResize()}}}addListeners(){this._manageListeners(!0)}removeListeners(){this._manageListeners(!1)}_handleVisibilityChange=()=>{let t=this.container;t.actualOptions.pauseOnBlur&&((0,n.T5)().hidden?(t.pageHidden=!0,t.pause()):(t.pageHidden=!1,t.animationStatus?t.play(!0):t.draw(!0)))};_handleWindowResize=()=>{this._resizeTimeout&&(clearTimeout(this._resizeTimeout),delete this._resizeTimeout);let t=async()=>{let t=this.container.canvas;await t.windowResize()};this._resizeTimeout=setTimeout(()=>void t(),this.container.actualOptions.resize.delay*a.Xu)};_manageListeners=t=>{let i=this._handlers;this._manageResize(t),(0,n.Kp)(document,a.nK,i.visibilityChange,t,!1)};_manageResize=t=>{let i=this._handlers,e=this.container;if(!e.actualOptions.resize.enable)return;if("u"<typeof ResizeObserver)return void(0,n.Kp)(globalThis,a.NF,i.resize,t);let s=e.canvas.element;this._resizeObserver&&!t?(s&&this._resizeObserver.unobserve(s),this._resizeObserver.disconnect(),delete this._resizeObserver):!this._resizeObserver&&t&&s&&(this._resizeObserver=new ResizeObserver(t=>{t.find(t=>t.target===s)&&this._handleWindowResize()}),this._resizeObserver.observe(s))}}var d=e(4008),p=e(4163),u=e(1817),_=e(9325),g=e(3031),f=e(4734),P=e(7542),m=e(4998);function y(t){if(!(0,n.hn)(t.outMode,t.checkModes))return;let i=t.radius*a.gd;t.coord>t.maxCoord-i?t.setCb(-t.radius):t.coord<i&&t.setCb(t.radius)}class w{container;backColor;bubble;color;destroyed;direction;effect;effectClose;effectData;effectFill;group;id;ignoresResizeRatio;initialPosition;initialVelocity;isRotating;lastPathTime;misplaced;moveCenter;moveDecay;offset;opacity;options;outType;pathDelay;pathGenerator;pathRotation;position;randomIndexData;retina;roll;rotation;shape;shapeClose;shapeData;shapeFill;sides;size;slow;spawning;strokeColor;strokeOpacity;strokeWidth;unbreakable;velocity;zIndexFactor;_cachedOpacityData={opacity:a.hv,strokeOpacity:a.hv};_cachedPosition=_.p.origin;_cachedRotateData={sin:0,cos:0};_cachedTransform={a:1,b:0,c:0,d:1};_engine;constructor(t,i){this.container=i,this._engine=t}destroy(t){if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1,this.slow.inRange=!1;let i=this.container,e=this.pathGenerator,s=this.shape?i.particles.shapeDrawers.get(this.shape):void 0;for(let e of(s?.particleDestroy?.(this),i.particleDestroyedPlugins))e.particleDestroyed?.(this,t);for(let e of i.particles.updaters)e.particleDestroyed?.(this,t);e?.reset(this),this._engine.dispatchEvent(d.B.particleDestroyed,{container:this.container,data:{particle:this}})}draw(t){let i=this.container.canvas;i.drawParticlePlugins(this,t),i.drawParticle(this,t)}getAngle(){return this.rotation+(this.pathRotation?this.velocity.angle:a.tA)}getFillColor(){return this._getRollColor(this.bubble.color??(0,o.O_)(this.color))}getMass(){return this.getRadius()**a.dm*Math.PI*a.MX}getOpacity(){let t=this.options.zIndex,i=a.RV-this.zIndexFactor,e=i**t.opacityRate,r=this.bubble.opacity??(0,s.VG)(this.opacity?.value??a.hv),n=this.strokeOpacity??r;return this._cachedOpacityData.opacity=r*e,this._cachedOpacityData.strokeOpacity=n*e,this._cachedOpacityData}getPosition(){return this._cachedPosition.x=this.position.x+this.offset.x,this._cachedPosition.y=this.position.y+this.offset.y,this._cachedPosition.z=this.position.z,this._cachedPosition}getRadius(){return this.bubble.radius??this.size.value}getRotateData(){let t=this.getAngle();return this._cachedRotateData.sin=Math.sin(t),this._cachedRotateData.cos=Math.cos(t),this._cachedRotateData}getStrokeColor(){return this._getRollColor(this.bubble.color??(0,o.O_)(this.strokeColor))}getTransformData(t){let i=this.getRotateData(),e=this.isRotating;return this._cachedTransform.a=i.cos*(t.a??a.Ug.a),this._cachedTransform.b=e?i.sin*(t.b??a.D_):t.b??a.Ug.b,this._cachedTransform.c=e?-i.sin*(t.c??a.D_):t.c??a.Ug.c,this._cachedTransform.d=i.cos*(t.d??a.Ug.d),this._cachedTransform}init(t,i,e,r){var o,h,l,c;let d,p,u,_,g=this.container;this.id=t,this.group=r,this.effectClose=!0,this.effectFill=!0,this.shapeClose=!0,this.shapeFill=!0,this.pathRotation=!1,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.isRotating=!1,this.rotation=0,this.misplaced=!1,this.retina={maxDistance:{}},this.outType=P.x.normal,this.ignoresResizeRatio=!0;let f=g.retina.pixelRatio,y=g.actualOptions,w=(0,m.y)(this._engine,g,y.particles),v=w.reduceDuplicates,b=w.effect.type,z=w.shape.type;this.effect=(0,n.TA)(b,this.id,v),this.shape=(0,n.TA)(z,this.id,v);let S=w.effect,C=w.shape;if(e){if(e.effect?.type){let t=e.effect.type,i=(0,n.TA)(t,this.id,v);i&&(this.effect=i,S.load(e.effect))}if(e.shape?.type){let t=e.shape.type,i=(0,n.TA)(t,this.id,v);i&&(this.shape=i,C.load(e.shape))}}if(this.effect===a.mR){let t=[...this.container.particles.effectDrawers.keys()];this.effect=t[Math.floor((0,s.G0)()*t.length)]}if(this.shape===a.mR){let t=[...this.container.particles.shapeDrawers.keys()];this.shape=t[Math.floor((0,s.G0)()*t.length)]}this.effectData=this.effect?(o=this.effect,h=this.id,u=S.options[o],(0,n.zw)({close:S.close,fill:S.fill},(0,n.TA)(u,h,v))):void 0,this.shapeData=this.shape?(l=this.shape,c=this.id,_=C.options[l],(0,n.zw)({close:C.close,fill:C.fill},(0,n.TA)(_,c,v))):void 0,w.load(e);let D=this.effectData;D&&w.load(D.particles);let x=this.shapeData;x&&w.load(x.particles),this.effectFill=D?.fill??w.effect.fill,this.effectClose=D?.close??w.effect.close,this.shapeFill=x?.fill??w.shape.fill,this.shapeClose=x?.close??w.shape.close,this.options=w;let R=this.options.move.path;if(this.pathDelay=(0,s.VG)(R.delay.value)*a.Xu,R.generator){let t=this.container.particles.pathGenerators.get(R.generator);!t&&(t=this.container.particles.availablePathGenerators.get(R.generator))&&(this.container.particles.pathGenerators.set(R.generator,t),t.init()),this.pathGenerator=t}g.retina.initParticle(this),this.size=(0,n.Xs)(this.options.size,f),this.bubble={inRange:!1},this.slow={inRange:!1,factor:1},this._initPosition(i),this.initialVelocity=this._calculateVelocity(),this.velocity=this.initialVelocity.copy(),this.moveDecay=a.WH-(0,s.VG)(this.options.move.decay);let O=g.particles;O.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/g.zLayers,this.sides=24,this.effect&&(d=g.particles.effectDrawers.get(this.effect)),d?.loadEffect&&d.loadEffect(this),this.shape&&(p=g.particles.shapeDrawers.get(this.shape)),p?.loadShape&&p.loadShape(this);let M=p?.getSidesCount;for(let t of(M&&(this.sides=M(this)),this.spawning=!1,O.updaters))t.init(this);for(let t of O.movers)t.init(this);for(let t of(d?.particleInit?.(g,this),p?.particleInit?.(g,this),g.particleCreatedPlugins))t.particleCreated?.(this)}isInsideCanvas(){let t=this.getRadius(),i=this.container.canvas.size,e=this.position;return e.x>=-t&&e.y>=-t&&e.y<=i.height+t&&e.x<=i.width+t}isShowingBack(){if(!this.roll)return!1;let t=this.roll.angle;if(this.roll.horizontal&&this.roll.vertical){let i=t%a.R1,e=i<a.tA?i+a.R1:i;return e>=Math.PI*a.MX&&e<Math.PI*a.Nu*a.MX}if(this.roll.horizontal){let i=(t+Math.PI*a.MX)%(Math.PI*a.gd),e=i<a.tA?i+Math.PI*a.gd:i;return e>=Math.PI&&e<Math.PI*a.gd}if(this.roll.vertical){let i=t%(Math.PI*a.gd),e=i<a.tA?i+Math.PI*a.gd:i;return e>=Math.PI&&e<Math.PI*a.gd}return!1}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){for(let t of this.container.particles.updaters)t.reset?.(this)}_calcPosition=(t,i)=>{let e=a.rq,r=t?_.p.create(t.x,t.y,i):void 0,n=this.container,o=n.particlePositionPlugins,h=this.options.move.outModes,l=this.getRadius(),c=n.canvas.size,{signal:d}=new AbortController;for(;!d.aborted;){for(let t of o){let e=t.particlePosition?.(r,this);if(e)return _.p.create(e.x,e.y,i)}let t=(0,s.Nx)({size:c,position:r}),d=_.p.create(t.x,t.y,i);this._fixHorizontal(d,l,h.left??h.default),this._fixHorizontal(d,l,h.right??h.default),this._fixVertical(d,l,h.top??h.default),this._fixVertical(d,l,h.bottom??h.default);let p=!0;for(let t of n.particles.checkParticlePositionPlugins)if(!(p=t.checkParticlePosition?.(this,d,e)??!0))break;if(p)return d;e+=a.Eo,r=void 0}return r};_calculateVelocity=()=>{let t=(0,s.$m)(this.direction).copy(),i=this.options.move;if(i.direction===g.F.inside||i.direction===g.F.outside)return t;let e=(0,s.pu)((0,s.VG)(i.angle.value)),r=(0,s.pu)((0,s.VG)(i.angle.offset)),n={left:r-e*a.MX,right:r+e*a.MX};return i.straight||(t.angle+=(0,s.vE)((0,s.DT)(n.left,n.right))),i.random&&"number"==typeof i.speed&&(t.length*=(0,s.G0)()),t};_fixHorizontal=(t,i,e)=>{y({outMode:e,checkModes:[f.Y.bounce],coord:t.x,maxCoord:this.container.canvas.size.width,setCb:i=>t.x+=i,radius:i})};_fixVertical=(t,i,e)=>{y({outMode:e,checkModes:[f.Y.bounce],coord:t.y,maxCoord:this.container.canvas.size.height,setCb:i=>t.y+=i,radius:i})};_getRollColor=t=>t&&this.roll&&(this.backColor||this.roll.alter)&&this.isShowingBack()?this.backColor?this.backColor:this.roll.alter?(0,r.yx)(t,this.roll.alter.type,this.roll.alter.value):t:t;_initPosition=t=>{let i=this.container,e=(0,s.VG)(this.options.zIndex.value),r=this._calcPosition(t,(0,s.qE)(e,a.X_,i.zLayers));if(!r)throw Error("a valid position cannot be found for particle");this.position=r,this.initialPosition=this.position.copy();let o=i.canvas.size;switch(this.moveCenter={...(0,n.E9)(this.options.move.center,o),radius:this.options.move.center.radius,mode:this.options.move.center.mode},this.direction=(0,s.JY)(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case g.F.inside:this.outType=P.x.inside;break;case g.F.outside:this.outType=P.x.outside}this.offset=_.M.origin}}var v=e(5775),b=e(2981);class z{rectangle;capacity;_divided;_points;_subs;constructor(t,i){this.rectangle=t,this.capacity=i,this._points=[],this._divided=!1,this._subs=[]}insert(t){return!!this.rectangle.contains(t.position)&&(this._points.length<this.capacity?(this._points.push(t),!0):(this._divided||this._subdivide(),this._subs.some(i=>i.insert(t))))}query(t,i){let e=[];if(!t.intersects(this.rectangle))return[];for(let a of this._points)!t.contains(a.position)&&(0,s.Yf)(t.position,a.position)>a.particle.getRadius()&&(!i||i(a.particle))||e.push(a.particle);if(this._divided)for(let s of this._subs)e.push(...s.query(t,i));return e}queryCircle(t,i,e){return this.query(new b.jl(t.x,t.y,i),e)}queryRectangle(t,i,e){return this.query(new b.M_(t.x,t.y,i.width,i.height),e)}_subdivide=()=>{let{x:t,y:i}=this.rectangle.position,{width:e,height:s}=this.rectangle.size,{capacity:r}=this;for(let n=0;n<a.Pg;n++){let o=n%a.gd;this._subs.push(new z(new b.M_(t+e*a.MX*o,i+s*a.MX*(Math.round(n*a.MX)-o),e*a.MX,s*a.MX),r))}this._divided=!0}}var S=e(1002);let C=t=>{let{height:i,width:e}=t;return new b.M_(a.un*e,a.un*i,a.Rh*e,a.Rh*i)};class D{availablePathGenerators;checkParticlePositionPlugins;effectDrawers;movers;pathGenerators;quadTree;shapeDrawers;updaters;_array;_container;_engine;_groupLimits;_limit;_maxZIndex;_minZIndex;_needsSort;_nextId;_particleResetPlugins;_particleUpdatePlugins;_pool;_postParticleUpdatePlugins;_postUpdatePlugins;_resizeFactor;_updatePlugins;_zArray;constructor(t,i){this._engine=t,this._container=i,this._nextId=0,this._array=[],this._zArray=[],this._pool=[],this._limit=0,this._groupLimits=new Map,this._needsSort=!1,this._minZIndex=0,this._maxZIndex=0;const e=i.canvas.size;this.quadTree=new z(C(e),a.Kw),this.effectDrawers=new Map,this.movers=[],this.availablePathGenerators=new Map,this.pathGenerators=new Map,this.shapeDrawers=new Map,this.updaters=[],this.checkParticlePositionPlugins=[],this._particleResetPlugins=[],this._particleUpdatePlugins=[],this._postUpdatePlugins=[],this._postParticleUpdatePlugins=[],this._updatePlugins=[]}get count(){return this._array.length}addParticle(t,i,e,s){let r=this._container.actualOptions.particles.number.limit.mode,n=void 0===e?this._limit:this._groupLimits.get(e)??this._limit,o=this.count;if(n>a.ou)switch(r){case u.d.delete:{let t=o+a.nq-n;t>a.wM&&this.removeQuantity(t);break}case u.d.wait:if(o>=n)return}try{let a=this._pool.pop()??new w(this._engine,this._container);a.init(this._nextId,t,i,e);let r=!0;if(s&&(r=s(a)),!r)return void this._pool.push(a);return this._array.push(a),this._zArray.push(a),this._nextId++,this._engine.dispatchEvent(d.B.particleAdded,{container:this._container,data:{particle:a}}),a}catch(t){(0,S.t)().warning(`error adding particle: ${t}`)}}clear(){this._array=[],this._zArray=[]}destroy(){let t=this._container;for(let[,i]of this.effectDrawers)i.destroy?.(t);for(let[,i]of this.shapeDrawers)i.destroy?.(t);this._array=[],this._pool.length=0,this._zArray=[],this.effectDrawers=new Map,this.movers=[],this.availablePathGenerators=new Map,this.pathGenerators=new Map,this.shapeDrawers=new Map,this.updaters=[],this.checkParticlePositionPlugins=[],this._particleResetPlugins=[],this._particleUpdatePlugins=[],this._postUpdatePlugins=[],this._postParticleUpdatePlugins=[],this._updatePlugins=[]}drawParticles(t){for(let i of this._zArray)i.draw(t)}filter(t){return this._array.filter(t)}find(t){return this._array.find(t)}get(t){return this._array[t]}async init(){let t=this._container,i=t.actualOptions;for(let i of(this._minZIndex=0,this._maxZIndex=0,this._needsSort=!1,this.checkParticlePositionPlugins=[],this._updatePlugins=[],this._particleUpdatePlugins=[],this._postUpdatePlugins=[],this._particleResetPlugins=[],this._postParticleUpdatePlugins=[],t.plugins))i.redrawInit&&await i.redrawInit(),i.checkParticlePosition&&this.checkParticlePositionPlugins.push(i),i.update&&this._updatePlugins.push(i),i.particleUpdate&&this._particleUpdatePlugins.push(i),i.postUpdate&&this._postUpdatePlugins.push(i),i.particleReset&&this._particleResetPlugins.push(i),i.postParticleUpdate&&this._postParticleUpdatePlugins.push(i);for(let i of(await this.initPlugins(),this.effectDrawers.values()))await i.init?.(t);for(let i of this.shapeDrawers.values())await i.init?.(t);let e=!1;for(let i of t.plugins)if(e=i.particlesInitialization?.()??e)break;if(!e){let t=i.particles,e=t.groups;for(let i in e){let s=e[i];if(s)for(let e=this.count,a=0;a<s.number.value&&e<t.number.value;e++,a++)this.addParticle(void 0,s,i)}for(let i=this.count;i<t.number.value;i++)this.addParticle()}}async initPlugins(){let t=this._container;for(let i of(this.effectDrawers=await this._engine.getEffectDrawers(t,!0),this.movers=await this._engine.getMovers(t,!0),this.availablePathGenerators=await this._engine.getPathGenerators(t,!0),this.pathGenerators=new Map,this.shapeDrawers=await this._engine.getShapeDrawers(t,!0),this.updaters=await this._engine.getUpdaters(t,!0),this.pathGenerators.values()))i.init()}push(t,i,e,s){for(let a=0;a<t;a++)this.addParticle(i,e,s)}async redraw(){this.clear(),await this.init(),this._container.canvas.drawParticles({value:0,factor:0})}remove(t,i,e){this.removeAt(this._array.indexOf(t),void 0,i,e)}removeAt(t,i=a.xd,e,s){if(t<a.z9||t>this.count)return;let r=0;for(let a=t;r<i&&a<this.count;a++)this._removeParticle(a,e,s)&&(a--,r++)}removeQuantity(t,i){this.removeAt(a.z9,t,i)}setDensity(){let t=this._container.actualOptions,i=t.particles.groups,e=0;for(let t of this._container.plugins)t.particlesDensityCount&&(e+=t.particlesDensityCount());for(let t in i){let s=i[t];if(!s)continue;let a=(0,m.y)(this._engine,this._container,s);this._applyDensity(a,e,t)}this._applyDensity(t.particles,e)}setLastZIndex(t){this._needsSort||=t>=this._maxZIndex||t>this._minZIndex&&t<this._maxZIndex}setResizeFactor(t){this._resizeFactor=t}update(t){let i=this._container,e=new Set;for(let t of(this.quadTree=new z(C(i.canvas.size),a.Kw),this.pathGenerators.values()))t.update();for(let i of this._updatePlugins)i.update?.(t);let s=this._resizeFactor;for(let i of this._array){for(let t of(s&&!i.ignoresResizeRatio&&(i.position.x*=s.width,i.position.y*=s.height,i.initialPosition.x*=s.width,i.initialPosition.y*=s.height),i.ignoresResizeRatio=!1,this._particleResetPlugins))t.particleReset?.(i);for(let e of this._particleUpdatePlugins){if(i.destroyed)break;e.particleUpdate?.(i,t)}for(let e of this.movers)e.isEnabled(i)&&e.move(i,t);if(i.destroyed){e.add(i);continue}this.quadTree.insert(new v.b(i.getPosition(),i))}if(e.size){let t=t=>!e.has(t);for(let i of(this._array=this.filter(t),this._zArray=this._zArray.filter(t),e))this._engine.dispatchEvent(d.B.particleRemoved,{container:this._container,data:{particle:i}});this._addToPool(...e)}for(let i of this._postUpdatePlugins)i.postUpdate?.(t);for(let i of this._array){for(let e of this.updaters)e.update(i,t);if(!i.destroyed&&!i.spawning)for(let e of this._postParticleUpdatePlugins)e.postParticleUpdate?.(i,t)}if(delete this._resizeFactor,this._needsSort){let t=this._zArray;t.sort((t,i)=>i.position.z-t.position.z||t.id-i.id);let i=t[a.z9],e=t[t.length-a.K3];if(!i||!e)return;this._maxZIndex=i.position.z,this._minZIndex=e.position.z,this._needsSort=!1}}_addToPool=(...t)=>{this._pool.push(...t)};_applyDensity=(t,i,e,s)=>{let r=t.number;if(!r.density.enable)return void(void 0===e?this._limit=r.limit.value:(s?.number.limit.value??r.limit.value)&&this._groupLimits.set(e,s?.number.limit.value??r.limit.value));let n=this._initDensityFactor(r.density),o=r.value,h=r.limit.value>a.ou?r.limit.value:o,l=Math.min(o,h)*n+i,c=Math.min(this.count,this.filter(t=>t.group===e).length);void 0===e?this._limit=r.limit.value*n:this._groupLimits.set(e,r.limit.value*n),c<l?this.push(Math.abs(l-c),void 0,t,e):c>l&&this.removeQuantity(c-l,e)};_initDensityFactor=t=>{let i=this._container;if(!i.canvas.element||!t.enable)return a.lA;let e=i.canvas.element,s=i.retina.pixelRatio;return e.width*e.height/(t.height*t.width*s**a.dm)};_removeParticle=(t,i,e)=>{let s=this._array[t];if(!s||s.group!==i)return!1;let r=this._zArray.indexOf(s);return this._array.splice(t,a.LD),this._zArray.splice(r,a.LD),s.destroy(e),this._engine.dispatchEvent(d.B.particleRemoved,{container:this._container,data:{particle:s}}),this._addToPool(s),!0}}class x{container;maxSpeed;pixelRatio;reduceFactor;sizeAnimationSpeed;constructor(t){this.container=t,this.pixelRatio=a.$x,this.reduceFactor=a.Zp}init(){let t=this.container,i=t.actualOptions;this.pixelRatio=i.detectRetina?devicePixelRatio:a.$x,this.reduceFactor=a.Zp;let e=this.pixelRatio,r=t.canvas;if(r.element){let t=r.element;r.size.width=t.offsetWidth*e,r.size.height=t.offsetHeight*e}let n=i.particles,o=n.move;this.maxSpeed=(0,s.VG)(o.gravity.maxSpeed)*e,this.sizeAnimationSpeed=(0,s.VG)(n.size.animation.speed)*e}initParticle(t){let i=t.options,e=this.pixelRatio,a=i.move,r=a.distance,n=t.retina;n.moveDrift=(0,s.VG)(a.drift)*e,n.moveSpeed=(0,s.VG)(a.speed)*e,n.sizeAnimationSpeed=(0,s.VG)(i.size.animation.speed)*e;let o=n.maxDistance;o.horizontal=void 0!==r.horizontal?r.horizontal*e:void 0,o.vertical=void 0!==r.vertical?r.vertical*e:void 0,n.maxSpeed=(0,s.VG)(a.gravity.maxSpeed)*e}}function R(t){return!t.destroyed}function O(t,i,...e){let s=new p.J(t,i);return(0,m.Z)(s,...e),s}class M{actualOptions;canvas;destroyed;fpsLimit;hdr;id;pageHidden;particleCreatedPlugins;particleDestroyedPlugins;particlePositionPlugins;particles;plugins;retina;started;zLayers;_delay;_delayTimeout;_delta={value:0,factor:0};_drawAnimationFrame;_duration;_engine;_eventListeners;_firstStart;_initialSourceOptions;_lastFrameTime;_lifeTime;_options;_paused;_smooth;_sourceOptions;constructor(t,i,e){this._engine=t,this.id=Symbol(i),this.fpsLimit=120,this.hdr=!1,this._smooth=!1,this._delay=0,this._duration=0,this._lifeTime=0,this._firstStart=!0,this.started=!1,this.destroyed=!1,this._paused=!0,this._lastFrameTime=0,this.zLayers=100,this.pageHidden=!1,this._sourceOptions=e,this._initialSourceOptions=e,this.retina=new x(this),this.canvas=new l(this,this._engine),this.particles=new D(this._engine,this),this.plugins=[],this.particleDestroyedPlugins=[],this.particleCreatedPlugins=[],this.particlePositionPlugins=[],this._options=O(this._engine,this),this.actualOptions=O(this._engine,this),this._eventListeners=new c(this),this._engine.dispatchEvent(d.B.containerBuilt,{container:this})}get animationStatus(){return!this._paused&&!this.pageHidden&&R(this)}get options(){return this._options}get sourceOptions(){return this._sourceOptions}addLifeTime(t){this._lifeTime+=t}alive(){return!this._duration||this._lifeTime<=this._duration}destroy(t=!0){if(R(this)){for(let t of(this.stop(),this.particles.destroy(),this.canvas.destroy(),this.plugins))t.destroy?.();if(this.plugins.length=0,this._engine.clearPlugins(this),this.destroyed=!0,t){let t=this._engine.items,i=t.indexOf(this);i>=a.vF&&t.splice(i,a.JC)}this._engine.dispatchEvent(d.B.containerDestroyed,{container:this})}}draw(t){if(!R(this))return;let i=t,e=t=>{i&&(this._lastFrameTime=void 0,i=!1),this._nextFrame(t)};this._drawAnimationFrame=(0,s.i0)(t=>{e(t)})}async export(t,i={}){for(let e of this.plugins){if(!e.export)continue;let s=await e.export(t,i);if(s.supported)return s.blob}(0,S.t)().error(`Export plugin with type ${t} not found`)}async init(){if(!R(this))return;let t=new Map;for(let i of this._engine.plugins){let e=await i.getPlugin(this);e.preInit&&await e.preInit(),t.set(i,e)}for(let[i,e]of(await this.particles.initPlugins(),this._options=O(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=O(this._engine,this,this._options),this.plugins.length=0,this.particleDestroyedPlugins.length=0,this.particleCreatedPlugins.length=0,this.particlePositionPlugins.length=0,t))i.needsPlugin(this.actualOptions)&&(this.plugins.push(e),e.particleCreated&&this.particleCreatedPlugins.push(e),e.particleDestroyed&&this.particleDestroyedPlugins.push(e),e.particlePosition&&this.particlePositionPlugins.push(e));this.retina.init(),this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize();let{delay:i,duration:e,fpsLimit:r,hdr:n,smooth:o,zLayers:h}=this.actualOptions;for(let t of(this.hdr=n,this.zLayers=h,this._duration=(0,s.VG)(e)*a.Xu,this._delay=(0,s.VG)(i)*a.Xu,this._lifeTime=0,this.fpsLimit=r>a.DN?r:a.i8,this._smooth=o,this.plugins))await t.init?.();for(let t of(await this.particles.init(),this._engine.dispatchEvent(d.B.containerInit,{container:this}),this.particles.setDensity(),this.plugins))t.particlesSetup?.();this._engine.dispatchEvent(d.B.particlesSetup,{container:this})}pause(){if(R(this)&&(void 0!==this._drawAnimationFrame&&((0,s.px)(this._drawAnimationFrame),delete this._drawAnimationFrame),!this._paused)){for(let t of this.plugins)t.pause?.();this.pageHidden||(this._paused=!0),this._engine.dispatchEvent(d.B.containerPaused,{container:this})}}play(t){if(!R(this))return;let i=this._paused||t;if(this._firstStart&&!this.actualOptions.autoPlay){this._firstStart=!1;return}if(this._paused&&(this._paused=!1),i)for(let t of this.plugins)t.play&&t.play();this._engine.dispatchEvent(d.B.containerPlay,{container:this}),this.draw(i??!1)}async refresh(){if(R(this))return this.stop(),this.start()}async reset(t){if(R(this))return this._initialSourceOptions=t,this._sourceOptions=t,this._options=O(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=O(this._engine,this,this._options),this.refresh()}async start(){R(this)&&!this.started&&(await this.init(),this.started=!0,await new Promise(t=>{let i=async()=>{for(let t of(this._eventListeners.addListeners(),this.plugins))await t.start?.();this._engine.dispatchEvent(d.B.containerStarted,{container:this}),this.play(),t()};this._delayTimeout=setTimeout(()=>void i(),this._delay)}))}stop(){if(R(this)&&this.started){for(let t of(this._delayTimeout&&(clearTimeout(this._delayTimeout),delete this._delayTimeout),this._firstStart=!0,this.started=!1,this._eventListeners.removeListeners(),this.pause(),this.particles.clear(),this.canvas.stop(),this.plugins))t.stop?.();this.particleCreatedPlugins.length=0,this.particleDestroyedPlugins.length=0,this.particlePositionPlugins.length=0,this._sourceOptions=this._options,this._engine.dispatchEvent(d.B.containerStopped,{container:this})}}updateActualOptions(){let t=!1;for(let i of this.plugins)i.updateActualOptions&&(t=i.updateActualOptions()||t);return t}_nextFrame=t=>{try{if(!this._smooth&&void 0!==this._lastFrameTime&&t<this._lastFrameTime+a.Xu/this.fpsLimit||(this._lastFrameTime??=t,!function(t,i,e=a.z$,s=!1){t.value=i,t.factor=s?a.z$/e:a.z$*i/a.Xu}(this._delta,t-this._lastFrameTime,this.fpsLimit,this._smooth),this.addLifeTime(this._delta.value),this._lastFrameTime=t,this._delta.value>a.Xu))return void this.draw(!1);if(this.canvas.drawParticles(this._delta),!this.alive())return void this.destroy();this.animationStatus&&this.draw(!1)}catch(t){(0,S.t)().error("error in animation loop",t)}}}}}]);
package/720.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[720],{720(t,i,e){async function n(t){t.checkVersion("4.0.0-alpha.21"),await t.register(async t=>{let{MotionPlugin:i}=await e.e(5759).then(e.bind(e,5759));t.addPlugin(new i)})}e.r(i),e.d(i,{loadMotionPlugin:()=>n})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[720],{720(t,i,e){async function n(t){t.checkVersion("4.0.0-alpha.23"),await t.register(async t=>{let{MotionPlugin:i}=await e.e(5759).then(e.bind(e,5759));t.addPlugin(new i)})}e.r(i),e.d(i,{loadMotionPlugin:()=>n})}}]);
package/7468.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[7468],{7468(e,i,t){t.d(i,{ImagePreloaderPlugin:()=>o});var r=t(5954);class s{gif;height;name;replaceColor;src;width;constructor(){this.src="",this.gif=!1}load(e){(0,r.kZJ)(e)||(void 0!==e.gif&&(this.gif=e.gif),void 0!==e.height&&(this.height=e.height),void 0!==e.name&&(this.name=e.name),void 0!==e.replaceColor&&(this.replaceColor=e.replaceColor),void 0!==e.src&&(this.src=e.src),void 0!==e.width&&(this.width=e.width))}}class o{id="image-preloader";async getPlugin(){return await Promise.resolve(),{}}loadOptions(e,i,t){if(!t?.preload)return;i.preload??=[];let r=i.preload;for(let e of t.preload){let i=r.find(i=>i.name===e.name||i.src===e.src);if(i)i.load(e);else{let i=new s;i.load(e),r.push(i)}}}needsPlugin(){return!0}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[7468],{7468(e,i,t){t.d(i,{ImagePreloaderPlugin:()=>o});var r=t(5954);class s{gif;height;name;replaceColor;src;width;constructor(){this.src="",this.gif=!1}load(e){(0,r.kZJ)(e)||(void 0!==e.gif&&(this.gif=e.gif),void 0!==e.height&&(this.height=e.height),void 0!==e.name&&(this.name=e.name),void 0!==e.replaceColor&&(this.replaceColor=e.replaceColor),void 0!==e.src&&(this.src=e.src),void 0!==e.width&&(this.width=e.width))}}class o{id="image-preloader";_engine;constructor(e){this._engine=e}async getPlugin(e){let{ImagePreloaderInstance:i}=await t.e(3111).then(t.bind(t,3111));return new i(this._engine,e)}loadOptions(e,i,t){if(!t?.preload)return;i.preload??=[];let r=i.preload;for(let e of t.preload){let i=r.find(i=>i.name===e.name||i.src===e.src);if(i)i.load(e);else{let i=new s;i.load(e),r.push(i)}}}needsPlugin(){return!0}}}}]);
package/7884.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[7884],{7884(e,n,t){async function i(e){e.checkVersion("4.0.0-alpha.21"),await e.register(async e=>{let[{loadHexColorPlugin:n},{loadHslColorPlugin:i},{loadRgbColorPlugin:a},{loadBaseMover:h},{loadCircleShape:s},{loadColorUpdater:c},{loadOpacityUpdater:b},{loadOutModesUpdater:d},{loadSizeUpdater:l}]=await Promise.all([t.e(8196).then(t.bind(t,8196)),t.e(6566).then(t.bind(t,6566)),t.e(9322).then(t.bind(t,9322)),t.e(578).then(t.bind(t,578)),t.e(2106).then(t.bind(t,2106)),t.e(411).then(t.bind(t,411)),t.e(8509).then(t.bind(t,8509)),t.e(8166).then(t.bind(t,8166)),t.e(929).then(t.bind(t,929))]);await Promise.all([n(e),i(e),a(e),h(e),s(e),c(e),b(e),d(e),l(e)])})}t.r(n),t.d(n,{loadBasic:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[7884],{7884(e,n,t){async function i(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let[{loadHexColorPlugin:n},{loadHslColorPlugin:i},{loadRgbColorPlugin:a},{loadBaseMover:h},{loadCircleShape:s},{loadColorUpdater:c},{loadOpacityUpdater:b},{loadOutModesUpdater:d},{loadSizeUpdater:l}]=await Promise.all([t.e(8196).then(t.bind(t,8196)),t.e(6566).then(t.bind(t,6566)),t.e(9322).then(t.bind(t,9322)),t.e(578).then(t.bind(t,578)),t.e(2106).then(t.bind(t,2106)),t.e(411).then(t.bind(t,411)),t.e(8509).then(t.bind(t,8509)),t.e(8166).then(t.bind(t,8166)),t.e(929).then(t.bind(t,929))]);await Promise.all([n(e),i(e),a(e),h(e),s(e),c(e),b(e),d(e),l(e)])})}t.r(n),t.d(n,{loadBasic:()=>i})}}]);
package/795.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[795],{795(e,t,i){var n;i.r(t),i.d(t,{EmitterClickMode:()=>n,EmitterShapeBase:()=>a,ensureEmittersPluginLoaded:()=>s,loadEmittersPlugin:()=>r});class a{fill;options;position;size;constructor(e,t,i,n){this.position=e,this.size=t,this.fill=i,this.options=n}resize(e,t){this.position=e,this.size=t}}async function r(e){e.checkVersion("4.0.0-alpha.21"),await e.register(async e=>{let[{ensureInteractivityPluginLoaded:t},{ShapeManager:n},{EmittersInstancesManager:a},{EmittersPlugin:r}]=await Promise.all([i.e(7953).then(i.bind(i,7953)),i.e(6595).then(i.bind(i,6595)),i.e(131).then(i.bind(i,131)),i.e(8019).then(i.bind(i,8019))]),s=new a(e);t(e),e.emitterShapeManager??=new n,e.addEmitterShapeGenerator??=(t,i)=>{e.emitterShapeManager?.addShapeGenerator(t,i)},e.addPlugin(new r(s)),e.addInteractor?.("externalEmitters",async e=>{let{EmittersInteractor:t}=await i.e(9612).then(i.bind(i,9612));return new t(s,e)})})}function s(e){if(!e.addEmitterShapeGenerator)throw Error("tsParticles Emitters Plugin is not loaded")}(n||(n={})).emitter="emitter"}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[795],{795(e,t,i){var n;i.r(t),i.d(t,{EmitterClickMode:()=>n,EmitterShapeBase:()=>a,ensureEmittersPluginLoaded:()=>s,loadEmittersPlugin:()=>r});class a{fill;options;position;size;constructor(e,t,i,n){this.position=e,this.size=t,this.fill=i,this.options=n}resize(e,t){this.position=e,this.size=t}}async function r(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let[{ensureInteractivityPluginLoaded:t},{ShapeManager:n},{EmittersInstancesManager:a},{EmittersPlugin:r}]=await Promise.all([i.e(3611).then(i.bind(i,3611)),i.e(6595).then(i.bind(i,6595)),i.e(131).then(i.bind(i,131)),i.e(8019).then(i.bind(i,8019))]),s=new a(e);t(e),e.emitterShapeManager??=new n,e.addEmitterShapeGenerator??=(t,i)=>{e.emitterShapeManager?.addShapeGenerator(t,i)},e.addPlugin(new r(s)),e.addInteractor?.("externalEmitters",async e=>{let{EmittersInteractor:t}=await i.e(9612).then(i.bind(i,9612));return new t(s,e)})})}function s(e){if(!e.addEmitterShapeGenerator)throw Error("tsParticles Emitters Plugin is not loaded")}(n||(n={})).emitter="emitter"}}]);
package/8166.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[8166],{8166(t,e,a){async function s(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addParticleUpdater("outModes",async t=>{let{OutOfCanvasUpdater:e}=await a.e(1311).then(a.bind(a,1311));return new e(t)})})}a.r(e),a.d(e,{loadOutModesUpdater:()=>s})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[8166],{8166(t,e,a){async function s(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("outModes",async t=>{let{OutOfCanvasUpdater:e}=await a.e(1311).then(a.bind(a,1311));return new e(t)})})}a.r(e),a.d(e,{loadOutModesUpdater:()=>s})}}]);
package/8196.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[8196],{8196(e,t,a){async function i(e){e.checkVersion("4.0.0-alpha.21"),await e.register(async e=>{let{HexColorManager:t}=await a.e(4287).then(a.bind(a,4287));e.addColorManager("hex",new t)})}a.r(t),a.d(t,{loadHexColorPlugin:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[8196],{8196(e,t,a){async function i(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let{HexColorManager:t}=await a.e(4287).then(a.bind(a,4287));e.addColorManager("hex",new t)})}a.r(t),a.d(t,{loadHexColorPlugin:()=>i})}}]);
package/8509.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[8509],{8509(t,a,e){async function i(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addParticleUpdater("opacity",async t=>{let{OpacityUpdater:a}=await e.e(363).then(e.bind(e,363));return new a(t)})})}e.r(a),e.d(a,{loadOpacityUpdater:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[8509],{8509(t,a,e){async function i(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("opacity",async t=>{let{OpacityUpdater:a}=await e.e(363).then(e.bind(e,363));return new a(t)})})}e.r(a),e.d(a,{loadOpacityUpdater:()=>i})}}]);
package/929.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[929],{929(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addParticleUpdater("size",async()=>{let{SizeUpdater:t}=await a.e(9591).then(a.bind(a,9591));return new t})})}a.r(e),a.d(e,{loadSizeUpdater:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[929],{929(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("size",async()=>{let{SizeUpdater:t}=await a.e(9591).then(a.bind(a,9591));return new t})})}a.r(e),a.d(e,{loadSizeUpdater:()=>i})}}]);
package/9322.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[9322],{9322(t,a,e){async function i(t){t.checkVersion("4.0.0-alpha.21"),await t.register(async t=>{let{RgbColorManager:a}=await e.e(8635).then(e.bind(e,8635));t.addColorManager("rgb",new a)})}e.r(a),e.d(a,{loadRgbColorPlugin:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[9322],{9322(t,a,e){async function i(t){t.checkVersion("4.0.0-alpha.23"),await t.register(async t=>{let{RgbColorManager:a}=await e.e(8635).then(e.bind(e,8635));t.addColorManager("rgb",new a)})}e.r(a),e.d(a,{loadRgbColorPlugin:()=>i})}}]);
package/9391.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[9391],{9391(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addParticleUpdater("roll",async()=>{let{RollUpdater:e}=await a.e(1642).then(a.bind(a,1642));return new e(t)})})}a.r(e),a.d(e,{loadRollUpdater:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[9391],{9391(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("roll",async()=>{let{RollUpdater:e}=await a.e(1642).then(a.bind(a,1642));return new e(t)})})}a.r(e),a.d(e,{loadRollUpdater:()=>i})}}]);
package/9555.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[9555],{9555(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addParticleUpdater("tilt",async t=>{let{TiltUpdater:e}=await a.e(2816).then(a.bind(a,2816));return new e(t)})})}a.r(e),a.d(e,{loadTiltUpdater:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[9555],{9555(t,e,a){async function i(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("tilt",async t=>{let{TiltUpdater:e}=await a.e(2816).then(a.bind(a,2816));return new e(t)})})}a.r(e),a.d(e,{loadTiltUpdater:()=>i})}}]);
package/9612.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[7953,9612],{9612(t,e,i){i.d(e,{EmittersInteractor:()=>l});var o=i(7953),a=i(5954),n=i(6836);let s={count:1,enable:!0},r="emitters";class l extends o.ExternalInteractorBase{handleClickMode;_instancesManager;constructor(t,e){super(e),this._instancesManager=t,this.handleClickMode=(t,e)=>{let i,o=this.container.actualOptions.interactivity.modes.emitters;if(!o||t!==r)return;if((0,a.cyL)(o.value)){let t=o.value.length;if(t>0&&o.random.enable){i=[];let e=new Set;for(let n=0;n<o.random.count;n++){let s=(0,a.n02)(o.value);if(e.has(s)&&e.size<t){n--;continue}e.add(s);let r=(0,a.Vh1)(o.value,s);r&&i.push(r)}}else i=o.value}else i=o.value;let n=i,s=e.mouse.clickPosition;(0,a.wJ2)(n,async t=>{await this._instancesManager.addEmitter(this.container,t,s)})}}clear(){}init(){}interact(t,e){for(let t of this._instancesManager.getArray(this.container))t.update(e)}isEnabled(t,e){let i=this.container.actualOptions,o=t.mouse,n=(e?.interactivity??i.interactivity).events;return!!o.clickPosition&&!!n.onClick.enable&&(0,a.hnD)(r,n.onClick.mode)}loadModeOptions(t,...e){for(let i of(t.emitters={random:s,value:[]},e))if(i?.emitters)if((0,a.cyL)(i.emitters))for(let e of i.emitters){let i=new n.v;i.load(e),t.emitters.value.push(i)}else if(Object.hasOwn(i.emitters,"value")){let e=i.emitters;if(t.emitters.random.enable=e.random?.enable??t.emitters.random.enable,t.emitters.random.count=e.random?.count??t.emitters.random.count,(0,a.cyL)(e.value))for(let i of e.value){let e=new n.v;e.load(i),t.emitters.value.push(e)}else{let i=new n.v;i.load(e.value),t.emitters.value.push(i)}}else{let e=new n.v;e.load(i.emitters),t.emitters.value.push(e)}}removeEmitter(t){let e=this._instancesManager.getArray(this.container).indexOf(t);e>=0&&this._instancesManager.getArray(this.container).splice(e,1)}reset(){}}},6836(t,e,i){i.d(e,{v:()=>c});var o=i(5954);class a{count;delay;duration;wait;constructor(){this.wait=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)),void 0!==t.duration&&(this.duration=(0,o.DT4)(t.duration)),void 0!==t.wait&&(this.wait=t.wait))}}class n{delay;quantity;constructor(){this.quantity=1,this.delay=.1}load(t){(0,o.kZJ)(t)||(void 0!==t.quantity&&(this.quantity=(0,o.DT4)(t.quantity)),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)))}}class s{color;opacity;constructor(){this.color=!1,this.opacity=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.color&&(this.color=t.color),void 0!==t.opacity&&(this.opacity=t.opacity))}}class r{options;replace;type;constructor(){this.options={},this.replace=new s,this.type="square"}load(t){(0,o.kZJ)(t)||(void 0!==t.options&&(this.options=(0,o.zwS)({},t.options??{})),this.replace.load(t.replace),void 0!==t.type&&(this.type=t.type))}}var l=i(122);class c{autoPlay;direction;domId;fill;life;name;particles;position;rate;shape;size;spawnColor;startCount;constructor(){this.autoPlay=!0,this.fill=!0,this.life=new a,this.rate=new n,this.shape=new r,this.startCount=0}load(t){(0,o.kZJ)(t)||(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(this.size??=new l.G,this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,this.particles=(0,o.wJ2)(t.particles,t=>(0,o.zwS)({},t)),this.rate.load(t.rate),this.shape.load(t.shape),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=(0,o.DT4)(t.position.x)),void 0!==t.position.y&&(this.position.y=(0,o.DT4)(t.position.y))),void 0!==t.spawnColor&&(this.spawnColor??=new o.A9e,this.spawnColor.load(t.spawnColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}},122(t,e,i){i.d(e,{G:()=>a});var o=i(5954);class a{height;mode;width;constructor(){this.mode=o.qiC.percent,this.height=0,this.width=0}load(t){(0,o.kZJ)(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}},4312(t,e,i){var o,a;i.d(e,{Q:()=>o}),(a=o||(o={})).circle="circle",a.rectangle="rectangle"},1455(t,e,i){i.d(e,{Bp:()=>d,DG:()=>h,G3:()=>u,Rb:()=>l,Z0:()=>s,ms:()=>a,s7:()=>c,sf:()=>r,vo:()=>n,xO:()=>o});let o="click",a="pointerdown",n="pointerup",s="pointerleave",r="pointerout",l="pointermove",c="touchstart",d="touchend",h="touchmove",u="touchcancel"},359(t,e,i){var o,a;i.d(e,{h:()=>o}),(a=o||(o={})).canvas="canvas",a.parent="parent",a.window="window"},376(t,e,i){var o,a;i.d(e,{e:()=>o}),(a=o||(o={})).external="external",a.particles="particles"},6594(t,e,i){i.d(e,{G:()=>n});var o=i(5954),a=i(4312);class n{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=a.Q.circle}load(t){(0,o.kZJ)(t)||(void 0!==t.selectors&&(this.selectors=t.selectors),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.type&&(this.type=t.type))}}},9766(t,e,i){i.d(e,{d:()=>a});var o=i(5954);class a{_container;_engine;constructor(t,e){this._engine=t,this._container=e}load(t){if((0,o.kZJ)(t)||!this._container)return;let e=this._engine.interactors?.get(this._container);if(e)for(let i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}},7953(t,e,i){i.r(e),i.d(e,{DivEvent:()=>p.G,DivType:()=>a.Q,ExternalInteractorBase:()=>s,InteractivityDetect:()=>l.h,InteractorType:()=>n.e,Modes:()=>m.d,ParticlesInteractorBase:()=>c,clickEvent:()=>r.xO,divMode:()=>v,divModeExecute:()=>h,ensureInteractivityPluginLoaded:()=>w,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>y,mouseDownEvent:()=>r.ms,mouseLeaveEvent:()=>r.Z0,mouseMoveEvent:()=>r.Rb,mouseOutEvent:()=>r.sf,mouseUpEvent:()=>r.vo,singleDivModeExecute:()=>u,touchCancelEvent:()=>r.G3,touchEndEvent:()=>r.Bp,touchMoveEvent:()=>r.DG,touchStartEvent:()=>r.s7});var o=i(5954),a=i(4312),n=i(376);class s{type=n.e.external;container;constructor(t){this.container=t}}var r=i(1455),l=i(359);class c{type=n.e.particles;container;constructor(t){this.container=t}}function d(t,e){return!!(0,o.w3Z)(e,e=>e.enable&&(0,o.hnD)(t,e.mode))}function h(t,e,i){(0,o.wJ2)(e,e=>{let a=e.mode;e.enable&&(0,o.hnD)(t,a)&&u(e,i)})}function u(t,e){let i=t.selectors;(0,o.wJ2)(i,i=>{e(i,t)})}function v(t,e){if(e&&t)return(0,o.w3Z)(t,t=>{var i;let a;return i=t.selectors,a=(0,o.wJ2)(i,t=>e.matches(t)),(0,o.cyL)(a)?a.some(t=>t):a})}var p=i(6594),m=i(9766);async function y(t){t.checkVersion("4.0.0-alpha.21"),await t.register(async t=>{let{InteractivityPlugin:e}=await i.e(3939).then(i.bind(i,3939));t.addPlugin(new e(t)),t.initializers.interactors??=new Map,t.interactors??=new Map,t.addInteractor=(e,i)=>{t.initializers.interactors??=new Map,t.initializers.interactors.set(e,i)},t.getInteractors=async(e,i=!1)=>(t.interactors??=new Map,t.initializers.interactors??=new Map,(0,o.HQK)(e,t.interactors,t.initializers.interactors,i)),t.setOnClickHandler=e=>{let{items:i}=t;if(!i.length)throw Error("Click handlers can only be set after calling tsParticles.load()");i.forEach(t=>{t.addClickHandler?.(e)})}})}function w(t){if(!t.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[3611,9612],{9612(t,e,i){i.d(e,{EmittersInteractor:()=>l});var o=i(3611),a=i(5954),n=i(6836);let s={count:1,enable:!0},r="emitters";class l extends o.ExternalInteractorBase{handleClickMode;_instancesManager;constructor(t,e){super(e),this._instancesManager=t,this.handleClickMode=(t,e)=>{let i,o=this.container.actualOptions.interactivity.modes.emitters;if(!o||t!==r)return;if((0,a.cyL)(o.value)){let t=o.value.length;if(t>0&&o.random.enable){i=[];let e=new Set;for(let n=0;n<o.random.count;n++){let s=(0,a.n02)(o.value);if(e.has(s)&&e.size<t){n--;continue}e.add(s);let r=(0,a.Vh1)(o.value,s);r&&i.push(r)}}else i=o.value}else i=o.value;let n=i,s=e.mouse.clickPosition;(0,a.wJ2)(n,async t=>{await this._instancesManager.addEmitter(this.container,t,s)})}}clear(){}init(){}interact(t,e){for(let t of this._instancesManager.getArray(this.container))t.update(e)}isEnabled(t,e){let i=this.container.actualOptions,o=t.mouse,n=(e?.interactivity??i.interactivity).events;return!!o.clickPosition&&!!n.onClick.enable&&(0,a.hnD)(r,n.onClick.mode)}loadModeOptions(t,...e){for(let i of(t.emitters={random:s,value:[]},e))if(i?.emitters)if((0,a.cyL)(i.emitters))for(let e of i.emitters){let i=new n.v;i.load(e),t.emitters.value.push(i)}else if(Object.hasOwn(i.emitters,"value")){let e=i.emitters;if(t.emitters.random.enable=e.random?.enable??t.emitters.random.enable,t.emitters.random.count=e.random?.count??t.emitters.random.count,(0,a.cyL)(e.value))for(let i of e.value){let e=new n.v;e.load(i),t.emitters.value.push(e)}else{let i=new n.v;i.load(e.value),t.emitters.value.push(i)}}else{let e=new n.v;e.load(i.emitters),t.emitters.value.push(e)}}removeEmitter(t){let e=this._instancesManager.getArray(this.container).indexOf(t);e>=0&&this._instancesManager.getArray(this.container).splice(e,1)}reset(){}}},6836(t,e,i){i.d(e,{v:()=>c});var o=i(5954);class a{count;delay;duration;wait;constructor(){this.wait=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)),void 0!==t.duration&&(this.duration=(0,o.DT4)(t.duration)),void 0!==t.wait&&(this.wait=t.wait))}}class n{delay;quantity;constructor(){this.quantity=1,this.delay=.1}load(t){(0,o.kZJ)(t)||(void 0!==t.quantity&&(this.quantity=(0,o.DT4)(t.quantity)),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)))}}class s{color;opacity;constructor(){this.color=!1,this.opacity=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.color&&(this.color=t.color),void 0!==t.opacity&&(this.opacity=t.opacity))}}class r{options;replace;type;constructor(){this.options={},this.replace=new s,this.type="square"}load(t){(0,o.kZJ)(t)||(void 0!==t.options&&(this.options=(0,o.zwS)({},t.options??{})),this.replace.load(t.replace),void 0!==t.type&&(this.type=t.type))}}var l=i(122);class c{autoPlay;direction;domId;fill;life;name;particles;position;rate;shape;size;spawnColor;startCount;constructor(){this.autoPlay=!0,this.fill=!0,this.life=new a,this.rate=new n,this.shape=new r,this.startCount=0}load(t){(0,o.kZJ)(t)||(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(this.size??=new l.G,this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,this.particles=(0,o.wJ2)(t.particles,t=>(0,o.zwS)({},t)),this.rate.load(t.rate),this.shape.load(t.shape),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=(0,o.DT4)(t.position.x)),void 0!==t.position.y&&(this.position.y=(0,o.DT4)(t.position.y))),void 0!==t.spawnColor&&(this.spawnColor??=new o.A9e,this.spawnColor.load(t.spawnColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}},122(t,e,i){i.d(e,{G:()=>a});var o=i(5954);class a{height;mode;width;constructor(){this.mode=o.qiC.percent,this.height=0,this.width=0}load(t){(0,o.kZJ)(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}},6373(t,e,i){var o,a;i.d(e,{Q:()=>o}),(a=o||(o={})).circle="circle",a.rectangle="rectangle"},3322(t,e,i){var o,a;i.d(e,{h:()=>o}),(a=o||(o={})).canvas="canvas",a.parent="parent",a.window="window"},2763(t,e,i){var o,a;i.d(e,{e:()=>o}),(a=o||(o={})).external="external",a.particles="particles"},1455(t,e,i){i.d(e,{Bp:()=>d,DG:()=>h,G3:()=>u,Rb:()=>l,Z0:()=>s,ms:()=>a,s7:()=>c,sf:()=>r,vo:()=>n,xO:()=>o});let o="click",a="pointerdown",n="pointerup",s="pointerleave",r="pointerout",l="pointermove",c="touchstart",d="touchend",h="touchmove",u="touchcancel"},6594(t,e,i){i.d(e,{G:()=>n});var o=i(5954),a=i(6373);class n{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=a.Q.circle}load(t){(0,o.kZJ)(t)||(void 0!==t.selectors&&(this.selectors=t.selectors),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.type&&(this.type=t.type))}}},9766(t,e,i){i.d(e,{d:()=>a});var o=i(5954);class a{_container;_engine;constructor(t,e){this._engine=t,this._container=e}load(t){if((0,o.kZJ)(t)||!this._container)return;let e=this._engine.interactors?.get(this._container);if(e)for(let i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}},3611(t,e,i){i.r(e),i.d(e,{DivEvent:()=>p.G,DivType:()=>l.Q,ExternalInteractorBase:()=>n,InteractivityDetect:()=>c.h,InteractorType:()=>a.e,Modes:()=>m.d,ParticlesInteractorBase:()=>s,clickEvent:()=>r.xO,divMode:()=>v,divModeExecute:()=>h,ensureInteractivityPluginLoaded:()=>w,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>y,mouseDownEvent:()=>r.ms,mouseLeaveEvent:()=>r.Z0,mouseMoveEvent:()=>r.Rb,mouseOutEvent:()=>r.sf,mouseUpEvent:()=>r.vo,singleDivModeExecute:()=>u,touchCancelEvent:()=>r.G3,touchEndEvent:()=>r.Bp,touchMoveEvent:()=>r.DG,touchStartEvent:()=>r.s7});var o=i(5954),a=i(2763);class n{type=a.e.external;container;constructor(t){this.container=t}}class s{type=a.e.particles;container;constructor(t){this.container=t}}var r=i(1455),l=i(6373),c=i(3322);function d(t,e){return!!(0,o.w3Z)(e,e=>e.enable&&(0,o.hnD)(t,e.mode))}function h(t,e,i){(0,o.wJ2)(e,e=>{let a=e.mode;e.enable&&(0,o.hnD)(t,a)&&u(e,i)})}function u(t,e){let i=t.selectors;(0,o.wJ2)(i,i=>{e(i,t)})}function v(t,e){if(e&&t)return(0,o.w3Z)(t,t=>{var i;let a;return i=t.selectors,a=(0,o.wJ2)(i,t=>e.matches(t)),(0,o.cyL)(a)?a.some(t=>t):a})}var p=i(6594),m=i(9766);async function y(t){t.checkVersion("4.0.0-alpha.23"),await t.register(async t=>{let{InteractivityPlugin:e}=await i.e(3939).then(i.bind(i,3939));t.addPlugin(new e(t)),t.initializers.interactors??=new Map,t.interactors??=new Map,t.addInteractor=(e,i)=>{t.initializers.interactors??=new Map,t.initializers.interactors.set(e,i)},t.getInteractors=async(e,i=!1)=>(t.interactors??=new Map,t.initializers.interactors??=new Map,(0,o.HQK)(e,t.interactors,t.initializers.interactors,i)),t.setOnClickHandler=e=>{let{items:i}=t;if(!i.length)throw Error("Click handlers can only be set after calling tsParticles.load()");i.forEach(t=>{t.addClickHandler?.(e)})}})}function w(t){if(!t.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
package/969.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[969,5333],{5333(e,t,a){a.d(t,{zS:()=>w,loadGifImage:()=>x});var i,o,n,r,l=a(636),s=a(5954);let h=[0,4,2,1],g=[8,8,4,2];class d{data;pos;constructor(e){this.pos=0,this.data=new Uint8ClampedArray(e)}getString(e){let t=this.data.slice(this.pos,this.pos+e);return this.pos+=t.length,t.reduce((e,t)=>e+String.fromCharCode(t),"")}nextByte(){return this.data[this.pos++]}nextTwoBytes(){return this.pos+=2,this.data[this.pos-2]+(this.data[this.pos-1]<<8)}readSubBlocks(){let e="",t=0;do{t=this.data[this.pos++];for(let a=t;--a>=0;e+=String.fromCharCode(this.data[this.pos++]));}while(0!==t)return e}readSubBlocksBin(){let e=this.data[this.pos],t=0;for(let a=0;0!==e;a+=e+1,e=this.data[this.pos+a])t+=e;let a=new Uint8Array(t);e=this.data[this.pos++];for(let t=0;0!==e;e=this.data[this.pos++])for(let i=e;--i>=0;a[t++]=this.data[this.pos++]);return a}skipSubBlocks(){for(;0!==this.data[this.pos];this.pos+=this.data[this.pos]+1);this.pos++}}function f(e,t){let a=[];for(let i=0;i<t;i++)a.push({r:e.data[e.pos],g:e.data[e.pos+1],b:e.data[e.pos+2]}),e.pos+=3;return a}function c(e,t,a){let i=t>>>3,o=7&t;return(e[i]+(e[i+1]<<8)+(e[i+2]<<16)&(1<<a)-1<<o)>>>o}async function p(e,t,a,i,o,n,r){let l=t.frames[i(!0)];l.left=e.nextTwoBytes(),l.top=e.nextTwoBytes(),l.width=e.nextTwoBytes(),l.height=e.nextTwoBytes();let s=e.nextByte(),d=(128&s)==128;l.sortFlag=(32&s)==32,l.reserved=(24&s)>>>3,d&&(l.localColorTable=f(e,1<<(7&s)+1));let p=e=>{let{r:i,g:n,b:r}=(d?l.localColorTable:t.globalColorTable)[e];return e!==o(null)?{r:i,g:n,b:r,a:255}:{r:i,g:n,b:r,a:a?Math.trunc((i+n+r)/3):0}},m=(()=>{try{return new ImageData(l.width,l.height,n)}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==m)throw EvalError("GIF frame size is to large");let u=e.nextByte(),w=e.readSubBlocksBin(),x=1<<u;if((64&s)==64){for(let a=0,o=u+1,n=0,s=[[0]],d=0;d<4;d++){if(h[d]<l.height){let e=0,t=0,i=!1;for(;!i;){let r=a;if(a=c(w,n,o),n+=o+1,a===x){o=u+1,s.length=x+2;for(let e=0;e<s.length;e++)s[e]=e<x?[e]:[]}else{for(let i of(a>=s.length?s.push(s[r].concat(s[r][0])):r!==x&&s.push(s[r].concat(s[a][0])),s[a])){let{r:a,g:o,b:n,a:r}=p(i);m.data.set([a,o,n,r],h[d]*l.width+g[d]*t+e%(4*l.width)),e+=4}s.length===1<<o&&o<12&&o++}e===4*l.width*(t+1)&&(t++,h[d]+g[d]*t>=l.height&&(i=!0))}}r?.(e.pos/(e.data.length-1),i(!1)+1,m,{x:l.left,y:l.top},{width:t.width,height:t.height})}l.image=m,l.bitmap=await createImageBitmap(m)}else{let a=0,o=u+1,n=0,s=-4,h=[[0]];for(;;){let e=a;if(a=c(w,n,o),n+=o,a===x){o=u+1,h.length=x+2;for(let e=0;e<h.length;e++)h[e]=e<x?[e]:[]}else{if(a===x+1)break;for(let t of(a>=h.length?h.push(h[e].concat(h[e][0])):e!==x&&h.push(h[e].concat(h[a][0])),h[a])){let{r:e,g:a,b:i,a:o}=p(t);s+=4,m.data.set([e,a,i,o],s)}h.length>=1<<o&&o<12&&o++}}l.image=m,l.bitmap=await createImageBitmap(m),r?.((e.pos+1)/e.data.length,i(!1)+1,l.image,{x:l.left,y:l.top},{width:t.width,height:t.height})}}async function m(e,t,a,i,o,n,l){switch(e.nextByte()){case r.EndOfFile:return!0;case r.Image:await p(e,t,a,i,o,n,l);break;case r.Extension:switch(e.nextByte()){case r.GraphicsControlExtension:{let a=t.frames[i(!1)];e.pos++;let n=e.nextByte();a.GCreserved=(224&n)>>>5,a.disposalMethod=(28&n)>>>2,a.userInputDelayFlag=(2&n)==2,a.delayTime=10*e.nextTwoBytes();let r=e.nextByte();(1&n)==1&&o(r),e.pos++;break}case r.ApplicationExtension:{e.pos++;let a={identifier:e.getString(8),authenticationCode:e.getString(3),data:e.readSubBlocksBin()};t.applicationExtensions.push(a);break}case r.CommentExtension:t.comments.push([i(!1),e.readSubBlocks()]);break;case r.PlainTextExtension:if(0===t.globalColorTable.length)throw EvalError("plain text extension without global color table");e.pos++,t.frames[i(!1)].plainTextData={left:e.nextTwoBytes(),top:e.nextTwoBytes(),width:e.nextTwoBytes(),height:e.nextTwoBytes(),charSize:{width:e.nextTwoBytes(),height:e.nextTwoBytes()},foregroundColor:e.nextByte(),backgroundColor:e.nextByte(),text:e.readSubBlocks()};break;default:e.skipSubBlocks()}break;default:throw EvalError("undefined block found")}return!1}async function u(e,t,a,i){i??=!1;let o=await fetch(e);if(!o.ok&&404===o.status)throw EvalError("file not found");let r=await o.arrayBuffer(),l={width:0,height:0,totalTime:0,colorRes:0,pixelAspectRatio:0,frames:[],sortFlag:!1,globalColorTable:[],backgroundImage:new ImageData(1,1,t),comments:[],applicationExtensions:[]},s=new d(new Uint8ClampedArray(r));if("GIF89a"!==s.getString(6))throw Error("not a supported GIF file");l.width=s.nextTwoBytes(),l.height=s.nextTwoBytes();let h=s.nextByte(),g=(128&h)==128;l.colorRes=(112&h)>>>4,l.sortFlag=(8&h)==8;let c=s.nextByte();l.pixelAspectRatio=s.nextByte(),0!==l.pixelAspectRatio&&(l.pixelAspectRatio=(l.pixelAspectRatio+15)/64),g&&(l.globalColorTable=f(s,1<<(7&h)+1));let p=(()=>{try{return new ImageData(l.width,l.height,t)}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==p)throw Error("GIF frame size is to large");let{r:u,g:w,b:x}=l.globalColorTable[c];p.data.set(g?[u,w,x,255]:[0,0,0,0]);for(let e=4;e<p.data.length;e*=2)p.data.copyWithin(e,0,e);l.backgroundImage=p;let b=-1,y=!0,I=-1,C=e=>(e&&(y=!0),b),B=e=>(null!=e&&(I=e),I);try{do y&&(l.frames.push({left:0,top:0,width:0,height:0,disposalMethod:n.Replace,image:new ImageData(1,1,t),plainTextData:null,userInputDelayFlag:!1,delayTime:0,sortFlag:!1,localColorTable:[],reserved:0,GCreserved:0}),b++,I=-1,y=!1);while(!await m(s,l,i,C,B,t,a))for(let e of(l.frames.length--,l.frames)){if(e.userInputDelayFlag&&0===e.delayTime){l.totalTime=1/0;break}l.totalTime+=e.delayTime}return l}catch(e){if(e instanceof EvalError)throw Error(`error while parsing frame ${b.toString()} "${e.message}"`);throw e}}function w(e,t){let{context:a,radius:i,particle:o,delta:r}=e,l=o.image;if(!l?.gifData||!l.gif)return;let h=new OffscreenCanvas(l.gifData.width,l.gifData.height),g=h.getContext("2d",t);if(!g)throw Error("could not create offscreen canvas context");g.imageSmoothingQuality="low",g.imageSmoothingEnabled=!1,g.clearRect(s.boI.x,s.boI.y,h.width,h.height),o.gifLoopCount??=l.gifLoopCount??0;let d=o.gifFrame??0,f={x:-l.gifData.width*s.MXx,y:-l.gifData.height*s.MXx},c=l.gifData.frames[d];if(o.gifTime??=0,c.bitmap){switch(a.scale(i/l.gifData.width,i/l.gifData.height),c.disposalMethod){case n.UndefinedA:case n.UndefinedB:case n.UndefinedC:case n.UndefinedD:case n.Replace:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height);break;case n.Combine:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y);break;case n.RestoreBackground:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height),l.gifData.globalColorTable.length?g.putImageData(l.gifData.backgroundImage,f.x,f.y):g.putImageData(l.gifData.frames[0].image,f.x+c.left,f.y+c.top);break;case n.RestorePrevious:{let e=g.getImageData(s.boI.x,s.boI.y,h.width,h.height);g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height),g.putImageData(e,s.boI.x,s.boI.y)}}if(o.gifTime+=r.value,o.gifTime>c.delayTime){if(o.gifTime-=c.delayTime,++d>=l.gifData.frames.length){if(--o.gifLoopCount<=0)return;d=0,g.clearRect(s.boI.x,s.boI.y,h.width,h.height)}o.gifFrame=d}a.scale(l.gifData.width/i,l.gifData.height/i)}}async function x(e,t){if("gif"!==e.type)return void await (0,l.loadImage)(e);e.loading=!0;try{e.gifData=await u(e.source,t),e.gifLoopCount=function(e){for(let t of e.applicationExtensions)if(t.identifier+t.authenticationCode==="NETSCAPE2.0")return t.data[1]+(t.data[2]<<8);return NaN}(e.gifData),e.gifLoopCount||(e.gifLoopCount=1/0)}catch{e.error=!0}e.loading=!1}(i=n||(n={}))[i.Replace=0]="Replace",i[i.Combine=1]="Combine",i[i.RestoreBackground=2]="RestoreBackground",i[i.RestorePrevious=3]="RestorePrevious",i[i.UndefinedA=4]="UndefinedA",i[i.UndefinedB=5]="UndefinedB",i[i.UndefinedC=6]="UndefinedC",i[i.UndefinedD=7]="UndefinedD",(o=r||(r={}))[o.Extension=33]="Extension",o[o.ApplicationExtension=255]="ApplicationExtension",o[o.GraphicsControlExtension=249]="GraphicsControlExtension",o[o.PlainTextExtension=1]="PlainTextExtension",o[o.CommentExtension=254]="CommentExtension",o[o.Image=44]="Image",o[o.EndOfFile=59]="EndOfFile"},969(e,t,a){a.d(t,{ImageDrawer:()=>r});var i=a(5954),o=a(636),n=a(5333);class r{_engine;constructor(e){this._engine=e}addImage(e){this._engine.images??=[],this._engine.images.push(e)}draw(e){let{context:t,radius:a,particle:o,opacity:r}=e,l=o.image,s=l?.element;if(l){if(t.globalAlpha=r,l.gif&&l.gifData)(0,n.zS)(e,o.container.canvas.settings);else if(s){let e=l.ratio,o={x:-a,y:-a},n=a*i.gdl;t.drawImage(s,o.x,o.y,n,n/e)}t.globalAlpha=i.aZx}}getSidesCount(){return 12}async init(e){let t=e.actualOptions;if(!t.preload||!this._engine.loadImage)return;let a=[];for(let e of t.preload)a.push(this._engine.loadImage(e));await Promise.all(a)}loadShape(e){if(!e.shape||!o.z.includes(e.shape))return;let t=e.shapeData;!t||(this._engine.images??=[],this._engine.images.find(e=>e.name===t.name||e.source===t.src)||this.loadImageShape(t).then(()=>{this.loadShape(e)}))}particleInit(e,t){if("image"!==t.shape&&"images"!==t.shape)return;this._engine.images??=[];let a=this._engine.images,n=t.shapeData;if(!n)return;let r=t.getFillColor(),l=a.find(e=>e.name===n.name||e.source===n.src);if(!l)return;let s=n.replaceColor;l.loading?setTimeout(()=>{this.particleInit(e,t)}):(async()=>{let a;(a=l.svgData&&r?await (0,o.d)(l,n,r,t,e.hdr):{color:r,data:l,element:l.element,gif:l.gif,gifData:l.gifData,gifLoopCount:l.gifLoopCount,loaded:!0,ratio:n.width&&n.height?n.width/n.height:l.ratio??i.$xb,replaceColor:s,source:n.src}).ratio||(a.ratio=1);let h=n.fill??t.shapeFill,g=n.close??t.shapeClose;t.image=a,t.shapeFill=h,t.shapeClose=g})()}loadImageShape=async e=>{if(!this._engine.loadImage)throw Error("Image shape not initialized");await this._engine.loadImage({gif:e.gif,name:e.name,replaceColor:e.replaceColor,src:e.src})}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[969,5333],{5333(e,t,a){a.d(t,{zS:()=>w,loadGifImage:()=>x});var i,o,n,r,l=a(636),s=a(5954);let h=[0,4,2,1],g=[8,8,4,2];class d{data;pos;constructor(e){this.pos=0,this.data=new Uint8ClampedArray(e)}getString(e){let t=this.data.slice(this.pos,this.pos+e);return this.pos+=t.length,t.reduce((e,t)=>e+String.fromCharCode(t),"")}nextByte(){return this.data[this.pos++]}nextTwoBytes(){return this.pos+=2,this.data[this.pos-2]+(this.data[this.pos-1]<<8)}readSubBlocks(){let e="",t=0;do{t=this.data[this.pos++];for(let a=t;--a>=0;e+=String.fromCharCode(this.data[this.pos++]));}while(0!==t)return e}readSubBlocksBin(){let e=this.data[this.pos],t=0;for(let a=0;0!==e;a+=e+1,e=this.data[this.pos+a])t+=e;let a=new Uint8Array(t);e=this.data[this.pos++];for(let t=0;0!==e;e=this.data[this.pos++])for(let i=e;--i>=0;a[t++]=this.data[this.pos++]);return a}skipSubBlocks(){for(;0!==this.data[this.pos];this.pos+=this.data[this.pos]+1);this.pos++}}function f(e,t){let a=[];for(let i=0;i<t;i++)a.push({r:e.data[e.pos],g:e.data[e.pos+1],b:e.data[e.pos+2]}),e.pos+=3;return a}function c(e,t,a){let i=t>>>3,o=7&t;return(e[i]+(e[i+1]<<8)+(e[i+2]<<16)&(1<<a)-1<<o)>>>o}async function p(e,t,a,i,o,n,r){let l=t.frames[i(!0)];l.left=e.nextTwoBytes(),l.top=e.nextTwoBytes(),l.width=e.nextTwoBytes(),l.height=e.nextTwoBytes();let s=e.nextByte(),d=(128&s)==128;l.sortFlag=(32&s)==32,l.reserved=(24&s)>>>3,d&&(l.localColorTable=f(e,1<<(7&s)+1));let p=e=>{let{r:i,g:n,b:r}=(d?l.localColorTable:t.globalColorTable)[e];return e!==o(null)?{r:i,g:n,b:r,a:255}:{r:i,g:n,b:r,a:a?Math.trunc((i+n+r)/3):0}},m=(()=>{try{return new ImageData(l.width,l.height,n)}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==m)throw EvalError("GIF frame size is to large");let u=e.nextByte(),w=e.readSubBlocksBin(),x=1<<u;if((64&s)==64){for(let a=0,o=u+1,n=0,s=[[0]],d=0;d<4;d++){if(h[d]<l.height){let e=0,t=0,i=!1;for(;!i;){let r=a;if(a=c(w,n,o),n+=o+1,a===x){o=u+1,s.length=x+2;for(let e=0;e<s.length;e++)s[e]=e<x?[e]:[]}else{for(let i of(a>=s.length?s.push(s[r].concat(s[r][0])):r!==x&&s.push(s[r].concat(s[a][0])),s[a])){let{r:a,g:o,b:n,a:r}=p(i);m.data.set([a,o,n,r],h[d]*l.width+g[d]*t+e%(4*l.width)),e+=4}s.length===1<<o&&o<12&&o++}e===4*l.width*(t+1)&&(t++,h[d]+g[d]*t>=l.height&&(i=!0))}}r?.(e.pos/(e.data.length-1),i(!1)+1,m,{x:l.left,y:l.top},{width:t.width,height:t.height})}l.image=m,l.bitmap=await createImageBitmap(m)}else{let a=0,o=u+1,n=0,s=-4,h=[[0]];for(;;){let e=a;if(a=c(w,n,o),n+=o,a===x){o=u+1,h.length=x+2;for(let e=0;e<h.length;e++)h[e]=e<x?[e]:[]}else{if(a===x+1)break;for(let t of(a>=h.length?h.push(h[e].concat(h[e][0])):e!==x&&h.push(h[e].concat(h[a][0])),h[a])){let{r:e,g:a,b:i,a:o}=p(t);s+=4,m.data.set([e,a,i,o],s)}h.length>=1<<o&&o<12&&o++}}l.image=m,l.bitmap=await createImageBitmap(m),r?.((e.pos+1)/e.data.length,i(!1)+1,l.image,{x:l.left,y:l.top},{width:t.width,height:t.height})}}async function m(e,t,a,i,o,n,l){switch(e.nextByte()){case r.EndOfFile:return!0;case r.Image:await p(e,t,a,i,o,n,l);break;case r.Extension:switch(e.nextByte()){case r.GraphicsControlExtension:{let a=t.frames[i(!1)];e.pos++;let n=e.nextByte();a.GCreserved=(224&n)>>>5,a.disposalMethod=(28&n)>>>2,a.userInputDelayFlag=(2&n)==2,a.delayTime=10*e.nextTwoBytes();let r=e.nextByte();(1&n)==1&&o(r),e.pos++;break}case r.ApplicationExtension:{e.pos++;let a={identifier:e.getString(8),authenticationCode:e.getString(3),data:e.readSubBlocksBin()};t.applicationExtensions.push(a);break}case r.CommentExtension:t.comments.push([i(!1),e.readSubBlocks()]);break;case r.PlainTextExtension:if(0===t.globalColorTable.length)throw EvalError("plain text extension without global color table");e.pos++,t.frames[i(!1)].plainTextData={left:e.nextTwoBytes(),top:e.nextTwoBytes(),width:e.nextTwoBytes(),height:e.nextTwoBytes(),charSize:{width:e.nextTwoBytes(),height:e.nextTwoBytes()},foregroundColor:e.nextByte(),backgroundColor:e.nextByte(),text:e.readSubBlocks()};break;default:e.skipSubBlocks()}break;default:throw EvalError("undefined block found")}return!1}async function u(e,t,a,i){i??=!1;let o=await fetch(e);if(!o.ok&&404===o.status)throw EvalError("file not found");let r=await o.arrayBuffer(),l={width:0,height:0,totalTime:0,colorRes:0,pixelAspectRatio:0,frames:[],sortFlag:!1,globalColorTable:[],backgroundImage:new ImageData(1,1,t),comments:[],applicationExtensions:[]},s=new d(new Uint8ClampedArray(r));if("GIF89a"!==s.getString(6))throw Error("not a supported GIF file");l.width=s.nextTwoBytes(),l.height=s.nextTwoBytes();let h=s.nextByte(),g=(128&h)==128;l.colorRes=(112&h)>>>4,l.sortFlag=(8&h)==8;let c=s.nextByte();l.pixelAspectRatio=s.nextByte(),0!==l.pixelAspectRatio&&(l.pixelAspectRatio=(l.pixelAspectRatio+15)/64),g&&(l.globalColorTable=f(s,1<<(7&h)+1));let p=(()=>{try{return new ImageData(l.width,l.height,t)}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==p)throw Error("GIF frame size is to large");let{r:u,g:w,b:x}=l.globalColorTable[c];p.data.set(g?[u,w,x,255]:[0,0,0,0]);for(let e=4;e<p.data.length;e*=2)p.data.copyWithin(e,0,e);l.backgroundImage=p;let b=-1,y=!0,I=-1,C=e=>(e&&(y=!0),b),B=e=>(null!=e&&(I=e),I);try{do y&&(l.frames.push({left:0,top:0,width:0,height:0,disposalMethod:n.Replace,image:new ImageData(1,1,t),plainTextData:null,userInputDelayFlag:!1,delayTime:0,sortFlag:!1,localColorTable:[],reserved:0,GCreserved:0}),b++,I=-1,y=!1);while(!await m(s,l,i,C,B,t,a))for(let e of(l.frames.length--,l.frames)){if(e.userInputDelayFlag&&0===e.delayTime){l.totalTime=1/0;break}l.totalTime+=e.delayTime}return l}catch(e){if(e instanceof EvalError)throw Error(`error while parsing frame ${b.toString()} "${e.message}"`);throw e}}function w(e,t){let{context:a,radius:i,particle:o,delta:r}=e,l=o.image;if(!l?.gifData||!l.gif)return;let h=new OffscreenCanvas(l.gifData.width,l.gifData.height),g=h.getContext("2d",t);if(!g)throw Error("could not create offscreen canvas context");g.imageSmoothingQuality="low",g.imageSmoothingEnabled=!1,g.clearRect(s.boI.x,s.boI.y,h.width,h.height),o.gifLoopCount??=l.gifLoopCount??0;let d=o.gifFrame??0,f={x:-l.gifData.width*s.MXx,y:-l.gifData.height*s.MXx},c=l.gifData.frames[d];if(o.gifTime??=0,c.bitmap){switch(a.scale(i/l.gifData.width,i/l.gifData.height),c.disposalMethod){case n.UndefinedA:case n.UndefinedB:case n.UndefinedC:case n.UndefinedD:case n.Replace:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height);break;case n.Combine:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y);break;case n.RestoreBackground:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height),l.gifData.globalColorTable.length?g.putImageData(l.gifData.backgroundImage,f.x,f.y):g.putImageData(l.gifData.frames[0].image,f.x+c.left,f.y+c.top);break;case n.RestorePrevious:{let e=g.getImageData(s.boI.x,s.boI.y,h.width,h.height);g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height),g.putImageData(e,s.boI.x,s.boI.y)}}if(o.gifTime+=r.value,o.gifTime>c.delayTime){if(o.gifTime-=c.delayTime,++d>=l.gifData.frames.length){if(--o.gifLoopCount<=0)return;d=0,g.clearRect(s.boI.x,s.boI.y,h.width,h.height)}o.gifFrame=d}a.scale(l.gifData.width/i,l.gifData.height/i)}}async function x(e,t){if("gif"!==e.type)return void await (0,l.loadImage)(e);e.loading=!0;try{e.gifData=await u(e.source,t),e.gifLoopCount=function(e){for(let t of e.applicationExtensions)if(t.identifier+t.authenticationCode==="NETSCAPE2.0")return t.data[1]+(t.data[2]<<8);return NaN}(e.gifData),e.gifLoopCount||(e.gifLoopCount=1/0)}catch{e.error=!0}e.loading=!1}(i=n||(n={}))[i.Replace=0]="Replace",i[i.Combine=1]="Combine",i[i.RestoreBackground=2]="RestoreBackground",i[i.RestorePrevious=3]="RestorePrevious",i[i.UndefinedA=4]="UndefinedA",i[i.UndefinedB=5]="UndefinedB",i[i.UndefinedC=6]="UndefinedC",i[i.UndefinedD=7]="UndefinedD",(o=r||(r={}))[o.Extension=33]="Extension",o[o.ApplicationExtension=255]="ApplicationExtension",o[o.GraphicsControlExtension=249]="GraphicsControlExtension",o[o.PlainTextExtension=1]="PlainTextExtension",o[o.CommentExtension=254]="CommentExtension",o[o.Image=44]="Image",o[o.EndOfFile=59]="EndOfFile"},969(e,t,a){a.d(t,{ImageDrawer:()=>r});var i=a(5954),o=a(636),n=a(5333);class r{_engine;constructor(e){this._engine=e}draw(e){let{context:t,radius:a,particle:o,opacity:r}=e,l=o.image,s=l?.element;if(l){if(t.globalAlpha=r,l.gif&&l.gifData)(0,n.zS)(e,o.container.canvas.settings);else if(s){let e=l.ratio,o={x:-a,y:-a},n=a*i.gdl;t.drawImage(s,o.x,o.y,n,n/e)}t.globalAlpha=i.aZx}}getSidesCount(){return 12}async init(e){let t=e.actualOptions;if(!t.preload||!this._engine.loadImage)return;let a=[];for(let i of t.preload)a.push(this._engine.loadImage(e,i));await Promise.all(a)}loadShape(e){let{container:t}=e;if(!e.shape||!o.z.includes(e.shape))return;let a=e.shapeData;if(!a)return;let i=this._engine.getImages?.(t);i?.find(e=>e.name===a.name||e.source===a.src)||this.loadImageShape(t,a).then(()=>{this.loadShape(e)})}particleInit(e,t){if("image"!==t.shape&&"images"!==t.shape)return;let a=this._engine.getImages?.(e),n=t.shapeData;if(!n)return;let r=t.getFillColor(),l=a?.find(e=>e.name===n.name||e.source===n.src);if(!l)return;let s=n.replaceColor;l.loading?setTimeout(()=>{this.particleInit(e,t)}):(async()=>{let a;(a=l.svgData&&r?await (0,o.d)(l,n,r,t,e.hdr):{color:r,data:l,element:l.element,gif:l.gif,gifData:l.gifData,gifLoopCount:l.gifLoopCount,loaded:!0,ratio:n.width&&n.height?n.width/n.height:l.ratio??i.$xb,replaceColor:s,source:n.src}).ratio||(a.ratio=1);let h=n.fill??t.shapeFill,g=n.close??t.shapeClose;t.image=a,t.shapeFill=h,t.shapeClose=g})()}loadImageShape=async(e,t)=>{if(!this._engine.loadImage)throw Error("Image shape not initialized");await this._engine.loadImage(e,{gif:t.gif,name:t.name,replaceColor:t.replaceColor,src:t.src})}}}}]);
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.21
7
+ * v4.0.0-alpha.23
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
23
  \**************************************/
24
24
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
25
 
26
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBasic: () => (/* binding */ loadBasic)\n/* harmony export */ });\nasync function loadBasic(engine) {\n engine.checkVersion(\"4.0.0-alpha.21\");\n await engine.register(async (e)=>{\n const [{ loadHexColorPlugin }, { loadHslColorPlugin }, { loadRgbColorPlugin }, { loadBaseMover }, { loadCircleShape }, { loadColorUpdater }, { loadOpacityUpdater }, { loadOutModesUpdater }, { loadSizeUpdater }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_colors_hex_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-hex-color */ \"../../plugins/colors/hex/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_colors_hsl_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-hsl-color */ \"../../plugins/colors/hsl/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_colors_rgb_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-rgb-color */ \"../../plugins/colors/rgb/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"move_base_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/move-base */ \"../../move/base/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-circle */ \"../../shapes/circle/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_color_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-color */ \"../../updaters/color/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_opacity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-opacity */ \"../../updaters/opacity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_outModes_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-out-modes */ \"../../updaters/outModes/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_size_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-size */ \"../../updaters/size/dist/browser/index.js\"))\n ]);\n await Promise.all([\n loadHexColorPlugin(e),\n loadHslColorPlugin(e),\n loadRgbColorPlugin(e),\n loadBaseMover(e),\n loadCircleShape(e),\n loadColorUpdater(e),\n loadOpacityUpdater(e),\n loadOutModesUpdater(e),\n loadSizeUpdater(e)\n ]);\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/confetti/../basic/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBasic: () => (/* binding */ loadBasic)\n/* harmony export */ });\nasync function loadBasic(engine) {\n engine.checkVersion(\"4.0.0-alpha.23\");\n await engine.register(async (e)=>{\n const [{ loadHexColorPlugin }, { loadHslColorPlugin }, { loadRgbColorPlugin }, { loadBaseMover }, { loadCircleShape }, { loadColorUpdater }, { loadOpacityUpdater }, { loadOutModesUpdater }, { loadSizeUpdater }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_colors_hex_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-hex-color */ \"../../plugins/colors/hex/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_colors_hsl_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-hsl-color */ \"../../plugins/colors/hsl/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_colors_rgb_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-rgb-color */ \"../../plugins/colors/rgb/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"move_base_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/move-base */ \"../../move/base/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-circle */ \"../../shapes/circle/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_color_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-color */ \"../../updaters/color/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_opacity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-opacity */ \"../../updaters/opacity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_outModes_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-out-modes */ \"../../updaters/outModes/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_size_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-size */ \"../../updaters/size/dist/browser/index.js\"))\n ]);\n await Promise.all([\n loadHexColorPlugin(e),\n loadHslColorPlugin(e),\n loadRgbColorPlugin(e),\n loadBaseMover(e),\n loadCircleShape(e),\n loadColorUpdater(e),\n loadOpacityUpdater(e),\n loadOutModesUpdater(e),\n loadSizeUpdater(e)\n ]);\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/confetti/../basic/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -18,7 +18,7 @@ async function initPlugins(engine) {
18
18
  });
19
19
  }
20
20
  initializing = true;
21
- engine.checkVersion("4.0.0-alpha.21");
21
+ engine.checkVersion("4.0.0-alpha.23");
22
22
  await engine.register(async (e) => {
23
23
  const [{ loadBasic }, { loadEmittersPlugin }, { loadMotionPlugin }, { loadCardSuitsShape }, { loadHeartShape }, { loadImageShape }, { loadPolygonShape }, { loadSquareShape }, { loadStarShape }, { loadEmojiShape }, { loadRotateUpdater }, { loadLifeUpdater }, { loadRollUpdater }, { loadTiltUpdater }, { loadWobbleUpdater },] = await Promise.all([
24
24
  import("@tsparticles/basic"),
@@ -347,5 +347,5 @@ confetti.create = async (canvas, options) => {
347
347
  confetti.init = async () => {
348
348
  await initPlugins(tsParticles);
349
349
  };
350
- confetti.version = "4.0.0-alpha.21";
350
+ confetti.version = "4.0.0-alpha.23";
351
351
  globalThis.confetti = confetti;
package/cjs/confetti.js CHANGED
@@ -18,7 +18,7 @@ async function initPlugins(engine) {
18
18
  });
19
19
  }
20
20
  initializing = true;
21
- engine.checkVersion("4.0.0-alpha.21");
21
+ engine.checkVersion("4.0.0-alpha.23");
22
22
  await engine.register(async (e) => {
23
23
  const [{ loadBasic }, { loadEmittersPlugin }, { loadMotionPlugin }, { loadCardSuitsShape }, { loadHeartShape }, { loadImageShape }, { loadPolygonShape }, { loadSquareShape }, { loadStarShape }, { loadEmojiShape }, { loadRotateUpdater }, { loadLifeUpdater }, { loadRollUpdater }, { loadTiltUpdater }, { loadWobbleUpdater },] = await Promise.all([
24
24
  import("@tsparticles/basic"),
@@ -347,5 +347,5 @@ confetti.create = async (canvas, options) => {
347
347
  confetti.init = async () => {
348
348
  await initPlugins(tsParticles);
349
349
  };
350
- confetti.version = "4.0.0-alpha.21";
350
+ confetti.version = "4.0.0-alpha.23";
351
351
  globalThis.confetti = confetti;