!function(t){var e={};function s(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,s),r.l=!0,r.exports}s.m=t,s.c=e,s.d=function(t,e,i){s.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},s.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.t=function(t,e){if(1&e&&(t=s(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(s.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)s.d(i,r,function(e){return t[e]}.bind(null,r));return i},s.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(e,"a",e),e},s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s.p="/",s(s.s=248)}({1:function(t,e,s){"use strict";const i={GUI_INSTANCE:null,ANIM_INSTANCE:null,VIEWPORT_EMITTER_ELEMENT:void 0,LOCAL_STORAGE_KEYS:{GuiPosition:"anim-ui.position",GroupCollapsedStates:"anim-ui.group-collapsed-states",scrollY:"anim-ui.scrollY-position",path:"anim-ui.path"},RESIZE_TIMEOUT:-1,BREAKPOINTS:[{name:"S",mediaQuery:"only screen and (max-width: 734px)"},{name:"M",mediaQuery:"only screen and (max-width: 1068px)"},{name:"L",mediaQuery:"only screen and (min-width: 1069px)"}],getBreakpoint:function(){for(let t=0;t<i.BREAKPOINTS.length;t++){let e=i.BREAKPOINTS[t];if(window.matchMedia(e.mediaQuery).matches)return e.name}},KeyframeDefaults:{ease:1,epsilon:.05,preserveState:!1,easeFunctionString:"linear",easeFunction:"linear",hold:!1,snapAtCreation:!1,toggle:!1,breakpointMask:"SMLX",event:"",disabledWhen:[],cssClass:""},KeyframeTypes:{Interpolation:0,InterpolationForward:1,CSSClass:2,Event:3},EVENTS:{ON_DOM_KEYFRAMES_CREATED:"ON_DOM_KEYFRAMES_CREATED",ON_DOM_GROUPS_CREATED:"ON_DOM_GROUPS_CREATED",ON_GROUP_CREATED:"ON_GROUP_CREATED",ON_KEYFRAME_UPDATED:"ON_KEYFRAME_UPDATED",ON_TIMELINE_START:"ON_TIMELINE_START",ON_TIMELINE_UPDATE:"ON_TIMELINE_UPDATE",ON_TIMELINE_COMPLETE:"ON_TIMELINE_COMPLETE",ON_CHAPTER_INITIATED:"ON_CHAPTER_INITIATED",ON_CHAPTER_OCCURRED:"ON_CHAPTER_OCCURRED",ON_CHAPTER_COMPLETED:"ON_CHAPTER_COMPLETED"},PageEvents:{ON_SCROLL:"ON_SCROLL",ON_RESIZE_IMMEDIATE:"ON_RESIZE_IMMEDIATE",ON_RESIZE_DEBOUNCED:"ON_RESIZE_DEBOUNCED",ON_BREAKPOINT_CHANGE:"ON_BREAKPOINT_CHANGE"},KeyframeJSONReservedWords:["event","cssClass","style","anchors","start","end","epsilon","easeFunction","ease","breakpointMask","disabledWhen"],TweenProps:s(23),TargetValue:s(3),CSSTargetValue:s(24),pageMetrics:new function(){this.scrollX=0,this.scrollY=0,this.windowWidth=0,this.windowHeight=0,this.documentOffsetX=0,this.documentOffsetY=0,this.previousBreakpoint="",this.breakpoint=""},KeyframeComparison:function(t,e){return t.start<e.start?-1:t.start>e.start?1:0}};t.exports=i},13:function(t,e,s){"use strict";t.exports=function(t){return t.reduce(((t,e)=>(t[e]=e,t)),{})}},14:function(t,e,s){"use strict";const i=s(6),r=s(1),n=s(3);class a extends i{constructor(t,e){super(t,e),this.keyframeType=r.KeyframeTypes.CSSClass,this._triggerType=a.TRIGGER_TYPE_CSS_CLASS,this.cssClass="",this.friendlyName="",this.style={on:null,off:null},this.toggle=!1,this.isApplied=!1}parseOptions(t){if(!this.controller._ownerIsElement)throw new TypeError("CSS Keyframes cannot be applied to JS Objects");if(t.x=void 0,t.y=void 0,t.z=void 0,t.scale=void 0,t.scaleX=void 0,t.scaleY=void 0,t.rotationX=void 0,t.rotationY=void 0,t.rotationZ=void 0,t.rotation=void 0,t.opacity=void 0,t.hold=void 0,void 0!==t.toggle&&(this.toggle=t.toggle),void 0!==t.cssClass)this._triggerType=a.TRIGGER_TYPE_CSS_CLASS,this.cssClass=t.cssClass,this.friendlyName="."+this.cssClass,void 0===this.controller.tweenProps.targetClasses&&(this.controller.tweenProps.targetClasses={add:[],remove:[]});else{if(void 0===t.style||!this.isValidStyleProperty(t.style))throw new TypeError("KeyframeCSSClass no 'cssClass` property found. If using `style` property its also missing or invalid");if(this._triggerType=a.TRIGGER_TYPE_STYLE_PROPERTY,this.style=t.style,this.friendlyName="style",this.toggle=void 0!==this.style.off||this.toggle,this.toggle&&void 0===this.style.off){this.style.off={};for(let t in this.style.on)this.style.off[t]=""}void 0===this.controller.tweenProps.targetStyles&&(this.controller.tweenProps.targetStyles={})}if(void 0===t.end&&(t.end=t.start),t.toggle=this.toggle,this._triggerType===a.TRIGGER_TYPE_CSS_CLASS)this.isApplied=this.controller.element.classList.contains(this.cssClass);else{let t=getComputedStyle(this.controller.element);this.isApplied=!0;for(let e in this.style.on)if(t[e]!==this.style.on[e]){this.isApplied=!1;break}}i.prototype.parseOptions.call(this,t),this.animValues[this.friendlyName]=[0,0],void 0===this.controller.tweenProps[this.friendlyName]&&(this.controller.tweenProps[this.friendlyName]=new n(0,1,!1)),this.keyframeType=r.KeyframeTypes.CSSClass}updateLocalProgress(t){this.isApplied&&!this.toggle||(this.start!==this.end?!this.isApplied&&t>=this.start&&t<=this.end?this._apply():this.isApplied&&this.toggle&&(t<this.start||t>this.end)&&this._unapply():!this.isApplied&&t>=this.start?this._apply():this.isApplied&&this.toggle&&t<this.start&&this._unapply())}_apply(){if(this._triggerType===a.TRIGGER_TYPE_CSS_CLASS)this.controller.tweenProps.targetClasses.add.push(this.cssClass),this.controller.needsClassUpdate=!0;else{for(let t in this.style.on)this.controller.tweenProps.targetStyles[t]=this.style.on[t];this.controller.needsStyleUpdate=!0}this.isApplied=!0}_unapply(){if(this._triggerType===a.TRIGGER_TYPE_CSS_CLASS)this.controller.tweenProps.targetClasses.remove.push(this.cssClass),this.controller.needsClassUpdate=!0;else{for(let t in this.style.off)this.controller.tweenProps.targetStyles[t]=this.style.off[t];this.controller.needsStyleUpdate=!0}this.isApplied=!1}isValidStyleProperty(t){if(!t.hasOwnProperty("on"))return!1;if("object"!=typeof t.on)throw new TypeError("KeyframeCSSClass `style` property should be in the form of: {on:{visibility:'hidden', otherProperty: 'value'}}");if(this.toggle&&t.hasOwnProperty("off")&&"object"!=typeof t.off)throw new TypeError("KeyframeCSSClass `style` property should be in the form of: {on:{visibility:'hidden', otherProperty: 'value'}}");return!0}reconcile(t){}onDOMRead(t){}evaluateInterpolationConstraints(){}}a.TRIGGER_TYPE_CSS_CLASS=0,a.TRIGGER_TYPE_STYLE_PROPERTY=1,a.DATA_ATTRIBUTE="data-anim-classname",t.exports=a},15:function(t,e,s){"use strict";const i=s(7).EventEmitterMicro,r=s(4),n=s(13),a=s(1),o=s(27),h=s(49),l=s(50),c=s(28),u=s(51),m=s(53),p={};"undefined"!=typeof window&&(p.create=s(9),p.update=s(16),p.draw=s(17));let d=0;t.exports=class extends i{constructor(t,e){super(),this.anim=e,this.element=t,this.name=this.name||t.getAttribute("data-anim-scroll-group"),this.isEnabled=!0,this.position=new h,this.metrics=new c,this.metrics.add(this.element),this.expressionParser=new u(this),this.boundsMin=0,this.boundsMax=0,this.timelineUpdateRequired=!1,this._keyframesDirty=!1,this.viewableRange=this.createViewableRange(),this.defaultEase=a.KeyframeDefaults.ease,this.keyframeControllers=[],this.updateProgress(this.getPosition()),this.onDOMRead=this.onDOMRead.bind(this),this.onDOMWrite=this.onDOMWrite.bind(this),this.gui=null,this.finalizeInit()}finalizeInit(){this.element._animInfo=new o(this,null,!0),this.setupRAFEmitter()}destroy(){this.destroyed=!0,this.expressionParser.destroy(),this.expressionParser=null;for(let t=0,e=this.keyframeControllers.length;t<e;t++)this.keyframeControllers[t].destroy();this.keyframeControllers=null,this.position=null,this.viewableRange=null,this.gui&&(this.gui.destroy(),this.gui=null),this.metrics.destroy(),this.metrics=null,this.rafEmitter.destroy(),this.rafEmitter=null,this.anim=null,this.element._animInfo&&this.element._animInfo.group===this&&(this.element._animInfo.group=null,this.element._animInfo=null),this.element=null,this.isEnabled=!1,super.destroy()}removeKeyframeController(t){return this.keyframeControllers.includes(t)?(t._allKeyframes.forEach((t=>t.markedForRemoval=!0)),this.keyframesDirty=!0,new Promise((e=>{p.draw((()=>{const s=this.keyframeControllers.indexOf(t);-1!==s?(this.keyframeControllers.splice(s,1),t.onDOMWrite(),t.destroy(),this.gui&&this.gui.create(),e()):e()}))}))):Promise.resolve()}remove(){return this.anim.removeGroup(this)}clear(){return Promise.all(this.keyframeControllers.map((t=>this.removeKeyframeController(t))))}setupRAFEmitter(t){this.rafEmitter&&this.rafEmitter.destroy(),this.rafEmitter=t||new p.create,this.rafEmitter.on("update",this.onDOMRead),this.rafEmitter.on("draw",this.onDOMWrite),this.rafEmitter.once("external",(()=>this.reconcile()))}requestDOMChange(){return!!this.isEnabled&&this.rafEmitter.run()}onDOMRead(){this.keyframesDirty&&this.onKeyframesDirty();for(let t=0,e=this.keyframeControllers.length;t<e;t++)this.keyframeControllers[t].onDOMRead(this.position.local)}onDOMWrite(){for(let t=0,e=this.keyframeControllers.length;t<e;t++)this.keyframeControllers[t].onDOMWrite();this.needsUpdate()&&this.requestDOMChange()}needsUpdate(){if(this._keyframesDirty)return!0;for(let t=0,e=this.keyframeControllers.length;t<e;t++)if(this.keyframeControllers[t].needsUpdate())return!0;return!1}addKeyframe(t,e){let s=this.getControllerForTarget(t);return null===s&&(s=new m(this,t),this.keyframeControllers.push(s)),this.keyframesDirty=!0,s.addKeyframe(e)}addEvent(t,e){e.event=e.event||"Generic-Event-Name-"+d++;let s=void 0!==e.end&&e.end!==e.start;const i=this.addKeyframe(t,e);return s?(e.onEnterOnce&&i.controller.once(e.event+":enter",e.onEnterOnce),e.onExitOnce&&i.controller.once(e.event+":exit",e.onExitOnce),e.onEnter&&i.controller.on(e.event+":enter",e.onEnter),e.onExit&&i.controller.on(e.event+":exit",e.onExit)):(e.onEventOnce&&i.controller.once(e.event,e.onEventOnce),e.onEventReverseOnce&&i.controller.once(e.event+":reverse",e.onEventReverseOnce),e.onEvent&&i.controller.on(e.event,e.onEvent),e.onEventReverse&&i.controller.on(e.event+":reverse",e.onEventReverse)),i}forceUpdate(){let{waitForNextUpdate:t=!0,silent:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.isEnabled&&(this.refreshMetrics(),this.timelineUpdateRequired=!0,t?this.keyframesDirty=!0:this.onKeyframesDirty({silent:e}))}onKeyframesDirty(){let{silent:t=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.determineActiveKeyframes(),this.keyframesDirty=!1,this.metrics.refreshMetrics(this.element),this.viewableRange=this.createViewableRange();for(let t=0,e=this.keyframeControllers.length;t<e;t++)this.keyframeControllers[t].updateAnimationConstraints();this.updateBounds(),this.updateProgress(this.getPosition()),t||this.updateTimeline(),this.gui&&this.gui.create()}refreshMetrics(){let t=new Set([this.element]);this.keyframeControllers.forEach((e=>{t.add(e.element),e._allKeyframes.forEach((e=>e.anchors.forEach((e=>t.add(e)))))})),this.metrics.refreshCollection(t),this.viewableRange=this.createViewableRange()}reconcile(){for(let t=0,e=this.keyframeControllers.length;t<e;t++)this.keyframeControllers[t].reconcile()}determineActiveKeyframes(t){t=t||n(Array.from(document.documentElement.classList));for(let e=0,s=this.keyframeControllers.length;e<s;e++)this.keyframeControllers[e].determineActiveKeyframes(t)}updateBounds(){if(0===this.keyframeControllers.length)return this.boundsMin=0,void(this.boundsMax=0);let t={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};for(let e=0,s=this.keyframeControllers.length;e<s;e++)this.keyframeControllers[e].getBounds(t);let e=this.convertTValueToScrollPosition(t.min),s=this.convertTValueToScrollPosition(t.max);s-e<a.pageMetrics.windowHeight?(t.min=this.convertScrollPositionToTValue(e-.5*a.pageMetrics.windowHeight),t.max=this.convertScrollPositionToTValue(s+.5*a.pageMetrics.windowHeight)):(t.min-=.001,t.max+=.001),this.boundsMin=t.min,this.boundsMax=t.max,this.timelineUpdateRequired=!0}createViewableRange(){return new l(this.metrics.get(this.element),a.pageMetrics.windowHeight)}_onBreakpointChange(t,e){this.keyframesDirty=!0,this.determineActiveKeyframes()}updateProgress(t){this.hasDuration()?(this.position.localUnclamped=(t-this.viewableRange.a)/(this.viewableRange.d-this.viewableRange.a),this.position.local=r.clamp(this.position.localUnclamped,this.boundsMin,this.boundsMax)):this.position.local=this.position.localUnclamped=0}performTimelineDispatch(){for(let t=0,e=this.keyframeControllers.length;t<e;t++)this.keyframeControllers[t].updateLocalProgress(this.position.local);this.trigger(a.EVENTS.ON_TIMELINE_UPDATE,this.position.local),this.trigger("update",this.position.local),this.timelineUpdateRequired=!1,this.position.lastPosition!==this.position.local&&(this.position.lastPosition<=this.boundsMin&&this.position.localUnclamped>this.boundsMin?(this.trigger(a.EVENTS.ON_TIMELINE_START,this),this.trigger("start",this)):this.position.lastPosition>=this.boundsMin&&this.position.localUnclamped<this.boundsMin?(this.trigger(a.EVENTS.ON_TIMELINE_START+":reverse",this),this.trigger("start:reverse",this)):this.position.lastPosition<=this.boundsMax&&this.position.localUnclamped>=this.boundsMax?(this.trigger(a.EVENTS.ON_TIMELINE_COMPLETE,this),this.trigger("complete",this)):this.position.lastPosition>=this.boundsMax&&this.position.localUnclamped<this.boundsMax&&(this.trigger(a.EVENTS.ON_TIMELINE_COMPLETE+":reverse",this),this.trigger("complete:reverse",this))),null!==this.gui&&this.gui.onScrollUpdate(this.position)}updateTimeline(t){if(!this.isEnabled)return!1;void 0===t&&(t=this.getPosition()),this.updateProgress(t);let e=this.position.lastPosition===this.boundsMin||this.position.lastPosition===this.boundsMax,s=this.position.localUnclamped===this.boundsMin||this.position.localUnclamped===this.boundsMax;if(!this.timelineUpdateRequired&&e&&s&&this.position.lastPosition===t)return void(this.position.local=this.position.localUnclamped);if(this.timelineUpdateRequired||this.position.localUnclamped>this.boundsMin&&this.position.localUnclamped<this.boundsMax)return this.performTimelineDispatch(),this.requestDOMChange(),void(this.position.lastPosition=this.position.localUnclamped);let i=this.position.lastPosition>this.boundsMin&&this.position.lastPosition<this.boundsMax,r=this.position.localUnclamped<=this.boundsMin||this.position.localUnclamped>=this.boundsMax;if(i&&r)return this.performTimelineDispatch(),this.requestDOMChange(),void(this.position.lastPosition=this.position.localUnclamped);const n=this.position.lastPosition<this.boundsMin&&this.position.localUnclamped>this.boundsMax,a=this.position.lastPosition>this.boundsMax&&this.position.localUnclamped<this.boundsMax;(n||a)&&(this.performTimelineDispatch(),this.requestDOMChange(),this.position.lastPosition=this.position.localUnclamped),null!==this.gui&&this.gui.onScrollUpdate(this.position)}_onScroll(t){this.updateTimeline(t)}convertScrollPositionToTValue(t){return this.hasDuration()?r.map(t,this.viewableRange.a,this.viewableRange.d,0,1):0}convertTValueToScrollPosition(t){return this.hasDuration()?r.map(t,0,1,this.viewableRange.a,this.viewableRange.d):0}hasDuration(){return this.viewableRange.a!==this.viewableRange.d}getPosition(){return a.pageMetrics.scrollY}getControllerForTarget(t){if(!t._animInfo||!t._animInfo.controllers)return null;if(t._animInfo.controller&&t._animInfo.controller.group===this)return t._animInfo.controller;const e=t._animInfo.controllers;for(let t=0,s=e.length;t<s;t++)if(e[t].group===this)return e[t];return null}trigger(t,e){if(void 0!==this._events[t])for(let s=this._events[t].length-1;s>=0;s--)void 0!==e?this._events[t][s](e):this._events[t][s]()}set keyframesDirty(t){this._keyframesDirty=t,this._keyframesDirty&&this.requestDOMChange()}get keyframesDirty(){return this._keyframesDirty}}},16:function(t,e,s){"use strict";var i=s(8);t.exports=i.requestAnimationFrame("update")},17:function(t,e,s){"use strict";var i=s(8);t.exports=i.requestAnimationFrame("draw")},19:function(t,e,s){"use strict";const i=s(20),r=s(21);t.exports={PictureLazyLoading:i,PictureHead:r}},2:function(t,e,s){"use strict";t.exports={PICTURE_DATA_DOWNLOAD_AREA_KEYFRAME:"data-download-area-keyframe",PICTURE_DATA_LAZY:"data-lazy",PICTURE_DATA_EMPTY_SOURCE:"data-empty",PICTURE_DATA_LOADED:"data-picture-loaded",PICTURE_CLASS_LOADED:"loaded"}},20:function(t,e,s){"use strict";const i=s(2).PICTURE_DATA_LAZY,r=s(2).PICTURE_DATA_EMPTY_SOURCE,n=s(2).PICTURE_DATA_DOWNLOAD_AREA_KEYFRAME;t.exports=class{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t,this._init()}_init(){this._pictures=Array.from(document.querySelectorAll(`*[${i}]`)),this.AnimSystem=this._findAnim(),null!==this.AnimSystem&&(this._injectSources(),this._addKeyframesToImages(),this._addMethodsToPictures())}_addMethodsToPictures(){this._pictures.forEach((t=>{t.forceLoad=()=>{this._downloadImage(t)}}))}_injectSources(){this._pictures.forEach((t=>{const e=t.nextElementSibling;if(e&&"NOSCRIPT"===e.nodeName){const s=t.querySelector("img"),i=e.textContent.match(/<source .+ \/>/g);i&&s.insertAdjacentHTML("beforebegin",i.join(""))}}))}_defineKeyframeOptions(t){const e=t.getAttribute(n)||"{}";return Object.assign({},{start:"t - 200vh",end:"b + 100vh",event:"PictureLazyLoading"},JSON.parse(e))}_addKeyframesToImages(){this._pictures.forEach((t=>{t.__scrollGroup=this.AnimSystem.getGroupForTarget(document.body),this.AnimSystem.getGroupForTarget(t)&&(t.__scrollGroup=this.AnimSystem.getGroupForTarget(t));let e=this._defineKeyframeOptions(t);t.__scrollGroup.addKeyframe(t,e).controller.once("PictureLazyLoading:enter",(()=>{this._imageIsInLoadRange(t)}))}))}_imageIsInLoadRange(t){t.querySelector("img")&&this._downloadImage(t)}_downloadImage(t){const e=t.querySelector(`[${r}]`);e&&t.removeChild(e)}_findAnim(){var t=Array.from(document.querySelectorAll("[data-anim-group],[data-anim-scroll-group],[data-anim-time-group]"));return t.map((t=>t._animInfo?t._animInfo.group:null)).filter((t=>null!==t)),t[0]&&t[0]._animInfo?t[0]._animInfo.group.anim:(console.error("PictureLazyLoading: AnimSystem not found, please initialize anim before instantiating"),null)}}},21:function(t,e,s){"use strict";const i=s(2).PICTURE_CLASS_LOADED,r=s(2).PICTURE_DATA_LOADED,n=s(2).PICTURE_DATA_EMPTY_SOURCE;t.exports=(window.__pictureElementInstancesLoaded=new Map,void(window.__lp=function(t){const e=t.target.parentElement;e.querySelector(`[${n}]`)?t.stopImmediatePropagation():(e.classList.add(`${i}`),e.setAttribute(`${r}`,""),window.__pictureElementInstancesLoaded.set(e.id,e),t.target.onload=null)}))},22:function(t,e,s){"use strict";function i(){this._events={}}let r=i.prototype;r.on=function(t,e){return this._events[t]=this._events[t]||[],this._events[t].unshift(e),e},r.once=function(t,e){let s=this;return this.on(t,(function i(r){s.off(t,i),void 0!==r?e(r):e()}))},r.off=function(t,e){if(!this.has(t))return;if(1===arguments.length)return this._events[t]=null,void delete this._events[t];let s=this._events[t].indexOf(e);-1!==s&&this._events[t].splice(s,1)},r.trigger=function(t,e){if(this.has(t))for(let s=this._events[t].length-1;s>=0;s--)void 0!==e?this._events[t][s](e):this._events[t][s]()},r.has=function(t){return t in this._events!=!1&&0!==this._events[t].length},r.destroy=function(){for(let t in this._events)this._events[t]=null;this._events=null},t.exports=i},23:function(t,e,s){"use strict";t.exports=class{}},24:function(t,e,s){"use strict";const i=s(3);t.exports=class extends i{constructor(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:void 0;super(t,e,s),this.key=i,this.round=r,this.suffix=n}set(t){let e=this.current;this.round&&(e=Math.round(e)),this.suffix&&(e+=this.suffix),t[this.key]=e}}},248:function(t,e,s){t.exports=s(249)},249:function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.specs=void 0;const i=s(39),r=(s(1),s(19).PictureLazyLoading),n=s(72);const a=new class{constructor(){this._initialize()}_initialize(){i.initialize(),new r,n.detect()}};e.specs=a},25:function(t,e,s){"use strict";t.exports=()=>Math.random().toString(16).slice(-4)},26:function(t,e,s){"use strict";const i=s(6),r=s(1),n=s(3);class a extends i{constructor(t,e){super(t,e),this.keyframeType=r.KeyframeTypes.Event,this.isApplied=!1,this.hasDuration=!1,this.isCurrentlyInRange=!1}parseOptions(t){t.x=void 0,t.y=void 0,t.scale=void 0,t.scaleX=void 0,t.scaleY=void 0,t.rotation=void 0,t.style=void 0,t.cssClass=void 0,t.rotation=void 0,t.opacity=void 0,t.hold=void 0,this.event=t.event,this.animValues[this.event]=[0,0],void 0===this.controller.tweenProps[this.event]&&(this.controller.tweenProps[this.event]=new n(0,1,!1)),super.parseOptions(t),this.keyframeType=r.KeyframeTypes.Event}updateLocalProgress(t){if(this.hasDuration){let e=this.isCurrentlyInRange,s=t>=this.start&&t<=this.end;if(e===s)return;return this.isCurrentlyInRange=s,void(s&&!e?this._trigger(this.event+":enter"):e&&!s&&this._trigger(this.event+":exit"))}!this.isApplied&&t>=this.start?(this.isApplied=!0,this._trigger(this.event)):this.isApplied&&t<this.start&&(this.isApplied=!1,this._trigger(this.event+":reverse"))}_trigger(t){this.controller.eventObject.event=t,this.controller.eventObject.keyframe=this,this.controller.trigger(t,this.controller.eventObject)}evaluateConstraints(){super.evaluateConstraints(),this.hasDuration=this.start!==this.end}reset(t){this.isApplied=!1,this.isCurrentlyInRange=!1,super.reset(t)}onDOMRead(t){}reconcile(t){}evaluateInterpolationConstraints(){}}a.DATA_ATTRIBUTE="data-anim-event",t.exports=a},27:function(t,e,s){"use strict";const i=s(23);t.exports=class{constructor(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.isGroup=s,this.group=t,this.controller=e,this.controllers=[],this.tweenProps=new i}}},28:function(t,e,s){"use strict";const i=s(1),r=(t,e)=>null==t?e:t;class n{constructor(t){this.top=0,this.bottom=0,this.left=0,this.right=0,this.height=0,this.width=0}toString(){return`top:${this.top}, bottom:${this.bottom}, left:${this.left}, right:${this.right}, height:${this.height}, width:${this.width}`}toObject(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right,height:this.height,width:this.width}}}t.exports=class{constructor(){this.clear()}clear(){this._metrics=new WeakMap}destroy(){this._metrics=null}add(t){let e=this._metrics.get(t);if(e)return e;let s=new n(t);return this._metrics.set(t,s),this._refreshMetrics(t,s)}get(t){return this._metrics.get(t)}refreshCollection(t){t.forEach((t=>this._refreshMetrics(t,null)))}refreshMetrics(t){return this._refreshMetrics(t)}_refreshMetrics(t,e){if(e=e||this._metrics.get(t),!(t instanceof Element))return e.width=r(t.width,0),e.height=r(t.height,0),e.top=r(t.top,r(t.y,0)),e.left=r(t.left,r(t.x,0)),e.right=e.left+e.width,e.bottom=e.top+e.height,e;if(void 0===t.offsetWidth){let s=t.getBoundingClientRect();return e.width=s.width,e.height=s.height,e.top=i.pageMetrics.scrollY+s.top,e.left=i.pageMetrics.scrollX+s.left,e.right=e.left+e.width,e.bottom=e.top+e.height,e}e.width=t.offsetWidth,e.height=t.offsetHeight,e.top=i.pageMetrics.documentOffsetY,e.left=i.pageMetrics.documentOffsetX;let s=t;for(;s;)e.top+=s.offsetTop,e.left+=s.offsetLeft,s=s.offsetParent;return e.right=e.left+e.width,e.bottom=e.top+e.height,e}}},29:function(t,e,s){"use strict";t.exports={SharedInstance:s(60)}},3:function(t,e,s){"use strict";t.exports=class{constructor(t,e,s){this.epsilon=parseFloat(e),this.snapAtCreation=s,this.initialValue=t,this.target=t,this.current=t,this.previousValue=t,this.isActive=!1}}},30:function(t,e,s){"use strict";t.exports={majorVersionNumber:"3.x"}},31:function(t,e,s){"use strict";var i=s(8);t.exports=i.requestAnimationFrame("external")},32:function(t,e,s){"use strict";const i=s(1);class r{constructor(t,e){this._index=0,this.keyframe=t,e&&(this.name=e)}get start(){return this.keyframe.jsonProps.start}set index(t){this._index=t}get index(){return this._index}}t.exports=class{constructor(t){this.timeGroup=t,this.chapters=[],this.chapterNames={},this.currentChapter=null,this.clip=null}addChapter(t){const{position:e,name:s}=t;if(void 0===e)throw ReferenceError("Cannot add chapter without target position.");t._impIsFirst||0!==this.chapters.length||this.addChapter({position:0,_impIsFirst:!0});let i=this.timeGroup.addKeyframe(this,{start:e,end:e,event:"Chapter"});this.timeGroup.forceUpdate({waitForNextFrame:!1,silent:!0});const n=new r(i,s);if(this.chapters.push(n),s){if(this.chapterNames.hasOwnProperty(s))throw ReferenceError(`Duplicate chapter name assigned - "${s}" is already in use`);this.chapterNames[s]=n}return this.chapters.sort(((t,e)=>t.start-e.start)).forEach(((t,e)=>t.index=e)),this.currentChapter=this.currentChapter||this.chapters[0],n}playToChapter(t){let e;if(t.hasOwnProperty("index"))e=this.chapters[t.index];else{if(!t.hasOwnProperty("name"))throw ReferenceError("Cannot play to chapter without target index or name");e=this.chapterNames[t.name]}if(!e||this.currentChapter===e&&!0!==t.force)return;let s=t.ease||"easeInOutCubic";this.clip&&(this.clip.destroy(),s="easeOutQuint"),this.timeGroup.timeScale(t.timeScale||1);const r=void 0!==t.duration?t.duration:this.getDurationToChapter(e),n=this.timeGroup.time(),a=e.start;let o=!1;this.tween=this.timeGroup.anim.addTween({time:n},{easeFunction:s,duration:r,time:[n,a],onStart:()=>this.timeGroup.trigger(i.EVENTS.ON_CHAPTER_INITIATED,{player:this,next:e}),onDraw:t=>{let s=t.tweenProps.time.current;this.timeGroup.time(s),t.keyframe.curvedT>.5&&!o&&(o=!0,this.currentIndex=e.index,this.currentChapter=e,this.timeGroup.trigger(i.EVENTS.ON_CHAPTER_OCCURRED,{player:this,current:e}))},onComplete:()=>{this.timeGroup.trigger(i.EVENTS.ON_CHAPTER_COMPLETED,{player:this,current:e}),this.timeGroup.paused(!0),this.clip=null}})}getDurationToChapter(t){const e=this.chapters[t.index-1]||this.chapters[t.index+1];return Math.abs(e.start-t.start)}}},39:function(t,e,s){"use strict";const i=s(7).EventEmitterMicro,r=s(1),n=s(6),a=s(14),o=s(26),h=s(15),l=s(68),c=s(69),u=s(70),m={};"undefined"!=typeof window&&(m.update=s(16),m.cancelUpdate=s(71),m.external=s(31),m.draw=s(17));let p=null;class d extends i{constructor(){if(super(),p)throw"You cannot create multiple AnimSystems. You probably want to create multiple groups instead. You can have unlimited groups on a page";p=this,this.groups=[],this.scrollSystems=[],this.timeSystems=[],this.tweenGroup=null,this._forceUpdateRAFId=-1,this.initialized=!1,this.model=r,this.version=u.version,this._resolveReady=()=>{},this.ready=new Promise((t=>this._resolveReady=t)),this.onScroll=this.onScroll.bind(this),this.onResizedDebounced=this.onResizedDebounced.bind(this),this.onResizeImmediate=this.onResizeImmediate.bind(this)}initialize(){return this.initialized||"undefined"==typeof window||(this.initialized=!0,this.timeSystems=[],this.scrollSystems=[],this.groups=[],this.setupEvents(),this.initializeResizeFilter(),this.initializeModel(),this.createDOMGroups(),this.createDOMKeyframes(),this.tweenGroup=new c(null,this),this.groups.push(this.tweenGroup),this._resolveReady()),this.ready}remove(){return this.initialized?Promise.all(this.groups.map((t=>t.remove()))).then((()=>{this.groups=null,this.scrollSystems=null,this.timeSystems=null,window.clearTimeout(r.RESIZE_TIMEOUT),window.removeEventListener("scroll",this.onScroll),window.removeEventListener("resize",this.onResizeImmediate),this._events={},this.initialized=!1,this.ready=new Promise((t=>this._resolveReady=t))})):(this.ready=new Promise((t=>this._resolveReady=t)),Promise.resolve())}destroy(){return this.remove()}createTimeGroup(t){let e=new l(t,this);return this.groups.push(e),this.timeSystems.push(e),this.trigger(r.EVENTS.ON_GROUP_CREATED,e),e}createScrollGroup(t){if(!t)throw"AnimSystem scroll based groups must supply an HTMLElement";let e=new h(t,this);return this.groups.push(e),this.scrollSystems.push(e),this.trigger(r.EVENTS.ON_GROUP_CREATED,e),e}removeGroup(t){return Promise.all(t.keyframeControllers.map((e=>t.removeKeyframeController(e)))).then((()=>{let e=this.groups.indexOf(t);-1!==e&&this.groups.splice(e,1),e=this.scrollSystems.indexOf(t),-1!==e&&this.scrollSystems.splice(e,1),e=this.timeSystems.indexOf(t),-1!==e&&this.timeSystems.splice(e,1),t.destroy()}))}createDOMGroups(){document.body.setAttribute("data-anim-scroll-group","body"),document.querySelectorAll("[data-anim-scroll-group]").forEach((t=>this.createScrollGroup(t))),document.querySelectorAll("[data-anim-time-group]").forEach((t=>this.createTimeGroup(t))),this.trigger(r.EVENTS.ON_DOM_GROUPS_CREATED,this.groups)}createDOMKeyframes(){let t=[];["data-anim-keyframe",n.DATA_ATTRIBUTE,a.DATA_ATTRIBUTE,o.DATA_ATTRIBUTE].forEach((function(e){for(let s=0;s<12;s++)t.push(e+(0===s?"":"-"+(s-1)))}));for(let e=0;e<t.length;e++){let s=t[e],i=document.querySelectorAll("["+s+"]");for(let t=0;t<i.length;t++){const e=i[t],r=JSON.parse(e.getAttribute(s));this.addKeyframe(e,r)}}m.update((()=>{null!==this.groups&&(this.groups.forEach((t=>t.onKeyframesDirty({silent:!0}))),this.groups.forEach((t=>t.trigger(r.EVENTS.ON_DOM_KEYFRAMES_CREATED,t))),this.trigger(r.EVENTS.ON_DOM_KEYFRAMES_CREATED,this),this.groups.forEach((t=>{t.forceUpdate({waitForNextUpdate:!1,silent:!0}),t.reconcile()})),this.onScroll())}),!0)}initializeResizeFilter(){if(r.cssDimensionsTracker)return;const t=document.querySelector(".cssDimensionsTracker")||document.createElement("div");t.setAttribute("cssDimensionsTracker","true"),t.style.position="fixed",t.style.top="0",t.style.width="100%",t.style.height="100vh",t.style.pointerEvents="none",t.style.visibility="hidden",t.style.zIndex="-1",document.documentElement.appendChild(t),r.cssDimensionsTracker=t}initializeModel(){r.pageMetrics.windowHeight=r.cssDimensionsTracker.clientHeight,r.pageMetrics.windowWidth=r.cssDimensionsTracker.clientWidth,r.pageMetrics.scrollY=window.scrollY||window.pageYOffset,r.pageMetrics.scrollX=window.scrollX||window.pageXOffset,r.pageMetrics.breakpoint=r.getBreakpoint();let t=document.documentElement.getBoundingClientRect();r.pageMetrics.documentOffsetX=t.left+r.pageMetrics.scrollX,r.pageMetrics.documentOffsetY=t.top+r.pageMetrics.scrollY}setupEvents(){window.removeEventListener("scroll",this.onScroll),window.addEventListener("scroll",this.onScroll),window.removeEventListener("resize",this.onResizeImmediate),window.addEventListener("resize",this.onResizeImmediate)}onScroll(){r.pageMetrics.scrollY=window.scrollY||window.pageYOffset,r.pageMetrics.scrollX=window.scrollX||window.pageXOffset;for(let t=0,e=this.scrollSystems.length;t<e;t++)this.scrollSystems[t].updateTimeline();this.trigger(r.PageEvents.ON_SCROLL,r.pageMetrics)}onResizeImmediate(){let t=r.cssDimensionsTracker.clientWidth,e=r.cssDimensionsTracker.clientHeight;if(t===r.pageMetrics.windowWidth&&e===r.pageMetrics.windowHeight)return;r.pageMetrics.windowWidth=t,r.pageMetrics.windowHeight=e,r.pageMetrics.scrollY=window.scrollY||window.pageYOffset,r.pageMetrics.scrollX=window.scrollX||window.pageXOffset;let s=document.documentElement.getBoundingClientRect();r.pageMetrics.documentOffsetX=s.left+r.pageMetrics.scrollX,r.pageMetrics.documentOffsetY=s.top+r.pageMetrics.scrollY,window.clearTimeout(r.RESIZE_TIMEOUT),r.RESIZE_TIMEOUT=window.setTimeout(this.onResizedDebounced,250),this.trigger(r.PageEvents.ON_RESIZE_IMMEDIATE,r.pageMetrics)}onResizedDebounced(){m.update((()=>{let t=r.pageMetrics.breakpoint,e=r.getBreakpoint();if(e!==t){r.pageMetrics.previousBreakpoint=t,r.pageMetrics.breakpoint=e;for(let t=0,e=this.groups.length;t<e;t++)this.groups[t]._onBreakpointChange();this.trigger(r.PageEvents.ON_BREAKPOINT_CHANGE,r.pageMetrics)}for(let t=0,e=this.groups.length;t<e;t++)this.groups[t].forceUpdate({waitForNextUpdate:!1});this.trigger(r.PageEvents.ON_RESIZE_DEBOUNCED,r.pageMetrics)}),!0)}forceUpdate(){let{waitForNextUpdate:t=!0,silent:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};-1!==this._forceUpdateRAFId&&m.cancelUpdate(this._forceUpdateRAFId);let s=()=>{for(let t=0,s=this.groups.length;t<s;t++){this.groups[t].forceUpdate({waitForNextUpdate:!1,silent:e})}return-1};this._forceUpdateRAFId=t?m.update(s,!0):s()}addKeyframe(t,e){let s=this.getGroupForTarget(t);return s=s||this.getGroupForTarget(document.body),s.addKeyframe(t,e)}addEvent(t,e){let s=this.getGroupForTarget(t);return s=s||this.getGroupForTarget(document.body),s.addEvent(t,e)}getTimeGroupForTarget(t){return this._getGroupForTarget(t,(t=>t instanceof l))}getScrollGroupForTarget(t){return this._getGroupForTarget(t,(t=>!(t instanceof l)))}getGroupForTarget(t){return this._getGroupForTarget(t,(()=>!0))}_getGroupForTarget(t,e){if(t._animInfo&&t._animInfo.group&&e(t._animInfo.group))return t._animInfo.group;let s=t;for(;s;){if(s._animInfo&&s._animInfo.isGroup&&e(s._animInfo.group))return s._animInfo.group;s=s.parentElement}}getControllerForTarget(t){return t._animInfo&&t._animInfo.controller?t._animInfo.controller:null}addTween(t,e){return this.tweenGroup.addKeyframe(t,e)}}t.exports="undefined"==typeof window?new d:window.AC.SharedInstance.share("AnimSystem",u.major,d),t.exports.default=t.exports},4:function(t,e,s){"use strict";t.exports={lerp:function(t,e,s){return e+(s-e)*t},map:function(t,e,s,i,r){return i+(r-i)*(t-e)/(s-e)},mapClamp:function(t,e,s,i,r){var n=i+(r-i)*(t-e)/(s-e);return Math.max(i,Math.min(r,n))},norm:function(t,e,s){return(t-e)/(s-e)},clamp:function(t,e,s){return Math.max(e,Math.min(s,t))},randFloat:function(t,e){return Math.random()*(e-t)+t},randInt:function(t,e){return Math.floor(Math.random()*(e-t)+t)}}},40:function(t,e,s){"use strict";t.exports=new class{constructor(){this.linear=function(t){return t},this.easeInQuad=function(t){return t*t},this.easeOutQuad=function(t){return t*(2-t)},this.easeInOutQuad=function(t){return t<.5?2*t*t:(4-2*t)*t-1},this.easeInSin=function(t){return 1+Math.sin(Math.PI/2*t-Math.PI/2)},this.easeOutSin=function(t){return Math.sin(Math.PI/2*t)},this.easeInOutSin=function(t){return(1+Math.sin(Math.PI*t-Math.PI/2))/2},this.easeInElastic=function(t){return 0===t?t:(.04-.04/t)*Math.sin(25*t)+1},this.easeOutElastic=function(t){return.04*t/--t*Math.sin(25*t)},this.easeInOutElastic=function(t){return(t-=.5)<0?(.02+.01/t)*Math.sin(50*t):(.02-.01/t)*Math.sin(50*t)+1},this.easeOutBack=function(t){return(t-=1)*t*(2.70158*t+1.70158)+1},this.easeInCubic=function(t){return t*t*t},this.easeOutCubic=function(t){return--t*t*t+1},this.easeInOutCubic=function(t){return t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},this.easeInQuart=function(t){return t*t*t*t},this.easeOutQuart=function(t){return 1- --t*t*t*t},this.easeInOutQuart=function(t){return t<.5?8*t*t*t*t:1-8*--t*t*t*t},this.easeInQuint=function(t){return t*t*t*t*t},this.easeOutQuint=function(t){return 1+--t*t*t*t*t},this.easeInOutQuint=function(t){return t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}}}},46:function(t,e,s){"use strict";const i=1e-5,r=Math.abs;class n{constructor(t,e,s,i){this.cp=new Float32Array(6),this.cp[0]=3*t,this.cp[1]=3*(s-t)-this.cp[0],this.cp[2]=1-this.cp[0]-this.cp[1],this.cp[3]=3*e,this.cp[4]=3*(i-e)-this.cp[3],this.cp[5]=1-this.cp[3]-this.cp[4]}sampleCurveX(t){return((this.cp[2]*t+this.cp[1])*t+this.cp[0])*t}sampleCurveY(t){return((this.cp[5]*t+this.cp[4])*t+this.cp[3])*t}sampleCurveDerivativeX(t){return(3*this.cp[2]*t+2*this.cp[1])*t+this.cp[0]}solveCurveX(t){var e,s,n,a,o,h;for(n=t,h=0;h<5;h++){if(a=this.sampleCurveX(n)-t,r(a)<i)return n;if(o=this.sampleCurveDerivativeX(n),r(o)<i)break;n-=a/o}if((n=t)<(e=0))return e;if(n>(s=1))return s;for(;e<s;){if(a=this.sampleCurveX(n),r(a-t)<i)return n;t>a?e=n:s=n,n=.5*(s-e)+e}return n}solve(t){return this.sampleCurveY(this.solveCurveX(t))}}const a=/\d*\.?\d+/g;n.fromCSSString=function(t){let e=t.match(a);if(4!==e.length)throw`UnitBezier could not convert ${t} to cubic-bezier`;let s=e.map(Number),i=new n(s[0],s[1],s[2],s[3]);return i.solve.bind(i)},t.exports=n},47:function(t,e,s){"use strict";const{map:i}=s(4),r={};class n{constructor(t,e,s,i){this.mass=t,this.stiffness=e,this.damping=s,this.initialVelocity=i,this.m_w0=Math.sqrt(this.stiffness/this.mass),this.m_zeta=this.damping/(2*Math.sqrt(this.stiffness*this.mass)),this.m_zeta<1?(this.m_wd=this.m_w0*Math.sqrt(1-this.m_zeta*this.m_zeta),this.m_A=1,this.m_B=(this.m_zeta*this.m_w0-this.initialVelocity)/this.m_wd):(this.m_wd=0,this.m_A=1,this.m_B=-this.initialVelocity+this.m_w0)}solve(t){return 1-(t=this.m_zeta<1?Math.exp(-t*this.m_zeta*this.m_w0)*(this.m_A*Math.cos(this.m_wd*t)+this.m_B*Math.sin(this.m_wd*t)):(this.m_A+this.m_B*t)*Math.exp(-t*this.m_w0))}}const a=/\d*\.?\d+/g;n.fromCSSString=function(t){let e=t.match(a);if(4!==e.length)throw`SpringEasing could not convert ${cssString} to spring params`;let s=e.map(Number),o=new n(...s);const h=o.solve.bind(o);let l=0;let c=function(){if(r[t])return r[t];const e=1/6;let s,i=0;for(;;){l+=e;if(1===h(l)){if(i++,i>=16){s=l*e;break}}else i=0}return r[t]=s,r[t]}();return function(t){return 0===t||1===t?t:h(i(t,0,1,0,c))}},t.exports=n},48:function(t,e,s){"use strict";t.exports=function(t,e){if("string"!=typeof t)return t;try{return(e||document).querySelector(t)||document.querySelector(t)}catch(t){return!1}}},49:function(t,e,s){"use strict";t.exports=class{constructor(){this.local=0,this.localUnclamped=0,this.lastPosition=0}}},50:function(t,e,s){"use strict";t.exports=class{constructor(t,e){this.a=t.top-e,this.a<0&&(this.a=t.top),this.b=t.top,this.d=t.bottom,this.c=Math.max(this.d-e,this.b)}}},51:function(t,e,s){"use strict";const i=s(52),r=new(s(28));class n{constructor(t){this.group=t,this.data={target:null,anchors:null,metrics:this.group.metrics}}parseArray(t,e){return[this.parseExpression(t,e[0]),this.parseExpression(t,e[1])]}parseExpression(t,e){if(!e)return null;if("number"==typeof e)return e;if("string"!=typeof e)throw`Expression must be a string, received ${typeof e}: ${e}`;return this.data.target=t.controller.element,this.data.anchors=t.anchors,this.data.keyframe=t.keyframe,n._parse(e,this.data)}parseTimeValue(t,e){if("number"==typeof e)return e;let s=this.group.expressionParser.parseExpression(t,e);return this.group.convertScrollPositionToTValue(s)}destroy(){this.group=null}static parse(t,e){return(e=e||{})&&(r.clear(),e.target&&r.add(e.target),e.anchors&&e.anchors.forEach((t=>r.add(t)))),e.metrics=r,n._parse(t,e)}static _parse(t,e){return i.Parse(t).execute(e)}}n.programs=i.programs,"undefined"!=typeof window&&(window.ExpressionParser=n),t.exports=n},52:function(t,e,s){"use strict";const i=s(1),r=s(4),n={},a={smoothstep:(t,e,s)=>(s=a.clamp((s-t)/(e-t),0,1))*s*(3-2*s),deg:t=>180*t/Math.PI,rad:t=>t*Math.PI/180,random:(t,e)=>Math.random()*(e-t)+t,atan:Math.atan2};Object.getOwnPropertyNames(Math).forEach((t=>a[t]?null:a[t.toLowerCase()]=Math[t])),Object.getOwnPropertyNames(r).forEach((t=>a[t]?null:a[t.toLowerCase()]=r[t]));let o=null;const h="a",l="ALPHA",c="(",u=")",m="PLUS",p="MINUS",d="MUL",f="DIV",_="INTEGER_CONST",g="FLOAT_CONST",y=",",b="EOF",v={NUMBERS:/\d|\d\.\d/,DIGIT:/\d/,OPERATOR:/[-+*/]/,PAREN:/[()]/,WHITE_SPACE:/\s/,ALPHA:/[a-zA-Z]|%/,ALPHANUMERIC:/[a-zA-Z0-9]/,OBJECT_UNIT:/^(t|l|b|r|%w|%h|%|h|w)$/,GLOBAL_METRICS_UNIT:/^(px|vh|vw)$/,ANY_UNIT:/^(t|l|b|r|%w|%h|%|h|w|px|vh|vw)$/,MATH_FUNCTION:new RegExp(`\\b(${Object.keys(a).join("|")})\\b`,"i")},E=function(t,e,s){let i=e.slice(Math.max(s,0),Math.min(e.length,s+3)),r=new Error(`Expression Error. ${t} in expression "${e}", near "${i}"`);throw console.error(r.message,o?o.keyframe||o.target:""),r},w={round:1,clamp:3,lerp:3,random:2,atan:2,floor:1,ceil:1,abs:1,cos:1,sin:1,smoothstep:3,rad:1,deg:1,pow:2,calc:1};class x{constructor(t,e){this.type=t,this.value=e}}x.ONE=new x("100",100),x.EOF=new x(b,null);class T{constructor(t){this.type=t}}class A extends T{constructor(t,e){super("UnaryOp"),this.token=this.op=t,this.expr=e}}class I extends T{constructor(t,e,s){super("BinOp"),this.left=t,this.op=e,this.right=s}}class P extends T{constructor(t,e){if(super("MathOp"),this.op=t,this.list=e,w[t.value]&&e.length!==w[t.value])throw new Error(`Incorrect number of arguments for '${t.value}'. Received ${e.length}, expected ${w[t.value]}`)}}class C extends T{constructor(t){super("Num"),this.token=t,this.value=t.value}}class S extends T{constructor(t,e,s){super("RefValue"),this.num=t,this.ref=e,this.unit=s}}class M extends T{constructor(t,e){super("CSSValue"),this.ref=t,this.propertyName=e}}class O extends T{constructor(t,e){super("PropValue"),this.ref=t,this.propertyName=e}}class R{constructor(t){let e;for(this.text=t,this.pos=0,this.char=this.text[this.pos],this.tokens=[];(e=this.getNextToken())&&e!==x.EOF;)this.tokens.push(e);this.tokens.push(e)}advance(){this.char=this.text[++this.pos]}skipWhiteSpace(){for(;null!=this.char&&v.WHITE_SPACE.test(this.char);)this.advance()}name(){let t="";for(;null!=this.char&&v.ALPHA.test(this.char);)t+=this.char,this.advance();return new x(l,t)}number(){let t="";for("."===this.char&&(t+=this.char,this.advance());null!=this.char&&v.DIGIT.test(this.char);)t+=this.char,this.advance();if(null!=this.char&&"."===this.char)for(t.includes(".")&&E("Number appears to contain 2 decimal points",this.text,this.pos),t+=this.char,this.advance();null!=this.char&&v.DIGIT.test(this.char);)t+=this.char,this.advance();return"."===t&&E("Attempted to parse a number, but found only a decimal point",this.text,this.pos),t.includes(".")?new x(g,parseFloat(t)):new x(_,parseInt(t))}getNextToken(){for(;null!=this.char;)if(v.WHITE_SPACE.test(this.char))this.skipWhiteSpace();else{if("."===this.char||v.DIGIT.test(this.char))return this.number();if(","===this.char)return this.advance(),new x(y,",");if(v.OPERATOR.test(this.char)){let t="",e=this.char;switch(e){case"+":t=m;break;case"-":t=p;break;case"*":t=d;break;case"/":t=f}return this.advance(),new x(t,e)}if(v.PAREN.test(this.char)){let t="",e=this.char;switch(e){case"(":t=c;break;case")":t=u}return this.advance(),new x(t,e)}if(v.ALPHA.test(this.char))return this.name();E(`Unexpected character "${this.char}"`,this.text,this.pos)}return x.EOF}}class k{constructor(t){this.lexer=t,this.pos=0}get currentToken(){return this.lexer.tokens[this.pos]}error(t){E(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",this.lexer.text,this.pos)}consume(t){let e=this.currentToken;return e.type===t?this.pos+=1:this.error(`Invalid token ${this.currentToken.value}, expected ${t}`),e}consumeList(t){t.includes(this.currentToken)?this.pos+=1:this.error(`Invalid token ${this.currentToken.value}, expected ${tokenType}`)}expr(){let t=this.term();for(;this.currentToken.type===m||this.currentToken.type===p;){const e=this.currentToken;switch(e.value){case"+":this.consume(m);break;case"-":this.consume(p)}t=new I(t,e,this.term())}return t}term(){let t=this.factor();for(;this.currentToken.type===d||this.currentToken.type===f;){const e=this.currentToken;switch(e.value){case"*":this.consume(d);break;case"/":this.consume(f)}t=new I(t,e,this.factor())}return t}factor(){if(this.currentToken.type===m)return new A(this.consume(m),this.factor());if(this.currentToken.type===p)return new A(this.consume(p),this.factor());if(this.currentToken.type===_||this.currentToken.type===g){let t=new C(this.currentToken);if(this.pos+=1,v.OPERATOR.test(this.currentToken.value)||this.currentToken.type===u||this.currentToken.type===y||this.currentToken.type===b)return t;if(this.currentToken.type===l&&this.currentToken.value===h)return this.consume(l),new S(t,this.anchorIndex(),this.unit(v.ANY_UNIT));if(this.currentToken.type===l)return"%a"===this.currentToken.value&&this.error("%a is invalid, try removing the %"),new S(t,null,this.unit());this.error("Expected a scaling unit type","Such as 'h' / 'w'")}else{if(v.OBJECT_UNIT.test(this.currentToken.value))return new S(new C(x.ONE),null,this.unit());if(this.currentToken.value===h){this.consume(l);const t=this.anchorIndex();if(v.OBJECT_UNIT.test(this.currentToken.value))return new S(new C(x.ONE),t,this.unit())}else if(this.currentToken.type===l){if("calc"===this.currentToken.value)return this.consume(l),this.expr();if("css"===this.currentToken.value||"var"===this.currentToken.value||"prop"===this.currentToken.value){const t="prop"!==this.currentToken.value?M:O;this.consume(l),this.consume(c);const e=this.propertyName();let s=null;return this.currentToken.type===y&&(this.consume(y),this.consume(l),s=this.anchorIndex()),this.consume(u),new t(s,e)}if(v.MATH_FUNCTION.test(this.currentToken.value)){const t=this.currentToken.value.toLowerCase();if("number"==typeof a[t])return this.consume(l),new C(new x(l,a[t]));const e=x[t]||new x(t,t),s=[];this.consume(l),this.consume(c);let i=null;do{this.currentToken.value===y&&this.consume(y),i=this.expr(),s.push(i)}while(this.currentToken.value===y);return this.consume(u),new P(e,s)}}else if(this.currentToken.type===c){this.consume(c);let t=this.expr();return this.consume(u),t}}this.error(`Unexpected token ${this.currentToken.value}`)}propertyName(){let t="";for(;this.currentToken.type===l||this.currentToken.type===p;)t+=this.currentToken.value,this.pos+=1;return t}unit(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v.ANY_UNIT;const e=this.currentToken;if(e.type===l&&t.test(e.value))return this.consume(l),new x(l,e.value=e.value.replace(/%(h|w)/,"$1").replace("%","h"));this.error("Expected unit type")}anchorIndex(){const t=this.currentToken;if(t.type===_)return this.consume(_),new C(t);this.error("Invalid anchor reference",". Should be something like a0, a1, a2")}parse(){const t=this.expr();return this.currentToken!==x.EOF&&this.error(`Unexpected token ${this.currentToken.value}`),t}}class F{constructor(t){this.parser=t,this.root=t.parse()}visit(t){let e=this[t.type];if(!e)throw new Error(`No visit method named, ${e}`);return e.call(this,t)}BinOp(t){switch(t.op.type){case m:return this.visit(t.left)+this.visit(t.right);case p:return this.visit(t.left)-this.visit(t.right);case d:return this.visit(t.left)*this.visit(t.right);case f:return this.visit(t.left)/this.visit(t.right)}}RefValue(t){let e=this.unwrapReference(t),s=t.unit.value,r=t.num.value;const n=o.metrics.get(e);switch(s){case"h":return.01*r*n.height;case"t":return.01*r*n.top;case"vh":return.01*r*i.pageMetrics.windowHeight;case"vw":return.01*r*i.pageMetrics.windowWidth;case"px":return r;case"w":return.01*r*n.width;case"b":return.01*r*n.bottom;case"l":return.01*r*n.left;case"r":return.01*r*n.right}}PropValue(t){return(null===t.ref?o.target:o.anchors[t.ref.value])[t.propertyName]}CSSValue(t){let e=this.unwrapReference(t);const s=getComputedStyle(e).getPropertyValue(t.propertyName);return""===s?0:F.Parse(s).execute(o)}Num(t){return t.value}UnaryOp(t){return t.op.type===m?+this.visit(t.expr):t.op.type===p?-this.visit(t.expr):void 0}MathOp(t){let e=t.list.map((t=>this.visit(t)));return a[t.op.value].apply(null,e)}unwrapReference(t){return null===t.ref?o.target:(t.ref.value>=o.anchors.length&&console.error(`Not enough anchors supplied for expression ${this.parser.lexer.text}`,o.target),o.anchors[t.ref.value])}execute(t){return o=t,this.visit(this.root)}static Parse(t){return n[t]||(n[t]=new F(new k(new R(t))))}}F.programs=n,t.exports=F},53:function(t,e,s){"use strict";const i=s(1),r=s(3),n=s(24),a=s(54),o=s(27),h=(s(6),s(14)),l=s(55),c=s(13),u=s(25),m=s(7).EventEmitterMicro,p=s(56),d={};"undefined"!=typeof window&&(d.update=s(16),d.external=s(31),d.draw=s(17));const f=Math.PI/180,_=["x","y","z","scale","scaleX","scaleY","rotation","rotationX","rotationY","rotationZ"],g=["borderRadius","bottom","fontSize","fontWeight","height","left","lineHeight","marginBottom","marginLeft","marginRight","marginTop","maxHeight","maxWidth","opacity","paddingBottom","paddingLeft","paddingRight","paddingTop","right","top","width","zIndex","strokeDashoffset"],y=["currentTime","scrollLeft","scrollTop"],b={create:s(63),rotateX:s(64),rotateY:s(65),rotateZ:s(66),scale:s(67)};t.exports=class extends m{constructor(t,e){super(),this._events.draw=[],this.uuid=u(),this.group=t,this.element=e,this._ownerIsElement=this.element instanceof Element,this._ownerIsElement?this.friendlyName=this.element.tagName+"."+Array.from(this.element.classList).join("."):this.friendlyName=this.element.friendlyName||this.uuid,this.element._animInfo=this.element._animInfo||new o(t,this),this.element._animInfo.controller=this,this.element._animInfo.group=this.group,this.element._animInfo.controllers.push(this),this.tweenProps=this.element._animInfo.tweenProps,this.eventObject=new a(this),this.needsStyleUpdate=!1,this.needsClassUpdate=!1,this.elementMetrics=this.group.metrics.add(this.element),this.attributes=[],this.cssAttributes=[],this.domAttributes=[],this.keyframes={},this._allKeyframes=[],this._activeKeyframes=[],this.keyframesRequiringDispatch=[],this.updateCachedValuesFromElement(),this.boundsMin=0,this.boundsMax=0,this.mat2d=new Float32Array(6),this.mat4=b.create(),this.needsWrite=!0,this.onDOMWriteImp=this._ownerIsElement?this.onDOMWriteForElement:this.onDOMWriteForObject}destroy(){if(this.element._animInfo){this.element._animInfo.controller===this&&(this.element._animInfo.controller=null);let t=this.element._animInfo.controllers.indexOf(this);if(-1!==t&&this.element._animInfo.controllers.splice(t,1),0===this.element._animInfo.controllers.length)this.element._animInfo=null;else{let t=this.element._animInfo.controllers.find((t=>t.group!==t.group.anim.tweenGroup));t&&(this.element._animInfo.controller=t,this.element._animInfo.group=t.group)}}this.eventObject.controller=null,this.eventObject.element=null,this.eventObject.keyframe=null,this.eventObject.tweenProps=null,this.eventObject=null,this.elementMetrics=null,this.group=null,this.keyframesRequiringDispatch=null;for(let t=0;t<this._allKeyframes.length;t++)this._allKeyframes[t].destroy();this._allKeyframes=null,this._activeKeyframes=null,this.attributes=null,this.keyframes=null,this.element=null,this.tweenProps=null,this.destroyed=!0,super.destroy()}remove(){return this.group.removeKeyframeController(this)}updateCachedValuesFromElement(){if(!this._ownerIsElement)return;const t=getComputedStyle(this.element);let e=new DOMMatrix(t.getPropertyValue("transform")),s=p(e),a=i.KeyframeDefaults.epsilon,o=!1;["x","y","z"].forEach(((t,e)=>{this.tweenProps[t]=new r(s.translation[e],a,o)})),this.tweenProps.rotation=new r(s.rotation[2],a,o),["rotationX","rotationY","rotationZ"].forEach(((t,e)=>{this.tweenProps[t]=new r(s.rotation[e],a,o)})),this.tweenProps.scale=new r(s.scale[0],a,o),["scaleX","scaleY","scaleZ"].forEach(((t,e)=>{this.tweenProps[t]=new r(s.scale[e],a,o)})),g.forEach((e=>{let s=["zIndex"].includes(e),i=["opacity","zIndex","fontWeight"].includes(e)?void 0:"px",r=parseFloat(t[e]);isNaN(r)&&(r=0),this.tweenProps[e]=new n(r,a,o,e,s,i)})),y.forEach((t=>{let e=isNaN(this.element[t])?0:this.element[t];this.tweenProps[t]=new n(e,a,o,t,!1)}))}addKeyframe(t){let e=l(t);if(!e)throw new Error("AnimSystem Cannot create keyframe for from options `"+t+"`");let s=new e(this,t);return s.parseOptions(t),s.id=this._allKeyframes.length,this._allKeyframes.push(s),s}needsUpdate(){for(let t=0,e=this.attributes.length;t<e;t++){let e=this.attributes[t],s=this.tweenProps[e];if(Math.abs(s.current-s.target)>s.epsilon)return!0}return!1}updateLocalProgress(t){for(let e=0,s=this.attributes.length;e<s;e++){let s=this.attributes[e],i=this.keyframes[this.attributes[e]];if(1===i.length){i[0].updateLocalProgress(t);continue}let r=this.getNearestKeyframeForAttribute(s,t);r&&r.updateLocalProgress(t)}}reconcile(){for(let t=0,e=this.attributes.length;t<e;t++){let e=this.attributes[t],s=this.getNearestKeyframeForAttribute(e,this.group.position.local);s.updateLocalProgress(this.group.position.local),s.snapAtCreation&&s.reconcile(e)}}determineActiveKeyframes(t){t=t||c(Array.from(document.documentElement.classList));let e=this._activeKeyframes,s=this.attributes,i={};this._activeKeyframes=[],this.attributes=[],this.keyframes={};for(let e=0;e<this._allKeyframes.length;e++){let s=this._allKeyframes[e];if(s.markedForRemoval||s.hidden||!s.setEnabled(t))for(let t in s.animValues)this.tweenProps[t].isActive=s.preserveState,s.preserveState&&(i[t]=!0);else{this._activeKeyframes.push(s);for(let t in s.animValues)this.keyframes[t]=this.keyframes[t]||[],this.keyframes[t].push(s),-1===this.attributes.indexOf(t)&&(i[t]=!0,this.attributes.push(t),this.tweenProps[t].isActive=!0)}}this.attributes.forEach((t=>this.tweenProps[t].isActive=!0)),this.cssAttributes=g.filter((t=>this.attributes.includes(t))).map((t=>this.tweenProps[t])),this.domAttributes=y.filter((t=>this.attributes.includes(t))).map((t=>this.tweenProps[t]));let r=e.filter((t=>-1===this._activeKeyframes.indexOf(t)));if(0===r.length)return;let n=s.filter((t=>-1===this.attributes.indexOf(t)&&!i.hasOwnProperty(t)));if(0!==n.length)if(this.needsWrite=!0,this._ownerIsElement)d.external((()=>{let t=n.some((t=>_.includes(t))),e=t&&Object.keys(i).some((t=>_.includes(t)));t&&!e&&this.element.style.removeProperty("transform");for(let t=0,e=n.length;t<e;++t){let e=n[t],s=this.tweenProps[e],i=s.isActive?s.target:s.initialValue;s.current=s.target=i,!s.isActive&&g.includes(e)&&(this.element.style[e]=null)}for(let t=0,e=r.length;t<e;++t){let e=r[t];e instanceof h&&!e.preserveState&&e._unapply()}}),!0);else for(let t=0,e=n.length;t<e;++t){let e=this.tweenProps[n[t]];e.current=e.target,e.isActive=!1}}onDOMRead(t){for(let e=0,s=this.attributes.length;e<s;e++){let s=this.attributes[e];this.tweenProps[s].previousValue=this.tweenProps[s].current;let i=this.getNearestKeyframeForAttribute(s,t);i&&i.onDOMRead(s),this.tweenProps[s].previousValue!==this.tweenProps[s].current&&(this.needsWrite=!0)}}onDOMWrite(){(this.needsWrite||this.needsClassUpdate||this.needsStyleUpdate)&&(this.needsWrite=!1,this.onDOMWriteImp(),this.handleEventDispatch())}onDOMWriteForObject(){for(let t=0,e=this.attributes.length;t<e;t++){let e=this.attributes[t];this.element[e]=this.tweenProps[e].current}}onDOMWriteForElement(){let t=this.element.style;this.handleStyleTransform();for(let e=0,s=this.cssAttributes.length;e<s;e++)this.cssAttributes[e].set(t);for(let t=0,e=this.domAttributes.length;t<e;t++)this.domAttributes[t].set(this.element);if(this.needsStyleUpdate){for(let t in this.tweenProps.targetStyles)null!==this.tweenProps.targetStyles[t]&&(this.element.style[t]=this.tweenProps.targetStyles[t]),this.tweenProps.targetStyles[t]=null;this.needsStyleUpdate=!1}this.needsClassUpdate&&(this.tweenProps.targetClasses.add.length>0&&this.element.classList.add.apply(this.element.classList,this.tweenProps.targetClasses.add),this.tweenProps.targetClasses.remove.length>0&&this.element.classList.remove.apply(this.element.classList,this.tweenProps.targetClasses.remove),this.tweenProps.targetClasses.add.length=0,this.tweenProps.targetClasses.remove.length=0,this.needsClassUpdate=!1)}handleStyleTransform(){let t=this.tweenProps,e=this.element.style;if(t.z.isActive||t.rotationX.isActive||t.rotationY.isActive){const s=this.mat4;s[0]=1,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=1,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=1,s[11]=0,s[12]=0,s[13]=0,s[14]=0,s[15]=1;const i=t.x.current,r=t.y.current,n=t.z.current;if(s[12]=s[0]*i+s[4]*r+s[8]*n+s[12],s[13]=s[1]*i+s[5]*r+s[9]*n+s[13],s[14]=s[2]*i+s[6]*r+s[10]*n+s[14],s[15]=s[3]*i+s[7]*r+s[11]*n+s[15],0!==t.rotation.current||0!==t.rotationZ.current){const e=(t.rotation.current||t.rotationZ.current)*f;b.rotateZ(s,s,e)}if(0!==t.rotationX.current){const e=t.rotationX.current*f;b.rotateX(s,s,e)}if(0!==t.rotationY.current){const e=t.rotationY.current*f;b.rotateY(s,s,e)}1===t.scale.current&&1===t.scaleX.current&&1===t.scaleY.current||b.scale(s,s,[t.scale.current,t.scale.current,1]),e.transform="matrix3d("+s[0]+","+s[1]+","+s[2]+","+s[3]+","+s[4]+","+s[5]+","+s[6]+","+s[7]+","+s[8]+","+s[9]+","+s[10]+","+s[11]+","+s[12]+","+s[13]+","+s[14]+","+s[15]+")"}else if(t.x.isActive||t.y.isActive||t.rotation.isActive||t.rotationZ.isActive||t.scale.isActive||t.scaleX.isActive||t.scaleY.isActive){const s=this.mat2d;s[0]=1,s[1]=0,s[2]=0,s[3]=1,s[4]=0,s[5]=0;const i=t.x.current,r=t.y.current,n=s[0],a=s[1],o=s[2],h=s[3],l=s[4],c=s[5];if(s[0]=n,s[1]=a,s[2]=o,s[3]=h,s[4]=n*i+o*r+l,s[5]=a*i+h*r+c,0!==t.rotation.current||0!==t.rotationZ.current){const e=(t.rotation.current||t.rotationZ.current)*f,i=s[0],r=s[1],n=s[2],a=s[3],o=s[4],h=s[5],l=Math.sin(e),c=Math.cos(e);s[0]=i*c+n*l,s[1]=r*c+a*l,s[2]=i*-l+n*c,s[3]=r*-l+a*c,s[4]=o,s[5]=h}t.scaleX.isActive||t.scaleY.isActive?(s[0]=s[0]*t.scaleX.current,s[1]=s[1]*t.scaleX.current,s[2]=s[2]*t.scaleY.current,s[3]=s[3]*t.scaleY.current):(s[0]=s[0]*t.scale.current,s[1]=s[1]*t.scale.current,s[2]=s[2]*t.scale.current,s[3]=s[3]*t.scale.current),e.transform="matrix("+s[0]+", "+s[1]+", "+s[2]+", "+s[3]+", "+s[4]+", "+s[5]+")"}}handleEventDispatch(){if(0!==this.keyframesRequiringDispatch.length){for(let t=0,e=this.keyframesRequiringDispatch.length;t<e;t++){let e=this.keyframesRequiringDispatch[t];e.needsEventDispatch=!1,this.eventObject.keyframe=e,this.eventObject.pageMetrics=i.pageMetrics,this.eventObject.event=e.event,this.trigger(e.event,this.eventObject)}this.keyframesRequiringDispatch.length=0}if(0!==this._events.draw.length){this.eventObject.keyframe=null,this.eventObject.event="draw";for(var t=this._events.draw.length-1;t>=0;t--)this._events.draw[t](this.eventObject)}}updateAnimationConstraints(){for(let t=0,e=this._activeKeyframes.length;t<e;t++)this._activeKeyframes[t].evaluateConstraints();this.attributes.forEach((t=>{1!==this.keyframes[t].length&&this.keyframes[t].sort(i.KeyframeComparison)})),this.updateDeferredPropertyValues()}refreshMetrics(){let t=new Set([this.element]);this._allKeyframes.forEach((e=>e.anchors.forEach((e=>t.add(e))))),this.group.metrics.refreshCollection(t),this.group.keyframesDirty=!0}updateDeferredPropertyValues(){for(let t=0,e=this.attributes.length;t<e;t++){let e=this.attributes[t],s=this.keyframes[e];if(!(s[0].keyframeType>i.KeyframeTypes.InterpolationForward))for(let t=0,i=s.length;t<i;t++){let r=s[t];null===r.jsonProps[e][0]&&(0===t?r.jsonProps[e][0]=r.animValues[e][0]=this.tweenProps[e].current:r.animValues[e][0]=s[t-1].animValues[e][1]),null===r.jsonProps[e][1]&&(r.animValues[e][1]=t===i-1?this.tweenProps[e].current:s[t+1].animValues[e][0]),r.snapAtCreation&&(r.jsonProps[e][0]=r.animValues[e][0],r.jsonProps[e][1]=r.animValues[e][1])}}}getBounds(t){this.boundsMin=Number.MAX_VALUE,this.boundsMax=-Number.MAX_VALUE;for(let e=0,s=this.attributes.length;e<s;e++){let s=this.keyframes[this.attributes[e]];for(let e=0;e<s.length;e++){let i=s[e];this.boundsMin=Math.min(i.start,this.boundsMin),this.boundsMax=Math.max(i.end,this.boundsMax),t.min=Math.min(i.start,t.min),t.max=Math.max(i.end,t.max)}}}getNearestKeyframeForAttribute(t,e){e=void 0!==e?e:this.group.position.local;let s=null,i=Number.POSITIVE_INFINITY,r=this.keyframes[t];if(void 0===r)return null;let n=r.length;if(0===n)return null;if(1===n)return r[0];for(let t=0;t<n;t++){let n=r[t];if(n.isInRange(e)){s=n;break}let a=Math.min(Math.abs(e-n.start),Math.abs(e-n.end));a<i&&(i=a,s=n)}return s}getAllKeyframesForAttribute(t){return this.keyframes[t]}updateKeyframe(t,e){t.parseOptions(e),t.evaluateConstraints(),this.group.keyframesDirty=!0,d.update((()=>{this.trigger(i.EVENTS.ON_KEYFRAME_UPDATED,t),this.group.trigger(i.EVENTS.ON_KEYFRAME_UPDATED,t)}),!0)}removeKeyframe(t){return t.controller!==this?Promise.resolve(null):(t.markedForRemoval=!0,this.group.keyframesDirty=!0,new Promise((e=>{this.group.rafEmitter.executor.eventEmitter.once("before:draw",(()=>{e(t),t.destroy();let s=this._allKeyframes.indexOf(t);-1!==s&&this._allKeyframes.splice(s,1)}))})))}updateAnimation(t,e){return this.group.gui&&console.warn("KeyframeController.updateAnimation(keyframe,props) has been deprecated. Please use updateKeyframe(keyframe,props)"),this.updateKeyframe(t,e)}}},54:function(t,e,s){"use strict";t.exports=class{constructor(t){this.controller=t,this.element=this.controller.element,this.keyframe=null,this.event="",this.tweenProps=this.controller.tweenProps}}},55:function(t,e,s){"use strict";const i=s(1),r=s(6),n=s(26),a=s(14),o=function(t){for(let e in t){let s=t[e];if(-1===i.KeyframeJSONReservedWords.indexOf(e)&&Array.isArray(s))return!0}return!1};t.exports=function(t){if(void 0!==t.cssClass||void 0!==t.style){if(o(t))throw"CSS Keyframes cannot tween values, please use multiple keyframes instead";return a}if(o(t))return r;if(t.event)return n;throw delete t.anchors,`Could not determine tween type based on ${JSON.stringify(t)}`}},56:function(t,e,s){"use strict";"undefined"!=typeof window&&(window.DOMMatrix=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix);const i=180/Math.PI,r=t=>Math.round(1e6*t)/1e6;function n(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2])}function a(t,e){return 0===e?Array.from(t):[t[0]/e,t[1]/e,t[2]/e]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function h(t,e,s,i){return[t[0]*s+e[0]*i,t[1]*s+e[1]*i,t[2]*s+e[2]*i]}function l(t){const e=new Float32Array(4),s=new Float32Array(3),l=new Float32Array(3),c=new Float32Array(3);c[0]=t[3][0],c[1]=t[3][1],c[2]=t[3][2];const u=new Array(3);for(let e=0;e<3;e++)u[e]=t[e].slice(0,3);s[0]=n(u[0]),u[0]=a(u[0],s[0]),l[0]=o(u[0],u[1]),u[1]=h(u[1],u[0],1,-l[0]),s[1]=n(u[1]),u[1]=a(u[1],s[1]),l[0]/=s[1],l[1]=o(u[0],u[2]),u[2]=h(u[2],u[0],1,-l[1]),l[2]=o(u[1],u[2]),u[2]=h(u[2],u[1],1,-l[2]),s[2]=n(u[2]),u[2]=a(u[2],s[2]),l[1]/=s[2],l[2]/=s[2];const m=(p=u[1],d=u[2],[p[1]*d[2]-p[2]*d[1],p[2]*d[0]-p[0]*d[2],p[0]*d[1]-p[1]*d[0]]);var p,d;if(o(u[0],m)<0)for(let t=0;t<3;t++)s[t]*=-1,u[t][0]*=-1,u[t][1]*=-1,u[t][2]*=-1;let f;return e[0]=.5*Math.sqrt(Math.max(1+u[0][0]-u[1][1]-u[2][2],0)),e[1]=.5*Math.sqrt(Math.max(1-u[0][0]+u[1][1]-u[2][2],0)),e[2]=.5*Math.sqrt(Math.max(1-u[0][0]-u[1][1]+u[2][2],0)),e[3]=.5*Math.sqrt(Math.max(1+u[0][0]+u[1][1]+u[2][2],0)),u[2][1]>u[1][2]&&(e[0]=-e[0]),u[0][2]>u[2][0]&&(e[1]=-e[1]),u[1][0]>u[0][1]&&(e[2]=-e[2]),f=e[0]<.001&&e[0]>=0&&e[1]<.001&&e[1]>=0?[0,0,r(180*Math.atan2(u[0][1],u[0][0])/Math.PI)]:function(t){const[e,s,n,a]=t,o=e*e,h=s*s,l=n*n,c=e*s+n*a,u=a*a+o+h+l;return c>.49999*u?[0,2*Math.atan2(e,a)*i,90]:c<-.49999*u?[0,-2*Math.atan2(e,a)*i,-90]:[r(Math.atan2(2*e*a-2*s*n,1-2*o-2*l)*i),r(Math.atan2(2*s*a-2*e*n,1-2*h-2*l)*i),r(Math.asin(2*e*s+2*n*a)*i)]}(e),{translation:c,rotation:f,eulerRotation:f,scale:[r(s[0]),r(s[1]),r(s[2])]}}t.exports=function(t){t instanceof Element&&(t=String(getComputedStyle(t).transform).trim());let e=t instanceof DOMMatrix?t:new DOMMatrix(t);const s=new Array(4);for(let t=1;t<5;t++){const i=s[t-1]=new Float32Array(4);for(let s=1;s<5;s++)i[s-1]=e[`m${t}${s}`]}return l(s)}},57:function(t,e,s){"use strict";var i=s(58),r=function(t){this.phase=t,this.rafEmitter=new i,this._cachePhaseIndex(),this.requestAnimationFrame=this.requestAnimationFrame.bind(this),this.cancelAnimationFrame=this.cancelAnimationFrame.bind(this),this._onBeforeRAFExecutorStart=this._onBeforeRAFExecutorStart.bind(this),this._onBeforeRAFExecutorPhase=this._onBeforeRAFExecutorPhase.bind(this),this._onAfterRAFExecutorPhase=this._onAfterRAFExecutorPhase.bind(this),this.rafEmitter.on(this.phase,this._onRAFExecuted.bind(this)),this.rafEmitter.executor.eventEmitter.on("before:start",this._onBeforeRAFExecutorStart),this.rafEmitter.executor.eventEmitter.on("before:"+this.phase,this._onBeforeRAFExecutorPhase),this.rafEmitter.executor.eventEmitter.on("after:"+this.phase,this._onAfterRAFExecutorPhase),this._frameCallbacks=[],this._currentFrameCallbacks=[],this._nextFrameCallbacks=[],this._phaseActive=!1,this._currentFrameID=-1,this._cancelFrameIdx=-1,this._frameCallbackLength=0,this._currentFrameCallbacksLength=0,this._nextFrameCallbacksLength=0,this._frameCallbackIteration=0},n=r.prototype;n.requestAnimationFrame=function(t,e){return!0===e&&this.rafEmitter.executor.phaseIndex>0&&this.rafEmitter.executor.phaseIndex<=this.phaseIndex?this._phaseActive?(this._currentFrameID=this.rafEmitter.executor.subscribeImmediate(this.rafEmitter,!0),this._frameCallbacks.push(this._currentFrameID,t),this._frameCallbackLength+=2):(this._currentFrameID=this.rafEmitter.executor.subscribeImmediate(this.rafEmitter,!1),this._currentFrameCallbacks.push(this._currentFrameID,t),this._currentFrameCallbacksLength+=2):(this._currentFrameID=this.rafEmitter.run(),this._nextFrameCallbacks.push(this._currentFrameID,t),this._nextFrameCallbacksLength+=2),this._currentFrameID},n.cancelAnimationFrame=function(t){this._cancelFrameIdx=this._nextFrameCallbacks.indexOf(t),this._cancelFrameIdx>-1?this._cancelNextAnimationFrame():(this._cancelFrameIdx=this._currentFrameCallbacks.indexOf(t),this._cancelFrameIdx>-1?this._cancelCurrentAnimationFrame():(this._cancelFrameIdx=this._frameCallbacks.indexOf(t),this._cancelFrameIdx>-1&&this._cancelRunningAnimationFrame()))},n._onRAFExecuted=function(t){for(this._frameCallbackIteration=0;this._frameCallbackIteration<this._frameCallbackLength;this._frameCallbackIteration+=2)this._frameCallbacks[this._frameCallbackIteration+1](t.time,t);this._frameCallbacks.length=0,this._frameCallbackLength=0},n._onBeforeRAFExecutorStart=function(){Array.prototype.push.apply(this._currentFrameCallbacks,this._nextFrameCallbacks.splice(0,this._nextFrameCallbacksLength)),this._currentFrameCallbacksLength=this._nextFrameCallbacksLength,this._nextFrameCallbacks.length=0,this._nextFrameCallbacksLength=0},n._onBeforeRAFExecutorPhase=function(){this._phaseActive=!0,Array.prototype.push.apply(this._frameCallbacks,this._currentFrameCallbacks.splice(0,this._currentFrameCallbacksLength)),this._frameCallbackLength=this._currentFrameCallbacksLength,this._currentFrameCallbacks.length=0,this._currentFrameCallbacksLength=0},n._onAfterRAFExecutorPhase=function(){this._phaseActive=!1},n._cachePhaseIndex=function(){this.phaseIndex=this.rafEmitter.executor.phases.indexOf(this.phase)},n._cancelRunningAnimationFrame=function(){this._frameCallbacks.splice(this._cancelFrameIdx,2),this._frameCallbackLength-=2},n._cancelCurrentAnimationFrame=function(){this._currentFrameCallbacks.splice(this._cancelFrameIdx,2),this._currentFrameCallbacksLength-=2},n._cancelNextAnimationFrame=function(){this._nextFrameCallbacks.splice(this._cancelFrameIdx,2),this._nextFrameCallbacksLength-=2,0===this._nextFrameCallbacksLength&&this.rafEmitter.cancel()},t.exports=r},58:function(t,e,s){"use strict";var i=s(9),r=function(t){i.call(this,t)};(r.prototype=Object.create(i.prototype))._subscribe=function(){return this.executor.subscribe(this,!0)},t.exports=r},59:function(t,e,s){"use strict";var i=s(29).SharedInstance,r=s(30).majorVersionNumber,n=s(61);t.exports=i.share("@marcom/ac-raf-emitter/sharedRAFExecutorInstance",r,n)},6:function(t,e,s){"use strict";const i=s(1),r=s(3),n=s(4),a=s(40),o=s(46),h=s(47),l=s(13),c=s(48),u=s(25);class m{constructor(t,e){this.controller=t,this.anchors=[],this.jsonProps=e,this.ease=t.group.defaultEase,this.easeFunction=a.linear,this.start=0,this.end=0,this.localT=0,this.curvedT=0,this.id=0,this.event="",this.needsEventDispatch=!1,this.snapAtCreation=!1,this.isEnabled=!1,this.animValues={},this.breakpointMask="SMLX",this.disabledWhen=[],this.keyframeType=i.KeyframeTypes.Interpolation,this.hold=!1,this.preserveState=!1,this.markedForRemoval=!1;let s=!1;Object.defineProperty(this,"hidden",{get:()=>s,set(e){s=e,t.group.keyframesDirty=!0}}),this.uuid=u(),this.destroyed=!1}destroy(){this.destroyed=!0,this.controller=null,this.disabledWhen=null,this.anchors=null,this.jsonProps=null,this.easeFunction=null,this.animValues=null}remove(){return this.controller.removeKeyframe(this)}parseOptions(t){this.jsonProps=t,t.relativeTo&&console.error(`KeyframeError: relativeTo has been removed. Use 'anchors' property instead. Found 'relativeTo':"${t.relativeTo}"`),void 0===t.end&&void 0===t.duration&&(t.end=t.start),""!==t.anchors&&t.anchors?(this.anchors=[],t.anchors=Array.isArray(t.anchors)?t.anchors:[t.anchors],t.anchors.forEach(((e,s)=>{let i=c(e,this.controller.group.element);if(!i){let i="";return"string"==typeof e&&(i=" Provided value was a string, so a failed attempt was made to find anchor with the provided querystring in group.element, or in the document."),void console.warn("Keyframe on",this.controller.element,` failed to find anchor at index ${s} in array`,t.anchors,`. Anchors must be JS Object references, Elements references, or valid query selector strings. ${i}`)}this.anchors.push(i),this.controller.group.metrics.add(i)}))):(this.anchors=[],t.anchors=[]),t.ease?this.ease=parseFloat(t.ease):t.ease=this.ease,t.hasOwnProperty("snapAtCreation")?this.snapAtCreation=t.snapAtCreation:t.snapAtCreation=this.snapAtCreation,t.easeFunction||(t.easeFunction=i.KeyframeDefaults.easeFunctionString),t.breakpointMask?this.breakpointMask=t.breakpointMask:t.breakpointMask=this.breakpointMask,t.disabledWhen?this.disabledWhen=Array.isArray(t.disabledWhen)?t.disabledWhen:[t.disabledWhen]:t.disabledWhen=this.disabledWhen,t.hasOwnProperty("hold")?this.hold=t.hold:t.hold=this.hold,t.hasOwnProperty("preserveState")?this.preserveState=t.preserveState:t.preserveState=i.KeyframeDefaults.preserveState,this.easeFunction=a[t.easeFunction],a.hasOwnProperty(t.easeFunction)||(t.easeFunction.includes("bezier")?this.easeFunction=o.fromCSSString(t.easeFunction):t.easeFunction.includes("spring")?this.easeFunction=h.fromCSSString(t.easeFunction):console.error("Keyframe parseOptions cannot find 'easeFunction' named '"+t.easeFunction+"'"));for(let e in t){if(-1!==i.KeyframeJSONReservedWords.indexOf(e))continue;let s=t[e];if(!Array.isArray(s))continue;if(1===s.length&&(s[0]=null,s[1]=s[0]),this.animValues[e]=this.controller.group.expressionParser.parseArray(this,s),void 0===this.controller.tweenProps[e]||!this.controller._ownerIsElement){let t=0;this.controller._ownerIsElement||(t=this.controller.element[e]||0);let s=new r(t,i.KeyframeDefaults.epsilon,this.snapAtCreation);this.controller.tweenProps[e]=s}let n=this.controller.tweenProps[e];if(t.epsilon)n.epsilon=t.epsilon;else{let t=Math.abs(this.animValues[e][0]-this.animValues[e][1]),s=Math.min(.001*t,n.epsilon,i.KeyframeDefaults.epsilon);n.epsilon=Math.max(s,1e-4)}}this.keyframeType=this.hold?i.KeyframeTypes.InterpolationForward:i.KeyframeTypes.Interpolation,t.event&&(this.event=t.event)}overwriteProps(t){this.animValues={};let e=Object.assign({},this.jsonProps,t);this.controller.updateKeyframe(this,e)}updateLocalProgress(t){if(this.start===this.end||t<this.start||t>this.end)return this.localT=t<this.start?this.hold?this.localT:0:t>this.end?1:0,void(this.curvedT=this.easeFunction(this.localT));const e=(t-this.start)/(this.end-this.start),s=this.hold?this.localT:0;this.localT=n.clamp(e,s,1),this.curvedT=this.easeFunction(this.localT)}reconcile(t){let e=this.animValues[t],s=this.controller.tweenProps[t];s.initialValue=e[0],s.target=e[0]+this.curvedT*(e[1]-e[0]),s.current!==s.target&&(s.current=s.target,this.needsEventDispatch||(this.needsEventDispatch=!0,this.controller.keyframesRequiringDispatch.push(this)))}reset(t){this.localT=t||0;var e=this.ease;this.ease=1;for(let t in this.animValues)this.reconcile(t);this.ease=e}onDOMRead(t){let e=this.animValues[t],s=this.controller.tweenProps[t];s.target=e[0]+this.curvedT*(e[1]-e[0]);let i=s.current;s.current+=(s.target-s.current)*this.ease;let r=s.current-s.target;r<s.epsilon&&r>-s.epsilon&&(s.current=s.target,r=0),""===this.event||this.needsEventDispatch||(r>s.epsilon||r<-s.epsilon||0===r&&i!==s.current)&&(this.needsEventDispatch=!0,this.controller.keyframesRequiringDispatch.push(this))}isInRange(t){return t>=this.start&&t<=this.end}setEnabled(t){t=t||l(Array.from(document.documentElement.classList));let e=-1!==this.breakpointMask.indexOf(i.pageMetrics.breakpoint),s=!1;return this.disabledWhen.length>0&&(s=this.disabledWhen.some((e=>void 0!==t[e]))),this.isEnabled=e&&!s,this.isEnabled}evaluateConstraints(){this.start=this.controller.group.expressionParser.parseTimeValue(this,this.jsonProps.start),this.end=this.controller.group.expressionParser.parseTimeValue(this,this.jsonProps.end),this.evaluateInterpolationConstraints()}evaluateInterpolationConstraints(){for(let t in this.animValues){let e=this.jsonProps[t];this.animValues[t]=this.controller.group.expressionParser.parseArray(this,e)}}}m.DATA_ATTRIBUTE="data-anim-tween",t.exports=m},60:function(t,e,s){"use strict";var i,r=window,n="SharedInstance",a=r.AC,o=(i={},{get:function(t,e){var s=null;return i[t]&&i[t][e]&&(s=i[t][e]),s},set:function(t,e,s){return i[t]||(i[t]={}),i[t][e]="function"==typeof s?new s:s,i[t][e]},share:function(t,e,s){var i=this.get(t,e);return i||(i=this.set(t,e,s)),i},remove:function(t,e){var s=typeof e;if("string"!==s&&"number"!==s)i[t]&&(i[t]=null);else{if(!i[t]||!i[t][e])return;i[t][e]=null}}});a||(a=r.AC={}),a[n]||(a[n]=o),t.exports=a[n]},61:function(t,e,s){"use strict";var i,r=s(22);function n(t){t=t||{},this._reset(),this.updatePhases(),this.eventEmitter=new r,this._willRun=!1,this._totalSubscribeCount=-1,this._requestAnimationFrame=window.requestAnimationFrame,this._cancelAnimationFrame=window.cancelAnimationFrame,this._boundOnAnimationFrame=this._onAnimationFrame.bind(this),this._boundOnExternalAnimationFrame=this._onExternalAnimationFrame.bind(this)}(i=n.prototype).frameRequestedPhase="requested",i.startPhase="start",i.runPhases=["update","external","draw"],i.endPhase="end",i.disabledPhase="disabled",i.beforePhaseEventPrefix="before:",i.afterPhaseEventPrefix="after:",i.subscribe=function(t,e){return this._totalSubscribeCount++,this._nextFrameSubscribers[t.id]||(e?this._nextFrameSubscribersOrder.unshift(t.id):this._nextFrameSubscribersOrder.push(t.id),this._nextFrameSubscribers[t.id]=t,this._nextFrameSubscriberArrayLength++,this._nextFrameSubscriberCount++,this._run()),this._totalSubscribeCount},i.subscribeImmediate=function(t,e){return this._totalSubscribeCount++,this._subscribers[t.id]||(e?this._subscribersOrder.splice(this._currentSubscriberIndex+1,0,t.id):this._subscribersOrder.unshift(t.id),this._subscribers[t.id]=t,this._subscriberArrayLength++,this._subscriberCount++),this._totalSubscribeCount},i.unsubscribe=function(t){return!!this._nextFrameSubscribers[t.id]&&(this._nextFrameSubscribers[t.id]=null,this._nextFrameSubscriberCount--,0===this._nextFrameSubscriberCount&&this._cancel(),!0)},i.getSubscribeID=function(){return this._totalSubscribeCount+=1},i.destroy=function(){var t=this._cancel();return this.eventEmitter.destroy(),this.eventEmitter=null,this.phases=null,this._subscribers=null,this._subscribersOrder=null,this._nextFrameSubscribers=null,this._nextFrameSubscribersOrder=null,this._rafData=null,this._boundOnAnimationFrame=null,this._onExternalAnimationFrame=null,t},i.useExternalAnimationFrame=function(t){if("boolean"==typeof t){var e=this._isUsingExternalAnimationFrame;return t&&this._animationFrame&&(this._cancelAnimationFrame.call(window,this._animationFrame),this._animationFrame=null),!this._willRun||t||this._animationFrame||(this._animationFrame=this._requestAnimationFrame.call(window,this._boundOnAnimationFrame)),this._isUsingExternalAnimationFrame=t,t?this._boundOnExternalAnimationFrame:e||!1}},i.updatePhases=function(){this.phases||(this.phases=[]),this.phases.length=0,this.phases.push(this.frameRequestedPhase),this.phases.push(this.startPhase),Array.prototype.push.apply(this.phases,this.runPhases),this.phases.push(this.endPhase),this._runPhasesLength=this.runPhases.length,this._phasesLength=this.phases.length},i._run=function(){if(!this._willRun)return this._willRun=!0,0===this.lastFrameTime&&(this.lastFrameTime=performance.now()),this._animationFrameActive=!0,this._isUsingExternalAnimationFrame||(this._animationFrame=this._requestAnimationFrame.call(window,this._boundOnAnimationFrame)),this.phase===this.disabledPhase&&(this.phaseIndex=0,this.phase=this.phases[this.phaseIndex]),!0},i._cancel=function(){var t=!1;return this._animationFrameActive&&(this._animationFrame&&(this._cancelAnimationFrame.call(window,this._animationFrame),this._animationFrame=null),this._animationFrameActive=!1,this._willRun=!1,t=!0),this._isRunning||this._reset(),t},i._onAnimationFrame=function(t){for(this._subscribers=this._nextFrameSubscribers,this._subscribersOrder=this._nextFrameSubscribersOrder,this._subscriberArrayLength=this._nextFrameSubscriberArrayLength,this._subscriberCount=this._nextFrameSubscriberCount,this._nextFrameSubscribers={},this._nextFrameSubscribersOrder=[],this._nextFrameSubscriberArrayLength=0,this._nextFrameSubscriberCount=0,this.phaseIndex=0,this.phase=this.phases[this.phaseIndex],this._isRunning=!0,this._willRun=!1,this._didRequestNextRAF=!1,this._rafData.delta=t-this.lastFrameTime,this.lastFrameTime=t,this._rafData.fps=0,this._rafData.delta>=1e3&&(this._rafData.delta=0),0!==this._rafData.delta&&(this._rafData.fps=1e3/this._rafData.delta),this._rafData.time=t,this._rafData.naturalFps=this._rafData.fps,this._rafData.timeNow=Date.now(),this.phaseIndex++,this.phase=this.phases[this.phaseIndex],this.eventEmitter.trigger(this.beforePhaseEventPrefix+this.phase),this._currentSubscriberIndex=0;this._currentSubscriberIndex<this._subscriberArrayLength;this._currentSubscriberIndex++)null!==this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]&&!1===this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._didDestroy&&this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._onAnimationFrameStart(this._rafData);for(this.eventEmitter.trigger(this.afterPhaseEventPrefix+this.phase),this._runPhaseIndex=0;this._runPhaseIndex<this._runPhasesLength;this._runPhaseIndex++){for(this.phaseIndex++,this.phase=this.phases[this.phaseIndex],this.eventEmitter.trigger(this.beforePhaseEventPrefix+this.phase),this._currentSubscriberIndex=0;this._currentSubscriberIndex<this._subscriberArrayLength;this._currentSubscriberIndex++)null!==this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]&&!1===this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._didDestroy&&this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]].trigger(this.phase,this._rafData);this.eventEmitter.trigger(this.afterPhaseEventPrefix+this.phase)}for(this.phaseIndex++,this.phase=this.phases[this.phaseIndex],this.eventEmitter.trigger(this.beforePhaseEventPrefix+this.phase),this._currentSubscriberIndex=0;this._currentSubscriberIndex<this._subscriberArrayLength;this._currentSubscriberIndex++)null!==this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]&&!1===this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._didDestroy&&this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._onAnimationFrameEnd(this._rafData);this.eventEmitter.trigger(this.afterPhaseEventPrefix+this.phase),this._willRun?(this.phaseIndex=0,this.phaseIndex=this.phases[this.phaseIndex]):this._reset()},i._onExternalAnimationFrame=function(t){this._isUsingExternalAnimationFrame&&this._onAnimationFrame(t)},i._reset=function(){this._rafData||(this._rafData={}),this._rafData.time=0,this._rafData.delta=0,this._rafData.fps=0,this._rafData.naturalFps=0,this._rafData.timeNow=0,this._subscribers={},this._subscribersOrder=[],this._currentSubscriberIndex=-1,this._subscriberArrayLength=0,this._subscriberCount=0,this._nextFrameSubscribers={},this._nextFrameSubscribersOrder=[],this._nextFrameSubscriberArrayLength=0,this._nextFrameSubscriberCount=0,this._didEmitFrameData=!1,this._animationFrame=null,this._animationFrameActive=!1,this._isRunning=!1,this._shouldReset=!1,this.lastFrameTime=0,this._runPhaseIndex=-1,this.phaseIndex=-1,this.phase=this.disabledPhase},t.exports=n},62:function(t,e,s){"use strict";var i=s(29).SharedInstance,r=s(30).majorVersionNumber,n=function(){this._currentID=0};n.prototype.getNewID=function(){return this._currentID++,"raf:"+this._currentID},t.exports=i.share("@marcom/ac-raf-emitter/sharedRAFEmitterIDGeneratorInstance",r,n)},63:function(t,e,s){"use strict";t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},64:function(t,e,s){"use strict";t.exports=function(t,e,s){var i=Math.sin(s),r=Math.cos(s),n=e[4],a=e[5],o=e[6],h=e[7],l=e[8],c=e[9],u=e[10],m=e[11];e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[4]=n*r+l*i,t[5]=a*r+c*i,t[6]=o*r+u*i,t[7]=h*r+m*i,t[8]=l*r-n*i,t[9]=c*r-a*i,t[10]=u*r-o*i,t[11]=m*r-h*i,t}},65:function(t,e,s){"use strict";t.exports=function(t,e,s){var i=Math.sin(s),r=Math.cos(s),n=e[0],a=e[1],o=e[2],h=e[3],l=e[8],c=e[9],u=e[10],m=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=n*r-l*i,t[1]=a*r-c*i,t[2]=o*r-u*i,t[3]=h*r-m*i,t[8]=n*i+l*r,t[9]=a*i+c*r,t[10]=o*i+u*r,t[11]=h*i+m*r,t}},66:function(t,e,s){"use strict";t.exports=function(t,e,s){var i=Math.sin(s),r=Math.cos(s),n=e[0],a=e[1],o=e[2],h=e[3],l=e[4],c=e[5],u=e[6],m=e[7];e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=n*r+l*i,t[1]=a*r+c*i,t[2]=o*r+u*i,t[3]=h*r+m*i,t[4]=l*r-n*i,t[5]=c*r-a*i,t[6]=u*r-o*i,t[7]=m*r-h*i,t}},67:function(t,e,s){"use strict";t.exports=function(t,e,s){var i=s[0],r=s[1],n=s[2];return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*n,t[9]=e[9]*n,t[10]=e[10]*n,t[11]=e[11]*n,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},68:function(t,e,s){"use strict";const i=s(15),r=s(32),n=s(4);let a=0;const o={};"undefined"!=typeof window&&(o.create=s(9));class h extends i{constructor(t,e){t||((t=document.createElement("div")).className="TimeGroup-"+a++),super(t,e),this.name=this.name||t.getAttribute("data-anim-time-group"),this._isPaused=!0,this._repeats=0,this._isReversed=!1,this._timeScale=1,this._chapterPlayer=new r(this),this.now=performance.now()}finalizeInit(){if(!this.anim)throw"TimeGroup not instantiated correctly. Please use `AnimSystem.createTimeGroup(el)`";this.onPlayTimeUpdate=this.onPlayTimeUpdate.bind(this),super.finalizeInit()}progress(t){if(void 0===t)return 0===this.boundsMax?0:this.position.local/this.boundsMax;let e=t*this.boundsMax;this.timelineUpdateRequired=!0,this.updateTimeline(e)}time(t){if(void 0===t)return this.position.local;t=n.clamp(t,this.boundsMin,this.duration),this.timelineUpdateRequired=!0,this.updateTimeline(t)}play(t){this.reversed(!1),this.isEnabled=!0,this._isPaused=!1,this.time(t),this.now=performance.now(),this._playheadEmitter.run()}reverse(t){this.reversed(!0),this.isEnabled=!0,this._isPaused=!1,this.time(t),this.now=performance.now(),this._playheadEmitter.run()}reversed(t){if(void 0===t)return this._isReversed;this._isReversed=t}restart(){this._isReversed?(this.progress(1),this.reverse(this.time())):(this.progress(0),this.play(this.time()))}pause(t){this.time(t),this._isPaused=!0}paused(t){return void 0===t?this._isPaused:(this._isPaused=t,this._isPaused||this.play(),this)}onPlayTimeUpdate(){if(this._isPaused)return;let t=performance.now(),e=(t-this.now)/1e3;this.now=t,this._isReversed&&(e=-e);let s=this.time()+e*this._timeScale;if(this._repeats===h.REPEAT_FOREVER||this._repeats>0){let t=!1;!this._isReversed&&s>this.boundsMax?(s-=this.boundsMax,t=!0):this._isReversed&&s<0&&(s=this.boundsMax+s,t=!0),t&&(this._repeats=this._repeats===h.REPEAT_FOREVER?h.REPEAT_FOREVER:this._repeats-1)}this.time(s);let i=!this._isReversed&&this.position.local!==this.duration,r=this._isReversed&&0!==this.position.local;i||r?this._playheadEmitter.run():this.paused(!0)}updateProgress(t){this.hasDuration()?(this.position.localUnclamped=t,this.position.local=n.clamp(this.position.localUnclamped,this.boundsMin,this.boundsMax)):this.position.local=this.position.localUnclamped=0}updateBounds(){if(0===this.keyframeControllers.length)return this.boundsMin=0,void(this.boundsMax=0);let t={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};for(let e=0,s=this.keyframeControllers.length;e<s;e++)this.keyframeControllers[e].getBounds(t);this.boundsMin=0,this.boundsMax=t.max,this.viewableRange.a=this.viewableRange.b=0,this.viewableRange.c=this.viewableRange.d=this.boundsMax,this.timelineUpdateRequired=!0}setupRAFEmitter(t){this._playheadEmitter=new o.create,this._playheadEmitter.on("update",this.onPlayTimeUpdate),super.setupRAFEmitter(t)}get duration(){return this.keyframesDirty&&this.onKeyframesDirty({silent:!0}),this.boundsMax}timeScale(t){return void 0===t?this._timeScale:(this._timeScale=t,this)}repeats(t){if(void 0===t)return this._repeats;this._repeats=t}getPosition(){return this.position.local}addChapter(t){return this._chapterPlayer.addChapter(t)}playToChapter(t){this._chapterPlayer.playToChapter(t)}convertScrollPositionToTValue(t){return t}convertTValueToScrollPosition(t){return t}hasDuration(){return this.duration>0}destroy(){this._playheadEmitter.destroy(),this._playheadEmitter=null,super.destroy()}set timelineProgress(t){this.progress(t)}get timelineProgress(){return this.progress()}}h.REPEAT_FOREVER=-1,t.exports=h},69:function(t,e,s){"use strict";const i=s(15),r=(s(32),s(4));let n=0;const a={};"undefined"!=typeof window&&(a.create=s(9));t.exports=class extends i{constructor(t,e){t||((t=document.createElement("div")).className="TweenGroup-"+n++),super(t,e),this.name="Tweens",this.keyframes=[],this._isPaused=!1,this.now=performance.now()}finalizeInit(){this.onTimeEmitterUpdate=this.onTimeEmitterUpdate.bind(this),this.removeExpiredKeyframeControllers=this.removeExpiredKeyframeControllers.bind(this),super.finalizeInit()}destroy(){this._timeEmitter.destroy(),this._timeEmitter=null,this._keyframes=[],super.destroy()}setupRAFEmitter(t){this.now=performance.now(),this._timeEmitter=new a.create,this._timeEmitter.on("update",this.onTimeEmitterUpdate),this._timeEmitter.run(),super.setupRAFEmitter(t)}addKeyframe(t,e){if(void 0!==e.start||void 0!==e.end)throw Error("Tweens do not have a start or end, they can only have a duration. Consider using a TimeGroup instead");if("number"!=typeof e.duration)throw Error("Tween options.duration is undefined, or is not a number");let s,i;e.start=(e.delay||0)+this.position.localUnclamped,e.end=e.start+e.duration,e.preserveState=!0,e.snapAtCreation=!0,t._animInfo&&(s=t._animInfo.group,i=t._animInfo.controller);let r=super.addKeyframe(t,e);return t._animInfo.group=s,t._animInfo.controller=i,e.onStart&&r.controller.once("draw",(t=>{t.keyframe=r,e.onStart(t),t.keyframe=null})),e.onDraw&&r.controller.on("draw",(t=>{t.keyframe=r,e.onDraw(t),t.keyframe=null})),this.removeOverlappingProps(r),this.keyframes.push(r),this._timeEmitter.willRun()||(this.now=performance.now(),this._timeEmitter.run()),r}removeOverlappingProps(t){if(t.controller._allKeyframes.length<=1)return;let e=Object.keys(t.animValues),s=t.controller;for(let i=0,r=s._allKeyframes.length;i<r;i++){const r=s._allKeyframes[i];if(r===t)continue;if(r.markedForRemoval)continue;let n=Object.keys(r.animValues),a=n.filter((t=>e.includes(t)));a.length!==n.length?a.forEach((t=>delete r.animValues[t])):r.markedForRemoval=!0}}onTimeEmitterUpdate(t){if(this._isPaused||0===this.keyframeControllers.length)return;let e=performance.now(),s=(e-this.now)/1e3;this.now=e;let i=this.position.local+s;this.position.local=this.position.localUnclamped=i,this.onTimeUpdate()}onTimeUpdate(){for(let t=0,e=this.keyframes.length;t<e;t++)this.keyframes[t].updateLocalProgress(this.position.localUnclamped);this.requestDOMChange(),this._timeEmitter.run(),null!==this.gui&&this.gui.onScrollUpdate(this.position)}onDOMRead(){if(this.keyframesDirty&&this.onKeyframesDirty(),0!==this.keyframes.length)for(let t=0,e=this.keyframes.length;t<e;t++){this.keyframes[t].controller.needsWrite=!0;for(let e in this.keyframes[t].animValues)this.keyframes[t].onDOMRead(e)}}onDOMWrite(){super.onDOMWrite(),this.removeExpiredKeyframes()}removeExpiredKeyframes(){let t=this.keyframes.length,e=t;for(;t--;){let e=this.keyframes[t];e.destroyed?this.keyframes.splice(t,1):(e.markedForRemoval&&(e.jsonProps.onComplete&&1===e.localT&&(e.controller.eventObject.keyframe=e,e.jsonProps.onComplete(e.controller.eventObject),e.jsonProps.onComplete=null),null!==this.gui&&this.gui.isDraggingPlayhead||(e.remove(),this.keyframes.splice(t,1))),1===e.localT&&(e.markedForRemoval=!0))}this.keyframes.length===e&&0!==this.keyframes.length||this._timeEmitter.executor.eventEmitter.once("after:draw",this.removeExpiredKeyframeControllers)}removeExpiredKeyframeControllers(){for(let t=0,e=this.keyframeControllers.length;t<e;t++){let e=!0,s=this.keyframeControllers[t];for(let t=0,i=s._allKeyframes.length;t<i;t++)if(!s._allKeyframes[t].destroyed){e=!1;break}e&&s.remove()}}updateBounds(){this.boundsMin=Math.min(...this.keyframes.map((t=>t.start))),this.boundsMax=Math.max(...this.keyframes.map((t=>t.end)))}play(){this.isEnabled=!0,this._isPaused=!1,this.now=performance.now(),this._timeEmitter.run()}pause(){this._isPaused=!0}paused(){return this._isPaused}time(t){if(void 0===t)return this.position.local;this.position.local=this.position.localUnclamped=r.clamp(t,this.boundsMin,this.boundsMax),this.onTimeUpdate()}performTimelineDispatch(){}hasDuration(){return!0}getPosition(){return this.position.local}updateProgress(t){}get duration(){return this.boundsMax}}},7:function(t,e,s){"use strict";t.exports={EventEmitterMicro:s(22)}},70:function(t,e,s){"use strict";t.exports={version:"3.3.5",major:"3.x",majorMinor:"3.3"}},71:function(t,e,s){"use strict";var i=s(8);t.exports=i.cancelAnimationFrame("update")},72:function(t,e,s){"use strict";function i(){this._createElemnts(),this._bindEvents()}var r=i.prototype;r._bindEvents=function(){this._onResize=this._resize.bind(this)},r._createElemnts=function(){this.span=document.createElement("span");var t=this.span.style;t.visibility="hidden",t.position="absolute",t.top="0",t.bottom="0",t.zIndex="-1",this.span.innerHTML="&nbsp;",this.iframe=document.createElement("iframe");var e=this.iframe.style;e.position="absolute",e.top="0",e.left="0",e.width="100%",e.height="100%",this.span.appendChild(this.iframe),document.body.appendChild(this.span)},r.detect=function(t){this.originalSize=t||17,this.currentSize=parseFloat(window.getComputedStyle(this.span)["font-size"]),this.currentSize>this.originalSize&&this._onResize(),this.isDetecting||(this.iframe.contentWindow.addEventListener("resize",this._onResize),this.isDetecting=!0)},r._resize=function(t){this.currentSize=parseFloat(window.getComputedStyle(this.span)["font-size"]),this.originalSize<this.currentSize?document.documentElement.classList.add("text-zoom"):document.documentElement.classList.remove("text-zoom"),window.dispatchEvent(new Event("resize")),window.dispatchEvent(new CustomEvent("resize:text-zoom",{detail:this}))},r.getScale=function(){return this.currentSize/this.originalSize},r.remove=function(){this.isDetecting&&(this.iframe.contentWindow.removeEventListener("resize",this._onResize),this.isDetecting=!1)},r.destroy=function(){this.remove(),this.span&&this.span.parentElement&&this.span.parentElement.removeChild(this.span),this.span=null,this.iframe=null},t.exports=new i},8:function(t,e,s){"use strict";var i=s(57),r=function(){this.events={}},n=r.prototype;n.requestAnimationFrame=function(t){return this.events[t]||(this.events[t]=new i(t)),this.events[t].requestAnimationFrame},n.cancelAnimationFrame=function(t){return this.events[t]||(this.events[t]=new i(t)),this.events[t].cancelAnimationFrame},t.exports=new r},9:function(t,e,s){"use strict";var i,r=s(7).EventEmitterMicro,n=s(59),a=s(62);function o(t){t=t||{},r.call(this),this.id=a.getNewID(),this.executor=t.executor||n,this._reset(),this._willRun=!1,this._didDestroy=!1}(i=o.prototype=Object.create(r.prototype)).run=function(){return this._willRun||(this._willRun=!0),this._subscribe()},i.cancel=function(){this._unsubscribe(),this._willRun&&(this._willRun=!1),this._reset()},i.destroy=function(){var t=this.willRun();return this.cancel(),this.executor=null,r.prototype.destroy.call(this),this._didDestroy=!0,t},i.willRun=function(){return this._willRun},i.isRunning=function(){return this._isRunning},i._subscribe=function(){return this.executor.subscribe(this)},i._unsubscribe=function(){return this.executor.unsubscribe(this)},i._onAnimationFrameStart=function(t){this._isRunning=!0,this._willRun=!1,this._didEmitFrameData||(this._didEmitFrameData=!0,this.trigger("start",t))},i._onAnimationFrameEnd=function(t){this._willRun||(this.trigger("stop",t),this._reset())},i._reset=function(){this._didEmitFrameData=!1,this._isRunning=!1},t.exports=o}});